wjx-cli 0.1.10 → 0.1.12

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 (34) hide show
  1. package/README.md +887 -889
  2. package/bundled/wjx-cli-expert.md +102 -0
  3. package/bundled/wjx-cli-use/SKILL.md +111 -0
  4. package/bundled/wjx-cli-use/references/analytics-commands.md +159 -0
  5. package/bundled/wjx-cli-use/references/contacts-commands.md +330 -0
  6. package/bundled/wjx-cli-use/references/dsl-syntax.md +160 -0
  7. package/bundled/wjx-cli-use/references/question-types.md +102 -0
  8. package/bundled/wjx-cli-use/references/response-commands.md +164 -0
  9. package/bundled/wjx-cli-use/references/survey-commands.md +194 -0
  10. package/dist/commands/init.js +129 -62
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/reference.js +332 -328
  13. package/dist/commands/reference.js.map +1 -1
  14. package/dist/commands/response.js +17 -50
  15. package/dist/commands/response.js.map +1 -1
  16. package/dist/commands/skill.d.ts +2 -0
  17. package/dist/commands/skill.js +46 -0
  18. package/dist/commands/skill.js.map +1 -0
  19. package/dist/commands/survey.js +1 -1
  20. package/dist/commands/survey.js.map +1 -1
  21. package/dist/commands/update.d.ts +2 -0
  22. package/dist/commands/update.js +76 -0
  23. package/dist/commands/update.js.map +1 -0
  24. package/dist/commands/user-system.js +4 -27
  25. package/dist/commands/user-system.js.map +1 -1
  26. package/dist/index.js +4 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/lib/command-helpers.d.ts +2 -0
  29. package/dist/lib/command-helpers.js +2 -1
  30. package/dist/lib/command-helpers.js.map +1 -1
  31. package/dist/lib/install-skill.d.ts +23 -0
  32. package/dist/lib/install-skill.js +96 -0
  33. package/dist/lib/install-skill.js.map +1 -0
  34. package/package.json +3 -2
@@ -0,0 +1,160 @@
1
+ # DSL 语法参考
2
+
3
+ 使用 `wjx survey create-by-text --text "<DSL文本>"` 通过人类可读的文本格式创建问卷。
4
+
5
+ ## 基本结构
6
+
7
+ ```
8
+ 问卷标题
9
+
10
+ 可选的问卷描述(第一题前的空行后文本)
11
+
12
+ 1. 题目文本[题型标签]
13
+ 选项A
14
+ 选项B
15
+
16
+ 2. 另一个题目[题型标签]
17
+ 选项C
18
+ 选项D
19
+ ```
20
+
21
+ **规则:**
22
+ - 第一行 = 问卷标题
23
+ - 第一题前的空行后文本 = 描述(可选)
24
+ - 题目之间用空行分隔
25
+ - 题号格式:`数字. 题目文本[标签]`
26
+ - 选填题:在标签后加 `(选填)`(**注意:必须用中文全角括号**)
27
+ - 仅支持方括号 `[...]` 包裹标签
28
+
29
+ ## 题型标签
30
+
31
+ > **重要:DSL 解析器仅支持中文标签**,不支持英文标签。
32
+
33
+ ### 选择类
34
+
35
+ | 标签 | 说明 | 别名 |
36
+ |------|------|------|
37
+ | `[单选题]` | 单选(默认题型,标签可省略) | — |
38
+ | `[下拉框]` | 下拉单选 | `[下拉单选]` |
39
+ | `[多选题]` | 多选 | — |
40
+ | `[判断题]` | 判断对错 | — |
41
+ | `[排序题]` | 拖拽排序选项 | — |
42
+
43
+ ### 量表评分类
44
+
45
+ | 标签 | 说明 |
46
+ |------|------|
47
+ | `[量表题]` | 量表评分(选项用 `最小值~最大值` 格式,如 `1~5`) |
48
+ | `[评分单选]` | 带评分的单选 |
49
+ | `[评分多选]` | 带评分的多选 |
50
+ | `[比重题]` | 百分比权重分配 |
51
+ | `[滑动条]` | 滑动条控件 |
52
+
53
+ ### 填空类
54
+
55
+ | 标签 | 说明 | 别名 |
56
+ |------|------|------|
57
+ | `[填空题]` | 单个文本输入 | `[简答题]`、`[问答题]` |
58
+ | `[多项填空题]` | 多个填空。题目中**必须**包含 `{_}` 占位符 | — |
59
+ | `[考试多项填空]` | 考试版多项填空。题目中**必须**包含 `{_}` 占位符 | — |
60
+ | `[考试完形填空]` | 考试完形填空。题目中**必须**包含 `{_}` 占位符 | `[完形填空]` |
61
+
62
+ ### 矩阵类
63
+
64
+ | 标签 | 说明 |
65
+ |------|------|
66
+ | `[矩阵题]` | 通用矩阵 |
67
+ | `[矩阵量表题]` | 矩阵 + 量表评分 |
68
+ | `[矩阵单选题]` | 矩阵 + 每行单选 |
69
+ | `[矩阵多选题]` | 矩阵 + 每行多选 |
70
+ | `[矩阵填空题]` | 矩阵 + 每行填空 |
71
+
72
+ ### 其他类型
73
+
74
+ | 标签 | 说明 |
75
+ |------|------|
76
+ | `[文件上传]` | 文件上传字段 |
77
+ | `[绘图题]` | 绘图/签名 |
78
+ | `[段落说明]` | 说明文字(无题号)。**注意**:DSL 解析后会被自动过滤,不会出现在创建的问卷中(API 不支持段落类型) |
79
+ | `[多级下拉题]` | 级联下拉 |
80
+ | `[商品题]` | 商品选择 |
81
+ | `[情景题]` | 情景选择 |
82
+
83
+ ## 矩阵题格式
84
+
85
+ ```
86
+ 4. 请评价各维度[矩阵量表题]
87
+ 行:
88
+ - 沟通能力
89
+ - 团队协作
90
+ - 管理水平
91
+
92
+ 1~5
93
+ ```
94
+
95
+ ## 示例
96
+
97
+ ### 客户满意度调查
98
+
99
+ ```
100
+ 客户满意度调查
101
+
102
+ 请对我们的服务进行评价。
103
+
104
+ 1. 总体满意度[下拉框]
105
+ 非常满意
106
+ 满意
107
+ 一般
108
+ 不满意
109
+
110
+ 2. 工作环境评分[量表题]
111
+ 1~5
112
+
113
+ 3. 最看重的福利[多选题]
114
+ 薪资
115
+ 假期
116
+ 培训
117
+ 健康保险
118
+
119
+ 4. 您的建议[填空题](选填)
120
+ ```
121
+
122
+ ### 英语考试(使用 --type 6)
123
+
124
+ ```
125
+ 英语期中考试
126
+
127
+ 请认真作答。
128
+
129
+ 1. "go"的过去式是什么?[单选题]
130
+ Went
131
+ Gone
132
+ Going
133
+ Goed
134
+
135
+ 2. 以下哪些是正确的英语句子?[多选题]
136
+ She is a student.
137
+ He go to school.
138
+ They are playing.
139
+ I has a book.
140
+
141
+ 3. "太阳从西边升起"这句话是正确的。[判断题]
142
+ 正确
143
+ 错误
144
+
145
+ 4. 请完成句子:She {_} to school every day.[填空题]
146
+
147
+ 5. 填空:The {_} sat on the {_}.[考试多项填空]
148
+ ```
149
+
150
+ 创建命令:`wjx survey create-by-text --text "<上述文本>" --type 6`
151
+
152
+ ## 限制
153
+
154
+ DSL 格式**不支持**以下功能:
155
+ - 分支逻辑(跳题规则)
156
+ - 验证规则(正则、长度限制)
157
+ - 评分权重
158
+ - 随机化设置
159
+
160
+ 这些功能需要使用 JSON 格式通过 `wjx survey create --questions <json>` 创建。详见 [survey-commands.md](survey-commands.md)。
@@ -0,0 +1,102 @@
1
+ # Question Types Reference
2
+
3
+ Complete mapping of q_type and q_subtype codes used in `wjx survey create --questions <json>`.
4
+
5
+ ## Main Types (q_type)
6
+
7
+ | q_type | Name | Has Subtypes |
8
+ |--------|------|-------------|
9
+ | 1 | Page Break | No |
10
+ | 2 | Paragraph/Section | No |
11
+ | 3 | Single Choice | Yes |
12
+ | 4 | Multiple Choice | Yes |
13
+ | 5 | Fill-in | Yes |
14
+ | 6 | Multi-fill | Yes |
15
+ | 7 | Matrix | Yes |
16
+ | 8 | File Upload | Yes |
17
+ | 9 | Weight | No |
18
+ | 10 | Slider | No |
19
+
20
+ ## All Subtypes (q_subtype)
21
+
22
+ ### Single Choice (q_type=3)
23
+ | q_subtype | Name | DSL Label |
24
+ |-----------|------|-----------|
25
+ | 3 | Standard single choice | [单选题] (default, can omit) |
26
+ | 301 | Dropdown | [下拉框] |
27
+ | 302 | Scale/Likert | [量表题] |
28
+ | 303 | Scoring single choice | [评分单选] |
29
+ | 304 | Scenario | [情景题] |
30
+ | 305 | True/False | [判断题] |
31
+
32
+ ### Multiple Choice (q_type=4)
33
+ | q_subtype | Name | DSL Label |
34
+ |-----------|------|-----------|
35
+ | 4 | Standard multiple choice | [多选题] |
36
+ | 401 | Scoring multiple choice | [评分多选] |
37
+ | 402 | Sort/Ranking | [排序题] |
38
+ | 403 | Commodity/Product | [商品题] |
39
+
40
+ ### Fill-in (q_type=5)
41
+ | q_subtype | Name | DSL Label |
42
+ |-----------|------|-----------|
43
+ | 5 | Standard fill-in / Essay | [填空题] / [简答题] |
44
+ | 501 | Multi-level dropdown | [多级下拉题] |
45
+
46
+ ### Multi-fill (q_type=6)
47
+ | q_subtype | Name | DSL Label | Note |
48
+ |-----------|------|-----------|------|
49
+ | 6 | Standard multi-fill | [多项填空题] | q_title must contain {_} |
50
+ | 601 | Exam multi-fill | [考试多项填空] | q_title must contain {_} |
51
+ | 602 | Exam cloze | [考试完形填空] | q_title must contain {_} |
52
+
53
+ ### Matrix (q_type=7)
54
+ | q_subtype | Name | DSL Label |
55
+ |-----------|------|-----------|
56
+ | 7 | Generic matrix | [矩阵题] |
57
+ | 701 | Matrix scale | [矩阵量表题] |
58
+ | 702 | Matrix single choice | [矩阵单选题] |
59
+ | 703 | Matrix multiple choice | [矩阵多选题] |
60
+ | 704 | Matrix fill-in | [矩阵填空题] |
61
+ | 705 | Matrix slider | - |
62
+ | 706 | Matrix numeric | - |
63
+ | 707 | Table fill-in | - |
64
+ | 708 | Table dropdown | - |
65
+ | 709 | Table combo | - |
66
+ | 710 | Table auto-increment | - |
67
+ | 711 | Multi-file | - |
68
+ | 712 | Multi-essay | - |
69
+
70
+ ### File Upload (q_type=8)
71
+ | q_subtype | Name | DSL Label |
72
+ |-----------|------|-----------|
73
+ | 8 | File upload | [文件上传] |
74
+ | 801 | Drawing/Signature | [绘图题] |
75
+
76
+ ## Exam Survey Notes
77
+
78
+ For exam surveys, set survey type (`--type 6` or `atype=6`). The SAME q_type/q_subtype codes are used -- the distinction is at the survey level:
79
+
80
+ | Exam Question | Configuration |
81
+ |--------------|---------------|
82
+ | Exam single choice | atype=6, q_type=3, q_subtype=3 |
83
+ | Exam multiple choice | atype=6, q_type=4, q_subtype=4 |
84
+ | Exam fill-in | atype=6, q_type=5, q_subtype=5 |
85
+ | Exam multi-fill | q_type=6, q_subtype=601 |
86
+ | Exam cloze | q_type=6, q_subtype=602 |
87
+
88
+ ## Survey Types (atype)
89
+
90
+ | atype | Name | API Creatable |
91
+ |-------|------|--------------|
92
+ | 1 | Survey (调查) | Yes |
93
+ | 2 | Assessment (测评) | Yes |
94
+ | 3 | Vote (投票) | Yes |
95
+ | 4 | 360 Assessment | No |
96
+ | 5 | 360 (no assessment) | No |
97
+ | 6 | Exam (考试) | Yes |
98
+ | 7 | Form (表单) | Yes |
99
+ | 8 | User System | No |
100
+ | 9 | Teaching Evaluation | No |
101
+ | 10 | Scale (量表) | No |
102
+ | 11 | Democratic Review | No |
@@ -0,0 +1,164 @@
1
+ # Response Commands Reference
2
+
3
+ > **全参数访问**: 以下列出的是 CLI 显式 flags。SDK 支持的额外参数可通过 `--stdin` 传入 JSON。
4
+
5
+ ## wjx response query
6
+
7
+ 查询答卷明细数据,支持分页、时间范围、条件筛选。
8
+
9
+ ```bash
10
+ wjx response query --vid 12345
11
+ wjx response query --vid 12345 --page_size 50 --sort 1 --begin_time 1700000000000
12
+ ```
13
+
14
+ | Flag | 必填 | 说明 |
15
+ |------|------|------|
16
+ | `--vid <n>` | 是 | 问卷编号 |
17
+ | `--page_index <n>` | 否 | 页码(默认 1) |
18
+ | `--page_size <n>` | 否 | 每页数量(1-50,默认 10) |
19
+ | `--sort <n>` | 否 | 0=升序, 1=降序 |
20
+ | `--min_index <n>` | 否 | 最小答卷序号,返回 > 此序号的答卷 |
21
+ | `--jid <s>` | 否 | 答卷编号,逗号分隔(最多 50) |
22
+ | `--sojumpparm <s>` | 否 | 自定义链接参数,逗号分隔(最多 50) |
23
+ | `--qid <s>` | 否 | 指定返回的题目编号,逗号分隔(最多 50) |
24
+ | `--begin_time <n>` | 否 | 开始时间(Unix 毫秒时间戳) |
25
+ | `--end_time <n>` | 否 | 结束时间(Unix 毫秒时间戳) |
26
+ | `--file_view_expires <n>` | 否 | 文件链接有效期(小时,默认 1) |
27
+ | `--query_note` | 否 | 包含标注信息 |
28
+ | `--distinct_user` | 否 | 每用户只返回最新答卷 |
29
+ | `--distinct_sojumpparm` | 否 | 每自定义参数只返回最新答卷 |
30
+ | `--conds <json>` | 否 | 题目查询条件 JSON(最多 2 个,AND 关系) |
31
+
32
+ **--stdin 额外参数**: `valid`(是否有效答卷,默认 true)
33
+
34
+ ### submitdata 编码格式
35
+
36
+ 答卷数据使用编码格式 `题号$答案}题号$答案`:
37
+
38
+ | 分隔符 | 含义 |
39
+ |--------|------|
40
+ | `}` | 题目之间分隔 |
41
+ | `$` | 题号与答案分隔 |
42
+ | `\|` | 多选选项之间分隔 |
43
+
44
+ 示例:
45
+ - 单选:`1$1`(第1题选第1个选项)
46
+ - 多选:`2$1|3`(第2题选第1和第3个选项)
47
+ - 填空:`3$答案文本`
48
+ - 量表:`4$8`(第4题选8分)
49
+
50
+ ## wjx response report
51
+
52
+ 获取统计报告(频次、均值、汇总)。**建议作为数据分析的第一步**。
53
+
54
+ ```bash
55
+ wjx response report --vid 12345
56
+ wjx response report --vid 12345 --begin_time 1700000000000 --end_time 1700100000000
57
+ ```
58
+
59
+ | Flag | 必填 | 说明 |
60
+ |------|------|------|
61
+ | `--vid <n>` | 是 | 问卷编号 |
62
+ | `--min_index <n>` | 否 | 最小答卷序号 |
63
+ | `--jid <s>` | 否 | 答卷编号,逗号分隔(最多 50) |
64
+ | `--sojumpparm <s>` | 否 | 自定义链接参数 |
65
+ | `--begin_time <n>` | 否 | 开始时间(Unix 毫秒时间戳) |
66
+ | `--end_time <n>` | 否 | 结束时间(Unix 毫秒时间戳) |
67
+ | `--distinct_user` | 否 | 每用户只取最新答卷 |
68
+ | `--distinct_sojumpparm` | 否 | 每自定义参数只取最新 |
69
+ | `--conds <json>` | 否 | 题目查询条件 JSON |
70
+
71
+ **--stdin 额外参数**: `valid`(是否有效答卷,默认 true)
72
+
73
+ ## wjx response download
74
+
75
+ 批量下载答卷。超过 3000 条自动转异步任务,需用 taskid 轮询。
76
+
77
+ ```bash
78
+ wjx response download --vid 12345
79
+ wjx response download --vid 12345 --suffix 1 # SAV 格式
80
+ wjx response download --vid 12345 --taskid "abc123" # 轮询异步任务
81
+ ```
82
+
83
+ | Flag | 必填 | 说明 |
84
+ |------|------|------|
85
+ | `--vid <n>` | 是 | 问卷编号 |
86
+ | `--taskid <s>` | 否 | 异步任务 ID(轮询状态用) |
87
+ | `--query_count <n>` | 否 | 最大答卷条数 |
88
+ | `--begin_time <n>` | 否 | 开始时间(Unix 毫秒时间戳) |
89
+ | `--end_time <n>` | 否 | 结束时间(Unix 毫秒时间戳) |
90
+ | `--min_index <n>` | 否 | 最小答卷序号 |
91
+ | `--qid <s>` | 否 | 指定题目,逗号分隔(最多 50) |
92
+ | `--sort <n>` | 否 | 0=升序, 1=降序 |
93
+ | `--query_type <n>` | 否 | 0=按文本, 1=按分数, 2=按序号 |
94
+ | `--suffix <n>` | 否 | 格式:0=CSV(默认), 1=SAV, 2=Word |
95
+ | `--query_record` | 否 | 仅查询参与作答记录 |
96
+
97
+ **--stdin 额外参数**: `valid`(是否有效答卷)
98
+
99
+ ## wjx response submit
100
+
101
+ 提交答卷(代填/数据导入)。
102
+
103
+ ```bash
104
+ wjx response submit --vid 12345 --submitdata "1\$1}2\$hello" --inputcosttime 30
105
+ ```
106
+
107
+ | Flag | 必填 | 说明 |
108
+ |------|------|------|
109
+ | `--vid <n>` | 是 | 问卷编号 |
110
+ | `--inputcosttime <n>` | 是 | 填写耗时(秒),必须 >1 否则视为机器提交 |
111
+ | `--submitdata <s>` | 是 | 答卷数据,格式:`题号$答案}题号$答案` |
112
+ | `--udsid <n>` | 否 | 自定义来源编号 |
113
+ | `--sojumpparm <s>` | 否 | 自定义链接参数 |
114
+ | `--submittime <s>` | 否 | 提交时间(日期时间字符串,默认当前) |
115
+
116
+ ## wjx response modify
117
+
118
+ 修改答卷。当前仅支持修改考试主观题分数。
119
+
120
+ ```bash
121
+ wjx response modify --vid 12345 --jid 67890 --answers '{"10000":"85","20000":"90"}'
122
+ ```
123
+
124
+ | Flag | 必填 | 说明 |
125
+ |------|------|------|
126
+ | `--vid <n>` | 是 | 问卷编号 |
127
+ | `--jid <n>` | 是 | 答卷编号 |
128
+ | `--answers <json>` | 是 | 分数 JSON:`{"题号":"分数"}`。**重要**:题号是内部编号(q_index × 10000),如第1题=10000,第2题=20000 |
129
+
130
+ ## wjx response clear
131
+
132
+ 清空答卷数据(**不可逆!**)。
133
+
134
+ ```bash
135
+ wjx response clear --username admin --vid 12345 --reset_to_zero
136
+ ```
137
+
138
+ | Flag | 必填 | 说明 |
139
+ |------|------|------|
140
+ | `--username <s>` | 是 | 用户名 |
141
+ | `--vid <n>` | 是 | 问卷编号 |
142
+ | `--reset_to_zero` | 否 | 将答卷序号重置为 0 |
143
+
144
+ ## wjx response count
145
+
146
+ 获取答卷总数。
147
+
148
+ ```bash
149
+ wjx response count --vid 12345
150
+ ```
151
+
152
+ | Flag | 必填 | 说明 |
153
+ |------|------|------|
154
+ | `--vid <n>` | 是 | 问卷编号 |
155
+
156
+ 输出格式:`{ "result": true, "data": { "vid": N, "total_count": N, "join_times": N } }`
157
+
158
+ ## 其他 Response 命令
159
+
160
+ | 命令 | 说明 |
161
+ |------|------|
162
+ | `wjx response realtime --vid N` | 实时队列查询(需白名单),可选 `--count N` |
163
+ | `wjx response winners --vid N` | 中奖者信息,可选 `--atype N`(0=其他/1=红包/-1=不限) `--awardstatus N`(0=未发/1=已发) `--page_index N` `--page_size N` |
164
+ | `wjx response 360-report --vid N` | 360度报告下载(异步:首次返回 taskid,再次调用 `--taskid <id>` 轮询) |
@@ -0,0 +1,194 @@
1
+ # Survey Commands Reference
2
+
3
+ > **全参数访问**: CLI 的显式 flags 是常用参数的子集。要使用 SDK 支持的全部参数,可通过 `--stdin` 传入 JSON:
4
+ > ```bash
5
+ > echo '{"vid":12345,"get_questions":true,"get_items":true,"format":"dsl"}' | wjx survey get --stdin
6
+ > ```
7
+
8
+ ## wjx survey create
9
+
10
+ 创建新问卷。
11
+
12
+ ```bash
13
+ wjx survey create --title "标题" --type 1 --description "描述" --questions '<JSON>'
14
+ wjx survey create --title "标题" --source_vid 12345 # 复制已有问卷
15
+ ```
16
+
17
+ | Flag | 必填 | 说明 |
18
+ |------|------|------|
19
+ | `--title <s>` | 是 | 问卷标题 |
20
+ | `--type <n>` | 新建时是 | 1=调查, 2=测评, 3=投票, 6=考试, 7=表单 |
21
+ | `--description <s>` | 新建时是 | 问卷描述 |
22
+ | `--questions <json>` | 新建时是 | 题目 JSON 数组(格式见下方) |
23
+ | `--source_vid <s>` | 复制时是 | 源问卷编号(跳过 type/description/questions) |
24
+ | `--publish` | 否 | 创建后立即发布 |
25
+
26
+ **--stdin 可用的额外参数**: `creater`(创建者子账号), `compress_img`(压缩图片), `is_string`(原始格式)
27
+
28
+ ### 题目 JSON 格式
29
+
30
+ ```json
31
+ [{
32
+ "q_index": 1,
33
+ "q_type": 3,
34
+ "q_subtype": 3,
35
+ "q_title": "题目文本",
36
+ "is_requir": true,
37
+ "items": [
38
+ {"q_index": 1, "item_index": 1, "item_title": "选项A"},
39
+ {"q_index": 1, "item_index": 2, "item_title": "选项B"}
40
+ ]
41
+ }]
42
+ ```
43
+
44
+ **重要规则**:
45
+ - `q_subtype` 每题必填
46
+ - `q_title` 中不要包含题型标签(如[单选题]),题型由 q_type/q_subtype 决定
47
+ - 考试问卷设 `--type 6`,题目使用相同的 q_type 编码
48
+ - 多项填空(q_type=6)的 q_title 必须包含 `{_}` 占位符
49
+
50
+ 完整 q_type/q_subtype 编码见 [question-types.md](question-types.md)。
51
+
52
+ ## wjx survey create-by-text
53
+
54
+ 用 DSL 文本创建问卷(**推荐 AI Agent 使用**)。
55
+
56
+ ```bash
57
+ wjx survey create-by-text --text "标题\n\n1. 题目[单选题]\n选项A\n选项B"
58
+ wjx survey create-by-text --file survey.txt
59
+ cat survey.txt | wjx survey create-by-text --stdin
60
+ wjx survey create-by-text --text "..." --dry-run # 预览解析结果
61
+ ```
62
+
63
+ | Flag | 必填 | 说明 |
64
+ |------|------|------|
65
+ | `--text <s>` | 三选一 | DSL 文本内容 |
66
+ | `--file <path>` | 三选一 | 从文件读取 DSL |
67
+ | `--stdin` | 三选一 | 从 stdin 读取 |
68
+ | `--type <n>` | 否 | 问卷类型(默认 1=调查,考试用 6) |
69
+ | `--publish` | 否 | 创建后发布 |
70
+ | `--creater <s>` | 否 | 创建者子账号 |
71
+ | `--dry-run` | 否 | 预览解析结果,不实际创建 |
72
+
73
+ DSL 语法详见 [dsl-syntax.md](dsl-syntax.md)。
74
+
75
+ ## wjx survey list
76
+
77
+ 查询问卷列表。
78
+
79
+ ```bash
80
+ wjx survey list
81
+ wjx survey list --name_like "满意度" --status 1
82
+ ```
83
+
84
+ | Flag | 说明 |
85
+ |------|------|
86
+ | `--page <n>` | 页码 |
87
+ | `--page_size <n>` | 每页数量 |
88
+ | `--status <n>` | 状态筛选:0=未发布, 1=已发布, 2=已暂停, 3=已删除, 5=被审核 |
89
+ | `--atype <n>` | 类型筛选:1=调查, 2=测评, 3=投票, 6=考试, 7=表单 |
90
+ | `--name_like <s>` | 名称模糊搜索(最多 10 字符) |
91
+
92
+ **--stdin 可用的额外参数**: `sort`(0-5 排序), `creater`(子账号筛选), `folder`(文件夹), `is_xingbiao`(星标), `query_all`(全部问卷), `verify_status`(审核状态), `time_type`(0=创建/1=开始/2=结束), `begin_time`/`end_time`(毫秒时间戳)
93
+
94
+ ## wjx survey get
95
+
96
+ 获取问卷详情。
97
+
98
+ ```bash
99
+ wjx survey get --vid 12345
100
+ # 获取 DSL 文本格式(通过 --stdin)
101
+ echo '{"vid":12345,"format":"dsl"}' | wjx survey get --stdin
102
+ ```
103
+
104
+ | Flag | 必填 | 说明 |
105
+ |------|------|------|
106
+ | `--vid <n>` | 是 | 问卷编号 |
107
+
108
+ **--stdin 可用的额外参数**: `format`("json"/"dsl"/"both"), `get_questions`(获取题目), `get_items`(获取选项), `get_exts`(获取问答选项), `get_setting`(获取题目设置), `get_page_cut`(获取分页信息), `get_tags`(获取标签), `showtitle`(返回标题)
109
+
110
+ ## wjx survey export-text
111
+
112
+ 导出问卷为人类可读的 DSL 文本。
113
+
114
+ ```bash
115
+ wjx survey export-text --vid 12345
116
+ wjx survey export-text --vid 12345 --raw # 纯文本输出(不包裹 JSON)
117
+ ```
118
+
119
+ | Flag | 必填 | 说明 |
120
+ |------|------|------|
121
+ | `--vid <n>` | 是 | 问卷编号 |
122
+ | `--raw` | 否 | 输出纯文本而非 JSON |
123
+
124
+ ## wjx survey status
125
+
126
+ 修改问卷发布状态。
127
+
128
+ ```bash
129
+ wjx survey status --vid 12345 --state 1 # 发布
130
+ wjx survey status --vid 12345 --state 2 # 暂停
131
+ wjx survey status --vid 12345 --state 3 # 删除
132
+ ```
133
+
134
+ | Flag | 必填 | 说明 |
135
+ |------|------|------|
136
+ | `--vid <n>` | 是 | 问卷编号 |
137
+ | `--state <n>` | 是 | 1=发布, 2=暂停, 3=删除 |
138
+
139
+ ## wjx survey settings / update-settings
140
+
141
+ ```bash
142
+ wjx survey settings --vid 12345
143
+ wjx survey update-settings --vid 12345 --time_setting '{"exam_min_seconds":60,"exam_max_seconds":3600}'
144
+ ```
145
+
146
+ 获取设置只需 `--vid`。更新设置的 flags:
147
+
148
+ | Flag | 说明 |
149
+ |------|------|
150
+ | `--vid <n>` | 问卷编号(必填) |
151
+ | `--api_setting <json>` | API 限制:`{"max_times":100,"pass_score":60,"pass_no_allow":true}` |
152
+ | `--after_submit_setting <json>` | 提交后跳转:`{"type":1,"url":"https://..."}` (type: 0=感谢信息, 1=跳转) |
153
+ | `--msg_setting <json>` | 数据推送:`{"push_url":"https://...","quick_post":true,"retry":true}` |
154
+ | `--sojumpparm_setting <json>` | 自定义参数:`{"params":[{"name":"source","type":0}]}` |
155
+ | `--time_setting <json>` | 时间设置:`{"start_time":"2026-04-01 00:00","exam_min_seconds":60}` |
156
+
157
+ ## wjx survey delete
158
+
159
+ 删除问卷(**不可逆**)。
160
+
161
+ ```bash
162
+ wjx survey delete --vid 12345 --username admin
163
+ wjx survey delete --vid 12345 --username admin --completely # 彻底删除,不进回收站
164
+ ```
165
+
166
+ | Flag | 必填 | 说明 |
167
+ |------|------|------|
168
+ | `--vid <n>` | 是 | 问卷编号 |
169
+ | `--username <s>` | 是 | 用户名 |
170
+ | `--completely` | 否 | 彻底删除(不进回收站) |
171
+
172
+ ## wjx survey url
173
+
174
+ 生成问卷创建/编辑链接(无需 API 签名)。
175
+
176
+ ```bash
177
+ wjx survey url --mode create --name "新问卷"
178
+ wjx survey url --mode edit --activity 12345
179
+ ```
180
+
181
+ | Flag | 必填 | 说明 |
182
+ |------|------|------|
183
+ | `--mode <s>` | 否 | "create"(默认)或 "edit" |
184
+ | `--name <s>` | 否 | 问卷名称(create 模式) |
185
+ | `--activity <n>` | edit 模式是 | 问卷编号(edit 模式) |
186
+
187
+ ## 其他 Survey 命令
188
+
189
+ | 命令 | 用法 |
190
+ |------|------|
191
+ | `wjx survey tags --username user` | 获取题目标签列表 |
192
+ | `wjx survey tag-details --tag_id 123` | 获取标签下的题目详情 |
193
+ | `wjx survey clear-bin --username user` | 清空回收站(可选 `--vid N` 指定问卷) |
194
+ | `wjx survey upload --file_name img.png --file <base64>` | 上传文件(png/jpg/gif/bmp/webp,~4MB) |