端上:#47~#55 打包 —— 行程双轨、动态类型、表单全局规范 (#53)
#48 计划/实际双轨:nodeAction(start/done/cancel),完成即转实际行程, 实际行程不再显示状态;新增 actualStartedAt/actualEndedAt #49 类型/出行方式/车辆 chip 改内部读状态(@Builder 值传参不刷新) #50 类型点击立即变色、出行方式平铺、参与人显示已选头像 #51 节点类型动态加载(原硬编码5种)、地址 onPick 拿详细地址与坐标 #52 标签改主题色 Bold、必填红无星号、编辑行程标题同步 #53 表单两排版式(标签独占一行解决左右对不齐);电影弹层 layoutWeight 修滚动 #54 地址联想框加时间窗抑制(600ms 内不搜)、候选限高 180 含附件回填诊断日志(DIAG-ATTACH/FILL),待真机确认后移除
This commit is contained in:
@@ -37,7 +37,7 @@ export const FB_DB_NAME: string = 'familybook.db';
|
||||
* 本地库**不能像服务端那样"每次启动都全量 ALTER 一遍"** ——
|
||||
* 那是拿用户的手机当试验田。必须按版本逐步迁移。
|
||||
*/
|
||||
export const FB_DB_VERSION: number = 8;
|
||||
export const FB_DB_VERSION: number = 9;
|
||||
|
||||
/**
|
||||
* 建表语句。
|
||||
@@ -355,6 +355,30 @@ export const FB_SCHEMA_SQL: string[] = [
|
||||
`CREATE INDEX IF NOT EXISTS idx_cal_date_kind ON cal_events (date, kind)`,
|
||||
// 同步时按 uid 去重/更新
|
||||
`CREATE UNIQUE INDEX IF NOT EXISTS idx_cal_uid ON cal_events (cal_id, uid)`,
|
||||
|
||||
// ---------- 日历镜像快照(v9 新增)----------
|
||||
//
|
||||
// 用户 2026-11-03:「把日历镜像到系统日历中,原因同步日历都已经说过了」。
|
||||
// 原因:本应用是 CalDAV 客户端,日程不进系统日历,
|
||||
// 导致小艺 / 桌面日历卡片 / 手表看到的是空的
|
||||
// (甚至给出"今天没有日程"的错误答案)。
|
||||
//
|
||||
// 🔴 这张表是**防回灌的地基**:镜像会把日程写进系统日历;
|
||||
// 下一轮若直接读系统日历当"用户改动",就会把我们刚写的当成用户改的
|
||||
// → 回写服务器 → 服务器变了 → 又镜像回去 …… 死循环。
|
||||
// 记下"上次写了什么",一轮三方比对就能分清谁改的。
|
||||
//
|
||||
// ⚠️ `bucket` 在 FamilyBook 里恒为 `family`(只有一套日程,
|
||||
// 不像 SyncCalendar 有多个 DAV 账户)。留这一列是为了将来按日历本拆。
|
||||
`CREATE TABLE IF NOT EXISTS mirror_snapshot (
|
||||
identifier TEXT PRIMARY KEY COMMENT '<bucket>|<uid>[@<发生时刻>]',
|
||||
bucket TEXT NOT NULL DEFAULT '',
|
||||
uid TEXT NOT NULL DEFAULT '',
|
||||
sys_id INTEGER NOT NULL DEFAULT -1,
|
||||
fingerprint TEXT NOT NULL DEFAULT '',
|
||||
updated_at INTEGER NOT NULL DEFAULT 0
|
||||
)`,
|
||||
`CREATE INDEX IF NOT EXISTS idx_mirror_bucket ON mirror_snapshot (bucket)`,
|
||||
];
|
||||
|
||||
/** 建表语句分组说明(供日志/排查用) */
|
||||
@@ -383,6 +407,10 @@ export const FB_TABLE_GROUPS: FbTableGroup[] = [
|
||||
group: '日程',
|
||||
tables: ['cal_events']
|
||||
},
|
||||
{
|
||||
group: '系统日历镜像',
|
||||
tables: ['mirror_snapshot']
|
||||
},
|
||||
{
|
||||
group: '同步元数据(本地专有)',
|
||||
tables: ['sync_state', 'pending_ops', 'module_sync', 'attach_cache']
|
||||
|
||||
Reference in New Issue
Block a user