-
wenwen.tang authored
能力模型:账号/会话新增 perms(目前只有 elec = 电费通知单)。管理员隐含全部能力;访客按 perms 逐接口放行,perms 为空即纯只读。 写闸门重构:server._write_cap(method,path) 逐接口解析所需能力,_guard_write(user,cap) 按能力判定并给出「账号 X 只能操作:电费通知单」的明确提示。批次类接口再按批次 kind 复核 —— 房租车位费批次的删/重出/发送/收款登记仍只有管理员能动。 前端能力感知:body 加 cap-elec 类,电费页控件由 data-ro 改 data-cap=elec;批次列表/单据表的按钮按 kind 区分;api() 前端拦截改为按能力;顶栏与只读横幅按能力显示「访客 · 仅电费」。 账号管理:新增「权限」列(管理员=全部 / 访客=能力标签 / 空=只读),新增账号可勾选「电费通知单」,已有访客可一键开通/关闭;新增 PUT /api/accounts/{name} 改角色/能力/备注;主账号不可降级且强制清空 perms。 一次性回填:老配置没有 perms 字段 → ensure_default_account 按 guest_perms_seeded 标记补上默认能力(之后管理员关掉不会再被打开)。 guest 落地:密码 guest@2026,perms=['elec'],备注「电费通知单操作员」(本地已改,线上部署后同步)。 修 bug:删除不存在的批次时 service.rollback_receipt_sync(None) 抛 AttributeError → 500;现静默返回 0。 验证:单测 245 项全绿(accounts 60);新增 ui_verify10(69 项,guest/admin/纯只读三方对照)全绿;ui_verify7(访客,改成用纯只读样本 + 新增 guest 段)69/0;ui_verify2 72/0;ui_verify 全绿。35f0fbce
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| admin.html | ||
| app.js | ||
| login.html | ||
| style.css |