147 行
3.4 KiB
PHP
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);
|
|
}
|
|
?>
|