weaver-work-cli 0.1.26 → 0.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.md +7 -2
  2. package/dist/cmd/setup/index.js +1 -1
  3. package/dist/internal/e10/auth/commands.js +1 -6
  4. package/dist/internal/e10/auth/messages.js +3 -0
  5. package/dist/internal/e10/auth/session.js +8 -0
  6. package/dist/internal/e10/auth-recovery.js +148 -0
  7. package/dist/internal/e10/client.js +47 -15
  8. package/dist/internal/e10/context.js +8 -8
  9. package/dist/internal/e10/index.js +1 -0
  10. package/dist/internal/e10/request-runtime.js +51 -9
  11. package/dist/shortcuts/archive/host.js +3 -2
  12. package/dist/shortcuts/archive/manifest.js +1 -1
  13. package/dist/shortcuts/archive-oa/host.js +2 -1
  14. package/dist/shortcuts/archive-oa/manifest.js +1 -1
  15. package/dist/shortcuts/asset/host.js +7 -6
  16. package/dist/shortcuts/blog/host.js +4 -3
  17. package/dist/shortcuts/caizhilian/host.js +3 -2
  18. package/dist/shortcuts/caizhilian/manifest.js +1 -1
  19. package/dist/shortcuts/calendar/host.js +2 -1
  20. package/dist/shortcuts/contract/host.js +34 -59
  21. package/dist/shortcuts/ehr/host.js +2 -1
  22. package/dist/shortcuts/esb/host.js +2 -1
  23. package/dist/shortcuts/fna/host.js +6 -3
  24. package/dist/shortcuts/fna/manifest.js +10 -5
  25. package/dist/shortcuts/fna/operations/expense-chart.js +162 -0
  26. package/dist/shortcuts/fna/operations/registry.js +2 -0
  27. package/dist/shortcuts/hrm/host.js +2 -1
  28. package/dist/shortcuts/im/host.js +3 -2
  29. package/dist/shortcuts/invoice/host.js +7 -6
  30. package/dist/shortcuts/invoice/manifest.js +21 -141
  31. package/dist/shortcuts/invoice/operations/issuing-qys.js +134 -167
  32. package/dist/shortcuts/invoice/operations/registry.js +1 -6
  33. package/dist/shortcuts/jiuchuanhui/host.js +2 -1
  34. package/dist/shortcuts/mail/host.js +2 -1
  35. package/dist/shortcuts/meeting/host.js +2 -1
  36. package/dist/shortcuts/meeting/operations/eb/conflict.js +78 -12
  37. package/dist/shortcuts/okr/host.js +2 -1
  38. package/dist/shortcuts/plan/host.js +2 -1
  39. package/dist/shortcuts/project/host.js +2 -1
  40. package/dist/shortcuts/workflow/host.js +3 -5
  41. package/dist/shortcuts/workflow/index.js +1 -1
  42. package/dist/shortcuts/workflow/operations/chatscene.js +4 -22
  43. package/dist/shortcuts/workflow/operations/form.js +281 -166
  44. package/dist/shortcuts/workflow/operations/read.js +26 -2
  45. package/dist/shortcuts/workflow/stdout-compact.js +7 -0
  46. package/docs/SKILL.md +1 -1
  47. package/docs/_catalog.md +1 -1
  48. package/docs/agent-invoice.md +1 -1
  49. package/docs/caizhilian.md +1 -1
  50. package/docs/e10-auth.md +1 -1
  51. package/docs/fna.md +7 -3
  52. package/docs/invoice.md +4 -6
  53. package/package.json +1 -1
  54. package/skill-template/business-info.json +4 -1
  55. package/skill-template/domains/caizhilian.md +2 -1
  56. package/skill-template/domains/qiyecheng.md +1 -0
  57. package/skill-template/domains/yepiaotong.md +6 -2
  58. package/skill-template/skill-template.md +1 -0
  59. package/skills/weaver-e10-blog/SKILL.md +6 -1
  60. package/skills/weaver-e10-blog/references/blog-query.md +3 -1
  61. package/skills/weaver-e10-caizhilian/SKILL.md +18 -9
  62. package/skills/weaver-e10-caizhilian/references/action-flow.md +70 -0
  63. package/skills/weaver-e10-caizhilian/references/agent-entry.md +6 -2
  64. package/skills/weaver-e10-caizhilian/references/auth-and-install.md +207 -0
  65. package/skills/weaver-e10-caizhilian/references/file-collection.md +56 -54
  66. package/skills/weaver-e10-caizhilian/references/file-upload.md +4 -4
  67. package/skills/weaver-e10-caizhilian/references/host-executor-prompt.md +32 -0
  68. package/skills/weaver-e10-caizhilian/references/host-platform-integration.md +46 -0
  69. package/skills/weaver-e10-caizhilian/references/rule-index.md +56 -0
  70. package/skills/weaver-e10-caizhilian/references/setting-attach.md +5 -16
  71. package/skills/weaver-e10-caizhilian/references/setting-backup.md +4 -13
  72. package/skills/weaver-e10-caizhilian/references/setting-encrypt.md +6 -15
  73. package/skills/weaver-e10-caizhilian/references/setting-storage-docs-summary.md +126 -0
  74. package/skills/weaver-e10-caizhilian/references/setting-storage-field-map.md +57 -0
  75. package/skills/weaver-e10-caizhilian/references/setting-storage.md +142 -482
  76. package/skills/weaver-e10-caizhilian/references/source-manifest.json +7 -7
  77. package/skills/weaver-e10-caizhilian/references/task-workflow.md +87 -0
  78. package/skills/weaver-e10-caizhilian/references/withheld.md +2 -2
  79. package/skills/weaver-e10-caizhilian/references/write-protocol.md +7 -0
  80. package/skills/weaver-e10-calendar/SKILL.md +6 -1
  81. package/skills/weaver-e10-esb/SKILL.md +8 -0
  82. package/skills/weaver-e10-esb/references/input-format.md +3 -1
  83. package/skills/weaver-e10-esb/references/source-manifest.json +5 -5
  84. package/skills/weaver-e10-hrm/SKILL.md +6 -1
  85. package/skills/weaver-e10-hrm/references/employee.md +1 -1
  86. package/skills/weaver-e10-hrm/references/org.md +1 -1
  87. package/skills/weaver-e10-hrm/references/position.md +1 -1
  88. package/skills/weaver-e10-jinchengda/SKILL.md +2 -1
  89. package/skills/weaver-e10-jinchengda/references/contract-agent-entry.md +1 -1
  90. package/skills/weaver-e10-jiuchuanhui/SKILL.md +6 -1
  91. package/skills/weaver-e10-jucailin/SKILL.md +6 -1
  92. package/skills/weaver-e10-jucailin/references/hr-contact.md +1 -1
  93. package/skills/weaver-e10-jucailin/references/salary.md +1 -1
  94. package/skills/weaver-e10-mail/SKILL.md +6 -1
  95. package/skills/weaver-e10-meeting/SKILL.md +11 -6
  96. package/skills/weaver-e10-meeting/references/meeting-eb.md +7 -3
  97. package/skills/weaver-e10-meeting/references/meeting-queries.md +3 -1
  98. package/skills/weaver-e10-meeting/references/meeting-verification.md +4 -2
  99. package/skills/weaver-e10-okr/SKILL.md +6 -1
  100. package/skills/weaver-e10-okr/references/source-manifest.json +5 -5
  101. package/skills/weaver-e10-plan/SKILL.md +6 -1
  102. package/skills/weaver-e10-plan/references/plan-overview-and-routing.md +3 -1
  103. package/skills/weaver-e10-plan/references/plan-report-query.md +3 -1
  104. package/skills/weaver-e10-plan/references/source-manifest.json +7 -7
  105. package/skills/weaver-e10-qiyecheng/SKILL.md +16 -6
  106. package/skills/weaver-e10-qiyecheng/references/catalog.md +6 -3
  107. package/skills/weaver-e10-qiyecheng/references/expense-center.md +2 -0
  108. package/skills/weaver-e10-qiyecheng/references/expense-chart.md +78 -0
  109. package/skills/weaver-e10-qiyecheng/references/source-manifest.json +87 -33
  110. package/skills/weaver-e10-shared/SKILL.md +37 -14
  111. package/skills/weaver-e10-shared/references/e10-auth-and-session.md +11 -8
  112. package/skills/weaver-e10-shared/references/non-interactive-environment.md +4 -4
  113. package/skills/weaver-e10-shared/references/weaver-e10-installation.md +3 -1
  114. package/skills/weaver-e10-wenshuding/SKILL.md +6 -1
  115. package/skills/weaver-e10-wenshuding/references/source-manifest.json +3 -3
  116. package/skills/weaver-e10-workflow/references/source-manifest.json +1 -2
  117. package/skills/weaver-e10-workflow/references/workflow-create.md +30 -55
  118. package/skills/weaver-e10-yepiaotong/SKILL.md +19 -17
  119. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +72 -78
  120. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-form-fill-rules.md +152 -0
  121. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-workflow.md +210 -0
  122. package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +7 -7
  123. package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +11 -5
  124. package/skills/weaver-e10-yepiaotong/references/reim-examples.md +55 -33
  125. package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +102 -23
  126. package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +1 -1
  127. package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +53 -42
  128. package/skills/weaver-e10-yepiaotong/references/source-manifest.json +93 -213
  129. package/skills/weaver-e10-yimiaoban/SKILL.md +9 -2
  130. package/skills/weaver-e10-yimiaoban/references/file-user-i18n.md +1 -1
  131. package/skills/weaver-e10-yimiaoban/references/msg-read.md +1 -1
  132. package/skills/weaver-e10-yimiaoban/references/source-manifest.json +9 -9
  133. package/skills/weaver-e10-ziguanjia/SKILL.md +6 -1
  134. package/dist/shortcuts/invoice/operations/issuing.js +0 -198
  135. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-field-rules.md +0 -161
  136. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-qys-ledger.md +0 -66
  137. package/skills/weaver-e10-yepiaotong/references/invoice-issuing.md +0 -107
@@ -2,7 +2,7 @@
2
2
  name: weaver-setting-encrypt
3
3
  description: "对话式修改 weapp 后台\"文件设置 → 加解密设置\"页面的全部 8 个子字段(加解密功能开关、 第三方加解密软件、软件地址、加解密场景、加密/未加密 × 上传/下载 4 个文件处理字段)。 通过自然语言 / `setting-encrypt set --item key=value` 即可完成读取全量 → modify(保留原值)→ diff 让用户确认 → POST 落库。查询优先使用 `GET /api/file/thirdPlugEncDec/config`,旧版本 404 时兼容 `POST /api/file/tenant/setting`;保存使用 `POST /api/file/tenant/setting/save`。Use for 加解密、加密场景、华途、天锐绿盾、亿赛通、文件设置加解密、 <your-e10-domain>/info/fileSet/encryption."
4
4
  license: Proprietary
5
- compatibility: 泛微E10采知连配套使用,内部可自由使用与修改,禁止对外分发
5
+ compatibility: 泛微E10采知连配套使用,随 weaver-e10-caizhilian 技能分发
6
6
  metadata:
7
7
  maintainer: unknown
8
8
  type: capability
@@ -28,22 +28,13 @@ metadata:
28
28
 
29
29
  ### 认证前置(必须)
30
30
 
31
- 本模块通过 CLI 托管的认证获取凭证(base_url + Cookie + eteamsid + User-Agent),凭证契约见同级 `weaver-e10-shared` 技能的共享规则,不依赖手动配置文件,Agent 不得自己读取或输出凭证。
31
+ 本模块通过 CLI 托管的认证获取凭证(base_url + Cookie + eteamsid + User-Agent),凭证契约见 `auth-and-install.md`,不依赖手动配置文件,Agent 不得自己读取或输出凭证。
32
32
 
33
33
  **使用前必须确保**:
34
34
  1. CLI 已安装:`weaver-work-cli --version` 能正常输出版本号
35
35
  2. 已完成登录:`weaver-work-cli auth status` 显示已登录
36
36
 
37
- **首次登录**:
38
- ```text
39
- # OAuth2.0 浏览器授权(推荐)
40
- weaver-work-cli auth login
41
-
42
- # 或手动写入 ETEAMSID(从浏览器 DevTools 复制)
43
- weaver-work-cli auth set --eteamsid "PCACCOUNT_xxx"
44
- ```
45
-
46
- **凭证过期处理**:操作返回认证错误时,提示用户通过 `weaver-work-cli auth login` 或 `weaver-work-cli auth set` 重新登录。
37
+ **登录与登录失效处理**:读取 `auth-and-install.md`,由 Agent 复用任务开始时的宿主判定,禁止调用任何其他登录 Skill。明确为 XiaoE 时只执行 `weaver-work-cli auth xiaoe`,失败即停止且不得改走浏览器;非 XiaoE 时先取得用户确认的真实 E10 域名,再执行 `weaver-work-cli auth login --base-url "<用户确认的 E10 登录域名>" --agent_type "<当前智能体名称>"`。
47
38
 
48
39
  ## When to use
49
40
 
@@ -106,7 +97,7 @@ CLI 接受三种写法:snake-case 别名 / 中英别名 / DTO 字段名。完
106
97
 
107
98
  ### 后端接口执行规则
108
99
 
109
- 加解密设置必须通过 CLI 的加解密设置操作完成,禁止通过浏览器表单或浏览器自动化写入。浏览器仅可参与 `weaver-work-cli auth login` 登录授权。
100
+ 加解密设置必须通过 CLI 的加解密设置操作完成,禁止通过浏览器表单或浏览器自动化写入。浏览器仅可参与非 XiaoE 环境的 `weaver-work-cli auth login` 登录授权;XiaoE 环境不得回退浏览器登录。
110
101
 
111
102
  - 查询接口优先是 `GET /api/file/thirdPlugEncDec/config`;旧版本返回 404 时,使用
112
103
  `POST /api/file/tenant/setting` 读取 `data.encryptionSettings`。保存接口是
@@ -114,7 +105,7 @@ CLI 接受三种写法:snake-case 别名 / 中英别名 / DTO 字段名。完
114
105
  - 保存前必须 GET 读取完整的 8 字段对象,合并目标字段后整体保存,不能只提交变更字段。
115
106
  - 保存后必须重新 GET,确认 `encryptPlugs`、`encryptUrl`、`encryptScene` 与目标值一致;否则明确报告“未保存成功”。
116
107
  - 下拉列表出现“亿赛通”仅说明前端提供该选项,不代表当前租户已经保存亿赛通;接口回读为空才是未配置。
117
- - `[http://12332](http://12332).com` 不是无歧义的 URL。应先确认用户是否要写入 `http://12332.com`,不能由 agent 静默猜测。
108
+ - 用户给出的加解密服务地址若不是无歧义的 URL(例如只有主机片段、缺协议头),应先确认用户要写入的完整地址(协议 + 主机),不能由 agent 静默猜测补全。
118
109
  - 用户明确表达“设置为 X”是修改意图;在提交外部写入前仍需按对话确认规则取得明确确认。确认一旦收到,应继续当前待保存流程,不要再次结束在“等待确认”。
119
110
 
120
111
  ## 对话式交互规则
@@ -124,7 +115,7 @@ CLI 接受三种写法:snake-case 别名 / 中英别名 / DTO 字段名。完
124
115
 
125
116
  1. **操作前必查登录态**
126
117
  每次执行业务操作前,确认 CLI 已完成登录:
127
- - 若 `weaver-work-cli auth status` 显示未登录,提示用户执行 `weaver-work-cli auth login` 或 `weaver-work-cli auth set` 完成登录
118
+ - 若 `weaver-work-cli auth status` 显示未登录,立即停止业务操作并按 `auth-and-install.md` 的宿主分流恢复会话,不得直接指定或调用其他登录 Skill
128
119
  - 登录完成后**立刻**继续用户原本的请求,不要让用户再敲一次命令
129
120
 
130
121
  2. **查询要简洁**(`show` / 读设置时的输出格式)
@@ -0,0 +1,126 @@
1
+ # 文件存储目录知识库摘要
2
+
3
+ > 用途:改存储设置时核对概念、确认目录归属、解释字段业务含义。字段对照见 `setting-storage-field-map.md`。
4
+ > 操作入口见 `setting-storage.md`,以 `weaver-work-cli caizhilian run caizhilian.setting-storage.<操作>` 为准。
5
+
6
+ ---
7
+
8
+ ## 1. 文件存储目录架构(7 个标识)
9
+
10
+ 物理文件存储分 **业务文件** + **静态文件** 两类,目录结构按「标识 1~7」分:
11
+
12
+ | 标识 | 目录 | 分类 | 内容 | 走哪条规则 |
13
+ |---|---|---|---|---|
14
+ | 1 | 根目录 | — | 文件存储最外层目录(如共享存储根路径) | — |
15
+ | 2 | `all_teams` | 业务 | 系统公共业务文件(模版等) | 系统级业务规则 |
16
+ | 3 | `ecodedev` / `ecodestatict` | 静态 | ecode 模块二开文件 + 静态文件 | 系统级静态规则 |
17
+ | 4 | `static` | 静态 | 国际化静态文件 | 系统级静态规则 |
18
+ | 5 | `visitstatic` | 静态 | 系统通用静态文件(素材库图片等) | 系统级静态规则 |
19
+ | 6 | `weatempfiles`(旧版 `weaTempFiles` 逐渐废弃) | 业务 | 系统临时文件:ESB 日志 / 表单日志 / 云桥日志 | 系统级业务规则 |
20
+ | 7 | `租户标识` | 业务 | 单租户内的业务文件(每个租户一个子目录) | **先用系统级业务规则;租户级也可以在「后台管理中心 → 文件设置 → 存储设置」里建自己的实例和规则覆盖** |
21
+
22
+ **访问路径**:
23
+
24
+ - 静态文件 → nginx 直接代理到物理存储
25
+ - 业务文件 → 走 E10 服务和物理存储交互
26
+
27
+ **操作对应**:
28
+
29
+ - 改「系统级业务规则」= 改业务文件最终落到哪个实例 + 路径 → 存储规则保存(业务规则)
30
+ - 改「系统级静态规则」= 改静态文件最终落到哪个实例 + nginx 配置 → 存储规则保存(静态规则)
31
+ - 改「租户级业务规则」= 单租户覆盖 → 租户级存储规则
32
+
33
+ ---
34
+
35
+ ## 2. 确认「现在用的是哪个存储」
36
+
37
+ ### 业务文件(标识 7 `租户标识`)
38
+
39
+ ```text
40
+ 1. 租户平台 → 文件存储设置 → 存储规则 → 业务文件存储规则
41
+ 看「业务文件存储规则」上的存储实例
42
+ 2. 进存储实例详情,确认存储类型
43
+ - 云存储 → 文件在云存储桶里,结构:<bucket>/all_teams/weatempfiles/<租户标识>
44
+ - 本地存储 → 文件在配置的根目录下,结构:/<根目录>/all_teams/weatempfiles/<租户标识>
45
+ 3. 进 E10 后台管理中心 → 文件设置 → 存储设置 → 存储规则
46
+ 看「默认存储规则」绑定的存储实例
47
+ - 与上面一致 → 标识 7 目录就在这个实例里
48
+ - 不一致 → 租户自己新建了实例,标识 7 在租户自己的实例里
49
+ ```
50
+
51
+ ### 静态文件(标识 3/4/5)
52
+
53
+ ```text
54
+ 1. 租户平台 → 文件存储设置 → 存储规则 → 静态文件存储规则
55
+ 看静态规则上的存储实例
56
+ 2. 进存储实例详情确认存储类型(同上)
57
+ ```
58
+
59
+ **用 CLI 复核**:`caizhilian.setting-storage.instance.list` / `instance.get` 看实例类型和路径;`rule.table` / `rule.search` / `rule.form` 看哪条规则用了哪个实例。
60
+
61
+ ---
62
+
63
+ ## 3. 7 种支持的存储类型
64
+
65
+ | 编号 | 类型 | 关键字段 | 适用 |
66
+ |---|---|---|---|
67
+ | 0 | 本地存储 | `storagePath`(共享根目录) | 客户自己有文件服务器,能挂载到所有 E10 节点 |
68
+ | 1 | 腾讯云 COS | region / bucket / accessId / accessKey / endPoint | 公有云 |
69
+ | 2 | 阿里云 OSS | 同上 + cname | 公有云 |
70
+ | 3 | 华为云 OBS | 同上 + rootPath | 公有云(region 信息在 endPoint 里,不单独传) |
71
+ | 4 | S3 标准云存储 | region / bucket / accessId / accessKey / storageHost / pathStyle / rootPath | 自建 S3 兼容存储 |
72
+ | 5 | FastDFS | trackerServers / downLoadHost | 内网分布式 |
73
+ | 6 | HDFS | hdfsServerIp / hdfsServerPort / hdfsUserName / rootPath | 内网分布式 |
74
+
75
+ **本地存储额外要求**:共享目录必须挂载到所有需要访问文件的节点(应用节点、nginx 节点、二开服务节点;微服务部署时含所有微服务节点)。共享目录可自定义。
76
+
77
+ **对象存储额外要求**:业务文件桶用**私有读写**权限;静态文件桶用**公共读 + 私有写**权限(公共读不开会导致静态资源访问 403)。业务文件量大的场景对象存储更稳定、易扩容。
78
+
79
+ **FastDFS / HDFS**:需要提前部署好集群;适合内网分布式 + 文件量大的场景。
80
+
81
+ ---
82
+
83
+ ## 4. 4 种存储方案推荐
84
+
85
+ | 方案 | 业务文件 | 静态文件 | 优点 | 缺点 | 适用 |
86
+ |---|---|---|---|---|---|
87
+ | 1(推荐) | 对象存储(腾讯/阿里/华为/S3) | 本地存储 | 业务稳定 + 静态快 | 需要 2 套存储 | 文件量大 + 访问量大 |
88
+ | 2 | 对象存储 | 对象存储 | 全部云上 | 静态桶要公共读 | 已有 2 个云桶 |
89
+ | 3 | 本地存储 | 本地存储 | 简单便宜 | 性能 + 容量瓶颈 | 文件量少 / 中等 |
90
+ | 4 | 分布式(HDFS/FastDFS) | 本地存储 | 内网大文件 | 部署复杂 | 已有分布式集群 |
91
+
92
+ **默认推荐方案 1**(业务云上 + 静态本地)。
93
+
94
+ ---
95
+
96
+ ## 5. 文件清理说明(慎做)
97
+
98
+ ### 5.1 业务文件(标识 7)清理
99
+
100
+ **慎重**。开启「系统物理文件删除」后,系统中删除文件会同步删除物理文件,风险大,必须先走内部风险确认流程(客户对话里说「走厂商侧流程」,不透露内部对接方式),再在后台「文件深度清理」里操作。没有删除入口时属于配置未开启,同样走厂商侧处理。
101
+
102
+ 确认业务文件占比由厂商侧用运维手段查询,不在本技能里执行。
103
+
104
+ ### 5.2 临时文件(标识 6 `weatempfiles`)清理
105
+
106
+ 主要是日志(ESB 动作流执行日志、表单日志、云桥日志)。清理前先看各子目录占比;对应日志的清理流程走厂商侧。
107
+
108
+ ### 5.3 其他目录
109
+
110
+ 不建议清理(都是系统基础组件依赖)。
111
+
112
+ ---
113
+
114
+ ## 6. 概念 → 现行操作映射
115
+
116
+ | 知识库概念 | 现行操作 |
117
+ |---|---|
118
+ | 看存储实例(名称/类型/启用状态) | `caizhilian.setting-storage.instance.list` / `instance.get` |
119
+ | 看默认规则 / 规则表 / 搜索规则 | `caizhilian.setting-storage.rule.form` / `rule.table` / `rule.search` |
120
+ | 改「业务/静态文件最终落到哪」(实例 + 路径) | `caizhilian.setting-storage.rule.save`(`rule_info_list` 传对应 DTO 字段,见 `setting-storage-field-map.md`) |
121
+ | 改子目录(按年/月/天/部门)、压缩/加密/算法 | 同上,改 `subDirectoryType` / `compressedStorage` / `encryptedStorage` / `sysFileAlgorithm` |
122
+ | 启停某条规则 | `caizhilian.setting-storage.rule.enable` |
123
+ | 改规则顺序 | `caizhilian.setting-storage.rule.order` |
124
+ | 删除规则 | `caizhilian.setting-storage.rule.delete` |
125
+
126
+ 写操作一律 prepare → 用户确认 → apply(见 `write-protocol.md`)。改规则前先列出当前所有规则并逐项说明业务含义,只改用户明确要改的项。
@@ -0,0 +1,57 @@
1
+ # 存储规则字段对照表
2
+
3
+ > 对应存储规则保存接口的规则信息结构(业务规则与静态规则共用一套 DTO 字段命名)。
4
+ > 保存规则时把字段放进 `caizhilian.setting-storage.rule.save` 的 `rule_info_list`(对象数组,键用下表 DTO 字段名)。
5
+ > 业务规则(ruleType=0)与静态规则(ruleType=1)字段集不一样;改规则时按规则类型校验字段兼容性。
6
+
7
+ ## 通用(业务/静态都可用)
8
+
9
+ | 中文 | DTO 字段 | 类型 | 备注 |
10
+ |---|---|---|---|
11
+ | 规则名称 | `ruleName` | str | 多语言字段 |
12
+ | 启用状态 | `ruleOpen` | bool | 默认 true;批量启停走 `caizhilian.setting-storage.rule.enable` |
13
+
14
+ ## 业务规则(ruleType=0)
15
+
16
+ | 中文 | DTO 字段 | 类型 | 备注 |
17
+ |---|---|---|---|
18
+ | 存储实例 | `storageInstanceId` | str | id 字符串;先用 `instance.list` / `rule.form` 拿真实 id |
19
+ | 存储路径 | `storagePath` | str | 相对租户标识子路径;前端显示带租户标识前缀 |
20
+ | 文件来源 | `fileSourceValue` | str | id 列表,逗号分隔(如 `"id1,id2,id3"`) |
21
+ | 文件来源类型 | `fileSourceType` | enum | `-1`=默认 0=模块 1=目录 2=分部 3=部门 |
22
+ | 子目录 | `subDirectoryType` | enum | `1`=年 `2`=月 `3`=天 `4`=部门 `5`=无(仅本地存储) |
23
+ | 压缩存储 | `compressedStorage` | bool | 仅本地存储可用 |
24
+ | 加密存储 | `encryptedStorage` | bool | 仅本地存储可用,配套 `sysFileAlgorithm` |
25
+ | 加密算法 | `sysFileAlgorithm` | str | 默认 `SM4` |
26
+
27
+ ## 静态规则(ruleType=1)
28
+
29
+ | 中文 | DTO 字段 | 类型 | 备注 |
30
+ |---|---|---|---|
31
+ | 静态资源存储实例 | `staticStorageInstanceId` | str | id 字符串 |
32
+ | 静态资源存储路径 / 存储桶 | `staticStoragePath` | str | 按实例类型显示名不同(「存储路径」/「存储桶」/「存储组」) |
33
+ | nginx 配置 | `staticNginxConfig`(挂在扩展配置下) | str | nginx 配置块;保存时按扩展配置子字段合并 |
34
+
35
+ 以上 13 个字段(通用 2 + 业务 8 + 静态 3)即改规则时逐项说明的业务清单。
36
+
37
+ ## 存储实例关键字段(按类型不同)
38
+
39
+ 实例编辑为动态表单;实例写入当前不由本技能开放,只读查看用 `caizhilian.setting-storage.instance.get`。
40
+
41
+ | 类型 code | 名称 | 关键字段 |
42
+ |---|---|---|
43
+ | 0 | 本地存储 | `instanceName` / `storagePath` / `storageState` |
44
+ | 1 | 腾讯云 COS | `region` / `bucket` / `accessId` / `accessKey` / `endPoint` |
45
+ | 2 | 阿里云 OSS | 同上 + `cname` |
46
+ | 3 | 华为云 OBS | 同上 + `rootPath` |
47
+ | 4 | S3 标准 | `region` / `bucket` / `accessId` / `accessKey` / `storageHost` / `pathStyle` / `rootPath` |
48
+ | 5 | FastDFS | `trackerServers` / `downLoadHost` |
49
+ | 6 | HDFS | `hdfsServerIp` / `hdfsServerPort` / `hdfsUserName` / `rootPath` |
50
+
51
+ 存储类型业务含义见 `setting-storage-docs-summary.md` 第 3 节。
52
+
53
+ ## 保存注意事项
54
+
55
+ - `rule_info_list` 里只放用户明确要改的字段;未提到的字段保留原值,不要「顺便」改。
56
+ - 枚举值必须按上表取值;错误枚举会原样传给服务端,不做本地纠正。
57
+ - 改默认规则与改子规则都走 `rule.save`(`default_rule` 标明是否默认规则);写操作先 prepare 再 apply(见 `write-protocol.md`)。