文件
2026-06-04 22:42:27 +08:00

147 行
3.4 KiB
PHP

<?php
// 数据文件路径
const DATA_DIR = __DIR__ . '/../data/';
const USERS_FILE = DATA_DIR . 'users.json';
const MESSAGES_FILE = DATA_DIR . 'messages.json';
const FRIENDS_FILE = DATA_DIR . 'friends.json';
const GROUPS_FILE = DATA_DIR . 'groups.json';
const GROUP_MEMBERS_FILE = DATA_DIR . 'group_members.json';
// 初始化数据文件
function initDataFiles() {
// 创建数据目录
if (!is_dir(DATA_DIR)) {
mkdir(DATA_DIR, 0777, true);
}
// 初始化用户文件
if (!file_exists(USERS_FILE)) {
file_put_contents(USERS_FILE, json_encode([], JSON_PRETTY_PRINT));
}
// 初始化消息文件
if (!file_exists(MESSAGES_FILE)) {
file_put_contents(MESSAGES_FILE, json_encode([], JSON_PRETTY_PRINT));
}
// 初始化好友关系文件
if (!file_exists(FRIENDS_FILE)) {
file_put_contents(FRIENDS_FILE, json_encode([], JSON_PRETTY_PRINT));
}
// 初始化群聊文件
if (!file_exists(GROUPS_FILE)) {
file_put_contents(GROUPS_FILE, json_encode([], JSON_PRETTY_PRINT));
}
// 初始化群组成员文件
if (!file_exists(GROUP_MEMBERS_FILE)) {
file_put_contents(GROUP_MEMBERS_FILE, json_encode([], JSON_PRETTY_PRINT));
}
}
// 读取JSON文件
function readJsonFile($filePath) {
if (!file_exists($filePath)) {
return [];
}
$content = file_get_contents($filePath);
$data = json_decode($content, true);
return $data === null ? [] : $data;
}
// 写入JSON文件
function writeJsonFile($filePath, $data) {
$json = json_encode($data, JSON_PRETTY_PRINT);
return file_put_contents($filePath, $json);
}
// 获取所有用户
function getAllUsers() {
return readJsonFile(USERS_FILE);
}
// 保存所有用户
function saveAllUsers($users) {
return writeJsonFile(USERS_FILE, $users);
}
// 获取所有消息
function getAllMessages() {
return readJsonFile(MESSAGES_FILE);
}
// 保存所有消息
function saveAllMessages($messages) {
return writeJsonFile(MESSAGES_FILE, $messages);
}
// 获取所有好友关系
function getAllFriends() {
return readJsonFile(FRIENDS_FILE);
}
// 保存所有好友关系
function saveAllFriends($friends) {
return writeJsonFile(FRIENDS_FILE, $friends);
}
// 获取所有群组
function getAllGroups() {
return readJsonFile(GROUPS_FILE);
}
// 保存所有群组
function saveAllGroups($groups) {
return writeJsonFile(GROUPS_FILE, $groups);
}
// 获取所有群组成员
function getAllGroupMembers() {
return readJsonFile(GROUP_MEMBERS_FILE);
}
// 保存所有群组成员
function saveAllGroupMembers($groupMembers) {
return writeJsonFile(GROUP_MEMBERS_FILE, $groupMembers);
}
// 根据用户名获取用户
function getUserByUsername($username) {
$users = getAllUsers();
foreach ($users as $user) {
if ($user['username'] === $username) {
return $user;
}
}
return null;
}
// 根据用户ID获取用户
function getUserById($userId) {
$users = getAllUsers();
foreach ($users as $user) {
if ($user['id'] === $userId) {
return $user;
}
}
return null;
}
// 生成唯一ID
function generateId() {
return uniqid();
}
// 获取当前时间戳
function getCurrentTimestamp() {
return time();
}
// 格式化时间
function formatTime($timestamp) {
return date('Y-m-d H:i:s', $timestamp);
}
?>