# A+在建客户动态管理系统上线交付索引

## 交付物

| 类型 | 路径 | 说明 |
| --- | --- | --- |
| 产品说明 | `docs/product-prototype.md` | 产品定位、A/A+ 客户边界、角色权限、数据实体、每日线上巡查、问题预警分析、上线范围 |
| 本地后台服务 | `server.js` | 提供登录、会话、A/A+ 客户、客户入池审核、每日巡查、问题、处置、核查、规则保存、账号权限、基础字典 API；权限由后台统一校验 |
| Web 正式版 | `prototype/index.html` | 多页面后台：动态驾驶舱、A/A+ 客户库、每日线上巡查、问题反馈池、监察核查、问题分析、预警规则、系统后台；含新增客户、客户入池审核、提交巡查、新增反馈、详情抽屉、指派、处置满意度、通过/驳回核查、账号管理、角色授权和字典配置按钮 |
| 小程序静态版 | `miniapp-prototype/index.html` | 手机端完整流程：首页、提交每日巡查、问题详情、处置记录、问题分析；含日查反馈、保存处置、满意度回访、核查通过、驳回整改按钮 |
| Web UI 概念图 | `ui-mockups/web-issue-warning-ui.png` | Web 问题反馈预警驾驶舱视觉方向图 |
| 小程序 UI 概念图 | `ui-mockups/miniapp-issue-warning-ui.png` | 小程序问题预警首页视觉方向图 |
| Excel 数据样本 | `source_customer_grading.xlsx` | 从微信文件复制到项目内的分析副本，原文件未改动 |

## 建议验收顺序

1. 先看 `docs/product-prototype.md`，确认业务范围、字段和流程。
2. 运行 `node server.js`，再打开 `http://127.0.0.1:8787/prototype/index.html`，验收管理层 Web 端驾驶舱与客户详情。
3. 再打开 `miniapp-prototype/index.html`，验收移动端每日巡查、反馈提交、处置记录和核查效率。
4. 最后看 `ui-mockups/` 两张图片，确认后续 UI 视觉方向。

## 当前上线重点

- 系统只保留 A / A+ 客户，新增客户和后台接口都会拒绝其他等级。
- 管理员新增客户直接进入客户库；非管理员新增客户先进入“系统后台”的管理员审核池，通过后才入库。
- 把原表中的“日巡查情况、问题反馈、跟进情况、监察部核查”改造成“每日线上巡查、问题反馈预警、根因分析、责任处置、满意度回访、监察核查”的闭环流程。
- Web 端优先服务管理层查看问题预警、问题类型分布、责任部门归因和重点问题详情。
- 小程序端优先服务一线人员快速提交每日巡查、补充问题反馈、记录处置、提交核查和查看简版分析。
- 所有客户姓名、地址字段默认按敏感信息处理。

## 可点击按钮

- Web：新增客户、提交客户入池申请、客户入池审核通过/驳回、保存客户档案、提交每日巡查、新增问题反馈、提交并进入预警池、查看问题详情、指派责任人、提交处置满意度、核查通过、驳回整改、保存预警规则、新增后台账号、保存账号、停启用账号、保存角色权限、保存基础字典。
- 小程序：提交日查、保存并触发预警、进入处置、保存处置并提交核查、核查通过、驳回整改、底部 Tab 切换。

## 登录与后台权限

Web 正式版已接入后台，前端不再保存角色权限表。登录、页面授权、按钮授权和操作放行都由 `server.js` 控制；无权限操作会被 API 返回 `403` 拒绝。

系统管理员可在 Web 端“系统后台”审核非管理员提交的客户入池申请，维护账号、启停用账号、调整账号角色、配置角色可访问页面和可执行操作，并维护责任部门、客户来源、问题来源、问题类型、当前进度等下拉字典。

正式账号和初始密码不在页面或文档中展示，由系统管理员在“系统后台”统一新增、停启用和重置。

无权限按钮会按后台返回的权限自动置灰；即使通过浏览器控制台直接调用接口，后台也会拒绝未授权的新增客户、提交反馈、处置、核查、规则保存等操作。

## 正式运行数据

服务端已接入本地数据文件持久化，新增客户、客户入池审核、每日巡查、问题反馈、责任人指派、处置记录、监察核查、预警规则、账号权限和基础字典会由 `server.js` 自动保存。

Windows 本地默认保存到 `data/app-state.json`；云服务器默认保存到 `/var/lib/keyissue-prototype/app-state.json`。如果需要迁移或备份正式数据，优先备份该文件。
