You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

206 lines
12 KiB

6 days ago
# -*- coding: utf-8 -*-
# 票 04 / t10:11 个分区索引 README 程序化落盘(文档仓在 workspace 外,Bash+python 写入)
# 自校验:写后回读逐字比对,任何丢载荷当场报错
import os, sys, io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
DOCS = r'E:\code\crm-api-docs'
FOOTER = (
"\n---\n\n"
"> 维护纪律:本 README 为人工维护的分区索引;`.bru` 接口文件由 bruno-sync 依据后端 "
"Controller tag 自动同步(只动带 `generated` 标记的文件,结构听源码、表述听人),请勿手改。"
"新接口按页面全路径挂 tag 即自动归位对应目录;一级目录与蓝湖原型 A 区分区一一对应,"
"二级及更深目录不做重排。\n"
)
READMES = {}
READMES['A0 登录界面'] = """# A0 登录界面
> 对应蓝湖原型A0 登录界面分区A0-1 登录A0-3 个人信息
## 已落地接口(5 个,均在分区根目录)
- 钉钉登录 钉钉扫码登录
- 确认顶号登录 单设备登录顶号后的确认
- 注销 退出登录
- 获取当前用户信息 登录态下取当前用户
- 菜单树 登录后拉取前端菜单树随原登录分组整体并入本分区
## 空缺标注
- A0-1 登录页接口已齐
- A0-3 个人信息页暂无独立接口目录当前用户信息经获取当前用户信息获取
## 对接工程师示位
负责登录页与全局壳菜单 / 当前用户的前端工程师只对接本分区 5 个接口其余全部业务接口均需登录后携带 token 调用
"""
READMES['A1 销售工作台(首页)'] = """# A1 销售工作台(首页)
> 对应蓝湖原型A1 销售工作台首页分区A1-1 工作台A1-2 消息中心
**占位分区暂无接口落地** 原型两页对应的后端接口尚未开发接口落地后由 bruno-sync 按源码 tag 自动同步至本分区并同步更新本 README
"""
READMES['A1X 工作计划'] = """# A1X 工作计划
> 对应蓝湖原型A1X 工作计划分区v29 新增A1X-1 工作日历A1X-2 计划管理A1X-3 出差与拜访
**占位分区暂无接口落地** 原型页面为 v29 新增后端接口尚未开发
注意现有工作计划类接口新增 / 编辑 / 删除 / 列表当前归属商机详情页 `A3 商机管理/商机详情/工作计划/`A1X 页面联调如需独立的工作计划接口另行裁决挂载
"""
READMES['A2 线索管理'] = """# A2 线索管理
> 对应蓝湖原型A2 线索管理分区A2-1 线索公海 / 我的线索 / 我的关注 / 线索管理 / 线索设置
## 已落地接口(56 个 / 5 个页面目录)
- **我的线索/**14新建线索编辑线索删除线索转商机释放线索批量释放提交反馈保存反馈草稿线索分页线索详情历史记录视图统计卡片读取列偏好保存列偏好
- **线索公海/**12领取线索批量领取关注线索批量关注取消关注释放线索线索分页线索详情历史记录视图统计卡片读取列偏好保存列偏好
- **我的关注/**10领取线索批量领取取消关注批量取关线索分页线索详情历史记录视图统计卡片读取列偏好保存列偏好
- **线索管理/**15新建线索激活线索批量激活分配线索到池批量分配到池分配线索到销售批量分配到销售删除线索批量删除线索分页线索详情历史记录视图统计卡片读取列偏好保存列偏好
- **线索设置/**5公海池分页列表公海池详情新建编辑公海池删除公海池批量删除公海池
## 空缺标注
原型 A2-1 下五个功能页均有接口落地
## 对接工程师示位
线索模块前端按页面目录联调列表页四选一我的线索 / 线索公海 / 我的关注 / 线索管理每个目录内含该页全集分页详情历史统计卡片与列偏好公海池配置页用线索设置同一接口出现在多个目录是按页面归属的多副本内容一致取所在页面那份联调即可线索设置 `A7 后台管理/线索规则/` 另有后台入口副本双归属同源自动同步
"""
READMES['A3 商机管理'] = """# A3 商机管理
> 对应蓝湖原型A3 商机管理分区A3-0 最近访问 / A3-1 销售机会 / A3-2 商机管理 / A3-3 商机公海 + 说明页
## 已落地接口(62 个)
- **新建商机/**2新建商机可关联线索下拉
- **销售机会/**1商机分页
- 销售机会/看板列表/2看板阶段卡片看板阶段汇总
- 销售机会/自定义视图/4自定义视图列表保存自定义视图删除自定义视图设为默认视图
- **商机管理/**1商机分页
- 商机管理/看板列表/2看板阶段卡片看板阶段汇总
- **商机公海/**1商机分页
- 商机公海/看板列表/2看板阶段卡片看板阶段汇总
- **状态流转/**11领取商机批量领取分配商机批量分配移交商机抛公海暂缓取消暂缓关闭商机批量关闭重启商机
- **商机详情/**根目录无文件接口全在子目录
- 主体/9商机详情编辑商机切换阶段阶段推进历史阶段推进指引关注商机批量关注取关商机上报访问
- 客户/4客户列表候选客户搜索添加关联客户设为主要意向客户
- 团队/4团队成员列表批量添加团队成员移除团队成员编辑团队成员
- 方案卡/5方案卡列表方案卡详情保存方案卡提交方案卡可选模板版本
- 跟进/3新增跟进删除跟进跟进分页
- 附件/3新增附件删除附件附件列表
- 日志/1操作日志分页
- 勘察/3新增勘察删除勘察勘察分页
- 工作计划/4新增工作计划编辑工作计划删除工作计划工作计划列表
## 空缺标注
原型 A3 各功能页均有接口落地说明原型A3-0 最近访问复用销售机会分页端点viewType=RECENT不设独立接口目录
## 对接工程师示位
商机模块前端按页面目录联调三个列表页销售机会 / 商机管理 / 商机公海各自含分页与看板子目录商机详情页接口集中在商机详情/下按页签分目录主体 / 客户 / 团队 / 方案卡 / 跟进 / 附件 / 日志 / 勘察 / 工作计划商机全生命周期操作领取 / 分配 / 移交 / 关闭等状态流转/
"""
READMES['A4 客户管理'] = """# A4 客户管理
> 对应蓝湖原型A4 客户管理分区A4-1 客户公海 / A4-2 客户总览 / A4-3 我的客户 / A4-4 客户详情 / A4-5 联系人 / A4-6 客户查重 / A4-7 客户交割
**占位分区暂无接口落地** 原型七个页面组对应的后端接口尚未开发接口落地后由 bruno-sync 按源码 tag 自动同步至本分区并同步更新本 README
"""
READMES['A5 项目管理'] = """# A5 项目管理
> 对应蓝湖原型A5 项目管理分区A5-1 项目管理看板 / 分屏 / 列表视图我的项目项目统计
**占位分区暂无接口落地** 原型页面对应的后端接口尚未开发接口落地后由 bruno-sync 按源码 tag 自动同步至本分区并同步更新本 README
"""
READMES['A6 数据看板'] = """# A6 数据看板
> 对应蓝湖原型A6 数据看板分区A6-1 数据看板运营看板 / 客户看板 / 营销看板
**占位分区暂无接口落地** 原型三个看板对应的后端接口尚未开发接口落地后由 bruno-sync 按源码 tag 自动同步至本分区并同步更新本 README
"""
READMES['A7 后台管理'] = """# A7 后台管理
> 对应蓝湖原型A7 后台管理分区A7-1 用户管理 / A7-2 权限管理 / A7-3 业务规则 / A7-4 日志管理 / A7-5 系统设置
## 已落地接口(61 个)
- **用户管理/**4用户分页用户统计分配用户角色分配用户部门
- **部门管理/**3部门树保存部门删除部门
- **权限管理/角色管理/**6角色分页角色详情新增编辑角色删除角色分配角色权限可配数据权限模块
- **权限点管理/**4资源树列表新增编辑资源节点删除资源节点上传图标
- **线索规则/**5公海池分页列表公海池详情新建编辑公海池删除公海池批量删除公海池`A2 线索管理/线索设置/` 的后台入口副本双归属同源同步
- **商机规则/公海规则/**8公海规则分页公海规则详情保存公海规则草稿发布公海规则停用公海规则删除公海规则复制公海规则公海规则版本列表
- **商机规则/方案卡模板/**9方案卡模板分页方案卡模板详情保存方案卡模板草稿发布方案卡模板停用方案卡模板删除方案卡模板复制方案卡模板方案卡模板版本列表系统字段库列表
- **商机规则/阶段模板/**8阶段模板分页阶段模板详情保存阶段模板草稿发布阶段模板停用阶段模板删除阶段模板复制阶段模板阶段模板版本列表
- **数据字典-分组/**5分组分页新建编辑分组分组启停删除分组启用分组列表
- **数据字典-字典项/**7字典项分页新建编辑字典项字典项启停设为默认项删除字典项强制删除字典项启用项列表
- **运维/**2管理员角色配置钉钉组织同步
## 空缺标注
- A7-3 业务规则的客户规则项目规则两页暂无接口
- A7-4 日志管理用户操作日志 / 登录日志 / 批量操作日志暂无接口
## 对接工程师示位
后台管理端前端按二级目录联调用户 / 部门 / 权限角色 + 权限点为账号权限体系商机规则三目录对应原型 A7-3-2 v29 起由 A3 迁入后台为唯一入口数据字典两目录对应 A7-5-1运维含管理员角色配置与钉钉组织同步对应 A7-1-2 同步任务部门管理无独立原型页接口供用户管理分配部门与数据权限配置消费
"""
READMES['公共依赖'] = """# 公共依赖
> 跨业务模块共用的基础资源接口文件行政区划供各分区页面组合调用
## 已落地接口(11 个)
- **文件/**9直传上传分片初始化上传分片完成分片删除文件下载文件文件详情预览地址缩略图
- **行政区划/**2按层级查区划按上级查子区划
## 空缺标注
文件与行政区划即当前全部公共资源
## 对接工程师示位
不需要单独对接本分区各业务页面附件上传 / 下载 / 预览地址选择等按需引用文件接口含直传与分片两条上传通路在线预览经预览地址接口取跳转地址
"""
READMES['调试(验证专用)'] = """# 调试(验证专用)
> 验证环境专用辅助接口不对应任何原型页面生产前端请勿调用
## 已落地接口(1 个)
- 签发调试token 为自动化验证 / 联调签发调试用 token仅在 verify 运行 profile 下开放
## 空缺标注
不适用
"""
count = 0
for d, body in READMES.items():
path = os.path.join(DOCS, d, 'README.md')
full = body + FOOTER
with open(path, 'w', encoding='utf-8', newline='\n') as f:
f.write(full)
back = open(path, encoding='utf-8-sig').read() # -sig 顺带暴露意外 BOM(BOM 会被读掉但不等于存在)
raw = open(path, 'rb').read()
bom = raw[:3] == b'\xef\xbb\xbf'
if back != full:
raise SystemExit('MISMATCH: ' + path)
print('OK ', d, ' chars=', len(full), ' BOM=', bom)
count += 1
print('total README files written:', count)