foco-cli 0.1.5 → 0.1.8

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 (79) hide show
  1. package/dist/commands/activation-codes.d.ts +14 -0
  2. package/dist/commands/activation-codes.d.ts.map +1 -0
  3. package/dist/commands/activation-codes.js +29 -0
  4. package/dist/commands/activation-codes.js.map +1 -0
  5. package/dist/commands/admins.d.ts +12 -0
  6. package/dist/commands/admins.d.ts.map +1 -0
  7. package/dist/commands/admins.js +35 -0
  8. package/dist/commands/admins.js.map +1 -0
  9. package/dist/commands/changelogs.d.ts +12 -0
  10. package/dist/commands/changelogs.d.ts.map +1 -0
  11. package/dist/commands/changelogs.js +31 -0
  12. package/dist/commands/changelogs.js.map +1 -0
  13. package/dist/commands/dashboard.d.ts +11 -0
  14. package/dist/commands/dashboard.d.ts.map +1 -0
  15. package/dist/commands/dashboard.js +27 -0
  16. package/dist/commands/dashboard.js.map +1 -0
  17. package/dist/commands/exams.d.ts +22 -0
  18. package/dist/commands/exams.d.ts.map +1 -0
  19. package/dist/commands/exams.js +58 -0
  20. package/dist/commands/exams.js.map +1 -0
  21. package/dist/commands/feedback.d.ts +17 -0
  22. package/dist/commands/feedback.d.ts.map +1 -0
  23. package/dist/commands/feedback.js +43 -0
  24. package/dist/commands/feedback.js.map +1 -0
  25. package/dist/commands/help-articles.d.ts +28 -0
  26. package/dist/commands/help-articles.d.ts.map +1 -0
  27. package/dist/commands/help-articles.js +67 -0
  28. package/dist/commands/help-articles.js.map +1 -0
  29. package/dist/commands/knowledge-base.d.ts +28 -0
  30. package/dist/commands/knowledge-base.d.ts.map +1 -0
  31. package/dist/commands/knowledge-base.js +67 -0
  32. package/dist/commands/knowledge-base.js.map +1 -0
  33. package/dist/commands/knowledge-points.d.ts +29 -0
  34. package/dist/commands/knowledge-points.d.ts.map +1 -0
  35. package/dist/commands/knowledge-points.js +64 -0
  36. package/dist/commands/knowledge-points.js.map +1 -0
  37. package/dist/commands/login.d.ts +2 -2
  38. package/dist/commands/login.d.ts.map +1 -1
  39. package/dist/commands/login.js +14 -4
  40. package/dist/commands/login.js.map +1 -1
  41. package/dist/commands/orders.d.ts +9 -0
  42. package/dist/commands/orders.d.ts.map +1 -0
  43. package/dist/commands/orders.js +15 -0
  44. package/dist/commands/orders.js.map +1 -0
  45. package/dist/commands/products.d.ts +22 -0
  46. package/dist/commands/products.d.ts.map +1 -0
  47. package/dist/commands/products.js +54 -0
  48. package/dist/commands/products.js.map +1 -0
  49. package/dist/commands/projects.d.ts +24 -0
  50. package/dist/commands/projects.d.ts.map +1 -0
  51. package/dist/commands/projects.js +61 -0
  52. package/dist/commands/projects.js.map +1 -0
  53. package/dist/commands/resource-packs.d.ts +26 -0
  54. package/dist/commands/resource-packs.d.ts.map +1 -0
  55. package/dist/commands/resource-packs.js +64 -0
  56. package/dist/commands/resource-packs.js.map +1 -0
  57. package/dist/commands/stats.d.ts +2 -0
  58. package/dist/commands/stats.d.ts.map +1 -0
  59. package/dist/commands/stats.js +6 -0
  60. package/dist/commands/stats.js.map +1 -0
  61. package/dist/commands/syllabi.d.ts +26 -0
  62. package/dist/commands/syllabi.d.ts.map +1 -0
  63. package/dist/commands/syllabi.js +65 -0
  64. package/dist/commands/syllabi.js.map +1 -0
  65. package/dist/commands/threads.d.ts +13 -0
  66. package/dist/commands/threads.d.ts.map +1 -0
  67. package/dist/commands/threads.js +33 -0
  68. package/dist/commands/threads.js.map +1 -0
  69. package/dist/commands/users.d.ts +7 -0
  70. package/dist/commands/users.d.ts.map +1 -0
  71. package/dist/commands/users.js +13 -0
  72. package/dist/commands/users.js.map +1 -0
  73. package/dist/index.js +385 -69
  74. package/dist/index.js.map +1 -1
  75. package/dist/lib/auth.d.ts +7 -8
  76. package/dist/lib/auth.d.ts.map +1 -1
  77. package/dist/lib/auth.js +26 -80
  78. package/dist/lib/auth.js.map +1 -1
  79. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ export declare function handleUsersList(options: {
2
+ status?: string;
3
+ keyword?: string;
4
+ page?: string;
5
+ pageSize?: string;
6
+ }): Promise<void>;
7
+ //# sourceMappingURL=users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/commands/users.ts"],"names":[],"mappings":"AAcA,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhB"}
@@ -0,0 +1,13 @@
1
+ import { apiCall, outputJSON } from "../lib/api.js";
2
+ export async function handleUsersList(options) {
3
+ const { data } = await apiCall("/api/admin/v1/users", {
4
+ params: {
5
+ status: options.status,
6
+ keyword: options.keyword,
7
+ page: options.page,
8
+ pageSize: options.pageSize,
9
+ },
10
+ });
11
+ outputJSON({ status: "ok", data });
12
+ }
13
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/commands/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAcpD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAKrC;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAsB,qBAAqB,EAAE;QACzE,MAAM,EAAE;YACN,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IAEH,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC"}
package/dist/index.js CHANGED
@@ -7,6 +7,23 @@ import { handleLogin, handleStatus, handleLogout } from "./commands/login.js";
7
7
  import { handleBanksList, handleBankShow } from "./commands/banks.js";
8
8
  import { handleQuestionsList, handleQuestionShow } from "./commands/questions.js";
9
9
  import { handleIssuesList, handleIssueShow, handleIssueCreate, handleIssueUpdate, handleIssueComment } from "./commands/issues.js";
10
+ import { handleChangelogsList, handleChangelogCreate, handleChangelogUpdate } from "./commands/changelogs.js";
11
+ import { handleExamsList, handleExamShow, handleExamCreate, handleExamUpdate, handleExamDelete } from "./commands/exams.js";
12
+ import { handleSyllabiList, handleSyllabusShow, handleSyllabusCreate, handleSyllabusUpdate, handleSyllabusDelete } from "./commands/syllabi.js";
13
+ import { handleUsersList } from "./commands/users.js";
14
+ import { handleOrdersList } from "./commands/orders.js";
15
+ import { handleProductsList, handleProductShow, handleProductCreate, handleProductUpdate, handleProductDelete } from "./commands/products.js";
16
+ import { handleProjectsList, handleProjectShow, handleProjectCreate, handleProjectUpdate, handleProjectDelete } from "./commands/projects.js";
17
+ import { handleThreadsList, handleThreadShow, handleThreadUpdate, handleThreadReply } from "./commands/threads.js";
18
+ import { handleFeedbackList, handleFeedbackShow, handleFeedbackCreate, handleFeedbackUpdate } from "./commands/feedback.js";
19
+ import { handleStats } from "./commands/stats.js";
20
+ import { handleDashboardOverview, handleDashboardLearning, handleDashboardProducts } from "./commands/dashboard.js";
21
+ import { handleKnowledgePointsList, handleKnowledgePointCreate, handleKnowledgePointUpdate, handleKnowledgePointDelete } from "./commands/knowledge-points.js";
22
+ import { handleHelpArticlesList, handleHelpArticleShow, handleHelpArticleCreate, handleHelpArticleUpdate, handleHelpArticleDelete } from "./commands/help-articles.js";
23
+ import { handleKnowledgeBaseList, handleKnowledgeBaseShow, handleKnowledgeBaseCreate, handleKnowledgeBaseUpdate, handleKnowledgeBaseDelete } from "./commands/knowledge-base.js";
24
+ import { handleActivationCodesList, handleActivationCodeBatchCreate } from "./commands/activation-codes.js";
25
+ import { handleResourcePacksList, handleResourcePackShow, handleResourcePackCreate, handleResourcePackUpdate, handleResourcePackDelete } from "./commands/resource-packs.js";
26
+ import { handleAdminsList, handleAdminShow, handleAdminCreate, handleAdminUpdate } from "./commands/admins.js";
10
27
  const __dirname = dirname(fileURLToPath(import.meta.url));
11
28
  const pkg = JSON.parse(readFileSync(join(__dirname, "..", "package.json"), "utf-8"));
12
29
  const program = new Command();
@@ -18,9 +35,9 @@ program
18
35
  const auth = program.command("auth").description("认证管理");
19
36
  auth
20
37
  .command("login")
21
- .description("登录到 FOCO 服务器(浏览器授权)")
38
+ .description("登录到 FOCO 服务器")
22
39
  .argument("[apiUrl]", "API 服务器地址")
23
- .option("-t, --token <token>", "使用已有的 API token(跳过浏览器)")
40
+ .option("-t, --token <token>", "使用已有的 JWT token")
24
41
  .option("-d, --dev", "使用本地开发服务器 (http://localhost:3001)")
25
42
  .action(async (apiUrl, options) => {
26
43
  await handleLogin(apiUrl, options?.token, options?.dev);
@@ -40,14 +57,13 @@ auth
40
57
  // Alias: foco login = foco auth login
41
58
  program
42
59
  .command("login")
43
- .description("登录到 FOCO 服务器(浏览器授权)")
60
+ .description("登录到 FOCO 服务器")
44
61
  .argument("[apiUrl]", "API 服务器地址")
45
- .option("-t, --token <token>", "使用已有的 API token")
62
+ .option("-t, --token <token>", "使用已有的 JWT token")
46
63
  .option("-d, --dev", "使用本地开发服务器 (http://localhost:3001)")
47
64
  .action(async (apiUrl, options) => {
48
65
  await handleLogin(apiUrl, options?.token, options?.dev);
49
66
  });
50
- // Top-level status (AI tools often look for this)
51
67
  program
52
68
  .command("status")
53
69
  .description("查看当前登录状态")
@@ -56,102 +72,402 @@ program
56
72
  });
57
73
  // ── Banks (题库) ──────────────────────────────────────────────
58
74
  const banks = program.command("banks").description("题库管理");
59
- banks
60
- .command("list")
61
- .description("查看题库列表")
75
+ banks.command("list").description("查看题库列表")
62
76
  .option("--status <status>", "按状态筛选 (draft|published|archived)")
63
77
  .option("--exam-id <id>", "按考试筛选")
64
78
  .option("--keyword <keyword>", "按名称关键词搜索")
65
79
  .option("--page <page>", "页码", "1")
66
80
  .option("--page-size <size>", "每页数量", "20")
67
- .action(async (options) => {
68
- await handleBanksList(options);
69
- });
70
- banks
71
- .command("show <bankId>")
72
- .description("查看题库详情")
73
- .action(async (bankId) => {
74
- await handleBankShow(bankId);
75
- });
81
+ .action(async (o) => { await handleBanksList(o); });
82
+ banks.command("show <bankId>").description("查看题库详情")
83
+ .action(async (id) => { await handleBankShow(id); });
76
84
  // ── Questions (题目) ──────────────────────────────────────────
77
85
  const questions = program.command("questions").description("题目管理");
78
- questions
79
- .command("list")
80
- .description("查看题目列表")
86
+ questions.command("list").description("查看题目列表")
81
87
  .option("--bank-id <id>", "按题库筛选")
82
88
  .option("--type <type>", "按题型筛选")
83
89
  .option("--difficulty <level>", "按难度筛选 (1-5)")
84
90
  .option("--keyword <keyword>", "按题干关键词搜索")
85
91
  .option("--page <page>", "页码", "1")
86
92
  .option("--page-size <size>", "每页数量", "20")
87
- .action(async (options) => {
88
- await handleQuestionsList(options);
89
- });
90
- questions
91
- .command("show <questionId>")
92
- .description("查看题目详情")
93
- .action(async (questionId) => {
94
- await handleQuestionShow(questionId);
95
- });
93
+ .action(async (o) => { await handleQuestionsList(o); });
94
+ questions.command("show <questionId>").description("查看题目详情")
95
+ .action(async (id) => { await handleQuestionShow(id); });
96
96
  // ── Issues (工单) ─────────────────────────────────────────────
97
97
  const issues = program.command("issues").description("工单管理");
98
- issues
99
- .command("list")
100
- .description("查看工单列表")
101
- .option("--status <status>", "按状态筛选 (backlog|todo|in_progress|done|cancelled)")
102
- .option("--priority <priority>", "按优先级筛选 (none|urgent|high|medium|low)")
103
- .option("--assignee-id <id>", "按指派人筛选 (使用 me 表示当前用户)")
98
+ issues.command("list").description("查看工单列表")
99
+ .option("--status <status>", "按状态筛选")
100
+ .option("--priority <priority>", "按优先级筛选")
101
+ .option("--assignee-id <id>", "按指派人筛选")
104
102
  .option("--project-id <id>", "按项目筛选")
105
103
  .option("--labels <labels>", "按标签筛选(逗号分隔)")
106
- .option("--source <source>", "按来源筛选")
107
104
  .option("--search <keyword>", "搜索标题和描述")
108
105
  .option("--page <page>", "页码", "1")
109
106
  .option("--page-size <size>", "每页数量", "20")
110
- .action(async (options) => {
111
- await handleIssuesList(options);
112
- });
113
- issues
114
- .command("show <id>")
115
- .description("查看工单详情")
116
- .action(async (id) => {
117
- await handleIssueShow(id);
118
- });
119
- issues
120
- .command("create")
121
- .description("创建工单")
107
+ .action(async (o) => { await handleIssuesList(o); });
108
+ issues.command("show <id>").description("查看工单详情")
109
+ .action(async (id) => { await handleIssueShow(id); });
110
+ issues.command("create").description("创建工单")
122
111
  .requiredOption("--title <title>", "工单标题")
123
112
  .option("--description <desc>", "工单描述")
124
- .option("--priority <priority>", "优先级 (none|urgent|high|medium|low)")
113
+ .option("--priority <priority>", "优先级")
125
114
  .option("--labels <labels>", "标签(逗号分隔)")
126
115
  .option("--project-id <id>", "所属项目 ID")
127
116
  .option("--assignee-id <id>", "指派人 ID")
128
117
  .option("--parent-id <id>", "父工单 ID")
129
118
  .option("--due-date <date>", "截止日期 (ISO 8601)")
130
- .action(async (options) => {
131
- await handleIssueCreate(options);
132
- });
133
- issues
134
- .command("update <id>")
135
- .description("更新工单")
136
- .option("--status <status>", "状态 (backlog|todo|in_progress|done|cancelled)")
137
- .option("--priority <priority>", "优先级 (none|urgent|high|medium|low)")
138
- .option("--assignee-id <id>", "指派人 ID(空字符串取消指派)")
139
- .option("--project-id <id>", "所属项目 ID(空字符串取消关联)")
119
+ .action(async (o) => { await handleIssueCreate(o); });
120
+ issues.command("update <id>").description("更新工单")
121
+ .option("--status <status>", "状态")
122
+ .option("--priority <priority>", "优先级")
123
+ .option("--assignee-id <id>", "指派人 ID")
124
+ .option("--project-id <id>", "所属项目 ID")
140
125
  .option("--labels <labels>", "标签(逗号分隔)")
141
126
  .option("--title <title>", "标题")
142
127
  .option("--description <desc>", "描述")
143
- .option("--due-date <date>", "截止日期(空字符串清除)")
128
+ .option("--due-date <date>", "截止日期")
144
129
  .option("--sort-order <n>", "排序序号")
145
- .action(async (id, options) => {
146
- await handleIssueUpdate(id, options);
147
- });
148
- issues
149
- .command("comment <id>")
150
- .description("添加评论")
130
+ .action(async (id, o) => { await handleIssueUpdate(id, o); });
131
+ issues.command("comment <id>").description("添加评论")
151
132
  .requiredOption("-m, --message <text>", "评论内容")
152
- .action(async (id, options) => {
153
- await handleIssueComment(id, options.message);
154
- });
133
+ .action(async (id, o) => { await handleIssueComment(id, o.message); });
134
+ // ── Changelogs (开发日志) ─────────────────────────────────────
135
+ const changelogs = program.command("changelogs").description("开发日志管理");
136
+ changelogs.command("list").description("查看开发日志列表")
137
+ .option("--page <page>", "页码", "1")
138
+ .option("--page-size <size>", "每页数量", "20")
139
+ .action(async (o) => { await handleChangelogsList(o); });
140
+ changelogs.command("create").description("创建开发日志")
141
+ .requiredOption("--date <date>", "日期 (YYYY-MM-DD)")
142
+ .option("--content <markdown>", "日志内容(Markdown)")
143
+ .action(async (o) => { await handleChangelogCreate(o); });
144
+ changelogs.command("update <id>").description("更新开发日志")
145
+ .requiredOption("--content <markdown>", "日志内容(Markdown)")
146
+ .action(async (id, o) => { await handleChangelogUpdate(id, o); });
147
+ // ── Exams (考试) ──────────────────────────────────────────────
148
+ const exams = program.command("exams").description("考试管理");
149
+ exams.command("list").description("查看考试列表")
150
+ .option("--page <page>", "页码", "1")
151
+ .option("--page-size <size>", "每页数量", "20")
152
+ .action(async (o) => { await handleExamsList(o); });
153
+ exams.command("show <id>").description("查看考试详情")
154
+ .action(async (id) => { await handleExamShow(id); });
155
+ exams.command("create").description("创建考试")
156
+ .requiredOption("--code <code>", "考试编码")
157
+ .requiredOption("--name <name>", "考试名称")
158
+ .option("--short-name <name>", "简称")
159
+ .option("--description <desc>", "描述")
160
+ .option("--sort-order <n>", "排序")
161
+ .option("--is-visible <bool>", "是否可见 (true/false)")
162
+ .action(async (o) => { await handleExamCreate(o); });
163
+ exams.command("update <id>").description("更新考试")
164
+ .option("--name <name>", "考试名称")
165
+ .option("--short-name <name>", "简称")
166
+ .option("--description <desc>", "描述")
167
+ .option("--sort-order <n>", "排序")
168
+ .option("--is-visible <bool>", "是否可见 (true/false)")
169
+ .action(async (id, o) => { await handleExamUpdate(id, o); });
170
+ exams.command("delete <id>").description("删除考试")
171
+ .action(async (id) => { await handleExamDelete(id); });
172
+ // ── Syllabi (大纲) ────────────────────────────────────────────
173
+ const syllabi = program.command("syllabi").description("大纲管理");
174
+ syllabi.command("list").description("查看大纲列表")
175
+ .option("--exam-id <id>", "按考试筛选")
176
+ .option("--page <page>", "页码", "1")
177
+ .option("--page-size <size>", "每页数量", "20")
178
+ .action(async (o) => { await handleSyllabiList(o); });
179
+ syllabi.command("show <id>").description("查看大纲详情")
180
+ .action(async (id) => { await handleSyllabusShow(id); });
181
+ syllabi.command("create").description("创建大纲")
182
+ .requiredOption("--exam-id <id>", "考试 ID")
183
+ .requiredOption("--name <name>", "大纲名称")
184
+ .option("--version-label <label>", "版本标签")
185
+ .option("--description <desc>", "描述")
186
+ .option("--sort-order <n>", "排序")
187
+ .option("--is-trial <bool>", "是否试用 (true/false)")
188
+ .option("--is-active <bool>", "是否启用 (true/false)")
189
+ .action(async (o) => { await handleSyllabusCreate(o); });
190
+ syllabi.command("update <id>").description("更新大纲")
191
+ .option("--exam-id <id>", "考试 ID")
192
+ .option("--name <name>", "大纲名称")
193
+ .option("--version-label <label>", "版本标签")
194
+ .option("--description <desc>", "描述")
195
+ .option("--sort-order <n>", "排序")
196
+ .option("--is-trial <bool>", "是否试用")
197
+ .option("--is-active <bool>", "是否启用")
198
+ .action(async (id, o) => { await handleSyllabusUpdate(id, o); });
199
+ syllabi.command("delete <id>").description("删除大纲")
200
+ .action(async (id) => { await handleSyllabusDelete(id); });
201
+ // ── Users (用户) ──────────────────────────────────────────────
202
+ program.command("users").description("用户管理")
203
+ .command("list").description("查看用户列表")
204
+ .option("--status <status>", "按状态筛选")
205
+ .option("--keyword <keyword>", "搜索昵称/手机号/openid")
206
+ .option("--page <page>", "页码", "1")
207
+ .option("--page-size <size>", "每页数量", "20")
208
+ .action(async (o) => { await handleUsersList(o); });
209
+ // ── Orders (订单) ─────────────────────────────────────────────
210
+ program.command("orders").description("订单管理")
211
+ .command("list").description("查看订单列表")
212
+ .option("--status <status>", "按状态筛选")
213
+ .option("--order-type <type>", "按订单类型筛选")
214
+ .option("--user-id <id>", "按用户筛选")
215
+ .option("--keyword <keyword>", "搜索订单号")
216
+ .option("--page <page>", "页码", "1")
217
+ .option("--page-size <size>", "每页数量", "20")
218
+ .action(async (o) => { await handleOrdersList(o); });
219
+ // ── Products (商品) ───────────────────────────────────────────
220
+ const products = program.command("products").description("商品管理");
221
+ products.command("list").description("查看商品列表")
222
+ .option("--product-type <type>", "按类型筛选 (bank|material)")
223
+ .option("--status <status>", "按状态筛选")
224
+ .option("--keyword <keyword>", "搜索标题")
225
+ .option("--page <page>", "页码", "1")
226
+ .option("--page-size <size>", "每页数量", "20")
227
+ .action(async (o) => { await handleProductsList(o); });
228
+ products.command("show <id>").description("查看商品详情")
229
+ .action(async (id) => { await handleProductShow(id); });
230
+ products.command("create").description("创建商品")
231
+ .requiredOption("--product-type <type>", "类型 (bank|material)")
232
+ .requiredOption("--ref-id <id>", "关联 ID")
233
+ .requiredOption("--title <title>", "商品标题")
234
+ .option("--cover-url <url>", "封面 URL")
235
+ .option("--status <status>", "状态 (active|inactive)")
236
+ .action(async (o) => { await handleProductCreate(o); });
237
+ products.command("update <id>").description("更新商品")
238
+ .option("--title <title>", "商品标题")
239
+ .option("--cover-url <url>", "封面 URL")
240
+ .option("--status <status>", "状态")
241
+ .action(async (id, o) => { await handleProductUpdate(id, o); });
242
+ products.command("delete <id>").description("删除商品")
243
+ .action(async (id) => { await handleProductDelete(id); });
244
+ // ── Projects (项目) ───────────────────────────────────────────
245
+ const projects = program.command("projects").description("项目管理");
246
+ projects.command("list").description("查看项目列表")
247
+ .option("--page <page>", "页码", "1")
248
+ .option("--page-size <size>", "每页数量", "20")
249
+ .action(async (o) => { await handleProjectsList(o); });
250
+ projects.command("show <id>").description("查看项目详情")
251
+ .action(async (id) => { await handleProjectShow(id); });
252
+ projects.command("create").description("创建项目")
253
+ .requiredOption("--name <name>", "项目名称")
254
+ .requiredOption("--slug <slug>", "项目标识 (a-z0-9-)")
255
+ .option("--description <desc>", "描述")
256
+ .option("--icon <icon>", "图标")
257
+ .option("--color <color>", "颜色")
258
+ .option("--lead-id <id>", "负责人 ID")
259
+ .action(async (o) => { await handleProjectCreate(o); });
260
+ projects.command("update <id>").description("更新项目")
261
+ .option("--name <name>", "项目名称")
262
+ .option("--slug <slug>", "项目标识")
263
+ .option("--description <desc>", "描述")
264
+ .option("--icon <icon>", "图标")
265
+ .option("--color <color>", "颜色")
266
+ .option("--lead-id <id>", "负责人 ID")
267
+ .action(async (id, o) => { await handleProjectUpdate(id, o); });
268
+ projects.command("delete <id>").description("删除项目")
269
+ .action(async (id) => { await handleProjectDelete(id); });
270
+ // ── Threads (讨论) ────────────────────────────────────────────
271
+ const threads = program.command("threads").description("讨论管理");
272
+ threads.command("list").description("查看讨论列表")
273
+ .option("--status <status>", "按状态筛选")
274
+ .option("--page <page>", "页码", "1")
275
+ .option("--page-size <size>", "每页数量", "20")
276
+ .action(async (o) => { await handleThreadsList(o); });
277
+ threads.command("show <id>").description("查看讨论详情")
278
+ .action(async (id) => { await handleThreadShow(id); });
279
+ threads.command("update <id>").description("更新讨论状态")
280
+ .requiredOption("--status <status>", "状态 (resolved|closed)")
281
+ .action(async (id, o) => { await handleThreadUpdate(id, o); });
282
+ threads.command("reply <id>").description("回复讨论")
283
+ .requiredOption("-m, --message <text>", "回复内容")
284
+ .action(async (id, o) => { await handleThreadReply(id, { content: o.message }); });
285
+ // ── Feedback (反馈) ───────────────────────────────────────────
286
+ const feedback = program.command("feedback").description("反馈管理");
287
+ feedback.command("list").description("查看反馈列表")
288
+ .option("--state <state>", "按状态筛选 (open|closed|all)")
289
+ .option("--labels <labels>", "按标签筛选(逗号分隔)")
290
+ .option("--page <page>", "页码", "1")
291
+ .option("--per-page <n>", "每页数量", "20")
292
+ .action(async (o) => { await handleFeedbackList(o); });
293
+ feedback.command("show <number>").description("查看反馈详情")
294
+ .action(async (num) => { await handleFeedbackShow(num); });
295
+ feedback.command("create").description("创建反馈")
296
+ .requiredOption("--title <title>", "标题")
297
+ .option("--description <desc>", "描述")
298
+ .option("--labels <labels>", "标签(逗号分隔)")
299
+ .action(async (o) => { await handleFeedbackCreate(o); });
300
+ feedback.command("update <number>").description("更新反馈")
301
+ .option("--state <state>", "状态 (open|closed)")
302
+ .option("--labels <labels>", "标签(逗号分隔)")
303
+ .action(async (num, o) => { await handleFeedbackUpdate(num, o); });
304
+ // ── Knowledge Points (知识点) ─────────────────────────────────
305
+ const kps = program.command("knowledge-points").description("知识点管理");
306
+ kps.command("list").description("查看知识点列表")
307
+ .option("--bank-id <id>", "按题库筛选")
308
+ .option("--type <type>", "按类型筛选")
309
+ .option("--status <status>", "按状态筛选")
310
+ .option("--keyword <keyword>", "搜索标题")
311
+ .option("--page <page>", "页码", "1")
312
+ .option("--page-size <size>", "每页数量", "20")
313
+ .action(async (o) => { await handleKnowledgePointsList(o); });
314
+ kps.command("create").description("创建知识点")
315
+ .requiredOption("--bank-id <id>", "题库 ID")
316
+ .requiredOption("--type <type>", "类型 (qa|knowledge|summary_note)")
317
+ .requiredOption("--title <title>", "标题")
318
+ .requiredOption("--content <content>", "内容")
319
+ .option("--syllabus-id <id>", "大纲 ID")
320
+ .option("--section-id <id>", "章节 ID")
321
+ .option("--sort-order <n>", "排序")
322
+ .option("--status <status>", "状态")
323
+ .action(async (o) => { await handleKnowledgePointCreate(o); });
324
+ kps.command("update <id>").description("更新知识点")
325
+ .option("--syllabus-id <id>", "大纲 ID")
326
+ .option("--section-id <id>", "章节 ID")
327
+ .option("--type <type>", "类型")
328
+ .option("--title <title>", "标题")
329
+ .option("--content <content>", "内容")
330
+ .option("--sort-order <n>", "排序")
331
+ .option("--status <status>", "状态")
332
+ .action(async (id, o) => { await handleKnowledgePointUpdate(id, o); });
333
+ kps.command("delete <id>").description("删除知识点")
334
+ .action(async (id) => { await handleKnowledgePointDelete(id); });
335
+ // ── Help Articles (帮助文章) ──────────────────────────────────
336
+ const helpArticles = program.command("help-articles").description("帮助文章管理");
337
+ helpArticles.command("list").description("查看文章列表")
338
+ .option("--category <cat>", "按分类筛选")
339
+ .option("--is-published <bool>", "按发布状态筛选")
340
+ .option("--keyword <keyword>", "搜索标题")
341
+ .option("--page <page>", "页码", "1")
342
+ .option("--page-size <size>", "每页数量", "20")
343
+ .action(async (o) => { await handleHelpArticlesList(o); });
344
+ helpArticles.command("show <id>").description("查看文章详情")
345
+ .action(async (id) => { await handleHelpArticleShow(id); });
346
+ helpArticles.command("create").description("创建文章")
347
+ .requiredOption("--title <title>", "标题")
348
+ .requiredOption("--slug <slug>", "URL 标识")
349
+ .option("--content <content>", "内容")
350
+ .option("--summary <summary>", "摘要")
351
+ .option("--category <cat>", "分类")
352
+ .option("--sort-order <n>", "排序")
353
+ .option("--is-published <bool>", "是否发布")
354
+ .action(async (o) => { await handleHelpArticleCreate(o); });
355
+ helpArticles.command("update <id>").description("更新文章")
356
+ .option("--title <title>", "标题")
357
+ .option("--slug <slug>", "URL 标识")
358
+ .option("--content <content>", "内容")
359
+ .option("--summary <summary>", "摘要")
360
+ .option("--category <cat>", "分类")
361
+ .option("--sort-order <n>", "排序")
362
+ .option("--is-published <bool>", "是否发布")
363
+ .action(async (id, o) => { await handleHelpArticleUpdate(id, o); });
364
+ helpArticles.command("delete <id>").description("删除文章")
365
+ .action(async (id) => { await handleHelpArticleDelete(id); });
366
+ // ── Knowledge Base (知识库) ──────────────────────────────────
367
+ const knowledgeBase = program.command("knowledge-base").description("知识库管理");
368
+ knowledgeBase.command("list").description("查看知识库文档列表")
369
+ .option("--category <cat>", "按分类筛选 (culture|product|tech|ops|management|general)")
370
+ .option("--is-published <bool>", "按发布状态筛选")
371
+ .option("--keyword <keyword>", "搜索标题")
372
+ .option("--page <page>", "页码", "1")
373
+ .option("--page-size <size>", "每页数量", "20")
374
+ .action(async (o) => { await handleKnowledgeBaseList(o); });
375
+ knowledgeBase.command("show <id>").description("查看文档详情")
376
+ .action(async (id) => { await handleKnowledgeBaseShow(id); });
377
+ knowledgeBase.command("create").description("创建文档")
378
+ .requiredOption("--title <title>", "标题")
379
+ .requiredOption("--slug <slug>", "URL 标识")
380
+ .option("--category <cat>", "分类 (culture|product|tech|ops|management|general)")
381
+ .option("--content <content>", "内容")
382
+ .option("--tags <tags>", "标签(逗号分隔)")
383
+ .option("--sort-order <n>", "排序")
384
+ .option("--is-published <bool>", "是否发布")
385
+ .action(async (o) => { await handleKnowledgeBaseCreate(o); });
386
+ knowledgeBase.command("update <id>").description("更新文档")
387
+ .option("--title <title>", "标题")
388
+ .option("--slug <slug>", "URL 标识")
389
+ .option("--category <cat>", "分类")
390
+ .option("--content <content>", "内容")
391
+ .option("--tags <tags>", "标签(逗号分隔)")
392
+ .option("--sort-order <n>", "排序")
393
+ .option("--is-published <bool>", "是否发布")
394
+ .action(async (id, o) => { await handleKnowledgeBaseUpdate(id, o); });
395
+ knowledgeBase.command("delete <id>").description("删除文档")
396
+ .action(async (id) => { await handleKnowledgeBaseDelete(id); });
397
+ // ── Activation Codes (激活码) ─────────────────────────────────
398
+ const activationCodes = program.command("activation-codes").description("激活码管理");
399
+ activationCodes.command("list").description("查看激活码列表")
400
+ .option("--batch-no <no>", "按批次筛选")
401
+ .option("--status <status>", "按状态筛选")
402
+ .option("--code <code>", "搜索激活码")
403
+ .option("--page <page>", "页码", "1")
404
+ .option("--page-size <size>", "每页数量", "20")
405
+ .action(async (o) => { await handleActivationCodesList(o); });
406
+ activationCodes.command("create-batch").description("批量生成激活码")
407
+ .requiredOption("--sku-id <id>", "SKU ID")
408
+ .requiredOption("--count <n>", "数量 (1-1000)")
409
+ .option("--batch-no <no>", "批次号")
410
+ .option("--expires-at <date>", "过期时间 (ISO 日期)")
411
+ .action(async (o) => { await handleActivationCodeBatchCreate(o); });
412
+ // ── Resource Packs (资源包) ───────────────────────────────────
413
+ const resourcePacks = program.command("resource-packs").description("资源包管理");
414
+ resourcePacks.command("list").description("查看资源包列表")
415
+ .option("--status <status>", "按状态筛选")
416
+ .option("--bank-id <id>", "按题库筛选")
417
+ .option("--keyword <keyword>", "搜索标题")
418
+ .option("--page <page>", "页码", "1")
419
+ .option("--page-size <size>", "每页数量", "20")
420
+ .action(async (o) => { await handleResourcePacksList(o); });
421
+ resourcePacks.command("show <id>").description("查看资源包详情")
422
+ .action(async (id) => { await handleResourcePackShow(id); });
423
+ resourcePacks.command("create").description("创建资源包")
424
+ .requiredOption("--title <title>", "标题")
425
+ .option("--bank-id <id>", "题库 ID")
426
+ .option("--cover-url <url>", "封面 URL")
427
+ .option("--description <desc>", "描述")
428
+ .option("--status <status>", "状态")
429
+ .option("--sort-order <n>", "排序")
430
+ .action(async (o) => { await handleResourcePackCreate(o); });
431
+ resourcePacks.command("update <id>").description("更新资源包")
432
+ .option("--title <title>", "标题")
433
+ .option("--bank-id <id>", "题库 ID")
434
+ .option("--cover-url <url>", "封面 URL")
435
+ .option("--description <desc>", "描述")
436
+ .option("--status <status>", "状态")
437
+ .option("--sort-order <n>", "排序")
438
+ .action(async (id, o) => { await handleResourcePackUpdate(id, o); });
439
+ resourcePacks.command("delete <id>").description("删除资源包")
440
+ .action(async (id) => { await handleResourcePackDelete(id); });
441
+ // ── Admins (管理员) ───────────────────────────────────────────
442
+ const admins = program.command("admins").description("管理员管理");
443
+ admins.command("list").description("查看管理员列表")
444
+ .action(async () => { await handleAdminsList(); });
445
+ admins.command("show <id>").description("查看管理员详情")
446
+ .action(async (id) => { await handleAdminShow(id); });
447
+ admins.command("create").description("创建管理员")
448
+ .requiredOption("--username <username>", "用户名")
449
+ .requiredOption("--password <password>", "密码")
450
+ .option("--display-name <name>", "展示名称")
451
+ .action(async (o) => { await handleAdminCreate(o); });
452
+ admins.command("update <id>").description("更新管理员")
453
+ .option("--display-name <name>", "展示名称")
454
+ .option("--password <password>", "新密码")
455
+ .action(async (id, o) => { await handleAdminUpdate(id, o); });
456
+ // ── Stats (统计) ──────────────────────────────────────────────
457
+ program.command("stats").description("查看统计数据")
458
+ .action(async () => { await handleStats(); });
459
+ // ── Dashboard (仪表盘) ───────────────────────────────────────
460
+ const dashboard = program.command("dashboard").description("仪表盘数据");
461
+ dashboard.command("overview").description("总览数据")
462
+ .option("--range <range>", "时间范围 (7d|30d)", "7d")
463
+ .action(async (o) => { await handleDashboardOverview(o); });
464
+ dashboard.command("learning").description("学习数据")
465
+ .option("--range <range>", "时间范围 (7d|30d)", "7d")
466
+ .action(async (o) => { await handleDashboardLearning(o); });
467
+ dashboard.command("products").description("商品数据")
468
+ .option("--range <range>", "时间范围 (7d|30d)", "7d")
469
+ .option("--product-type <type>", "商品类型 (bank|material)")
470
+ .action(async (o) => { await handleDashboardProducts(o); });
155
471
  // ── Parse ─────────────────────────────────────────────────────
156
472
  program.parse(process.argv);
157
473
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}