v63:卡片配色 / 日历本靠右 / 地图题图 / 设置页清理 / 公共标签颜色 / 令牌下线

- 卡片右上角按钮改用「来自哪个模块」的主题色:HomeCards 登记表新增 mod 字段
  与 module(),首页从登记表取色(原来是模板里硬编码 in_array(['agenda','tasks'])
  白名单,新加带按钮的卡片会默默变灰)
- 首页日程把日历本放到色块右侧:.ag-ev 改弹性行,「时间+标题」包进
  .ag-ev-main(flex:1 1 auto; min-width:0),日历本作右侧兄弟。
  原来 display:block 会把日历本顶到第二行,色块一矮就完全看不见
- 旅程地图显示题图:服务端把 media_url(cover_key) 塞进地图数据,
  地图卡片左侧 40x40 题图(object-fit:cover),没有题图不留灰框
- 系统设置第一块改叫「系统标语」;删掉「首页上那一行小字」提示、
  「不是全家的统一口号」说明、「上次结构升级有步骤失败了」整框;
  运行环境删「排错时看这一块」与「亲属连线」那一行(功能与数据未动)
- 公共标签:说明文字全删;列表与编辑合并成一行(色块+名字+N人+箭头+编辑);
  person_groups 加 color 列(Schema addColumn,老库可升);点「编辑」弹框
  改名字与颜色、点「完成」提交;下面那个独立编辑列表撤掉。删除挪进弹框
- 个人设置删掉「手动签发接口令牌」整块;settings/api_token 路由保留但挡下提交
  (只删界面会留下知道地址就能用的后门);令牌只由登录后自动签发,
  设备管理卡保留。apiTokens/apiPlain/apiLabel/apiBase 四个变量一并撤掉
This commit is contained in:
2026-10-19 17:27:37 +08:00
parent 2e40133d8f
commit 2f7dc6ca23
11 changed files with 450 additions and 189 deletions
+13
View File
@@ -375,6 +375,7 @@ CREATE TABLE IF NOT EXISTS `person_groups` (
`family_id` INT UNSIGNED NOT NULL,
`owner_id` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '0=全家的公共分组(管理员在系统设置里维护);否则=这个人的私自分组,只有他自己看得到',
`name` VARCHAR(20) NOT NULL COMMENT '分组名,如「家人」「同事」',
`color` VARCHAR(7) DEFAULT NULL COMMENT '标签颜色 #rrggbb(v63;NULL=还没选过,界面按顺序取默认色)',
`position` INT NOT NULL DEFAULT 100 COMMENT '默认顺序(用户没自定义顺序时按它排)',
`is_builtin` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '1=安装时预置的分组',
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
@@ -2390,6 +2391,18 @@ SQL);
}
});
/* 🔴 v63(用户 2026-10-19 第 5 条):「公共标签这个板块…每个标签增加一个颜色。」
⇒ `person_groups` 加 `color`。
⚠️ 老库没有这一列,**必须**用 addColumn 显式补(CREATE TABLE IF NOT EXISTS
对已存在的表什么都不做 —— 这是本文件开头那段的全部意义)。
⚠️ 允许 NULL(不是 NOT NULL DEFAULT):NULL = "从来没选过颜色",
界面按标签顺序从预设色板里挑一个(`PersonGroup::swatch()`)。
给了 DEFAULT 就分不清"用户故意选了那个色"和"系统默认给的"。
⚠️ 位置:`ADD COLUMN ... AFTER \`name\`` —— 列顺序影响不了程序,
但影响"人看 information_schema 时的心智",放在名字后面最自然。 */
self::addColumn($db, 'person_groups', 'color',
"ADD COLUMN `color` VARCHAR(7) DEFAULT NULL COMMENT '标签颜色 #rrggbb(v63;NULL=还没选过,界面按顺序取默认色)' AFTER `name`");
// 被容错跳过的数据步骤记进设置,系统设置页会把它显出来 ——
// 不然「升级没跑完」这件事只活在日志里,跟没发生一样。
if (self::$stepErrors) {