wjx-cli 0.1.0

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 (54) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +836 -0
  3. package/dist/commands/account.d.ts +2 -0
  4. package/dist/commands/account.js +100 -0
  5. package/dist/commands/account.js.map +1 -0
  6. package/dist/commands/admin.d.ts +2 -0
  7. package/dist/commands/admin.js +42 -0
  8. package/dist/commands/admin.js.map +1 -0
  9. package/dist/commands/analytics.d.ts +2 -0
  10. package/dist/commands/analytics.js +136 -0
  11. package/dist/commands/analytics.js.map +1 -0
  12. package/dist/commands/contacts.d.ts +2 -0
  13. package/dist/commands/contacts.js +49 -0
  14. package/dist/commands/contacts.js.map +1 -0
  15. package/dist/commands/department.d.ts +2 -0
  16. package/dist/commands/department.js +60 -0
  17. package/dist/commands/department.js.map +1 -0
  18. package/dist/commands/diagnostics.d.ts +2 -0
  19. package/dist/commands/diagnostics.js +110 -0
  20. package/dist/commands/diagnostics.js.map +1 -0
  21. package/dist/commands/response.d.ts +2 -0
  22. package/dist/commands/response.js +241 -0
  23. package/dist/commands/response.js.map +1 -0
  24. package/dist/commands/sso.d.ts +2 -0
  25. package/dist/commands/sso.js +79 -0
  26. package/dist/commands/sso.js.map +1 -0
  27. package/dist/commands/survey.d.ts +2 -0
  28. package/dist/commands/survey.js +247 -0
  29. package/dist/commands/survey.js.map +1 -0
  30. package/dist/commands/tag.d.ts +2 -0
  31. package/dist/commands/tag.js +66 -0
  32. package/dist/commands/tag.js.map +1 -0
  33. package/dist/commands/user-system.d.ts +2 -0
  34. package/dist/commands/user-system.js +137 -0
  35. package/dist/commands/user-system.js.map +1 -0
  36. package/dist/index.d.ts +2 -0
  37. package/dist/index.js +67 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/lib/auth.d.ts +4 -0
  40. package/dist/lib/auth.js +9 -0
  41. package/dist/lib/auth.js.map +1 -0
  42. package/dist/lib/command-helpers.d.ts +25 -0
  43. package/dist/lib/command-helpers.js +64 -0
  44. package/dist/lib/command-helpers.js.map +1 -0
  45. package/dist/lib/errors.d.ts +14 -0
  46. package/dist/lib/errors.js +52 -0
  47. package/dist/lib/errors.js.map +1 -0
  48. package/dist/lib/output.d.ts +6 -0
  49. package/dist/lib/output.js +59 -0
  50. package/dist/lib/output.js.map +1 -0
  51. package/dist/lib/stdin.d.ts +10 -0
  52. package/dist/lib/stdin.js +51 -0
  53. package/dist/lib/stdin.js.map +1 -0
  54. package/package.json +43 -0
@@ -0,0 +1,241 @@
1
+ import { queryResponses, queryResponsesRealtime, downloadResponses, getReport, submitResponse, getFileLinks, getWinners, modifyResponse, get360Report, clearResponses, } from "wjx-api-sdk";
2
+ import { executeCommand, strictInt, requireField } from "../lib/command-helpers.js";
3
+ export function registerResponseCommands(program) {
4
+ const response = program.command("response").description("答卷管理");
5
+ // --- count ---
6
+ response
7
+ .command("count")
8
+ .description("获取问卷答卷总数")
9
+ .option("--vid <n>", "问卷ID", strictInt)
10
+ .action(async (_opts, cmd) => {
11
+ await executeCommand(program, cmd, queryResponses, (m) => {
12
+ requireField(m, "vid");
13
+ return { vid: m.vid, page_size: 1 };
14
+ });
15
+ });
16
+ // --- query ---
17
+ response
18
+ .command("query")
19
+ .description("查询答卷")
20
+ .option("--vid <n>", "问卷ID", strictInt)
21
+ .option("--page_index <n>", "页码", strictInt)
22
+ .option("--page_size <n>", "每页数量", strictInt)
23
+ .option("--sort <n>", "排序", strictInt)
24
+ .option("--min_index <n>", "最小序号", strictInt)
25
+ .option("--jid <s>", "答卷ID")
26
+ .option("--sojumpparm <s>", "自定义参数")
27
+ .option("--qid <s>", "题目ID")
28
+ .option("--begin_time <n>", "开始时间", strictInt)
29
+ .option("--end_time <n>", "结束时间", strictInt)
30
+ .option("--file_view_expires <n>", "文件链接有效期", strictInt)
31
+ .option("--query_note", "查询备注")
32
+ .option("--distinct_user", "去重用户")
33
+ .option("--distinct_sojumpparm", "去重参数")
34
+ .option("--conds <s>", "查询条件")
35
+ .action(async (_opts, cmd) => {
36
+ await executeCommand(program, cmd, queryResponses, (m) => {
37
+ requireField(m, "vid");
38
+ return {
39
+ vid: m.vid,
40
+ page_index: m.page_index,
41
+ page_size: m.page_size,
42
+ sort: m.sort,
43
+ min_index: m.min_index,
44
+ jid: m.jid,
45
+ sojumpparm: m.sojumpparm,
46
+ qid: m.qid,
47
+ begin_time: m.begin_time,
48
+ end_time: m.end_time,
49
+ file_view_expires: m.file_view_expires,
50
+ query_note: m.query_note,
51
+ distinct_user: m.distinct_user,
52
+ distinct_sojumpparm: m.distinct_sojumpparm,
53
+ conds: m.conds,
54
+ };
55
+ });
56
+ });
57
+ // --- realtime ---
58
+ response
59
+ .command("realtime")
60
+ .description("实时查询最新答卷")
61
+ .option("--vid <n>", "问卷ID", strictInt)
62
+ .option("--count <n>", "数量", strictInt)
63
+ .action(async (_opts, cmd) => {
64
+ await executeCommand(program, cmd, queryResponsesRealtime, (m) => {
65
+ requireField(m, "vid");
66
+ return { vid: m.vid, count: m.count };
67
+ });
68
+ });
69
+ // --- download ---
70
+ response
71
+ .command("download")
72
+ .description("下载答卷")
73
+ .option("--vid <n>", "问卷ID", strictInt)
74
+ .option("--taskid <s>", "任务ID")
75
+ .option("--query_count <n>", "查询数量", strictInt)
76
+ .option("--begin_time <n>", "开始时间", strictInt)
77
+ .option("--end_time <n>", "结束时间", strictInt)
78
+ .option("--min_index <n>", "最小序号", strictInt)
79
+ .option("--qid <s>", "题目ID")
80
+ .option("--sort <n>", "排序", strictInt)
81
+ .option("--query_type <n>", "查询类型", strictInt)
82
+ .option("--suffix <n>", "文件后缀", strictInt)
83
+ .option("--query_record", "查询记录")
84
+ .action(async (_opts, cmd) => {
85
+ await executeCommand(program, cmd, downloadResponses, (m) => {
86
+ requireField(m, "vid");
87
+ return {
88
+ vid: m.vid,
89
+ taskid: m.taskid,
90
+ query_count: m.query_count,
91
+ begin_time: m.begin_time,
92
+ end_time: m.end_time,
93
+ min_index: m.min_index,
94
+ qid: m.qid,
95
+ sort: m.sort,
96
+ query_type: m.query_type,
97
+ suffix: m.suffix,
98
+ query_record: m.query_record,
99
+ };
100
+ });
101
+ });
102
+ // --- submit ---
103
+ response
104
+ .command("submit")
105
+ .description("提交答卷")
106
+ .option("--vid <n>", "问卷ID", strictInt)
107
+ .option("--inputcosttime <n>", "填写耗时(秒)", strictInt)
108
+ .option("--submitdata <s>", "提交数据")
109
+ .option("--udsid <n>", "用户系统ID", strictInt)
110
+ .option("--sojumpparm <s>", "自定义参数")
111
+ .option("--submittime <s>", "提交时间")
112
+ .action(async (_opts, cmd) => {
113
+ await executeCommand(program, cmd, submitResponse, (m) => {
114
+ requireField(m, "vid");
115
+ requireField(m, "inputcosttime");
116
+ requireField(m, "submitdata");
117
+ return {
118
+ vid: m.vid,
119
+ inputcosttime: m.inputcosttime,
120
+ submitdata: m.submitdata,
121
+ udsid: m.udsid,
122
+ sojumpparm: m.sojumpparm,
123
+ submittime: m.submittime,
124
+ };
125
+ });
126
+ });
127
+ // --- modify ---
128
+ response
129
+ .command("modify")
130
+ .description("修改答卷")
131
+ .option("--vid <n>", "问卷ID", strictInt)
132
+ .option("--jid <n>", "答卷ID", strictInt)
133
+ .option("--answers <s>", "答案数据")
134
+ .action(async (_opts, cmd) => {
135
+ await executeCommand(program, cmd, modifyResponse, (m) => {
136
+ requireField(m, "vid");
137
+ requireField(m, "jid");
138
+ requireField(m, "answers");
139
+ return { vid: m.vid, jid: m.jid, type: 1, answers: m.answers };
140
+ });
141
+ });
142
+ // --- clear ---
143
+ response
144
+ .command("clear")
145
+ .description("清空答卷")
146
+ .option("--username <s>", "用户名")
147
+ .option("--vid <n>", "问卷ID", strictInt)
148
+ .option("--reset_to_zero", "重置序号")
149
+ .action(async (_opts, cmd) => {
150
+ await executeCommand(program, cmd, clearResponses, (m) => {
151
+ requireField(m, "username");
152
+ requireField(m, "vid");
153
+ return {
154
+ username: m.username,
155
+ vid: m.vid,
156
+ reset_to_zero: m.reset_to_zero ?? false,
157
+ };
158
+ });
159
+ });
160
+ // --- report ---
161
+ response
162
+ .command("report")
163
+ .description("获取统计报告")
164
+ .option("--vid <n>", "问卷ID", strictInt)
165
+ .option("--min_index <n>", "最小序号", strictInt)
166
+ .option("--jid <s>", "答卷ID")
167
+ .option("--sojumpparm <s>", "自定义参数")
168
+ .option("--begin_time <n>", "开始时间", strictInt)
169
+ .option("--end_time <n>", "结束时间", strictInt)
170
+ .option("--distinct_user", "去重用户")
171
+ .option("--distinct_sojumpparm", "去重参数")
172
+ .option("--conds <s>", "查询条件")
173
+ .action(async (_opts, cmd) => {
174
+ await executeCommand(program, cmd, getReport, (m) => {
175
+ requireField(m, "vid");
176
+ return {
177
+ vid: m.vid,
178
+ min_index: m.min_index,
179
+ jid: m.jid,
180
+ sojumpparm: m.sojumpparm,
181
+ begin_time: m.begin_time,
182
+ end_time: m.end_time,
183
+ distinct_user: m.distinct_user,
184
+ distinct_sojumpparm: m.distinct_sojumpparm,
185
+ conds: m.conds,
186
+ };
187
+ });
188
+ });
189
+ // --- files ---
190
+ response
191
+ .command("files")
192
+ .description("获取文件下载链接")
193
+ .option("--vid <n>", "问卷ID", strictInt)
194
+ .option("--file_keys <s>", "文件Key列表")
195
+ .option("--file_view_expires <n>", "链接有效期", strictInt)
196
+ .action(async (_opts, cmd) => {
197
+ await executeCommand(program, cmd, getFileLinks, (m) => {
198
+ requireField(m, "vid");
199
+ requireField(m, "file_keys");
200
+ return {
201
+ vid: m.vid,
202
+ file_keys: m.file_keys,
203
+ file_view_expires: m.file_view_expires,
204
+ };
205
+ });
206
+ });
207
+ // --- winners ---
208
+ response
209
+ .command("winners")
210
+ .description("获取中奖名单")
211
+ .option("--vid <n>", "问卷ID", strictInt)
212
+ .option("--atype <n>", "活动类型", strictInt)
213
+ .option("--awardstatus <n>", "领奖状态", strictInt)
214
+ .option("--page_index <n>", "页码", strictInt)
215
+ .option("--page_size <n>", "每页数量", strictInt)
216
+ .action(async (_opts, cmd) => {
217
+ await executeCommand(program, cmd, getWinners, (m) => {
218
+ requireField(m, "vid");
219
+ return {
220
+ vid: m.vid,
221
+ atype: m.atype,
222
+ awardstatus: m.awardstatus,
223
+ page_index: m.page_index,
224
+ page_size: m.page_size,
225
+ };
226
+ });
227
+ });
228
+ // --- 360-report ---
229
+ response
230
+ .command("360-report")
231
+ .description("获取360度报告")
232
+ .option("--vid <n>", "问卷ID", strictInt)
233
+ .option("--taskid <s>", "任务ID")
234
+ .action(async (_opts, cmd) => {
235
+ await executeCommand(program, cmd, get360Report, (m) => {
236
+ requireField(m, "vid");
237
+ return { vid: m.vid, taskid: m.taskid };
238
+ });
239
+ });
240
+ }
241
+ //# sourceMappingURL=response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/commands/response.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare function registerSsoCommands(program: Command): void;
@@ -0,0 +1,79 @@
1
+ import { buildSsoSubaccountUrl, buildSsoUserSystemUrl, buildSsoPartnerUrl, } from "wjx-api-sdk";
2
+ import { executeCommand, strictInt, requireField } from "../lib/command-helpers.js";
3
+ export function registerSsoCommands(program) {
4
+ const sso = program.command("sso").description("SSO 单点登录");
5
+ // --- subaccount-url ---
6
+ sso
7
+ .command("subaccount-url")
8
+ .description("生成子账号SSO登录链接")
9
+ .option("--subuser <s>", "子账号用户名")
10
+ .option("--mobile <s>", "手机号")
11
+ .option("--email <s>", "邮箱")
12
+ .option("--role_id <n>", "角色ID", strictInt)
13
+ .option("--url <s>", "登录后跳转URL")
14
+ .option("--admin <n>", "主账号登录(1)", strictInt)
15
+ .action(async (_opts, cmd) => {
16
+ await executeCommand(program, cmd, buildSsoSubaccountUrl, (m) => {
17
+ requireField(m, "subuser");
18
+ return {
19
+ subuser: m.subuser,
20
+ mobile: m.mobile,
21
+ email: m.email,
22
+ role_id: m.role_id,
23
+ url: m.url,
24
+ admin: m.admin,
25
+ };
26
+ }, { noAuth: true });
27
+ });
28
+ // --- user-system-url ---
29
+ sso
30
+ .command("user-system-url")
31
+ .description("生成用户系统参与者SSO链接")
32
+ .option("--u <s>", "账号用户名")
33
+ .option("--system_id <n>", "用户系统ID", strictInt)
34
+ .option("--uid <s>", "参与者ID")
35
+ .option("--uname <s>", "参与者名称")
36
+ .option("--udept <s>", "参与者部门")
37
+ .option("--uextf <s>", "扩展字段")
38
+ .option("--upass <s>", "密码")
39
+ .option("--is_login <n>", "是否登��(0/1)", strictInt)
40
+ .option("--activity <n>", "跳转问卷vid", strictInt)
41
+ .option("--return_url <s>", "返回URL")
42
+ .action(async (_opts, cmd) => {
43
+ await executeCommand(program, cmd, buildSsoUserSystemUrl, (m) => {
44
+ requireField(m, "u");
45
+ requireField(m, "system_id");
46
+ requireField(m, "uid");
47
+ return {
48
+ u: m.u,
49
+ system_id: m.system_id,
50
+ uid: m.uid,
51
+ uname: m.uname,
52
+ udept: m.udept,
53
+ uextf: m.uextf,
54
+ upass: m.upass,
55
+ is_login: m.is_login,
56
+ activity: m.activity,
57
+ return_url: m.return_url,
58
+ };
59
+ }, { noAuth: true });
60
+ });
61
+ // --- partner-url ---
62
+ sso
63
+ .command("partner-url")
64
+ .description("生成代理商SSO登录链接")
65
+ .option("--username <s>", "代理商用户名")
66
+ .option("--mobile <s>", "手机号")
67
+ .option("--subuser <s>", "子账号用户名")
68
+ .action(async (_opts, cmd) => {
69
+ await executeCommand(program, cmd, buildSsoPartnerUrl, (m) => {
70
+ requireField(m, "username");
71
+ return {
72
+ username: m.username,
73
+ mobile: m.mobile,
74
+ subuser: m.subuser,
75
+ };
76
+ }, { noAuth: true });
77
+ });
78
+ }
79
+ //# sourceMappingURL=sso.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sso.js","sourceRoot":"","sources":["../../src/commands/sso.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare function registerSurveyCommands(program: Command): void;
@@ -0,0 +1,247 @@
1
+ import { createSurvey, getSurvey, listSurveys, updateSurveyStatus, getSurveySettings, updateSurveySettings, deleteSurvey, getQuestionTags, getTagDetails, clearRecycleBin, uploadFile, buildSurveyUrl, surveyToText, } from "wjx-api-sdk";
2
+ import { CliError, handleError } from "../lib/errors.js";
3
+ import { mergeStdinWithOpts } from "../lib/stdin.js";
4
+ import { getCredentials } from "../lib/auth.js";
5
+ import { executeCommand, strictInt, requireField } from "../lib/command-helpers.js";
6
+ export function registerSurveyCommands(program) {
7
+ const survey = program.command("survey").description("问卷管理");
8
+ // --- list ---
9
+ survey
10
+ .command("list")
11
+ .description("列出问卷")
12
+ .option("--page <n>", "页码", strictInt)
13
+ .option("--page_size <n>", "每页数量", strictInt)
14
+ .option("--status <n>", "状态筛选", strictInt)
15
+ .option("--atype <n>", "问卷类型", strictInt)
16
+ .option("--name_like <s>", "名称搜索")
17
+ .action(async (_opts, cmd) => {
18
+ await executeCommand(program, cmd, listSurveys, (m) => ({
19
+ page_index: m.page,
20
+ page_size: m.page_size,
21
+ status: m.status,
22
+ atype: m.atype,
23
+ name_like: m.name_like,
24
+ }));
25
+ });
26
+ // --- get ---
27
+ survey
28
+ .command("get")
29
+ .description("获取问卷详情")
30
+ .option("--vid <n>", "问卷ID", strictInt)
31
+ .action(async (_opts, cmd) => {
32
+ await executeCommand(program, cmd, getSurvey, (m) => {
33
+ requireField(m, "vid");
34
+ return { vid: m.vid };
35
+ });
36
+ });
37
+ // --- create ---
38
+ survey
39
+ .command("create")
40
+ .description("创建问卷")
41
+ .option("--title <s>", "问卷标题")
42
+ .option("--type <n>", "问卷类型", strictInt)
43
+ .option("--description <s>", "问卷描述")
44
+ .option("--questions <json>", "题目JSON数组")
45
+ .option("--source_vid <s>", "复制源问卷ID")
46
+ .option("--publish", "创建后发布")
47
+ .action(async (_opts, cmd) => {
48
+ await executeCommand(program, cmd, createSurvey, (m) => {
49
+ requireField(m, "title");
50
+ return {
51
+ title: m.title,
52
+ type: m.type ?? 0,
53
+ description: m.description ?? "",
54
+ questions: m.questions ?? "[]",
55
+ source_vid: m.source_vid,
56
+ publish: m.publish,
57
+ };
58
+ });
59
+ });
60
+ // --- delete ---
61
+ survey
62
+ .command("delete")
63
+ .description("删除问卷")
64
+ .option("--vid <n>", "问卷ID", strictInt)
65
+ .option("--username <s>", "用户名")
66
+ .option("--completely", "彻底删除")
67
+ .action(async (_opts, cmd) => {
68
+ await executeCommand(program, cmd, deleteSurvey, (m) => {
69
+ requireField(m, "vid");
70
+ requireField(m, "username");
71
+ return {
72
+ vid: m.vid,
73
+ username: m.username,
74
+ completely_delete: m.completely,
75
+ };
76
+ });
77
+ });
78
+ // --- status ---
79
+ survey
80
+ .command("status")
81
+ .description("更新问卷状态(1=发布, 2=暂停, 3=删除)")
82
+ .option("--vid <n>", "问卷ID", strictInt)
83
+ .option("--state <n>", "目标状态", strictInt)
84
+ .action(async (_opts, cmd) => {
85
+ await executeCommand(program, cmd, updateSurveyStatus, (m) => {
86
+ requireField(m, "vid");
87
+ requireField(m, "state");
88
+ return { vid: m.vid, state: m.state };
89
+ });
90
+ });
91
+ // --- settings ---
92
+ survey
93
+ .command("settings")
94
+ .description("获取问卷设置")
95
+ .option("--vid <n>", "问卷ID", strictInt)
96
+ .action(async (_opts, cmd) => {
97
+ await executeCommand(program, cmd, getSurveySettings, (m) => {
98
+ requireField(m, "vid");
99
+ return { vid: m.vid };
100
+ });
101
+ });
102
+ // --- update-settings ---
103
+ survey
104
+ .command("update-settings")
105
+ .description("更新问卷设置")
106
+ .option("--vid <n>", "问卷ID", strictInt)
107
+ .option("--api_setting <json>", "API设置JSON")
108
+ .option("--after_submit_setting <json>", "提交后设置JSON")
109
+ .option("--msg_setting <json>", "消息设置JSON")
110
+ .option("--sojumpparm_setting <json>", "参数设置JSON")
111
+ .option("--time_setting <json>", "时间设置JSON")
112
+ .action(async (_opts, cmd) => {
113
+ await executeCommand(program, cmd, updateSurveySettings, (m) => {
114
+ requireField(m, "vid");
115
+ return {
116
+ vid: m.vid,
117
+ api_setting: m.api_setting,
118
+ after_submit_setting: m.after_submit_setting,
119
+ msg_setting: m.msg_setting,
120
+ sojumpparm_setting: m.sojumpparm_setting,
121
+ time_setting: m.time_setting,
122
+ };
123
+ });
124
+ });
125
+ // --- tags ---
126
+ survey
127
+ .command("tags")
128
+ .description("获取题目标签")
129
+ .option("--username <s>", "用户名")
130
+ .action(async (_opts, cmd) => {
131
+ await executeCommand(program, cmd, getQuestionTags, (m) => {
132
+ requireField(m, "username");
133
+ return { username: m.username };
134
+ });
135
+ });
136
+ // --- tag-details ---
137
+ survey
138
+ .command("tag-details")
139
+ .description("获取标签详情")
140
+ .option("--tag_id <n>", "标签ID", strictInt)
141
+ .action(async (_opts, cmd) => {
142
+ await executeCommand(program, cmd, getTagDetails, (m) => {
143
+ requireField(m, "tag_id", "tag_id");
144
+ return { tag_id: m.tag_id };
145
+ });
146
+ });
147
+ // --- clear-bin ---
148
+ survey
149
+ .command("clear-bin")
150
+ .description("清空回收站")
151
+ .option("--username <s>", "用户名")
152
+ .option("--vid <n>", "指定问卷ID", strictInt)
153
+ .action(async (_opts, cmd) => {
154
+ await executeCommand(program, cmd, clearRecycleBin, (m) => {
155
+ requireField(m, "username");
156
+ return { username: m.username, vid: m.vid };
157
+ });
158
+ });
159
+ // --- upload ---
160
+ survey
161
+ .command("upload")
162
+ .description("上传文件")
163
+ .option("--file_name <s>", "文件名")
164
+ .option("--file <s>", "文件Base64内容")
165
+ .action(async (_opts, cmd) => {
166
+ await executeCommand(program, cmd, uploadFile, (m) => {
167
+ requireField(m, "file_name");
168
+ requireField(m, "file");
169
+ return { file_name: m.file_name, file: m.file };
170
+ });
171
+ });
172
+ // --- export-text ---
173
+ survey
174
+ .command("export-text")
175
+ .description("导出问卷为纯文本(题目+选项)")
176
+ .option("--vid <n>", "问卷ID", strictInt)
177
+ .option("--raw", "输出纯文本(不包裹 JSON)")
178
+ .action(async (_opts, cmd) => {
179
+ try {
180
+ const stdinData = cmd.__stdinData;
181
+ let merged;
182
+ if (stdinData && Object.keys(stdinData).length > 0) {
183
+ merged = mergeStdinWithOpts(stdinData, cmd);
184
+ }
185
+ else {
186
+ merged = { ...cmd.opts() };
187
+ }
188
+ requireField(merged, "vid");
189
+ const creds = getCredentials(program.opts());
190
+ const result = await getSurvey({ vid: merged.vid }, creds);
191
+ if (result.result === false) {
192
+ throw new CliError("API_ERROR", result.errormsg || "API request failed");
193
+ }
194
+ const data = result.data;
195
+ if (!data) {
196
+ throw new CliError("API_ERROR", "API 返回数据为空");
197
+ }
198
+ const text = surveyToText(data);
199
+ const globalOpts = program.opts();
200
+ if (merged.raw || globalOpts.table) {
201
+ console.log(text);
202
+ }
203
+ else {
204
+ console.log(JSON.stringify({ vid: merged.vid, text }, null, 2));
205
+ }
206
+ }
207
+ catch (e) {
208
+ handleError(e);
209
+ }
210
+ });
211
+ // --- url ---
212
+ survey
213
+ .command("url")
214
+ .description("生成问卷 URL(创建/编辑)")
215
+ .option("--mode <s>", "模式: create 或 edit", "create")
216
+ .option("--name <s>", "问卷名称(create模式)")
217
+ .option("--activity <n>", "问卷vid(edit模式必填)", strictInt)
218
+ .action(async (_opts, cmd) => {
219
+ try {
220
+ // Source-aware merge for stdin
221
+ const stdinData = cmd.__stdinData;
222
+ let merged;
223
+ if (stdinData && Object.keys(stdinData).length > 0) {
224
+ merged = mergeStdinWithOpts(stdinData, cmd);
225
+ }
226
+ else {
227
+ merged = { ...cmd.opts() };
228
+ }
229
+ const url = buildSurveyUrl({
230
+ mode: merged.mode ?? "create",
231
+ name: merged.name,
232
+ activity: merged.activity,
233
+ });
234
+ const globalOpts = program.opts();
235
+ if (globalOpts.table) {
236
+ console.log(url);
237
+ }
238
+ else {
239
+ console.log(JSON.stringify({ url }, null, 2));
240
+ }
241
+ }
242
+ catch (e) {
243
+ handleError(e);
244
+ }
245
+ });
246
+ }
247
+ //# sourceMappingURL=survey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"survey.js","sourceRoot":"","sources":["../../src/commands/survey.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from "commander";
2
+ export declare function registerTagCommands(program: Command): void;