Files
reimburse/PROJECT-ADMIN.md
T
2026-09-13 10:12:35 +08:00

37 lines
2.5 KiB
Markdown

# 管理端接入
## 删除材料与不使用
“报销类型”中的垃圾桶会确认后调用材料类型删除接口,立即从全局材料列表及所有报销类型的材料规则中删除该材料,不删除历史报销附件。即使材料已选“不使用”,也保留删除入口。删除失败不会在本机假装移除;成功后保留其他尚未保存的规则编辑。
“不使用”只改变当前报销类型是否需要此材料,需要点击“保存规则”生效,不删除材料类型。
## 多附件兼容
项目管理详情现在展示每个材料分类下的全部附件,并支持逐份预览、下载和 ZIP 导出。新版本同时解码旧服务的单附件对象和新服务的附件数组;多附件服务上线时需同步重新构建 Mac 应用。本地 OCR 和 Office 导出不受此次改动影响。
独立模型兼容测试:`swiftc reimburse/AdminModels.swift tests/AdminAttachmentsTests.swift -o /tmp/admin-attachments-tests && /tmp/admin-attachments-tests`
应用新增“项目管理”入口,原“本地贴票”入口及 OCR、核对、配对、Office 导出保持原样。
## 使用
1. 先启动 `scoopex-expense-api`,执行其数据库迁移。
2. 微信小程序登录后查看“我的”账户 ID,由服务器操作者初始化首位平台管理员。
3. 打开管理端,设置 API 地址,生成微信登录码,在手机小程序中确认。
4. 平台管理员创建项目,按账户 ID 任命项目负责人。
5. 项目负责人选择项目、创建组别,按账户 ID 勾选多个组授权管理员。
6. 管理员选择具体组别,生成邀请二维码,审核扫码入组申请。
7. 成员提交报销后,在报销审批列表打开详情,查看/下载凭证并批准或退回。
“全部授权组”汇总数据;单个组筛选用于成员和邀请管理。二维码和登录票据不是管理员授权渠道。
登录凭证保存于 macOS 钥匙串;网络不使用代理。HTTP 仅允许本机地址,部署必须使用 HTTPS。
平台管理员默认没有项目发票读取权限,需另行指定为项目负责人才能进入该项目业务。
## 构建
Xcode 工程已开启出站网络沙盒权限。
该仓库当前没有 `native-engine/dist/receipt-engine-helper.app`,完整应用构建仍需按 README 重建原有 OCR 引擎。新增 Swift 管理界面可独立进行类型检查;不能把类型检查当作完整 OCR 安装包验收。
完整接口、初始化命令、部署注意事项见 Go 项目的 `PROJECT-ACCESS.md`