yidaconnector 2026.6.11
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.
- package/LICENSE +21 -0
- package/README.md +383 -0
- package/bin/yida.js +670 -0
- package/lib/app/form-navigation.js +58 -0
- package/lib/app/get-schema.js +538 -0
- package/lib/auth/auth.js +294 -0
- package/lib/auth/cdp-browser-login.js +390 -0
- package/lib/auth/codex-login.js +71 -0
- package/lib/auth/login.js +475 -0
- package/lib/auth/org.js +363 -0
- package/lib/auth/qr-login.js +1563 -0
- package/lib/core/chalk.js +384 -0
- package/lib/core/check-update.js +82 -0
- package/lib/core/cli-error.js +39 -0
- package/lib/core/command-manifest.js +106 -0
- package/lib/core/env-cmd.js +545 -0
- package/lib/core/env-manager.js +601 -0
- package/lib/core/env.js +287 -0
- package/lib/core/i18n.js +177 -0
- package/lib/core/locales/ar.js +805 -0
- package/lib/core/locales/de.js +805 -0
- package/lib/core/locales/en.js +1623 -0
- package/lib/core/locales/es.js +805 -0
- package/lib/core/locales/fr.js +805 -0
- package/lib/core/locales/hi.js +805 -0
- package/lib/core/locales/ja.js +1197 -0
- package/lib/core/locales/ko.js +807 -0
- package/lib/core/locales/pt.js +805 -0
- package/lib/core/locales/vi.js +805 -0
- package/lib/core/locales/zh-HK.js +1233 -0
- package/lib/core/locales/zh.js +1584 -0
- package/lib/core/query-data.js +781 -0
- package/lib/core/redact.js +100 -0
- package/lib/core/utils.js +799 -0
- package/lib/core/yida-client.js +117 -0
- package/package.json +94 -0
- package/project/config.json +4 -0
- package/project/pages/src/demo-birthday-game.oyd.jsx +832 -0
- package/project/pages/src/demo-chip-insight.oyd.jsx +983 -0
- package/project/pages/src/demo-compat-smoke.oyd.jsx +58 -0
- package/project/pages/src/demo-crm-batch-entry.oyd.jsx +805 -0
- package/project/pages/src/demo-crm-dashboard.oyd.jsx +677 -0
- package/project/pages/src/demo-future-vision-2026.oyd.jsx +1102 -0
- package/project/pages/src/demo-ppt.oyd.jsx +1192 -0
- package/project/pages/src/demo-salary-calculator.oyd.jsx +904 -0
- package/project/pages/src/yidaconnector-knowledge-doc.oyd.jsx +1714 -0
- package/project/prd/demo-birthday-game.md +39 -0
- package/project/prd/demo-crm.md +463 -0
- package/project/prd/demo-dingtalk-ai-solution-center.md +425 -0
- package/project/prd/demo-future-vision-2026.md +78 -0
- package/project/prd/demo-salary-calculator.md +101 -0
- package/scripts/build-skills-package.js +406 -0
- package/scripts/check-syntax.js +59 -0
- package/scripts/demo-dws.sh +106 -0
- package/scripts/e2e-real/cleanup.js +67 -0
- package/scripts/e2e-real/fixtures/form-fields.json +18 -0
- package/scripts/e2e-real/full-runner.js +1566 -0
- package/scripts/e2e-real/runner.js +293 -0
- package/scripts/e2e-real/skill-coverage.js +115 -0
- package/scripts/generate-command-docs.js +109 -0
- package/scripts/nightly-smoke.js +134 -0
- package/scripts/postinstall.js +545 -0
- package/scripts/solution-center-runner.js +368 -0
- package/scripts/validate-ci.sh +50 -0
- package/scripts/validate-command-manifest.js +119 -0
- package/scripts/validate-package-size.js +78 -0
- package/scripts/validate-skills.js +247 -0
- package/scripts/validate-structure.js +66 -0
- package/yida-skills/SKILL.md +163 -0
- package/yida-skills/references/yida-api.md +1309 -0
- package/yida-skills/skills/large-file-write/SKILL.md +91 -0
- package/yida-skills/skills/large-file-write/references/write-patterns.md +149 -0
- package/yida-skills/skills/large-file-write/scripts/write.js +157 -0
- package/yida-skills/skills/yida-data-management/SKILL.md +252 -0
- package/yida-skills/skills/yida-data-management/references/api-matrix.md +49 -0
- package/yida-skills/skills/yida-data-management/references/data-format-guide.md +159 -0
- package/yida-skills/skills/yida-data-management/references/verified-endpoints.md +62 -0
- package/yida-skills/skills/yida-login/SKILL.md +159 -0
- package/yida-skills/skills/yida-logout/SKILL.md +67 -0
|
@@ -0,0 +1,1233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* zh-HK.js - 繁體中文翻譯(香港)
|
|
3
|
+
*/
|
|
4
|
+
'use strict';
|
|
5
|
+
|
|
6
|
+
module.exports = {
|
|
7
|
+
// ── 通用 ──────────────────────────────────────────
|
|
8
|
+
|
|
9
|
+
// ── bin/yida.js printHelp() ────────────────────────
|
|
10
|
+
help: {
|
|
11
|
+
subtitle: '宜搭低程式碼 AI 開發工具',
|
|
12
|
+
usage: '用法:',
|
|
13
|
+
alias: '別名:',
|
|
14
|
+
group_auth: '環境 & 認證',
|
|
15
|
+
cmd_login: '登入(優先緩存,按需使用 --browser 或 --agent-qr)',
|
|
16
|
+
cmd_logout: '登出 / 切換帳戶',
|
|
17
|
+
cmd_auth: '登入態管理',
|
|
18
|
+
cmd_org: '組織管理(列出 / 切換)',
|
|
19
|
+
cmd_env: '偵測 AI 工具環境和登入態',
|
|
20
|
+
cmd_env_management: '管理公有雲 / 私有化環境',
|
|
21
|
+
group_app: '應用程式管理',
|
|
22
|
+
cmd_app_list: '查詢我的應用程式清單',
|
|
23
|
+
cmd_corp_efficiency: '查詢企業效能概覽和明細報表',
|
|
24
|
+
cmd_create_app: '建立宜搭應用程式',
|
|
25
|
+
cmd_update_app: '更新應用程式資料',
|
|
26
|
+
cmd_nav_group: '管理應用程式左側導航分組',
|
|
27
|
+
cmd_app_permission: '管理應用主管理員、資料管理員和開發成員',
|
|
28
|
+
cmd_i18n: '管理應用多語言文案和語言設定',
|
|
29
|
+
cmd_export: '匯出應用程式(產生遷移包)',
|
|
30
|
+
cmd_import: '匯入遷移包,重建應用程式',
|
|
31
|
+
group_form: '表單 & 頁面',
|
|
32
|
+
cmd_create_form: '建立表單頁面',
|
|
33
|
+
cmd_update_form: '更新表單頁面',
|
|
34
|
+
cmd_list_forms: '列出應用程式下的表單/頁面',
|
|
35
|
+
cmd_aggregate_table: '管理聚合表(virtualView)',
|
|
36
|
+
cmd_get_schema: '取得表單 Schema',
|
|
37
|
+
cmd_create_page: '建立自訂展示頁面',
|
|
38
|
+
cmd_generate_page: '基於高質素模板生成頁面',
|
|
39
|
+
cmd_check_page: '檢查自定義頁面規範',
|
|
40
|
+
cmd_compile: '本機編譯自訂頁面',
|
|
41
|
+
cmd_publish: '編譯並發布自訂頁面',
|
|
42
|
+
cmd_update_form_config: '更新表單設定',
|
|
43
|
+
group_data: '資料 & 權限',
|
|
44
|
+
cmd_data: '統一資料管理(表單/流程/任務/子表單)',
|
|
45
|
+
cmd_task_center: '全域任務中心(待辦/已處理/抄送等)',
|
|
46
|
+
cmd_basic_info: '查詢組織基本資訊、容量、額度和域名設定',
|
|
47
|
+
cmd_get_permission: '查詢表單權限設定',
|
|
48
|
+
cmd_save_permission: '儲存表單權限設定',
|
|
49
|
+
cmd_corp_manager: '管理平台管理員與通訊錄權限',
|
|
50
|
+
cmd_agent_center: '管理流程代理和離職代理',
|
|
51
|
+
group_process: '流程',
|
|
52
|
+
cmd_configure_process: '設定並發布流程規則',
|
|
53
|
+
cmd_create_process: '建立流程表單(一體化)',
|
|
54
|
+
cmd_ai_form_setting: '管理流程表單 AI 審批提示',
|
|
55
|
+
cmd_process_preview: '預覽流程實例(視覺化流程圖)',
|
|
56
|
+
group_share: '頁面設定 & 分享',
|
|
57
|
+
cmd_verify_url: '驗證短連結 URL',
|
|
58
|
+
cmd_save_share: '儲存公開訪問 / 分享設定',
|
|
59
|
+
cmd_get_page_config: '查詢頁面公開訪問設定',
|
|
60
|
+
cmd_externalize_form: '生成外部開放安全評估和鏡像欄位方案',
|
|
61
|
+
group_report: '報表',
|
|
62
|
+
cmd_create_report: '建立宜搭報表',
|
|
63
|
+
cmd_append_chart: '向已有報表追加圖表',
|
|
64
|
+
group_connector: '連接器',
|
|
65
|
+
cmd_connector_list: '列出 HTTP 連接器',
|
|
66
|
+
cmd_connector_create: '建立連接器',
|
|
67
|
+
cmd_connector_detail: '查看連接器詳情',
|
|
68
|
+
cmd_connector_delete: '刪除連接器',
|
|
69
|
+
cmd_connector_add_action: '新增執行動作',
|
|
70
|
+
cmd_connector_list_actions: '列出執行動作',
|
|
71
|
+
cmd_connector_delete_action: '刪除執行動作',
|
|
72
|
+
cmd_connector_test: '測試執行動作',
|
|
73
|
+
cmd_connector_list_connections: '列出認證帳戶',
|
|
74
|
+
cmd_connector_create_connection: '建立認證帳戶',
|
|
75
|
+
cmd_connector_smart: '智慧建立連接器(從 cURL)',
|
|
76
|
+
cmd_connector_parse_api: '解析 API 資料',
|
|
77
|
+
cmd_connector_gen_template: '產生 API 文件模板',
|
|
78
|
+
cmd_connector_more: '查看更多子命令',
|
|
79
|
+
group_integration: '整合 & 釘釘',
|
|
80
|
+
cmd_integration: '建立整合自動化邏輯流',
|
|
81
|
+
cmd_integration_list: '列出整合自動化邏輯流',
|
|
82
|
+
cmd_integration_enable: '啟用整合自動化邏輯流',
|
|
83
|
+
cmd_integration_disable: '停用整合自動化邏輯流',
|
|
84
|
+
cmd_integration_check: '檢查整合自動化異常執行日誌',
|
|
85
|
+
cmd_dws: '釘釘 CLI(通訊錄/日曆/待辦/審批等)',
|
|
86
|
+
cmd_dingtalk_link: '生成釘釘 AppLink / 相容 dingtalk:// 跳轉連結',
|
|
87
|
+
group_utility: '工具',
|
|
88
|
+
cmd_commands: '輸出機器可讀命令清單',
|
|
89
|
+
cmd_a2a: '啟動本機唯讀 A2A Adapter 或輸出 Agent Card',
|
|
90
|
+
cmd_bridge: '啟動 YidaConnector 本機網頁橋接服務',
|
|
91
|
+
cmd_db_seq_fix: 'PostgreSQL Sequence 漂移偵測與修復',
|
|
92
|
+
cmd_copy: '複製 project 工作目錄',
|
|
93
|
+
cmd_sample: '輸出程式碼範例/模板',
|
|
94
|
+
cmd_doctor: '環境診斷與自動修復',
|
|
95
|
+
cmd_update: '檢查並更新到最新版本',
|
|
96
|
+
cmd_export_conversation: '匯出 AI 對話記錄',
|
|
97
|
+
cmd_feedback: '設定體驗回饋表單和本地提醒狀態',
|
|
98
|
+
cmd_batch: '批量執行 YidaConnector 命令',
|
|
99
|
+
cmd_flash_to_prd: '閃記 / 會議紀要轉 PRD prompt',
|
|
100
|
+
cmd_ai: '調用宜搭 AI 文生文和識圖能力',
|
|
101
|
+
cmd_cdn: 'CDN 圖片管理(設定/上傳/刷新)',
|
|
102
|
+
cmd_cdn_config: '設定 CDN / OSS 上傳',
|
|
103
|
+
cmd_cdn_upload: '上傳圖片到 CDN',
|
|
104
|
+
cmd_cdn_refresh: '刷新 CDN 緩存',
|
|
105
|
+
quickstart_title: '快速上手',
|
|
106
|
+
quickstart_app_name: '考勤管理',
|
|
107
|
+
quickstart_form_name: '員工資料',
|
|
108
|
+
docs: '📚 文件:',
|
|
109
|
+
},
|
|
110
|
+
|
|
111
|
+
// ── bin/yida.js ────────────────────────────────────
|
|
112
|
+
cli: {
|
|
113
|
+
help: `
|
|
114
|
+
yidaconnector - 宜搭命令列工具
|
|
115
|
+
|
|
116
|
+
用法:
|
|
117
|
+
yidaconnector <指令> [參數...](別名:yida)
|
|
118
|
+
|
|
119
|
+
指令:
|
|
120
|
+
env 偵測目前 AI 工具環境和登入態
|
|
121
|
+
copy [--force] 複製 project 工作目錄到目前 AI 工具環境
|
|
122
|
+
login 登入態管理(優先緩存,否則掃碼)
|
|
123
|
+
logout 登出 / 切換帳戶
|
|
124
|
+
create-app "<名稱>" [描述] [圖示] [顏色] [主題色] [導航風格] [佈局] 建立應用程式,輸出 appType
|
|
125
|
+
create-page <appType> "<頁面名>" [--mode dashboard] 建立自訂頁面,輸出 pageId
|
|
126
|
+
create-form create <appType> "<表單名>" <欄位JSON> [--layout <佈局>] [--theme <主題>] [--label-align <對齊>] 建立表單頁面
|
|
127
|
+
create-form update <appType> <formUuid> <修改JSON> 更新表單頁面
|
|
128
|
+
get-schema <appType> <formUuid> 取得表單 Schema
|
|
129
|
+
publish <原始檔路徑> <appType> <formUuid> [--health-check] 編譯並發布自訂頁面
|
|
130
|
+
verify-short-url <appType> <formUuid> <url> 驗證短連結 URL 是否可用
|
|
131
|
+
save-share-config <appType> <formUuid> <url> <isOpen> [auth] 儲存公開訪問/分享設定
|
|
132
|
+
get-page-config <appType> <formUuid> 查詢頁面公開訪問/分享設定
|
|
133
|
+
update-form-config <appType> <formUuid> <isRenderNav> <title> 更新表單設定
|
|
134
|
+
data <action> <resource> [args] 統一資料管理(表單/流程/任務/子表單)
|
|
135
|
+
task-center <type> [--page N] [--size N] [--keyword TEXT] 全域任務中心(待辦/我建立的/我已處理/副本/代提交)
|
|
136
|
+
doctor [選項] 檢查環境依賴,診斷應用程式問題
|
|
137
|
+
--fix / --repair 診斷並自動修復
|
|
138
|
+
--production --app <appId> 正式應用程式診斷
|
|
139
|
+
--monitor 啟動即時健康度監控
|
|
140
|
+
--report <format> 產生診斷報告(json | markdown | html)
|
|
141
|
+
--create-ticket 根據診斷結果建立工單
|
|
142
|
+
--create-voc 建立 VOC(需求反饋)
|
|
143
|
+
--auto-submit 自動判斷並提交工單或 VOC
|
|
144
|
+
auth status 查看目前登入狀態
|
|
145
|
+
auth login 執行登入
|
|
146
|
+
auth refresh 刷新登入態
|
|
147
|
+
auth logout 登出
|
|
148
|
+
org list 列出可訪問的組織
|
|
149
|
+
org switch --corp-id <corpId> 切換組織(無需重新登入)
|
|
150
|
+
export <appType> [output] 匯出應用程式所有表單 Schema(產生遷移包)
|
|
151
|
+
import <file> [name] 匯入遷移包,在目標環境重建應用程式
|
|
152
|
+
get-permission <appType> <formUuid> 查詢表單權限設定
|
|
153
|
+
save-permission <appType> <formUuid> [--data-permission <json>] [--action-permission <json>] 儲存表單權限設定
|
|
154
|
+
configure-process <appType> <formUuid> <processDefinitionFile> [processCode] 設定並發布流程
|
|
155
|
+
create-process <appType> <formTitle> <fieldsJsonFile> <processDefinitionFile> 建立流程表單(一體化)
|
|
156
|
+
create-process <appType> --formUuid <formUuid> <processDefinitionFile> 複用已有表單建立流程
|
|
157
|
+
connector list [選項] 列出 HTTP 連接器
|
|
158
|
+
connector create "名稱" "網域" --operations <file> [選項] 建立連接器
|
|
159
|
+
connector detail <connector-id> 查看連接器詳情
|
|
160
|
+
connector delete <connector-id> [--force] 刪除連接器
|
|
161
|
+
connector add-action --operations <file> --connector-id <id> 新增執行動作到連接器
|
|
162
|
+
connector list-actions <connector-id> 列出執行動作
|
|
163
|
+
connector delete-action <connector-id> <operation-id> 刪除執行動作
|
|
164
|
+
connector test --connector-id <id> --action <actionId> 測試執行動作
|
|
165
|
+
connector list-connections <connector-id> 列出認證帳戶
|
|
166
|
+
connector create-connection <connector-id> <name> [選項] 建立認證帳戶
|
|
167
|
+
connector smart-create --curl "curl指令" [選項] 從 cURL 智慧建立連接器
|
|
168
|
+
connector parse-api [選項] 解析 API 資料
|
|
169
|
+
connector gen-template [輸出路徑] 產生介面文件範本
|
|
170
|
+
integration create <appType> <formUuid> <flowName> [選項] 建立整合&自動化邏輯流
|
|
171
|
+
create-report <appType> "<報表名稱>" <圖表JSON|檔案路徑> 建立宜搭報表
|
|
172
|
+
append-chart <appType> <reportId> <圖表JSON|檔案路徑> 向已有報表追加圖表
|
|
173
|
+
dws <command> [args] 釘釘 CLI(通訊錄/日曆/待辦/審批等)
|
|
174
|
+
export-conversation [選項] 匯出 AI 對話記錄
|
|
175
|
+
--output, -o <path> 指定輸出檔案路徑
|
|
176
|
+
--input, -i <file> 指定輸入對話檔案
|
|
177
|
+
--latest 只匯出最新對話(預設)
|
|
178
|
+
--list 列出可用的對話記錄
|
|
179
|
+
cdn-config [選項] 設定 CDN 圖片上傳(阿里雲 OSS + CDN)
|
|
180
|
+
cdn-upload <圖片路徑> [選項] 上傳圖片到 CDN
|
|
181
|
+
cdn-refresh [選項] 刷新 CDN 緩存
|
|
182
|
+
|
|
183
|
+
範例:
|
|
184
|
+
yidaconnector login
|
|
185
|
+
yidaconnector logout
|
|
186
|
+
yidaconnector create-app "考勤管理"
|
|
187
|
+
yidaconnector create-app "考勤管理" "員工考勤系統" "xian-daka" "#00B853" "deepBlue" "dark" "slide"
|
|
188
|
+
yidaconnector create-page APP_XXX "遊戲主頁"
|
|
189
|
+
yidaconnector create-form create APP_XXX "員工資料" .cache/yidaconnector/forms/employee-fields.json
|
|
190
|
+
yidaconnector create-form update APP_XXX FORM-XXX '[{"action":"add","field":{"type":"TextField","label":"備註"}}]'
|
|
191
|
+
yidaconnector get-schema APP_XXX FORM-XXX
|
|
192
|
+
yidaconnector publish pages/src/home.oyd.jsx APP_XXX FORM-XXX
|
|
193
|
+
yidaconnector verify-short-url APP_XXX FORM-XXX /o/myapp
|
|
194
|
+
yidaconnector save-share-config APP_XXX FORM-XXX /o/myapp y n
|
|
195
|
+
yidaconnector get-page-config APP_XXX FORM-XXX
|
|
196
|
+
yidaconnector update-form-config APP_XXX FORM-XXX false "頁面標題"
|
|
197
|
+
yidaconnector data query form APP_XXX FORM-XXX --page 1 --size 20
|
|
198
|
+
yidaconnector dws contact user search --keyword "悟空"
|
|
199
|
+
yidaconnector create-report APP_XXX "銷售報表" .cache/yidaconnector/reports/charts.json
|
|
200
|
+
yidaconnector append-chart APP_XXX REPORT-XXX .cache/yidaconnector/reports/charts.json
|
|
201
|
+
yidaconnector configure-process APP_XXX FORM-YYY .cache/yidaconnector/process/process-def.json
|
|
202
|
+
yidaconnector create-process APP_XXX "訂單處理表" .cache/yidaconnector/process/fields.json .cache/yidaconnector/process/process-def.json
|
|
203
|
+
yidaconnector export APP_XXX
|
|
204
|
+
yidaconnector export APP_XXX ./my-app-backup.json
|
|
205
|
+
yidaconnector import ./yida-export.json
|
|
206
|
+
yidaconnector import ./yida-export.json "品質追溯系統(正式環境)"
|
|
207
|
+
yidaconnector doctor 完整診斷
|
|
208
|
+
yidaconnector doctor --fix 診斷並自動修復
|
|
209
|
+
yidaconnector doctor --production --app APP_XXX 正式應用程式診斷
|
|
210
|
+
yidaconnector export-conversation 匯出目前對話記錄
|
|
211
|
+
yidaconnector export-conversation -o output.md 指定輸出路徑
|
|
212
|
+
yidaconnector export-conversation --list 列出可用對話
|
|
213
|
+
`,
|
|
214
|
+
unknown_command: '未知指令:{0}',
|
|
215
|
+
run_help: '執行 yidaconnector --help 查看說明',
|
|
216
|
+
integration_help: '用法:yidaconnector integration <create|list|enable|disable> ...',
|
|
217
|
+
integration_unknown: '未知的 integration 子指令:{0}',
|
|
218
|
+
integration_help_hint: '執行 yidaconnector integration --help 查看可用子指令',
|
|
219
|
+
integration_list_usage: '用法:yidaconnector integration list <appType> [--form-uuid <uuid>] [--status y|n] [--key <kw>] [--page <n>] [--size <n>] [--json]',
|
|
220
|
+
integration_list_example: '範例:yidaconnector integration list APP_XXX --form-uuid FORM-XXX --json',
|
|
221
|
+
integration_enable_usage: '用法:yidaconnector integration enable <appType> <formUuid> <processCode>',
|
|
222
|
+
integration_enable_example: '範例:yidaconnector integration enable APP_XXX FORM-XXX LPROC-XXX',
|
|
223
|
+
integration_disable_usage: '用法:yidaconnector integration disable <appType> <formUuid> <processCode>',
|
|
224
|
+
integration_disable_example: '範例:yidaconnector integration disable APP_XXX FORM-XXX LPROC-XXX',
|
|
225
|
+
compile_usage: '用法:yidaconnector compile <原始檔路徑>',
|
|
226
|
+
compile_example: '範例:yidaconnector compile pages/src/home.oyd.jsx',
|
|
227
|
+
check_page_usage: '用法:yidaconnector check-page <原始檔路徑> [--compat] [--json]',
|
|
228
|
+
check_page_example: '範例:yidaconnector check-page pages/src/home.oyd.jsx --json',
|
|
229
|
+
generate_page_usage: '用法:yidaconnector generate-page <template> --output pages/src/home.oyd.jsx [--spec .cache/yidaconnector/page-specs/home.json] [--compile]',
|
|
230
|
+
generate_page_example: '範例:yidaconnector generate-page product-homepage --brand-name OpenKuma --brand-initials OK --output pages/src/home.oyd.jsx --compile',
|
|
231
|
+
publish_usage: '用法:yidaconnector publish <原始檔路徑> <appType> <formUuid> [--health-check]',
|
|
232
|
+
publish_example: '範例:yidaconnector publish pages/src/home.oyd.jsx APP_XXX FORM-XXX --health-check',
|
|
233
|
+
verify_usage: '用法:yidaconnector verify-short-url <appType> <formUuid> <url>',
|
|
234
|
+
verify_example: '範例:yidaconnector verify-short-url APP_XXX FORM-XXX /o/myapp',
|
|
235
|
+
share_usage: '用法:yidaconnector save-share-config <appType> <formUuid> <url> <isOpen> [openAuth]',
|
|
236
|
+
share_example: '範例:yidaconnector save-share-config APP_XXX FORM-XXX /o/myapp y n',
|
|
237
|
+
page_config_usage: '用法:yidaconnector get-page-config <appType> <formUuid>',
|
|
238
|
+
page_config_example: '範例:yidaconnector get-page-config APP_XXX FORM-XXX',
|
|
239
|
+
form_config_usage: '用法:yidaconnector update-form-config <appType> <formUuid> <isRenderNav> <title>',
|
|
240
|
+
form_config_example: '範例:yidaconnector update-form-config APP_XXX FORM-XXX false "頁面標題"',
|
|
241
|
+
export_usage: '用法:yidaconnector export <appType> [output]',
|
|
242
|
+
export_example1: '範例:yidaconnector export APP_XXX',
|
|
243
|
+
export_example2: ' yidaconnector export APP_XXX ./my-app-backup.json',
|
|
244
|
+
import_usage: '用法:yidaconnector import <file> [name]',
|
|
245
|
+
import_example1: '範例:yidaconnector import ./yida-export.json',
|
|
246
|
+
import_example2: ' yidaconnector import ./yida-export.json "品質追溯系統(正式環境)"',
|
|
247
|
+
configure_process_usage: '用法:yidaconnector configure-process <appType> <formUuid> <processDefinitionFile> [processCode]',
|
|
248
|
+
configure_process_example: '範例:yidaconnector configure-process "APP_XXX" "FORM-YYY" .cache/yidaconnector/process/process-definition.json',
|
|
249
|
+
create_process_usage: '用法:yidaconnector create-process <appType> <formTitle> <fieldsJsonFile> <processDefinitionFile>\n yidaconnector create-process <appType> --formUuid <formUuid> <processDefinitionFile>',
|
|
250
|
+
create_process_example: '範例:yidaconnector create-process "APP_XXX" "訂單處理表" .cache/yidaconnector/process/fields.json .cache/yidaconnector/process/process-definition.json',
|
|
251
|
+
process_usage: '用法:yidaconnector process <子指令>\n\n子指令:\n preview <appType> <processInstanceId> [--output <path>] 預覽流程實例(產生視覺化流程圖)',
|
|
252
|
+
process_preview_usage: '用法:yidaconnector process preview <appType> <processInstanceId> [--output <path>]',
|
|
253
|
+
process_preview_example: '範例:yidaconnector process preview APP_XXX proc-inst-id-xxx',
|
|
254
|
+
get_permission_usage: '用法:yidaconnector get-permission <appType> <formUuid>',
|
|
255
|
+
get_permission_example: '範例:yidaconnector get-permission APP_XXX FORM-XXX',
|
|
256
|
+
save_permission_usage: '用法:yidaconnector save-permission <appType> <formUuid> [--data-permission <json>] [--action-permission <json>]',
|
|
257
|
+
save_permission_example: "範例:yidaconnector save-permission APP_XXX FORM-XXX --data-permission '{\"role\":\"DEFAULT\",\"dataRange\":\"SELF\"}'",
|
|
258
|
+
exec_failed: '\n❌ 執行失敗:{0}',
|
|
259
|
+
first_run_title: ' 🤖 YidaConnector - AI 問答模式已開啟! ',
|
|
260
|
+
first_run_welcome: ' {0}歡迎首次使用 YidaConnector!{1} 以下是快速上手指南:',
|
|
261
|
+
first_run_way1_title: ' 📝 方式一:直接描述需求',
|
|
262
|
+
first_run_way1_desc: ' 在 AI 工具對話框中,直接告訴 AI 你想要什麼:',
|
|
263
|
+
first_run_prompt1: ' 「幫我用宜搭建立一個考勤管理系統」',
|
|
264
|
+
first_run_prompt2: ' 「建立一個 CRM 客戶管理系統」',
|
|
265
|
+
first_run_prompt3: ' 「幫我搭建個人薪資計算器應用程式」',
|
|
266
|
+
first_run_way2_title: ' 💡 方式二:指定詳細需求',
|
|
267
|
+
first_run_prompt4: ' 「建立一個員工入職流程,包含基本資料填寫、部門審批、HR 備案」',
|
|
268
|
+
first_run_examples_title: ' 📋 範例應用程式',
|
|
269
|
+
first_run_examples: ' 薪資計算器 • 生日祝福小程式 • 企業宣傳頁',
|
|
270
|
+
first_run_tips_title: ' 🔧 首次使用建議',
|
|
271
|
+
first_run_tip1: ' 1. 執行 {0}yidaconnector env{1} 偵測環境和登入態',
|
|
272
|
+
first_run_tip2: ' 2. 執行 {0}yidaconnector login{1} 登入宜搭帳戶',
|
|
273
|
+
first_run_tip3: ' 3. 在 AI 工具中直接對話,描述你想要的應用程式 🚀',
|
|
274
|
+
first_run_footer1: ' 支援的 AI 工具:Codex / Claude Code / Aone Copilot / Cursor / OpenCode',
|
|
275
|
+
first_run_footer2: ' 📚 文件:https://github.com/bunnyrui/yidaconnector',
|
|
276
|
+
first_run_footer3: ' (此引導僅首次執行時顯示,執行 yidaconnector --help 查看所有指令)',
|
|
277
|
+
},
|
|
278
|
+
|
|
279
|
+
// ── lib/integration/integration-check.js ─────────
|
|
280
|
+
integration_check: {
|
|
281
|
+
result_sheet: '結果',
|
|
282
|
+
header_app: '應用',
|
|
283
|
+
header_form_title: '表單名稱',
|
|
284
|
+
header_form_uuid: '表單ID',
|
|
285
|
+
header_flow_name: '自動化名稱',
|
|
286
|
+
header_process_code: '自動化ID',
|
|
287
|
+
header_flow_status: '自動化狀態',
|
|
288
|
+
header_event_name: '觸發事件',
|
|
289
|
+
header_last_action: '最後操作',
|
|
290
|
+
header_modifier: '修改人',
|
|
291
|
+
header_modified_time: '修改時間',
|
|
292
|
+
header_abnormal_log_count: '異常日誌數',
|
|
293
|
+
header_proc_inst_id: '執行實例ID',
|
|
294
|
+
header_form_inst_id: '表單實例ID',
|
|
295
|
+
header_execution_status: '執行狀態',
|
|
296
|
+
header_exception: '異常資訊',
|
|
297
|
+
header_diagnosis: 'Diagnosis',
|
|
298
|
+
header_recommendation: 'Recommendation',
|
|
299
|
+
header_start_time: '開始時間',
|
|
300
|
+
header_finish_time: '完成時間',
|
|
301
|
+
header_elapsed_ms: '耗時(ms)',
|
|
302
|
+
no_abnormal: '未發現執行異常日誌',
|
|
303
|
+
app_failed: '應用檢查失敗:{0}',
|
|
304
|
+
summary: '檢查完成:{0} 個應用,{1} 條自動化,{2} 條存在異常日誌',
|
|
305
|
+
apps_failed: '有 {0} 個應用檢查失敗,詳見 JSON 輸出或錯誤摘要。',
|
|
306
|
+
no_logs: '未發現執行異常日誌。',
|
|
307
|
+
usage: 'yidaconnector integration check <appType...> [--json] [--output result.xlsx] [--no-progress] [--flow-types 1,2,3,5,6] [--log-page-size 10] [--max-log-pages 1]',
|
|
308
|
+
example: 'yidaconnector integration check APP_XXX --output project/output/自動化異常.xlsx',
|
|
309
|
+
missing_app: '缺少 appType。用法:yidaconnector integration check <appType...>',
|
|
310
|
+
banner_title: '檢查整合自動化異常日誌',
|
|
311
|
+
status_filter: '執行狀態篩選:{0}',
|
|
312
|
+
checking_app: '檢查應用:{0}',
|
|
313
|
+
progress: '檢查進度 {0}{1}',
|
|
314
|
+
current: ',目前:{0}',
|
|
315
|
+
excel_exported: 'Excel 已匯出:{0}',
|
|
316
|
+
},
|
|
317
|
+
|
|
318
|
+
// ── lib/env.js ─────────────────────────────────────
|
|
319
|
+
env: {
|
|
320
|
+
title: ' yidaconnector env - 環境偵測',
|
|
321
|
+
system_info: '\n📋 系統資料',
|
|
322
|
+
os: ' 作業系統: {0} ({1})',
|
|
323
|
+
node: ' Node.js: {0}',
|
|
324
|
+
home: ' 主目錄: {0}',
|
|
325
|
+
cwd: ' 工作目錄: {0}',
|
|
326
|
+
ai_tools: '\n🤖 AI 工具偵測',
|
|
327
|
+
no_tools: ' ⚠️ 未偵測到任何已知 AI 工具',
|
|
328
|
+
tool_active_ready: '← 目前活躍,項目已就緒',
|
|
329
|
+
tool_active_no_project: '← 目前活躍,但無 project 工作目錄',
|
|
330
|
+
tool_installed_has_project: '(已安裝,項目存在,但未活躍)',
|
|
331
|
+
tool_installed: '(已安裝,未活躍)',
|
|
332
|
+
active_env: '\n🎯 目前生效環境',
|
|
333
|
+
ai_tool_label: ' AI 工具: {0}',
|
|
334
|
+
project_root_label: ' 項目根目錄:{0}',
|
|
335
|
+
active_no_project: ' AI 工具: {0} (活躍,但無 project 工作目錄)',
|
|
336
|
+
no_active_tool: ' AI 工具: 未偵測到活躍工具',
|
|
337
|
+
project_fallback: ' 項目根目錄:{0} (fallback)',
|
|
338
|
+
login_status: '\n🔐 登入態偵測',
|
|
339
|
+
logged_in: ' 狀態: ✅ 已登入',
|
|
340
|
+
base_url_label: ' 網域: {0}',
|
|
341
|
+
corp_id_label: ' 組織 ID: {0}',
|
|
342
|
+
user_id_label: ' 用戶 ID: {0}',
|
|
343
|
+
csrf_label: ' csrf_token:{0}...',
|
|
344
|
+
not_logged_in: ' 狀態: ❌ 未登入(執行 yidaconnector login 進行登入)',
|
|
345
|
+
unknown: '(未知)',
|
|
346
|
+
},
|
|
347
|
+
|
|
348
|
+
// ── lib/login.js ───────────────────────────────────
|
|
349
|
+
login: {
|
|
350
|
+
title: ' yidaconnector login - 宜搭登入工具',
|
|
351
|
+
logout_title: ' yidaconnector logout - 宜搭登出工具',
|
|
352
|
+
cookie_file_label: '\n Cookie 檔案:{0}',
|
|
353
|
+
logout_success: ' ✅ 已清空 Cookie,登入態已失效。',
|
|
354
|
+
logout_hint: ' 下次呼叫 yidaconnector login 時將重新觸發掃碼登入。',
|
|
355
|
+
logout_no_file: ' ℹ️ Cookie 檔案不存在,無需清空。',
|
|
356
|
+
using_cache: '🔍 偵測到本機 Cookie,直接使用...',
|
|
357
|
+
csrf_ok: ' ✅ csrf_token:{0}...',
|
|
358
|
+
corp_id_ok: ' ✅ corpId:{0}',
|
|
359
|
+
no_playwright: '\n❌ 本機瀏覽器登入會優先使用 Chrome/Edge/Chromium CDP;目前 CDP 不可用且未找到 Playwright 兜底。預設請使用 yidaconnector login 或 yidaconnector login --qr;如確需本機瀏覽器登入,請先安裝:',
|
|
360
|
+
playwright_install1: ' npm install -g playwright',
|
|
361
|
+
playwright_install2: ' npx playwright install chromium',
|
|
362
|
+
browser_opening: '\n🔐 正在開啟瀏覽器,請掃碼登入...',
|
|
363
|
+
login_url_label: ' 登入網址:{0}',
|
|
364
|
+
waiting_login: ' 等待登入完成(最長等待 10 分鐘)...',
|
|
365
|
+
login_timeout: ' ⏰ 登入逾時(10 分鐘),請重試。',
|
|
366
|
+
login_success: ' ✅ 登入成功!',
|
|
367
|
+
no_csrf_in_cookie: ' ❌ 登入成功但 Cookie 中無 tianshu_csrf_token,請重試。',
|
|
368
|
+
no_cookie_cache: ' ❌ 本機無有效 Cookie,無法刷新,需要重新登入。',
|
|
369
|
+
no_csrf_in_cache: ' ❌ Cookie 中無 tianshu_csrf_token,需要重新登入。',
|
|
370
|
+
csrf_extracted: ' ✅ csrf_token 擷取成功:{0}...',
|
|
371
|
+
trigger_login: '\n🔐 登入態失效,正在開啟瀏覽器掃碼登入...\n',
|
|
372
|
+
csrf_refresh: '\n🔄 csrf_token 已過期,正在從 Cookie 重新擷取...\n',
|
|
373
|
+
},
|
|
374
|
+
|
|
375
|
+
// ── lib/auth.js ────────────────────────────────────
|
|
376
|
+
auth: {
|
|
377
|
+
status_title: ' yidaconnector auth status - 登入狀態查詢',
|
|
378
|
+
not_logged_in: ' 狀態: ❌ 未登入',
|
|
379
|
+
login_hint: ' 提示: 執行 yidaconnector auth login 進行登入',
|
|
380
|
+
no_csrf_token: ' 狀態: ❌ 登入態無效(無 csrf_token)',
|
|
381
|
+
relogin_hint: ' 提示: 執行 yidaconnector auth login 重新登入',
|
|
382
|
+
logged_in: ' 狀態: ✅ 已登入',
|
|
383
|
+
base_url_label: ' 網域: {0}',
|
|
384
|
+
corp_id_label: ' 組織 ID: {0}',
|
|
385
|
+
user_id_label: ' 用戶 ID: {0}',
|
|
386
|
+
csrf_label: ' csrf_token:{0}...',
|
|
387
|
+
login_type_label: ' 登入方式: {0}',
|
|
388
|
+
login_time_label: ' 登入時間: {0}',
|
|
389
|
+
login_start: '\n🔐 開始登入(方式:{0})...',
|
|
390
|
+
login_success: '\n✅ 登入成功!',
|
|
391
|
+
corp_id_ok: ' ✅ corpId:{0}',
|
|
392
|
+
refresh_start: '\n🔄 正在刷新登入態...',
|
|
393
|
+
no_cookie_cache: ' ❌ 本機無 Cookie 緩存,無法刷新',
|
|
394
|
+
no_csrf_in_cache: ' ❌ Cookie 中無 csrf_token,需要重新登入',
|
|
395
|
+
refresh_success: ' ✅ 登入態刷新成功!',
|
|
396
|
+
csrf_ok: ' ✅ csrf_token:{0}...',
|
|
397
|
+
auth_config_cleared: ' ✅ 已清空登入設定',
|
|
398
|
+
},
|
|
399
|
+
|
|
400
|
+
// ── lib/org.js ─────────────────────────────────────
|
|
401
|
+
org: {
|
|
402
|
+
list_title: ' yidaconnector org list - 組織清單',
|
|
403
|
+
no_corp_id: ' ❌ 無法取得目前組織 ID,請先登入',
|
|
404
|
+
current_org: '目前組織',
|
|
405
|
+
current: '目前',
|
|
406
|
+
no_organizations: ' ⚠️ 暫無組織資料',
|
|
407
|
+
switch_title: ' yidaconnector org switch - 組織切換',
|
|
408
|
+
switch_from: ' 目前組織:{0}',
|
|
409
|
+
switch_to: ' 目標組織:{0}',
|
|
410
|
+
already_in_org: ' ✅ 已在目標組織中,無需切換',
|
|
411
|
+
step1: '\n Step 1:發起切換請求...',
|
|
412
|
+
step2: ' Step 2:確認切換...',
|
|
413
|
+
step3: ' Step 3:取得新登入態...',
|
|
414
|
+
redirect: ' Step 4:跟隨重新導向 ({0})...',
|
|
415
|
+
switch_failed_no_csrf: ' ❌ 切換失敗:未取得新的 csrf_token',
|
|
416
|
+
switch_success: '\n ✅ 組織切換成功!',
|
|
417
|
+
new_corp_id: ' 新組織 ID: {0}',
|
|
418
|
+
new_csrf: ' csrf_token:{0}...',
|
|
419
|
+
switch_error: ' ❌ 切換失敗:{0}',
|
|
420
|
+
only_one_org: ' ⚠️ 只有一個組織,無需切換',
|
|
421
|
+
select_prompt: '\n 請選擇要切換的組織:',
|
|
422
|
+
use_corp_id_hint: '\n 💡 提示:使用 --corp-id 參數指定目標組織',
|
|
423
|
+
no_login: '❌ 未登入,請先執行 yidaconnector login',
|
|
424
|
+
switched_org: '切換後的組織',
|
|
425
|
+
unknown: '未知',
|
|
426
|
+
},
|
|
427
|
+
|
|
428
|
+
// ── lib/create-app.js ──────────────────────────────
|
|
429
|
+
create_app: {
|
|
430
|
+
title: ' yidaconnector create-app - 宜搭應用程式建立工具',
|
|
431
|
+
usage: '用法:yidaconnector create-app "<appName>" [description] [icon] [iconColor] [themeColor] 或 yidaconnector create-app --name "<appName>" [--desc "..."] [--theme deepBlue]',
|
|
432
|
+
example: '範例:yidaconnector create-app --name "考勤管理" --desc "員工考勤打卡系統" --theme deepBlue',
|
|
433
|
+
available_icons: '\n可用圖示:',
|
|
434
|
+
icons_list: ' xian-xinwen, xian-zhengfu, xian-yingyong, xian-xueshimao, xian-qiye,\n xian-danju, xian-shichang, xian-jingli, xian-falv, xian-baogao,\n huoche, xian-shenbao, xian-diqiu, xian-qiche, xian-feiji,\n xian-diannao, xian-gongzuozheng, xian-gouwuche, xian-xinyongka,\n xian-huodong, xian-jiangbei, xian-liucheng, xian-chaxun, xian-daka',
|
|
435
|
+
available_colors: '\n可用顏色:',
|
|
436
|
+
colors_list: ' #0089FF #00B853 #FFA200 #FF7357 #5C72FF\n #85C700 #FFC505 #FF6B7A #8F66FF #14A9FF',
|
|
437
|
+
app_name: ' 應用程式名稱:{0}',
|
|
438
|
+
app_desc: ' 應用程式描述:{0}',
|
|
439
|
+
app_icon: ' 圖示: {0} ({1})',
|
|
440
|
+
app_theme: ' 主題: colour={0} navTheme={1} layout={2}',
|
|
441
|
+
step_create: '\n📦 Step 2:建立應用程式\n',
|
|
442
|
+
success: ' ✅ 應用程式建立成功!',
|
|
443
|
+
app_type_label: ' appType:{0}',
|
|
444
|
+
corp_id_label: ' corpId: {0}',
|
|
445
|
+
url_label: ' 訪問網址:{0}',
|
|
446
|
+
failed: ' ❌ 建立失敗:{0}',
|
|
447
|
+
prd_config_title: '## 應用程式設定',
|
|
448
|
+
prd_config_key: '設定項',
|
|
449
|
+
prd_config_value: '值',
|
|
450
|
+
prd_not_found: '\n ⚠️ 未找到 prd 文件,跳過 corpId 寫入',
|
|
451
|
+
prd_updated: ' ✅ 已更新 prd 文件:{0}',
|
|
452
|
+
prd_update_failed: ' ⚠️ 更新 prd 文件失敗:{0}',
|
|
453
|
+
},
|
|
454
|
+
|
|
455
|
+
// ── lib/create-page.js ─────────────────────────────
|
|
456
|
+
create_page: {
|
|
457
|
+
title: ' yidaconnector create-page - 宜搭自訂頁面建立工具',
|
|
458
|
+
usage: '用法:yidaconnector create-page <appType> "<pageName>" [--mode dashboard]',
|
|
459
|
+
example: '範例:yidaconnector create-page "APP_XXX" "駕駛艙" --mode dashboard',
|
|
460
|
+
app_id: ' 應用程式 ID: {0}',
|
|
461
|
+
page_name: ' 頁面名稱:{0}',
|
|
462
|
+
step_create: '\n📄 Step 2:建立自訂頁面\n',
|
|
463
|
+
sending: ' 傳送 saveFormSchemaInfo 請求...',
|
|
464
|
+
success: ' ✅ 頁面建立成功!',
|
|
465
|
+
step_dashboard_config: '\n🖥️ Step 3:設定看板全螢幕模式',
|
|
466
|
+
dashboard_config_ok: ' ✅ 已設定看板模式:隱藏頂部導航,並輸出無左側欄的 custom URL',
|
|
467
|
+
dashboard_config_failed: ' ⚠️ 看板模式設定失敗:{0}',
|
|
468
|
+
err_mode_invalid: '不支援的頁面模式:{0}',
|
|
469
|
+
mode_hint: '可用模式:default, dashboard',
|
|
470
|
+
page_id_label: ' pageId: {0}',
|
|
471
|
+
url_label: ' 訪問網址:{0}',
|
|
472
|
+
failed: ' ❌ 建立失敗:{0}',
|
|
473
|
+
},
|
|
474
|
+
|
|
475
|
+
// ── lib/get-schema.js ──────────────────────────────
|
|
476
|
+
get_schema: {
|
|
477
|
+
title: ' yidaconnector get-schema - 宜搭表單 Schema 取得工具',
|
|
478
|
+
usage: '用法:yidaconnector get-schema <appType> <formUuid>',
|
|
479
|
+
example: '範例:yidaconnector get-schema "APP_XXX" "FORM-XXX"',
|
|
480
|
+
app_id: ' 應用程式 ID: {0}',
|
|
481
|
+
form_uuid: ' 表單 UUID: {0}',
|
|
482
|
+
step_get: '\n📄 Step 2:取得表單 Schema',
|
|
483
|
+
sending: ' 傳送 getFormSchema 請求...',
|
|
484
|
+
success: ' ✅ Schema 取得成功!',
|
|
485
|
+
failed: ' ❌ 取得 Schema 失敗:{0}',
|
|
486
|
+
},
|
|
487
|
+
|
|
488
|
+
// ── lib/create-form.js ─────────────────────────────
|
|
489
|
+
create_form: {
|
|
490
|
+
error: '\n❌ 錯誤:{0}',
|
|
491
|
+
usage_create: '用法:yidaconnector create-form create <appType> <formTitle> <fieldsJsonFile>',
|
|
492
|
+
example_create: '範例:yidaconnector create-form create "APP_XXX" "員工資料登記" .cache/yidaconnector/forms/employee-fields.json',
|
|
493
|
+
usage_update: '用法:yidaconnector create-form update <appType> <formUuid> <changesJsonOrFile>',
|
|
494
|
+
example_update: '範例:yidaconnector create-form update "APP_XXX" "FORM-YYY" \'[{"action":"add","field":{"type":"TextField","label":"備註"}}]\'',
|
|
495
|
+
usage_label: '用法:',
|
|
496
|
+
usage_create_short: ' 建立:yidaconnector create-form create <appType> <formTitle> <fieldsJsonFile>',
|
|
497
|
+
usage_update_short: ' 更新:yidaconnector create-form update <appType> <formUuid> <changesJsonOrFile>',
|
|
498
|
+
example_label: '\n範例:',
|
|
499
|
+
fields_file_not_found: ' ❌ 欄位定義檔案不存在:',
|
|
500
|
+
fields_format_invalid: '欄位定義格式不正確',
|
|
501
|
+
fields_must_be_array: '欄位定義必須是非空陣列',
|
|
502
|
+
fields_parse_failed: ' ❌ 解析欄位定義失敗:',
|
|
503
|
+
changes_file_not_found: ' ❌ 修改定義檔案不存在:',
|
|
504
|
+
changes_must_be_array: '修改定義必須是非空陣列',
|
|
505
|
+
changes_parse_failed: ' ❌ 解析修改定義失敗:',
|
|
506
|
+
no_components_tree: ' ❌ Schema 中未找到 componentsTree',
|
|
507
|
+
no_form_container: ' ❌ Schema 中未找到 FormContainer',
|
|
508
|
+
add_missing_field: ' - 缺少 field.type 或 field.label,跳過',
|
|
509
|
+
add_after_ok: ' - 在「{0}」後新增欄位「{1}」({2})',
|
|
510
|
+
add_after_not_found: ' - 未找到「{0}」,欄位「{1}」追加到末尾',
|
|
511
|
+
add_before_ok: ' - 在「{0}」前新增欄位「{1}」({2})',
|
|
512
|
+
add_before_not_found: ' - 未找到「{0}」,欄位「{1}」追加到末尾',
|
|
513
|
+
add_ok: ' - 新增欄位「{0}」({1})',
|
|
514
|
+
delete_missing_label: ' - 缺少 label,跳過',
|
|
515
|
+
delete_ok: ' - 刪除欄位「{0}」',
|
|
516
|
+
delete_not_found: ' - 未找到欄位「{0}」,跳過刪除',
|
|
517
|
+
update_missing_label: ' - 缺少 label,跳過',
|
|
518
|
+
update_missing_changes: ' - 缺少 changes,跳過',
|
|
519
|
+
update_table_not_found: ' - 未找到子表「{0}」,跳過更新',
|
|
520
|
+
update_not_table: ' - 「{0}」不是有效的子表欄位,跳過更新',
|
|
521
|
+
in_table: '子表「{0}」中的',
|
|
522
|
+
update_ok: ' - 更新{0}欄位「{1}」的屬性:{2}',
|
|
523
|
+
update_not_found: ' - 未找到{0}欄位「{1}」,跳過更新',
|
|
524
|
+
unknown_action: ' - 未知操作類型「{0}」,跳過',
|
|
525
|
+
filling_rule_resolved: ' 🔗 回填規則解析:@label:{0} → {1}',
|
|
526
|
+
filling_rule_failed: ' ⚠️ 回填規則解析失敗:找不到標籤為「{0}」的欄位,請檢查欄位名是否正確',
|
|
527
|
+
table_filling_rule: ' 📋 處理子表回填規則 [{0}]:tableId={1}',
|
|
528
|
+
table_rule_resolved: ' 🔗 子表規則解析 [{0}]:@label:{1} → {2}',
|
|
529
|
+
table_rule_failed: ' ⚠️ 子表規則解析失敗:找不到標籤為「{0}」的欄位,請檢查欄位名是否正確',
|
|
530
|
+
serial_number_formula_set: ' 🔢 SerialNumberField 「{0}」formula 已設定',
|
|
531
|
+
schema_extract_failed: ' ❌ 無法從回傳結果中擷取 Schema',
|
|
532
|
+
schema_response_structure: ' 回應結構:{0}',
|
|
533
|
+
schema_parse_failed: '無法解析 Schema 結構',
|
|
534
|
+
action_label: '操作 {0}:{1}',
|
|
535
|
+
step_check_data: '\n🔍 步驟 {0}:檢查表單是否已有資料',
|
|
536
|
+
data_exists_warning: ' ⚠️ 該表單已有 {0} 筆資料!修改表單結構可能導致:',
|
|
537
|
+
data_exists_impact: ' - 歷史資料遺失或損壞\n - 流程狀態異常\n - 資料不一致',
|
|
538
|
+
data_exists_abort: ' ❌ 已中止修改。如需強制執行,請新增 --force 參數。',
|
|
539
|
+
data_exists_confirm_message: '該表單已有 {0} 筆資料,修改結構可能影響已有資料。請新增 --force 參數確認執行。',
|
|
540
|
+
data_exists_force_hint: '用法:yidaconnector create-form update <appType> <formUuid> <changesJson> --force',
|
|
541
|
+
data_exists_force_proceed: ' ⚠️ --force 模式:跳過確認,強制修改已有 {0} 筆資料的表單結構',
|
|
542
|
+
data_check_empty: ' ✅ 表單暫無資料,可安全修改',
|
|
543
|
+
data_check_failed: ' ⚠️ 資料量檢查失敗,繼續執行修改',
|
|
544
|
+
},
|
|
545
|
+
common: {
|
|
546
|
+
http_status: ' HTTP 狀態碼:{0}',
|
|
547
|
+
http_response: ' HTTP 回應:{0}',
|
|
548
|
+
response_body: ' 回應內容:{0}',
|
|
549
|
+
response_detail: ' 回應詳情:{0}',
|
|
550
|
+
response_not_json: '回應非 JSON',
|
|
551
|
+
login_expired: ' 偵測到登入過期:{0}',
|
|
552
|
+
csrf_expired: ' 偵測到 csrf_token 過期:{0}',
|
|
553
|
+
csrf_refreshed: ' csrf_token 已刷新',
|
|
554
|
+
request_timeout: ' ❌ 請求逾時',
|
|
555
|
+
request_failed: '請求失敗',
|
|
556
|
+
request_failed_label: ' ❌ 請求失敗',
|
|
557
|
+
unknown_error: '未知錯誤',
|
|
558
|
+
step_login: '\n🔑 Step 1:讀取登入態',
|
|
559
|
+
step_login_label: '\n🔑 讀取登入態',
|
|
560
|
+
no_login_cache: ' ⚠️ 未找到本機登入態,觸發登入...',
|
|
561
|
+
login_no_cache: ' ⚠️ 未找到本機登入態,觸發登入...',
|
|
562
|
+
login_ready: ' ✅ 登入態已就緒({0})',
|
|
563
|
+
resend: ' 🔄 重新傳送請求...',
|
|
564
|
+
resend_csrf: ' 🔄 重新傳送請求(csrf_token 已刷新)...',
|
|
565
|
+
relogin_retry: ' 🔄 重新登入後重新傳送請求...',
|
|
566
|
+
exception: '\n❌ 異常:{0}',
|
|
567
|
+
yes: '是',
|
|
568
|
+
no: '否',
|
|
569
|
+
empty: '(空)',
|
|
570
|
+
},
|
|
571
|
+
|
|
572
|
+
// ── lib/export-app.js ──────────────────────────────
|
|
573
|
+
export: {
|
|
574
|
+
usage: '用法:yidaconnector export <appType> [output]',
|
|
575
|
+
example1: '範例:yidaconnector export APP_XXXXXXXXXXXXX',
|
|
576
|
+
example2: ' yidaconnector export APP_XXXXXXXXXXXXX ./my-app-backup.json',
|
|
577
|
+
title: ' yidaconnector export - 宜搭應用程式匯出工具',
|
|
578
|
+
app_id: '\n 應用程式 ID: {0}',
|
|
579
|
+
output_file: ' 輸出檔案:{0}',
|
|
580
|
+
step_get_forms: '\n📋 Step 2:取得應用程式表單清單',
|
|
581
|
+
no_forms: ' ⚠️ 未找到任何表單頁面,請確認應用程式 ID 是否正確',
|
|
582
|
+
forms_found: ' ✅ 找到 {0} 個表單頁面',
|
|
583
|
+
step_export_schema: '\n📦 Step 3:匯出表單 Schema',
|
|
584
|
+
exporting: '\n 正在匯出:{0} ({1})',
|
|
585
|
+
export_ok: ' ✅ 匯出成功',
|
|
586
|
+
export_failed: ' ⚠️ 匯出失敗,跳過',
|
|
587
|
+
step_write_file: '\n💾 Step 4:寫入匯出檔案',
|
|
588
|
+
done: ' ✅ 匯出完成!',
|
|
589
|
+
success_count: ' 成功:{0} 個表單',
|
|
590
|
+
fail_count: ' 失敗:{0} 個表單(已跳過)',
|
|
591
|
+
fetch_forms_failed: '取得表單清單失敗',
|
|
592
|
+
unnamed_form: '未命名表單',
|
|
593
|
+
},
|
|
594
|
+
|
|
595
|
+
// ── lib/import-app.js ──────────────────────────────
|
|
596
|
+
import_example2: ' yidaconnector import ./yida-export.json "品質追溯系統(正式環境)"',
|
|
597
|
+
exec_failed: '\n❌ 執行失敗:{0}',
|
|
598
|
+
auth_usage: '用法:yidaconnector auth <status|login|refresh|logout>',
|
|
599
|
+
auth_example: '範例:\n yidaconnector auth status # 查看登入狀態\n yidaconnector auth login # 執行登入\n yidaconnector auth login --codex # Codex 內建瀏覽器登入\n yidaconnector auth refresh # 刷新登入態\n yidaconnector auth logout # 登出',
|
|
600
|
+
org_usage: '用法:yidaconnector org <list|switch>',
|
|
601
|
+
org_example: '範例:\n yidaconnector org list # 列出可訪問的組織\n yidaconnector org switch --corp-id dingXXX # 切換到指定組織',
|
|
602
|
+
title: ' yidaconnector import - 宜搭應用程式匯入工具',
|
|
603
|
+
// ── lib/get-page-config.js ─────────────────────────
|
|
604
|
+
get_page_config: {
|
|
605
|
+
usage: '用法:yidaconnector get-page-config <appType> <formUuid>',
|
|
606
|
+
example: '範例:yidaconnector get-page-config APP_XXX FORM-XXX',
|
|
607
|
+
title: ' get-page-config - 宜搭頁面設定查詢工具',
|
|
608
|
+
app_id: '\n 應用程式 ID: {0}',
|
|
609
|
+
form_uuid: ' 表單 UUID: {0}',
|
|
610
|
+
step_query: '\n🔍 Step 2:查詢頁面設定',
|
|
611
|
+
sending_request: ' 傳送 getShareConfig 請求...',
|
|
612
|
+
query_ok: ' ✅ 查詢成功!',
|
|
613
|
+
open_url: ' 公開訪問:{0}',
|
|
614
|
+
share_url: ' 組織內分享:{0}',
|
|
615
|
+
no_config: ' (尚未設定公開訪問或分享連結)',
|
|
616
|
+
query_failed: ' ❌ 查詢失敗:{0}',
|
|
617
|
+
},
|
|
618
|
+
|
|
619
|
+
// ── lib/save-share-config.js ───────────────────────
|
|
620
|
+
save_share_config: {
|
|
621
|
+
usage: '用法:yidaconnector save-share-config <appType> <formUuid> <openUrl> <isOpen> [openAuth]',
|
|
622
|
+
example: '範例:yidaconnector save-share-config "APP_XXX" "FORM-XXX" "/o/xxx" "y" "n"',
|
|
623
|
+
is_open_hint: ' isOpen:y=開啟公開訪問,n=關閉公開訪問',
|
|
624
|
+
open_auth_hint: ' openAuth:y=需要授權,n=不需要授權(預設)',
|
|
625
|
+
title: ' save-share-config - 宜搭公開訪問設定儲存工具',
|
|
626
|
+
app_id: '\n 應用程式 ID: {0}',
|
|
627
|
+
form_uuid: ' 表單 UUID: {0}',
|
|
628
|
+
open_url: ' 公開訪問路徑:{0}',
|
|
629
|
+
is_open: ' 是否開放: {0}',
|
|
630
|
+
open_auth: ' 是否需要授權:{0}',
|
|
631
|
+
step_validate: '\n📋 Step 0:驗證參數',
|
|
632
|
+
validate_ok: ' ✅ 參數驗證通過',
|
|
633
|
+
validate_failed: ' ❌ 參數驗證失敗:{0}',
|
|
634
|
+
step_save: '\n💾 Step 2:儲存公開訪問設定',
|
|
635
|
+
sending_request: ' 傳送 saveShareConfig 請求...',
|
|
636
|
+
save_ok: ' ✅ 設定儲存成功!',
|
|
637
|
+
save_ok_msg: '公開訪問設定已儲存',
|
|
638
|
+
save_failed: ' ❌ 儲存失敗:{0}',
|
|
639
|
+
save_failed_msg: '儲存失敗',
|
|
640
|
+
err_is_open_invalid: 'isOpen 必須為 y 或 n,目前值:{0}',
|
|
641
|
+
err_open_auth_invalid: 'openAuth 必須為 y 或 n,目前值:{0}',
|
|
642
|
+
err_open_url_required: '開啟公開訪問時,openUrl 不能為空',
|
|
643
|
+
err_open_url_prefix: 'openUrl 必須以 /o/ 開頭,目前值:{0}',
|
|
644
|
+
err_open_url_chars: 'openUrl 路徑部分只支援 a-z A-Z 0-9 _ -,可用 / 分隔多級路徑,目前值:{0}',
|
|
645
|
+
},
|
|
646
|
+
|
|
647
|
+
// ── lib/update-form-config.js ──────────────────────
|
|
648
|
+
update_form_config: {
|
|
649
|
+
usage: '用法:yidaconnector update-form-config <appType> <formUuid> <isRenderNav> <title>',
|
|
650
|
+
example: '範例:yidaconnector update-form-config "APP_XXX" "FORM_XXX" "false" "我的頁面"',
|
|
651
|
+
params_label: '參數說明:',
|
|
652
|
+
param_is_render_nav: ' isRenderNav:true=顯示頂部導航列,false=隱藏頂部導航列',
|
|
653
|
+
param_title: ' title:頁面標題(必填)',
|
|
654
|
+
title: ' update-form-config - 宜搭表單設定更新工具',
|
|
655
|
+
app_id: '\n 應用程式 ID: {0}',
|
|
656
|
+
form_uuid: ' 表單 UUID: {0}',
|
|
657
|
+
is_render_nav: ' 顯示導航列: {0}',
|
|
658
|
+
page_title: ' 頁面標題: {0}',
|
|
659
|
+
step_update: '\n💾 Step 2:更新表單設定(隱藏頂部導航列)',
|
|
660
|
+
sending_request: ' 傳送 updateFormSchemaInfo 請求...',
|
|
661
|
+
update_ok: ' ✅ 設定更新成功!',
|
|
662
|
+
nav_shown: '已顯示頂部導航列',
|
|
663
|
+
nav_hidden: '已隱藏頂部導航列',
|
|
664
|
+
update_failed: ' ❌ 更新失敗:{0}',
|
|
665
|
+
update_failed_msg: '更新失敗',
|
|
666
|
+
},
|
|
667
|
+
|
|
668
|
+
// ── lib/verify-short-url.js ────────────────────────
|
|
669
|
+
verify_short_url: {
|
|
670
|
+
usage: '用法:yidaconnector verify-short-url <appType> <formUuid> <url>',
|
|
671
|
+
example: '範例:yidaconnector verify-short-url "APP_XXX" "FORM-XXX" "/o/aaa"',
|
|
672
|
+
formats_label: ' 支援兩種格式:',
|
|
673
|
+
format_open: ' /o/xxx - 公開訪問(對外)',
|
|
674
|
+
format_share: ' /s/xxx - 組織內分享(對內)',
|
|
675
|
+
open_url_label: '公開訪問路徑',
|
|
676
|
+
share_url_label: '組織內分享路徑',
|
|
677
|
+
title: ' verify-short-url - 宜搭 URL 驗證工具',
|
|
678
|
+
app_id: '\n 應用程式 ID: {0}',
|
|
679
|
+
form_uuid: ' 表單 UUID: {0}',
|
|
680
|
+
step_validate: '\n📋 Step 0:驗證 URL 格式',
|
|
681
|
+
validate_ok: ' ✅ 格式驗證通過',
|
|
682
|
+
validate_failed: ' ❌ 格式驗證失敗:{0}',
|
|
683
|
+
step_verify: '\n🔍 Step 2:驗證 URL',
|
|
684
|
+
sending_request: ' 傳送 verifyShortUrl 請求...',
|
|
685
|
+
url_available: ' ✅ URL 可用!',
|
|
686
|
+
open_available_msg: '該公開訪問路徑可用',
|
|
687
|
+
share_available_msg: '該組織內分享路徑可用',
|
|
688
|
+
url_taken: ' ❌ URL 已被佔用',
|
|
689
|
+
url_taken_msg: '該短連結已被佔用',
|
|
690
|
+
verify_failed: ' ❌ 驗證請求失敗',
|
|
691
|
+
err_url_prefix: 'URL 必須以 /o/ 或 /s/ 開頭,目前值:{0}',
|
|
692
|
+
err_url_chars: 'URL 路徑部分只支援 a-z A-Z 0-9 _ -,可用 / 分隔多級路徑,目前值:{0}',
|
|
693
|
+
err_url_empty: 'URL 路徑部分不能為空:{0}',
|
|
694
|
+
},
|
|
695
|
+
// ── lib/copy.js ────────────────────────────────────
|
|
696
|
+
copy: {
|
|
697
|
+
title: ' yidaconnector copy - 初始化宜搭工作目錄',
|
|
698
|
+
package_root: '\n📦 套件根目錄:{0}',
|
|
699
|
+
dest_base: '🤖 目標根目錄:{0}',
|
|
700
|
+
dest_root: '🤖 目標根目錄:{0}',
|
|
701
|
+
dest_empty_flatten: '📂 目標目錄為空,將 project/ 內容直接鋪入(不建立 project/ 子目錄)',
|
|
702
|
+
force_mode: '⚠️ --force 模式:目標目錄將被清空後重新複製',
|
|
703
|
+
no_package: '\n❌ 未找到 yidaconnector 安裝套件目錄',
|
|
704
|
+
no_package_hint1: ' 請確認 yidaconnector 已正確全域安裝:',
|
|
705
|
+
no_package_hint2: ' npm install -g yidaconnector',
|
|
706
|
+
no_ai_tool: '\n❌ 未偵測到活躍的 AI 工具環境\n 支援的工具:悟空、Codex、OpenCode、Claude Code、Aone Copilot、Cursor、Qoder\n\n 目前偵測結果:',
|
|
707
|
+
no_active_tool: '\n❌ 未偵測到活躍的 AI 工具環境',
|
|
708
|
+
supported_tools: ' 支援的工具:悟空、Codex、OpenCode、Claude Code、Aone Copilot、Cursor、Qoder',
|
|
709
|
+
current_result: '\n 目前偵測結果:',
|
|
710
|
+
force_hint: '\n 如需強制複製到目前目錄,請執行:\n yidaconnector copy --force',
|
|
711
|
+
force_cmd: ' yidaconnector copy --force',
|
|
712
|
+
copying: ' 複製:{0}',
|
|
713
|
+
copying_label: '\n📂 複製 {0}...',
|
|
714
|
+
creating_symlink: '\n📂 建立 yida-skills/ 符號連結...',
|
|
715
|
+
file_copied: ' 複製:{0}',
|
|
716
|
+
cleared: ' 🗑️ 已清空:{0}',
|
|
717
|
+
symlink_removed: ' 🗑️ 已移除舊符號連結:{0}',
|
|
718
|
+
old_symlink_removed: ' 🗑️ 已移除舊符號連結:{0}',
|
|
719
|
+
dir_deleted: ' 🗑️ 已刪除實際目錄:{0}',
|
|
720
|
+
removed: ' 🗑️ 已移除:{0}',
|
|
721
|
+
symlink_created: ' 🔗 符號連結:{0} -> {1}',
|
|
722
|
+
symlink_label: '符號連結',
|
|
723
|
+
done: '✅ 完成!',
|
|
724
|
+
files_copied: ' 複製檔案:{0} 個',
|
|
725
|
+
files_count: '{0} 個檔案',
|
|
726
|
+
symlinks_created: ' 建立符號連結:{0} 個',
|
|
727
|
+
result_symlink: ' {0} → {1}(符號連結)',
|
|
728
|
+
result_copy: ' {0} → {1}({2} 個檔案)',
|
|
729
|
+
wukong_skills_cleanup: '\n🗑️ 悟空環境:清理 yida-skills/ 符號連結(悟空透過手動上傳技能,不需要符號連結)...',
|
|
730
|
+
wukong_skills_cleaned: '已清理',
|
|
731
|
+
wukong_skills_not_found: ' ℹ️ 未找到 yida-skills/ 符號連結或目錄,無需清理:{0}',
|
|
732
|
+
remove_failed: ' ❌ 刪除失敗:{0}({1})',
|
|
733
|
+
symlink_fallback_copy: ' ⚠️ Windows 符號連結建立失敗(需要管理員權限),降級為目錄複製:{0}',
|
|
734
|
+
symlink_failed: ' ❌ 符號連結建立失敗:{0}({1})',
|
|
735
|
+
},
|
|
736
|
+
|
|
737
|
+
// ── lib/check-update.js ────────────────────────────
|
|
738
|
+
check_update: {
|
|
739
|
+
new_version: '\n💡 發現新版本 {0}(目前 {1})\n 執行以下指令更新:\n npm install -g yidaconnector@latest\n',
|
|
740
|
+
},
|
|
741
|
+
|
|
742
|
+
// ── lib/update.js ──────────────────────────────────
|
|
743
|
+
update: {
|
|
744
|
+
checking: '正在檢查最新版本...',
|
|
745
|
+
fetch_failed: '無法取得最新版本資料,請檢查網路連線',
|
|
746
|
+
already_latest: '目前已是最新版本({0}),無需更新',
|
|
747
|
+
found_new_version: '發現新版本 {0}(目前 {1})',
|
|
748
|
+
installing: '正在安裝 yidaconnector@latest...',
|
|
749
|
+
success: '更新成功!目前版本:{0}',
|
|
750
|
+
install_failed: '更新失敗:{0}',
|
|
751
|
+
manual_hint: '請嘗試手動執行:npm install -g yidaconnector@latest',
|
|
752
|
+
available: '有可用更新',
|
|
753
|
+
up_to_date: '已是最新',
|
|
754
|
+
label_install: 'Install',
|
|
755
|
+
label_channel: 'Channel',
|
|
756
|
+
label_version: 'Version',
|
|
757
|
+
label_update: 'Update',
|
|
758
|
+
done: '更新完成!',
|
|
759
|
+
done_hint: '執行 yidaconnector --version 確認新版本',
|
|
760
|
+
},
|
|
761
|
+
|
|
762
|
+
// ── lib/publish.js ─────────────────────────────────
|
|
763
|
+
generate_page: {
|
|
764
|
+
spec_not_found: 'spec 文件不存在:{0}',
|
|
765
|
+
spec_invalid: 'spec JSON 解析失敗:{0}',
|
|
766
|
+
unknown_template: '未知頁面模板:{0}',
|
|
767
|
+
available_templates: '可用模板:{0}',
|
|
768
|
+
template_not_found: '模板文件不存在:{0}',
|
|
769
|
+
done: '頁面已產生:{0}',
|
|
770
|
+
hint: '建議繼續執行 yidaconnector compile <file>,或使用 --compile 直接編譯校驗。',
|
|
771
|
+
success: '頁面產生完成',
|
|
772
|
+
},
|
|
773
|
+
page_size: {
|
|
774
|
+
large_source: '頁面原始碼體積較大:{0}({1},約 {2} 行)',
|
|
775
|
+
long_line_hint: '偵測到超長單行(約 {0} 字元),通常來自壓縮 vendor 或 base64,建議外置。',
|
|
776
|
+
base64_hint: '偵測到較長 base64 內嵌內容,建議上傳到 CDN/OSS 後引用 URL。',
|
|
777
|
+
memory_hint: '發布/編譯會同時保留原始碼、建置產物、壓縮產物和 schema 副本;如包含 vendor/base64,建議拆分或透過 this.utils.loadScript 載入。',
|
|
778
|
+
windows_hint: 'Windows 代理寫入大型 JSX 時不要使用 PowerShell Get-Content -Raw + ConvertTo-Json;請用 Node fs.writeFileSync/appendFileSync 分段寫入。',
|
|
779
|
+
},
|
|
780
|
+
publish: {
|
|
781
|
+
title: ' yida-publish - 宜搭頁面發布工具',
|
|
782
|
+
platform: ' 平台位址:{0}',
|
|
783
|
+
base_url: '\n 平台位址:{0}',
|
|
784
|
+
app_type: ' 應用程式 ID: {0}',
|
|
785
|
+
app_id: ' 應用程式 ID: {0}',
|
|
786
|
+
form_uuid: ' 表單 ID: {0}',
|
|
787
|
+
source_file: ' 原始檔案: {0}',
|
|
788
|
+
compiled_file: ' 編譯產物:{0}',
|
|
789
|
+
output_dir: ' 輸出目錄:pages/dist/',
|
|
790
|
+
step_lint: '\n🔍 Step 0:宜搭編碼規範預檢\n',
|
|
791
|
+
lint_title: '⚠️ 宜搭頁面代碼檢查:',
|
|
792
|
+
lint_error_line: ' ❌ 第 {0} 行:{1}',
|
|
793
|
+
lint_warning_line: ' ⚠️ 第 {0} 行:{1}',
|
|
794
|
+
lint_event_function: '事件綁定使用了 function,應使用箭頭函數 (e) => { this.xxx() }',
|
|
795
|
+
lint_missing_render_jsx: '缺少 export function renderJsx(),宜搭自定義頁面必須匯出 renderJsx',
|
|
796
|
+
lint_import_require: '偵測到 import/require。宜搭自定義頁面禁止模組匯入,第三方腳本應透過 this.utils.loadScript 載入',
|
|
797
|
+
lint_react_hooks: '偵測到 React Hooks。宜搭執行時基於 React 16 類組件模式,不支援 useState/useEffect 等 Hooks',
|
|
798
|
+
lint_export_default: '偵測到 export default。宜搭需要 export function renderJsx/didMount 等具名匯出',
|
|
799
|
+
lint_jsx_extension: '目前文件是 .js 但包含 JSX,建議改為 .jsx,編譯產物仍會輸出 .js',
|
|
800
|
+
lint_event_direct_method: '事件綁定直接傳入 this.xxx,會導致 this 遺失;請使用 (e) => { this.xxx(e); }',
|
|
801
|
+
lint_event_bind_this: '事件綁定使用了 .bind(this),請改為 (e) => { this.xxx(e); }',
|
|
802
|
+
lint_lifecycle_case: '偵測到生命週期匯出 {0},宜搭只識別 {1}(大小寫敏感)',
|
|
803
|
+
lint_react_lifecycle_method: '偵測到 React 生命週期 {0},宜搭自訂頁面應匯出 {1}',
|
|
804
|
+
lint_event_lowercase: '偵測到小寫事件屬性 {0},React/Yida 不會綁定;請改為 {1}',
|
|
805
|
+
lint_event_call_result: '事件綁定執行了函式或不是表達式處理器;請改為 (e) => { self.xxx(e); }',
|
|
806
|
+
lint_event_noop_arrow: '事件箭頭函式只返回/引用了方法但沒有呼叫;請改為 (e) => { self.xxx(e); }',
|
|
807
|
+
lint_button_missing_handler: '可見 <button> 沒有 onClick/onMouseDown/onKeyDown 或 disabled,會顯示成按鈕但點了沒有反應;請綁定事件,或改用 span/div 展示靜態標籤',
|
|
808
|
+
lint_array_callback_function: '.{0}(function ...) 會導致回調內 this 遺失,請改為 .{0}((item) => ...)',
|
|
809
|
+
lint_foreach_callback_function: '.forEach(function ...) 可能導致回調內 this 遺失,建議改為 .forEach((item) => ...)',
|
|
810
|
+
lint_controlled_input: 'input 使用了 value 受控模式,宜搭頁面應使用 defaultValue + onChange 寫入 _customState',
|
|
811
|
+
lint_native_select_ui: '偵測到原生 select。面向用戶的自訂頁面下拉互動應使用 Tailwind 風格的自訂下拉組件,避免瀏覽器原生控件觀感不一致',
|
|
812
|
+
lint_iframe_self_navigation: '宜搭自訂頁面運行在 iframe 中,跳轉宜搭頁面時請使用 target="_top"/target="_blank" 或 window.top.location,避免頁面套娃',
|
|
813
|
+
lint_page_size_limit: 'pageSize={0} 超過宜搭 API 上限 100,請改為 100 或更小',
|
|
814
|
+
lint_yida_api_catch: 'this.utils.yida API 調用未偵測到 .catch(),請補充錯誤處理並 toast 給用戶',
|
|
815
|
+
lint_echarts_legacy_map_china: 'ECharts 5 已廢棄 echarts/map/js/china.js,請載入 DataV GeoJSON 後調用 echarts.registerMap("china", geoJson)',
|
|
816
|
+
lint_echarts_rich_label_formatter: 'ECharts label.formatter 返回 rich text 模板在宜搭自定義頁面環境不穩定,建議使用普通 formatter 字串或預先拼好的標籤文字',
|
|
817
|
+
lint_const_let: '使用了 const/let 宣告,建議改為 var(宜搭執行環境相容性)',
|
|
818
|
+
lint_computed_property: '使用了 ES6 計算屬性名 { [key]: value },宜搭 JS 引擎不支援此語法,會導致靜默失敗。請改為 var obj = {}; obj[key] = value;',
|
|
819
|
+
lint_pad_method: '使用了 String.{0}(),宜搭 JS 引擎不支援此方法,會導致 Promise 回呼靜默中斷。請用三元運算子替代,如:x < 10 ? "0" + x : "" + x',
|
|
820
|
+
lint_large_then_callback: 'Promise .then() 回呼程式碼量過大({0} 行,建議不超過 {1} 行),可能導致靜默截斷。建議將邏輯提取到獨立的 export function 中',
|
|
821
|
+
lint_fix_errors: '❌ 請修復以上錯誤後再發布',
|
|
822
|
+
lint_skip_hint: '💡 如需跳過檢查,可添加 --skip-lint 參數',
|
|
823
|
+
lint_passed: ' ✅ 程式碼檢查通過\n',
|
|
824
|
+
lint_skipped: '\n⏭️ 跳過程式碼預檢(--skip-lint)\n',
|
|
825
|
+
duplicate_source_mismatch: ' ⚠️ 偵測到同名雙副本但內容不一致。目前發布:{0};另一份:{1}',
|
|
826
|
+
data_source_fetching: ' 正在讀取現有頁面資料來源...',
|
|
827
|
+
data_source_preserved: ' ✅ 已保留現有頁面資料來源:{0} 個',
|
|
828
|
+
data_source_none: ' 未發現需要保留的自訂資料來源',
|
|
829
|
+
data_source_fetch_failed: '無法讀取現有頁面 Schema,已停止發布以避免清空已有資料來源:{0}',
|
|
830
|
+
target_checking: ' 正在校驗發布目標類型...',
|
|
831
|
+
target_check_forced: ' ⚠️ 已跳過發布目標類型校驗(--force)',
|
|
832
|
+
target_check_ok: ' ✅ 發布目標已確認:{0} ({1})',
|
|
833
|
+
target_check_failed: '無法校驗發布目標:{0}',
|
|
834
|
+
target_not_found: '未在應用程式導航中找到發布目標:{0}',
|
|
835
|
+
target_type_invalid: '發布目標不是自訂展示頁面:{0} 目前類型為 {1}',
|
|
836
|
+
target_type_hint: '目前目標「{0}」看起來不是自訂頁面(類型:{1})。請不要把 JSX 發布到資料表或流程表單。',
|
|
837
|
+
target_list_hint: '可先執行 yidaconnector list-forms {0} --keyword <頁面名>,選擇 formType=display 的自訂頁面 formUuid。',
|
|
838
|
+
target_force_hint: '確認要繞過保護時可追加 --force;這會覆蓋目標 Schema,請只在明確知道目標是自訂頁面時使用。',
|
|
839
|
+
step_compile: '\n📦 Step 1:編譯原始碼 & 建構 Schema\n',
|
|
840
|
+
reading_source: '[1/4] 讀取 {0} 原始碼...',
|
|
841
|
+
compiling: '[2/4] Babel 編譯 {0}...',
|
|
842
|
+
compile_failed: ' ❌ 編譯失敗:{0}',
|
|
843
|
+
compile_location: '\n 位置:第 {0} 行,第 {1} 列',
|
|
844
|
+
compile_error_loc: ' 位置:第 {0} 行,第 {1} 列',
|
|
845
|
+
compile_error_code: ' 錯誤碼:{0}',
|
|
846
|
+
minifying: '[3/4] UglifyJS 壓縮 → {0}...',
|
|
847
|
+
minify_failed: ' 壓縮失敗:{0}',
|
|
848
|
+
uglifying: '[3/4] UglifyJS 壓縮 → {0}...',
|
|
849
|
+
uglify_failed: ' 壓縮失敗:{0}',
|
|
850
|
+
compile_done: ' ✅ 編譯壓縮完成:{0}',
|
|
851
|
+
building_schema: '[4/4] 建構 Schema...',
|
|
852
|
+
schema_built: ' ✅ Schema 建構完成!',
|
|
853
|
+
step_login: '\n🔑 Step 2:讀取登入態',
|
|
854
|
+
step_publish: '\n📤 Step 3:發布 Schema\n',
|
|
855
|
+
resend_save_csrf: ' 🔄 重新傳送 saveFormSchema 請求(csrf_token 已刷新)...',
|
|
856
|
+
resend_save: ' 🔄 重新傳送 saveFormSchema 請求...',
|
|
857
|
+
csrf_retry: ' 🔄 重新傳送 saveFormSchema 請求(csrf_token 已刷新)...',
|
|
858
|
+
relogin_retry: ' 🔄 重新傳送 saveFormSchema 請求...',
|
|
859
|
+
publish_failed: '\n❌ 發布失敗:{0}',
|
|
860
|
+
schema_published: ' ✅ Schema 發布成功!',
|
|
861
|
+
schema_success: ' ✅ Schema 發布成功!',
|
|
862
|
+
form_uuid_label: ' formUuid:{0}',
|
|
863
|
+
version_label: ' version: {0}',
|
|
864
|
+
step_config: '\n⚙️ Step 4:更新表單設定\n',
|
|
865
|
+
sending_config: ' 傳送 updateFormConfig 請求...',
|
|
866
|
+
resend_config_csrf: ' 🔄 重新傳送 updateFormConfig 請求(csrf_token 已刷新)...',
|
|
867
|
+
resend_config: ' 🔄 重新傳送 updateFormConfig 請求...',
|
|
868
|
+
config_csrf_retry: ' 🔄 重新傳送 updateFormConfig 請求(csrf_token 已刷新)...',
|
|
869
|
+
config_relogin_retry: ' 🔄 重新傳送 updateFormConfig 請求...',
|
|
870
|
+
success: ' ✅ 發布成功!',
|
|
871
|
+
publish_success: ' ✅ 發布成功!',
|
|
872
|
+
config_updated: ' 設定已更新:MINI_RESOURCE = 8',
|
|
873
|
+
config_failed: ' ⚠️ 設定更新失敗:{0}',
|
|
874
|
+
schema_ok_config_failed: ' Schema 已發布,但設定更新失敗',
|
|
875
|
+
schema_published_config_failed: ' Schema 已發布,但設定更新失敗',
|
|
876
|
+
step_health_check: '\n🩺 Step 5:健康檢查已發布頁面\n',
|
|
877
|
+
health_check_ok: ' ✅ 健康檢查通過:HTTP {0}',
|
|
878
|
+
health_check_failed: ' ⚠️ 健康檢查失敗:HTTP {0} {1}',
|
|
879
|
+
exception: '\n❌ 發布異常:{0}',
|
|
880
|
+
error: '\n❌ 發布異常:{0}',
|
|
881
|
+
source_not_found: '❌ 原始檔案不存在:{0}',
|
|
882
|
+
usage: '用法:yidaconnector publish <原始檔路徑> <appType> <formUuid> [--health-check]',
|
|
883
|
+
example: '範例:yidaconnector publish pages/src/xxx.js APP_XXX FORM-XXX --health-check',
|
|
884
|
+
},
|
|
885
|
+
|
|
886
|
+
// ── lib/qr-login.js ────────────────────────────────
|
|
887
|
+
qr_login: {
|
|
888
|
+
title: '🔐 宜搭終端機 QR 碼登入',
|
|
889
|
+
step_init: ' Step 1:初始化工作階段...',
|
|
890
|
+
step_get_qr: ' Step 2:取得 QR 碼...',
|
|
891
|
+
scan_hint: ' 📱 請用釘釘掃描以下 QR 碼登入:',
|
|
892
|
+
qr_url_label: ' QR 碼連結:{0}',
|
|
893
|
+
waiting_scan: ' ⏳ 等待掃碼中(最長 2 分鐘)...',
|
|
894
|
+
scanned_confirm: ' ✅ 已掃碼!請在手機上確認登入...',
|
|
895
|
+
scan_success: ' ✅ 掃碼確認成功!',
|
|
896
|
+
step_exchange: ' Step 4:取得登入憑證...',
|
|
897
|
+
step_get_corps: ' Step 5:取得組織清單...',
|
|
898
|
+
step_switch_corp: ' Step 7:切換至目標組織...',
|
|
899
|
+
only_one_corp: ' ✅ 偵測到唯一組織:{0},自動選擇',
|
|
900
|
+
select_corp_prompt: ' 🏢 偵測到多個可訪問組織,請選擇:',
|
|
901
|
+
select_corp_input: ' 請輸入序號 (1-{0}):',
|
|
902
|
+
select_corp_invalid: ' ❌ 無效輸入,請輸入 1 到 {0} 之間的數字',
|
|
903
|
+
target_corp_not_found: '未在可訪問組織中找到指定 corpId:{0}',
|
|
904
|
+
corp_selected: ' ✅ 已選擇組織:{0}',
|
|
905
|
+
login_success: '✅ 登入成功!',
|
|
906
|
+
qrcode_fallback: ' ⚠️ qrcode 套件未安裝,請手動訪問以下連結完成登入:',
|
|
907
|
+
qrcode_render_failed: ' ⚠️ QR 碼渲染失敗({0}),請手動訪問以下連結:',
|
|
908
|
+
get_qr_failed: '取得 QR 碼回應解析失敗:{0}',
|
|
909
|
+
get_qr_api_failed: '取得 QR 碼介面失敗:{0}',
|
|
910
|
+
get_qr_error: '取得 QR 碼失敗:{0}',
|
|
911
|
+
qr_expired: 'QR 碼已過期,請重新登入',
|
|
912
|
+
poll_timeout: '等待掃碼逾時(2 分鐘),請重新登入',
|
|
913
|
+
poll_error: '輪詢掃碼狀態失敗:{0}',
|
|
914
|
+
exchange_failed: '換取登入憑證回應解析失敗:{0}',
|
|
915
|
+
exchange_api_failed: '換取登入憑證介面失敗:{0}',
|
|
916
|
+
exchange_error: '換取登入憑證失敗:{0}',
|
|
917
|
+
get_corp_list_failed: '取得組織清單回應解析失敗:{0}',
|
|
918
|
+
get_corp_list_api_failed: '取得組織清單介面失敗:{0}',
|
|
919
|
+
get_corps_warn: ' ⚠️ 取得組織清單失敗({0}),將使用預設組織',
|
|
920
|
+
switch_corp_failed: '切換組織失敗:{0}',
|
|
921
|
+
switch_corp_warn: ' ⚠️ 切換組織失敗({0}),將使用目前組織',
|
|
922
|
+
select_corp_warn: ' ⚠️ 組織選擇失敗({0}),將使用預設組織',
|
|
923
|
+
no_corp_available: '未找到可訪問的組織',
|
|
924
|
+
no_csrf_in_cookie: '登入成功但未取得 csrf_token,請重試',
|
|
925
|
+
stdin_closed: '輸入串流已關閉,無法選擇組織',
|
|
926
|
+
},
|
|
927
|
+
|
|
928
|
+
// ── scripts/postinstall.js ─────────────────────────
|
|
929
|
+
postinstall: {
|
|
930
|
+
welcome_title: ' 🎉 歡迎使用 YidaConnector! ',
|
|
931
|
+
install_success: ' ✅ 安裝成功!{0} 宜搭 AI 應用程式開發工具已就緒。',
|
|
932
|
+
update_success: ' ✅ 更新成功!{0} YidaConnector 已升級至最新版本。',
|
|
933
|
+
ai_mode_title: ' 🚀 開啟 AI 問答模式',
|
|
934
|
+
ai_mode_desc: ' 在 Codex / Claude Code / Aone Copilot / Cursor 等 AI 工具中直接對話:',
|
|
935
|
+
prompt1: ' 📋 「幫我用宜搭建立一個考勤管理系統」',
|
|
936
|
+
prompt2: ' 💰 「幫我搭建個人薪資計算器應用程式」',
|
|
937
|
+
prompt3: ' 🏢 「建立一個 CRM 客戶管理系統」',
|
|
938
|
+
prompt4: ' 🎂 「做一個生日祝福小程式」',
|
|
939
|
+
steps_title: ' 📖 基礎使用步驟',
|
|
940
|
+
step1: ' {0}Step 1{1} 開啟你的 AI 程式設計工具(Codex / Claude Code / Cursor 等)',
|
|
941
|
+
step2: ' {0}Step 2{1} 直接用自然語言描述你想要的應用程式',
|
|
942
|
+
step3: ' {0}Step 3{1} AI 自動呼叫 yidaconnector 指令完成建立和發布',
|
|
943
|
+
step4: ' {0}Step 4{1} 獲得可訪問的宜搭應用程式連結 🎉',
|
|
944
|
+
commands_title: ' ⚡ 快捷指令',
|
|
945
|
+
cmd_env: ' {0}yidaconnector env{1} {2}# 偵測目前 AI 工具環境和登入態{3}',
|
|
946
|
+
cmd_login: ' {0}yidaconnector login{1} {2}# 登入宜搭帳戶{3}',
|
|
947
|
+
cmd_help: ' {0}yidaconnector --help{1} {2}# 查看所有指令{3}',
|
|
948
|
+
footer1: ' 📚 文件:https://github.com/bunnyrui/yidaconnector',
|
|
949
|
+
footer2: ' 💬 社群:釘釘掃碼加入 YidaConnector 社群',
|
|
950
|
+
},
|
|
951
|
+
|
|
952
|
+
// ── lib/cdn-*.js ───────────────────────────────────
|
|
953
|
+
cdn: {
|
|
954
|
+
// 設定管理
|
|
955
|
+
config_load_error: '載入 CDN 設定失敗:{0}',
|
|
956
|
+
config_saved: '✅ CDN 設定已儲存至:{0}',
|
|
957
|
+
config_usage: '用法:yidaconnector cdn-config [選項]',
|
|
958
|
+
config_examples: `
|
|
959
|
+
範例:
|
|
960
|
+
yidaconnector cdn-config --init
|
|
961
|
+
yidaconnector cdn-config --show
|
|
962
|
+
yidaconnector cdn-config --set-domain cdn.example.com`,
|
|
963
|
+
config_options: `
|
|
964
|
+
選項:
|
|
965
|
+
--init 初始化設定(互動式)
|
|
966
|
+
--show 顯示目前設定
|
|
967
|
+
--set-key <key> 設定 AccessKey ID
|
|
968
|
+
--set-secret <secret> 設定 AccessKey Secret
|
|
969
|
+
--set-domain <domain> 設定 CDN 加速網域
|
|
970
|
+
--set-bucket <bucket> 設定 OSS Bucket 名稱
|
|
971
|
+
--set-region <region> 設定 OSS 區域
|
|
972
|
+
--set-path <path> 設定上傳目錄前綴`,
|
|
973
|
+
config_file_path: '📄 設定檔:{0}',
|
|
974
|
+
config_section_aliyun: '🔐 阿里雲憑證',
|
|
975
|
+
config_section_cdn: '🌐 CDN 設定',
|
|
976
|
+
config_section_oss: '📦 OSS 設定',
|
|
977
|
+
config_section_upload: '📤 上傳設定',
|
|
978
|
+
config_cdn_domain: 'CDN 加速網域',
|
|
979
|
+
config_oss_region: 'OSS 區域',
|
|
980
|
+
config_oss_bucket: 'OSS Bucket',
|
|
981
|
+
config_oss_endpoint: 'OSS Endpoint',
|
|
982
|
+
config_upload_path: '上傳目錄',
|
|
983
|
+
config_compress: '圖片壓縮',
|
|
984
|
+
config_max_width: '最大寬度',
|
|
985
|
+
config_quality: '圖片品質',
|
|
986
|
+
config_not_set: '未設定',
|
|
987
|
+
config_enabled: '啟用',
|
|
988
|
+
config_disabled: '停用',
|
|
989
|
+
config_status_valid: '✅ 設定完整,可以使用',
|
|
990
|
+
config_status_invalid: '⚠️ 設定不完整',
|
|
991
|
+
config_missing: ' 缺少欄位:{0}',
|
|
992
|
+
config_updated: '✅ 設定已更新!',
|
|
993
|
+
config_init_title: '🔧 CDN 設定初始化精靈',
|
|
994
|
+
config_init_desc: '要使用 CDN 圖片上傳功能,需要設定以下資料:',
|
|
995
|
+
config_init_example: '範例設定:',
|
|
996
|
+
config_init_hint: '💡 請使用以下指令設定各項參數:',
|
|
997
|
+
config_init_or: ' 或一次性設定所有參數:',
|
|
998
|
+
|
|
999
|
+
// 上傳
|
|
1000
|
+
upload_usage: '用法:yidaconnector cdn-upload <圖片路徑> [選項]',
|
|
1001
|
+
upload_examples: `
|
|
1002
|
+
範例:
|
|
1003
|
+
yida cdn-upload ./image.png
|
|
1004
|
+
yida cdn-upload ./images/*.png --domain cdn.example.com
|
|
1005
|
+
yida cdn-upload ./photo.jpg --path products/`,
|
|
1006
|
+
upload_options: `
|
|
1007
|
+
選項:
|
|
1008
|
+
--domain <網域> CDN 加速網域(可選)
|
|
1009
|
+
--path <路徑> 上傳目錄前綴(可選)
|
|
1010
|
+
--compress 啟用圖片壓縮(預設啟用)
|
|
1011
|
+
--no-compress 停用圖片壓縮`,
|
|
1012
|
+
upload_no_files: '❌ 請指定要上傳的圖片檔案',
|
|
1013
|
+
config_incomplete: '❌ CDN 設定不完整',
|
|
1014
|
+
missing_fields: ' 缺少欄位:{0}',
|
|
1015
|
+
run_config_init: ' 請先執行:yidaconnector cdn-config --init',
|
|
1016
|
+
no_config: '❌ 未找到 CDN 設定',
|
|
1017
|
+
oss_sdk_required: '❌ 缺少 ali-oss SDK',
|
|
1018
|
+
run_npm_install: ' 請執行:npm install {0}',
|
|
1019
|
+
no_images_found: '❌ 未找到支援的圖片檔案',
|
|
1020
|
+
uploading_images: '📤 正在上傳 {0} 個圖片...',
|
|
1021
|
+
uploading_file: ' 上傳:{0}',
|
|
1022
|
+
upload_success: ' ✅ {0}',
|
|
1023
|
+
upload_failed: ' ❌ {0} 上傳失敗:{1}',
|
|
1024
|
+
upload_summary: '\n📊 上傳彙總',
|
|
1025
|
+
upload_success_count: ' 成功:{0} 個',
|
|
1026
|
+
upload_fail_count: ' 失敗:{0} 個',
|
|
1027
|
+
cdn_urls: '\n🔗 CDN URL 清單:',
|
|
1028
|
+
upload_error: '❌ 上傳失敗:{0}',
|
|
1029
|
+
|
|
1030
|
+
// 刷新
|
|
1031
|
+
refresh_usage: '用法:yidaconnector cdn-refresh [選項]',
|
|
1032
|
+
refresh_examples: `
|
|
1033
|
+
範例:
|
|
1034
|
+
yida cdn-refresh --urls "https://cdn.example.com/image.png"
|
|
1035
|
+
yida cdn-refresh --paths "/yida-images/"
|
|
1036
|
+
yida cdn-refresh --file urls.txt`,
|
|
1037
|
+
refresh_options: `
|
|
1038
|
+
選項:
|
|
1039
|
+
--urls <URL 清單> 刷新的 URL 清單(逗號分隔)
|
|
1040
|
+
--paths <路徑清單> 刷新的目錄路徑清單(逗號分隔)
|
|
1041
|
+
--file <檔案> 從檔案讀取 URL 清單(每行一個)`,
|
|
1042
|
+
refresh_no_targets: '❌ 請指定要刷新的 URL 或目錄',
|
|
1043
|
+
cdn_sdk_required: '❌ 缺少阿里雲 CDN SDK',
|
|
1044
|
+
querying_quota: '📊 查詢刷新配額...',
|
|
1045
|
+
quota_info: ' URL 刷新:{0}/天,剩餘 {1} | 目錄刷新:{2}/天,剩餘 {3}',
|
|
1046
|
+
quota_query_failed: ' ⚠️ 查詢配額失敗:{0}',
|
|
1047
|
+
refreshing_urls: '🔄 正在刷新 {0} 個 URL...',
|
|
1048
|
+
refreshing_paths: '🔄 正在刷新 {0} 個目錄...',
|
|
1049
|
+
refresh_task_id: ' ✅ 任務 ID:{0}',
|
|
1050
|
+
refresh_urls_failed: ' ❌ URL 刷新失敗:{0}',
|
|
1051
|
+
refresh_paths_failed: ' ❌ 目錄刷新失敗:{0}',
|
|
1052
|
+
refresh_summary: '\n📊 刷新彙總',
|
|
1053
|
+
url_refresh_success: ' ✅ URL 刷新成功,任務 ID:{0}',
|
|
1054
|
+
path_refresh_success: ' ✅ 目錄刷新成功,任務 ID:{0}',
|
|
1055
|
+
refresh_error: '❌ 刷新失敗:{0}',
|
|
1056
|
+
file_not_found: '❌ 檔案不存在:{0}',
|
|
1057
|
+
},
|
|
1058
|
+
|
|
1059
|
+
// ── src/flash-note/flash-to-prd.ts ──────────────
|
|
1060
|
+
flashNote: {
|
|
1061
|
+
toPrd: {
|
|
1062
|
+
title: '📋 釘釘閃記轉 PRD',
|
|
1063
|
+
help_usage: '用法:yidaconnector flash-to-prd --file <閃記檔案路徑> [--name <項目名>]',
|
|
1064
|
+
help_usage2: ' yidaconnector flash-to-prd --name <項目名> (從標準輸入讀取)',
|
|
1065
|
+
help_args_title: '參數:',
|
|
1066
|
+
help_arg_file: ' --file, -f <路徑> 閃記文字檔案路徑(支援 .txt / .md)',
|
|
1067
|
+
help_arg_name: ' --name, -n <名稱> 項目名稱(可選,預設從閃記內容中自動擷取)',
|
|
1068
|
+
help_arg_max_tokens: ' --max-tokens <數量> AI 最大輸出 token 數(預設 8000)',
|
|
1069
|
+
help_examples_title: '範例:',
|
|
1070
|
+
help_example1: ' yidaconnector flash-to-prd --file ./meeting-notes.txt --name "設備巡檢系統"',
|
|
1071
|
+
help_example2: ' cat meeting.txt | yidaconnector flash-to-prd --name "設備巡檢系統"',
|
|
1072
|
+
step_read: '[Step 1] 讀取閃記內容...',
|
|
1073
|
+
file_not_found: '檔案不存在:{0}',
|
|
1074
|
+
no_input: '未提供閃記內容。請使用 --file 指定檔案,或透過管道傳入內容。',
|
|
1075
|
+
stdin_empty: '標準輸入內容為空',
|
|
1076
|
+
read_success: '✅ 讀取成功,原文 {0} 字',
|
|
1077
|
+
step_load_module: '[Step 2] 載入 Prompt 建構模組...',
|
|
1078
|
+
module_loaded_builtin: '✅ 已載入內建 Prompt 模組',
|
|
1079
|
+
module_loaded_local: '✅ 已載入本地 Prompt 模組:{0}',
|
|
1080
|
+
module_not_found: '❌ 未找到 build-flash-note-prompt.js 模組',
|
|
1081
|
+
module_path_tried: ' 嘗試路徑 {0}:{1}',
|
|
1082
|
+
step_preprocess: '[Step 3] 預處理 + 會議識別...',
|
|
1083
|
+
preprocess_result: ' 預處理:{0} 字 → {1} 字',
|
|
1084
|
+
meeting_meta: ' 會議元資料:{0} 項{1}',
|
|
1085
|
+
a1_sections: ' A1 摘要段落:{0} 段{1}',
|
|
1086
|
+
speakers: ' 發言人識別:{0} 位{1}',
|
|
1087
|
+
speakers_with_role: '(含角色標註 {0} 位)',
|
|
1088
|
+
step_login: '[Step 4] 檢查登入態...',
|
|
1089
|
+
no_login: ' 未偵測到登入態,觸發登入...',
|
|
1090
|
+
login_ready: '✅ 登入態就緒({0})',
|
|
1091
|
+
step_ai: '[Step 5] 呼叫 AI 產生 PRD...',
|
|
1092
|
+
single_segment: ' 單段模式,Prompt 長度:{0} 字',
|
|
1093
|
+
multi_segment: ' 多段模式,共 {0} 段',
|
|
1094
|
+
extracting_segment: ' 擷取第 {0}/{1} 段({2} 字)...',
|
|
1095
|
+
merging_segments: ' 合併分段結果...',
|
|
1096
|
+
ai_success: '✅ PRD 產生成功',
|
|
1097
|
+
ai_error: 'AI 介面呼叫失敗:{0}',
|
|
1098
|
+
done: '✅ 閃記轉 PRD 完成',
|
|
1099
|
+
done_project: ' 項目名稱:{0}',
|
|
1100
|
+
done_file: ' 輸出檔案:{0}',
|
|
1101
|
+
done_size: ' 檔案大小:{0} 字',
|
|
1102
|
+
done_meeting: ' 會議識別:元資料 {0} 項,A1 摘要 {1} 段,發言人 {2} 位',
|
|
1103
|
+
},
|
|
1104
|
+
},
|
|
1105
|
+
|
|
1106
|
+
// ── lib/process/preview-process.js ─────────────────
|
|
1107
|
+
preview_process: {
|
|
1108
|
+
usage: '用法:yidaconnector process preview <appType> <processInstanceId> [--output <path>]',
|
|
1109
|
+
example: '範例:yidaconnector process preview APP_XXX proc-inst-id-xxx',
|
|
1110
|
+
no_login: '❌ 無法取得有效登入態,請先執行 yidaconnector login',
|
|
1111
|
+
fetch_instance_failed: '取得流程實例詳情失敗',
|
|
1112
|
+
fetch_records_warning: '取得審批記錄失敗,將僅展示基礎流程圖',
|
|
1113
|
+
fetching: '正在取得流程實例 {0} ...',
|
|
1114
|
+
data_fetched: '流程資料取得成功',
|
|
1115
|
+
nodes_count: '解析到 {0} 個流程節點',
|
|
1116
|
+
output_success: '流程預覽已產生:{0}',
|
|
1117
|
+
browser_opened: '已在瀏覽器中開啟',
|
|
1118
|
+
browser_hint: '請在瀏覽器中開啟:{0}',
|
|
1119
|
+
node_submit: '發起提交',
|
|
1120
|
+
node_end: '流程結束',
|
|
1121
|
+
node_approval: '審批節點',
|
|
1122
|
+
},
|
|
1123
|
+
update_app: {
|
|
1124
|
+
layout_notice: '提示:layoutDirection 由宜搭應用外殼在建立/重新整理時消費;若後台切換後頂部操作欄未立即恢復,請重新開啟工作台或使用目標 layout 重新建立應用。',
|
|
1125
|
+
},
|
|
1126
|
+
aggregate_table: {
|
|
1127
|
+
usage: '用法: yidaconnector aggregate-table <list|create-empty|inspect|preview|save|publish|status> <appType> ...',
|
|
1128
|
+
commands_title: '子命令:',
|
|
1129
|
+
cmd_list: 'list <appType> [--keyword <text>] [--json] 列出應用中的聚合表',
|
|
1130
|
+
cmd_create_empty: 'create-empty <appType> "<名稱>" [--open|--no-open] 建立空白聚合表並返回設計器 URL',
|
|
1131
|
+
cmd_inspect: 'inspect <appType> <formUuid> [--json] 讀取聚合表設計配置',
|
|
1132
|
+
cmd_preview: 'preview <appType> <formUuid> <design.json> [--json] 預覽配置結果,不保存',
|
|
1133
|
+
cmd_save: 'save <appType> <formUuid> <design.json> [--json] 保存聚合表草稿',
|
|
1134
|
+
cmd_publish: 'publish <appType> <formUuid> <design.json> [--json] 發佈聚合表配置',
|
|
1135
|
+
cmd_status: 'status <appType> <formUuid> [--json] 查詢聚合表計算狀態',
|
|
1136
|
+
examples_title: '示例:',
|
|
1137
|
+
example_list: 'yidaconnector aggregate-table list APP_XXX',
|
|
1138
|
+
example_create_empty: 'yidaconnector aggregate-table create-empty APP_XXX "客戶合同聚合表" --open',
|
|
1139
|
+
example_inspect: 'yidaconnector aggregate-table inspect APP_XXX FORM_XXX --json',
|
|
1140
|
+
example_preview: 'yidaconnector aggregate-table preview APP_XXX FORM_XXX .cache/yidaconnector/aggregate/design.json',
|
|
1141
|
+
example_save: 'yidaconnector aggregate-table save APP_XXX FORM_XXX .cache/yidaconnector/aggregate/design.json',
|
|
1142
|
+
example_publish: 'yidaconnector aggregate-table publish APP_XXX FORM_XXX .cache/yidaconnector/aggregate/design.json',
|
|
1143
|
+
example_status: 'yidaconnector aggregate-table status APP_XXX FORM_XXX',
|
|
1144
|
+
list_usage: '用法: yidaconnector aggregate-table list <appType> [--keyword <text>] [--json]',
|
|
1145
|
+
create_empty_usage: '用法: yidaconnector aggregate-table create-empty <appType> "<名稱>" [--locale zh_CN|en_US|ja_JP] [--open|--no-open]',
|
|
1146
|
+
inspect_usage: '用法: yidaconnector aggregate-table inspect <appType> <formUuid> [--json]',
|
|
1147
|
+
preview_usage: '用法: yidaconnector aggregate-table preview <appType> <formUuid> <design.json> [--json]',
|
|
1148
|
+
save_usage: '用法: yidaconnector aggregate-table save <appType> <formUuid> <design.json> [--json]',
|
|
1149
|
+
publish_usage: '用法: yidaconnector aggregate-table publish <appType> <formUuid> <design.json> [--json]',
|
|
1150
|
+
status_usage: '用法: yidaconnector aggregate-table status <appType> <formUuid> [--json]',
|
|
1151
|
+
no_login: '未找到登入態,請先執行 yidaconnector login',
|
|
1152
|
+
unsupported_locale: '不支援的語言: {0}',
|
|
1153
|
+
unknown_subcommand: '未知的 aggregate-table 子命令: {0}',
|
|
1154
|
+
design_required: '缺少聚合表設計配置 JSON 或文件路徑',
|
|
1155
|
+
invalid_json: '聚合表設計配置不是合法 JSON: {0}',
|
|
1156
|
+
design_object_required: '聚合表設計配置必須是 JSON 物件',
|
|
1157
|
+
check_feature: '檢查聚合表能力',
|
|
1158
|
+
feature_disabled: '目前應用或組織未啟用聚合表能力,或已達到版本額度上限',
|
|
1159
|
+
create_empty: '建立空白聚合表',
|
|
1160
|
+
inspect: '讀取聚合表配置',
|
|
1161
|
+
preview: '預覽聚合表配置',
|
|
1162
|
+
save: '保存聚合表草稿',
|
|
1163
|
+
publish: '發佈聚合表配置',
|
|
1164
|
+
status: '查詢聚合表構建狀態',
|
|
1165
|
+
publish_requires_source: '發佈聚合表至少需要 1 個資料來源,請先配置 relationForms',
|
|
1166
|
+
list_success: '聚合表列表',
|
|
1167
|
+
create_empty_success: '聚合表建立成功',
|
|
1168
|
+
inspect_success: '聚合表配置讀取成功',
|
|
1169
|
+
preview_success: '聚合表預覽成功',
|
|
1170
|
+
save_success: '聚合表草稿保存成功',
|
|
1171
|
+
publish_success: '聚合表發佈成功',
|
|
1172
|
+
status_success: '聚合表狀態查詢成功',
|
|
1173
|
+
},
|
|
1174
|
+
ai_form_setting: {
|
|
1175
|
+
usage: '用法: yidaconnector ai-form-setting <get|fields|models|enable|disable|save> <appType> ...',
|
|
1176
|
+
commands_title: '子命令:',
|
|
1177
|
+
cmd_get: 'get <appType> <formUuid> [--raw] [--json] 查詢 AI 審批提示設定',
|
|
1178
|
+
cmd_fields: 'fields <appType> <formUuid> [--type TEXT|IMAGE|ATTACHMENT] 查詢可插入欄位',
|
|
1179
|
+
cmd_models: 'models <appType> [--type TEXT|IMAGE|ATTACHMENT] 查詢可用模型',
|
|
1180
|
+
cmd_enable: 'enable <appType> <formUuid> [--json] 開啟 AI 審批提示',
|
|
1181
|
+
cmd_disable: 'disable <appType> <formUuid> [--json] 關閉 AI 審批提示',
|
|
1182
|
+
cmd_save: 'save <appType> <formUuid> <config.json> [--enable] 儲存提示詞和模型設定',
|
|
1183
|
+
examples_title: '範例:',
|
|
1184
|
+
example_get: 'yidaconnector ai-form-setting get APP_XXX FORM_XXX --json',
|
|
1185
|
+
example_fields: 'yidaconnector ai-form-setting fields APP_XXX FORM_XXX --type ATTACHMENT',
|
|
1186
|
+
example_models: 'yidaconnector ai-form-setting models APP_XXX --type IMAGE',
|
|
1187
|
+
example_enable: 'yidaconnector ai-form-setting enable APP_XXX FORM_XXX',
|
|
1188
|
+
example_save: 'yidaconnector ai-form-setting save APP_XXX FORM_XXX .cache/yidaconnector/ai-form-setting/config.json --enable',
|
|
1189
|
+
enable_disable_conflict: '--enable 和 --disable 不能同時使用',
|
|
1190
|
+
invalid_type: '無效的提示詞類型: {0},有效值: {1}',
|
|
1191
|
+
invalid_status: '無效的 AI 審批提示狀態: {0}',
|
|
1192
|
+
config_required: '缺少 AI 審批提示設定 JSON 或檔案路徑',
|
|
1193
|
+
invalid_json: 'AI 審批提示設定不是合法 JSON: {0}',
|
|
1194
|
+
invalid_variable: '第 {0} 個變數必須是物件',
|
|
1195
|
+
variable_required: '第 {0} 個變數必須包含 varName 和 fieldId',
|
|
1196
|
+
prompt_required: '提示詞 {0} 缺少 prompt/content',
|
|
1197
|
+
variables_array_required: 'variables 必須是陣列',
|
|
1198
|
+
invalid_item: '第 {0} 個提示詞設定必須是物件',
|
|
1199
|
+
model_required: '提示詞 {0} 缺少 modelId',
|
|
1200
|
+
invalid_config_part: '{0} 必須是 JSON 物件或合法 JSON 字串',
|
|
1201
|
+
config_object_required: 'AI 審批提示設定必須是 JSON 物件或陣列',
|
|
1202
|
+
items_array_required: 'AI 審批提示設定必須包含 items 陣列',
|
|
1203
|
+
too_many_items: 'AI 審批提示最多支援 {0} 條',
|
|
1204
|
+
duplicate_item_id: '重複的 itemId: {0}',
|
|
1205
|
+
no_login: '未找到登入態,請先執行 yidaconnector login',
|
|
1206
|
+
get_usage: '用法: yidaconnector ai-form-setting get <appType> <formUuid> [--raw] [--json]',
|
|
1207
|
+
fields_usage: '用法: yidaconnector ai-form-setting fields <appType> <formUuid> [--type TEXT|IMAGE|ATTACHMENT] [--json]',
|
|
1208
|
+
models_usage: '用法: yidaconnector ai-form-setting models <appType> [--type TEXT|IMAGE|ATTACHMENT] [--json]',
|
|
1209
|
+
status_usage: '用法: yidaconnector ai-form-setting <enable|disable> <appType> <formUuid> [--json]',
|
|
1210
|
+
save_usage: '用法: yidaconnector ai-form-setting save <appType> <formUuid> <config.json> [--enable|--disable] [--json]',
|
|
1211
|
+
get_action: '查詢 AI 審批提示設定',
|
|
1212
|
+
fields_action: '查詢 AI 審批提示欄位',
|
|
1213
|
+
models_action: '查詢 AI 審批提示模型',
|
|
1214
|
+
status_action: '更新 AI 審批提示狀態',
|
|
1215
|
+
save_action: '儲存 AI 審批提示設定',
|
|
1216
|
+
get_success: 'AI 審批提示設定',
|
|
1217
|
+
fields_success: 'AI 審批提示欄位',
|
|
1218
|
+
models_success: 'AI 審批提示模型',
|
|
1219
|
+
save_success: 'AI 審批提示設定儲存成功',
|
|
1220
|
+
enabled: 'AI 審批提示已開啟',
|
|
1221
|
+
disabled: 'AI 審批提示已關閉',
|
|
1222
|
+
unknown_subcommand: '未知的 ai-form-setting 子命令: {0}',
|
|
1223
|
+
},
|
|
1224
|
+
codex_login: {
|
|
1225
|
+
title: ' yidaconnector login {0} - {1} 登入模式',
|
|
1226
|
+
not_codex: '目前環境未偵測為 Codex / Qoder / 悟空,僅返回內建瀏覽器登入 handoff。',
|
|
1227
|
+
no_playwright: '{0} 登入模式不需要安裝 Playwright 或額外 Chromium。',
|
|
1228
|
+
using_browser: '{0} 內建瀏覽器僅適合無需登入的頁面預覽;宜搭登入 Cookie 請使用 yidaconnector login --browser。',
|
|
1229
|
+
browser_handoff_hint: '{0} 內建瀏覽器不支援認證 Cookie 匯出;如需 CLI Cookie,請使用 yidaconnector login --browser。',
|
|
1230
|
+
handoff_message: '{0} 內建瀏覽器不能匯出宜搭登入 Cookie;如需 CLI Cookie,請執行 fallback_command。',
|
|
1231
|
+
cache_available: '已存在可用的 CLI Cookie 緩存,無需重新開啟瀏覽器登入。',
|
|
1232
|
+
},
|
|
1233
|
+
};
|