• wenwen.tang's avatar
    feat(权限): 访客账号改按页授权 —— guest 仅「电费通知单」可操作 · 35f0fbce
    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
.workbuddy/memory Loading commit data...
.租金通知系统-需求确认清单.ref Loading commit data...
assets Loading commit data...
data Loading commit data...
deploy Loading commit data...
output Loading commit data...
rentos Loading commit data...
samples Loading commit data...
templates Loading commit data...
tools Loading commit data...
web Loading commit data...
.dockerignore Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
build_flow_doc.py Loading commit data...
build_notices.py Loading commit data...
build_rules_doc.py Loading commit data...
build_templates.py Loading commit data...
render_samples.py Loading commit data...
start.bat Loading commit data...
stop.bat Loading commit data...
电费上传模板.xlsx Loading commit data...
电费通知单系统-流程说明.xlsx Loading commit data...
租金.xlsx Loading commit data...
租金通知系统-模板填充规则.xlsx Loading commit data...
租金通知系统-需求确认清单.xlsx Loading commit data...