chore: 初始开源发布
iotlcm-admin-svr:管理后台服务。 - Go module:iotlcm → git.5iot.com/iotlcm-public/iotlcm-admin-svr(729 文件) - 凭据与地址脱敏:JWT signingKey(含代码里的 MustGet 默认值)、 MySQL DSN、Redis 口令、告警邮件发件人邮箱全部改为占位; 私网 IP → 文档地址段;库名 xiujie_admin → iotlcm - 真实手机号/邮箱 → 合法 11 位编造号 / example.com - 移除内部资产:CI 触发器、过时 DDL(sql/db_iotlcm.sql)、 私有依赖 go get 行、明文 registry 登录口令 - 启动 banner 统一 IOTLCM 方块字 + 社区惯例署名 - Dockerfile 改用公共基础镜像 - 拼错的 RADEME.md → README.md,README 重写 - 需要真实数据库的用例改为可用 IOTLCM_TEST_WITH_DB=1 显式启用 - 补 Apache-2.0 LICENSE,LF 行尾 + .gitattributes 数据库 schema 不随本仓发布(生产 DDL 已过时),README 已说明。
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
# 代理模板上线配置
|
||||
|
||||
本次无需数据库结构迁移,不执行来源字段、索引或 outbox 建表脚本。没有新增菜单或手动定时任务。
|
||||
|
||||
1. 开发环境保持 sys_config:tenant_id=000000,config_key=agent.role.template.role_id,config_value=82。其他环境核对真实模板 ID,不能直接复制开发环境 ID。
|
||||
2. 模板为平台企业100的代理商角色82,在企业管理的角色管理维护。启用且数据范围为本机构及下级,按钮采用角色默认范围。
|
||||
3. 核对直属企业 sys_dept.dept_role 与管理员 sys_user_role:对应角色存在、未删除、属于该企业,并确认账号绑定。不要将所有企业绑定到角色82。
|
||||
4. 部署新版后端,通过页面保存参数或模板触发同步。无需执行来源字段修复脚本。
|
||||
|
||||
已查到需核对的关联:企业117原角色67、147原角色91、175原角色88、187原角色94、188原角色95、190原角色96、191原角色98,均为失效关联。现存候选分别为101、58、102、103、104、105、106;核对账号绑定后才可修复,不盲目替换。
|
||||
|
||||
保存后直接同步各直属企业。某个企业失败不影响其他企业,接口报告失败,日志查看 agent template sync child failed 或 agent role sync child failed。修复后重新保存模板重试。模板已提交但同步失败时不会撤销已成功同步的企业;进程异常导致未完成同步,需要人工重新保存。
|
||||
|
||||
上线验收包括:三级企业、上级撤权、下级自建角色、旧登录账号、直接接口调用、单家关联异常、模板切换和重复同步。真实页面和多实例并发需另行验收。本次不修改实际数据库或运行服务。
|
||||
@@ -0,0 +1,15 @@
|
||||
# 代理角色模板
|
||||
|
||||
使用现有 sys_config、sys_role、sys_role_menu、sys_dept、sys_user_role 表,不新增字段、索引或任务表。
|
||||
|
||||
平台参数:tenant_id=000000,config_key=agent.role.template.role_id,config_value 为本平台企业的模板角色 ID。开发环境使用 82。模板在企业管理的角色管理维护,正常启用、is_pass=1、数据范围为本机构及下级(4),按钮不允许全部或自定义数据范围。每个企业只能有一个下发模板。
|
||||
|
||||
模板修改提交后直接同步直属企业,按 sys_dept.parent_id 定位直属客户、dept_role 定位该企业实际默认角色。通过 created_dept 和上下级关系识别下发角色,不依赖 source_role_id 或 source_dept_id。平台模板切换限定同一企业,旧任务读取当前配置。下级企业维护自己的客户模板,不直接继承平台对孙级的新增授权。
|
||||
|
||||
同步保留角色 ID 和账号绑定,每家企业独立事务。单家失败不阻塞其他企业,接口报告同步失败,日志记录失败企业。保存成功和同步成功分开处理;失败时模板可能已保存,修复角色关联后重新保存可幂等重试。不会凭空修复账号绑定。
|
||||
|
||||
接口鉴权读取当前权限并与上级企业和平台模板取交集,不依赖长期用户权限缓存。没有有效角色或模板参数无效时拒绝授权。业务角色授权记录不会主动删除,模板恢复权限后仍保留授权的角色可能重新获得权限。前端按钮更新需刷新,后端执行当前鉴权。
|
||||
|
||||
采用提交后直接同步,不保证模板保存和全体客户同步原子完成。进程在提交后、同步完成前退出时,需要重新保存触发补偿;没有数据库持久化任务,不承诺自动恢复丢失任务。原有角色同步队列保留兼容重试和旧消息处理,不新增队列配置或定时任务。
|
||||
|
||||
正式上线前验证三级企业、参数切换、权限收回、旧登录账号、单家无效角色、重复同步和真实并发请求。同步随直属企业数量增加会延长请求耗时,需结合实际规模验证 API 超时与数据库负载。
|
||||
Reference in New Issue
Block a user