This commit is contained in:
mei
2026-08-11 21:30:05 +08:00
parent e2fbaf4a32
commit 8ee98719ef
9 changed files with 518 additions and 219 deletions
+35
View File
@@ -171,6 +171,41 @@ function initDatabase() {
)
`);
// 聊天附件表(上传的图片/视频/文件)
db.exec(`
CREATE TABLE IF NOT EXISTS chat_files (
id TEXT PRIMARY KEY,
uploader_id TEXT NOT NULL,
file_name TEXT NOT NULL,
stored_name TEXT NOT NULL,
file_size INTEGER DEFAULT 0,
file_mime TEXT DEFAULT '',
created_at TEXT DEFAULT (datetime('now', 'localtime'))
)
`);
// 迁移:消息表补充媒体类型列(兼容旧库)
const msgCols = db.prepare('PRAGMA table_info(messages)').all().map(c => c.name);
if (!msgCols.includes('msg_type')) {
db.exec("ALTER TABLE messages ADD COLUMN msg_type TEXT DEFAULT 'text'");
}
if (!msgCols.includes('file_id')) {
db.exec("ALTER TABLE messages ADD COLUMN file_id TEXT DEFAULT ''");
}
// 推送事件表(聊天消息/设备报修/维修完成等,客户端轮询拉取)
db.exec(`
CREATE TABLE IF NOT EXISTS push_events (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id TEXT NOT NULL,
kind TEXT NOT NULL,
title TEXT NOT NULL,
body TEXT DEFAULT '',
created_at TEXT DEFAULT (datetime('now', 'localtime'))
)
`);
db.exec('CREATE INDEX IF NOT EXISTS idx_push_events_user ON push_events (user_id, id)');
// 插入示例数据
const deviceCount = db.prepare('SELECT COUNT(*) as count FROM devices').get();
if (deviceCount.count === 0) {