@cloudbase/cli 2.0.3 → 2.0.5

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 (217) hide show
  1. package/.editorconfig +9 -9
  2. package/.eslintignore +7 -7
  3. package/.eslintrc +35 -35
  4. package/.prettierrc.js +29 -29
  5. package/.vscode/launch.json +16 -16
  6. package/LICENSE +5 -5
  7. package/README.md +35 -35
  8. package/bin/cloudbase.js +5 -5
  9. package/changelog.md +6 -6
  10. package/jest.config.js +17 -17
  11. package/lib/commands/account/login.js +18 -18
  12. package/lib/commands/run/list.js +2 -3
  13. package/lib/commands/storage/storage.js +1 -1
  14. package/lib/env/login.js +7 -7
  15. package/lib/utils/tcbrApi/callTcbrApi.js +2 -2
  16. package/package.json +3 -3
  17. package/post-install.js +61 -61
  18. package/runtime/nodejs/bootstrap.js +255 -255
  19. package/runtime/nodejs/runtime.js +183 -183
  20. package/src/auth/index.ts +1 -1
  21. package/src/auth/login.ts +91 -91
  22. package/src/auth/logout.ts +7 -7
  23. package/src/commands/account/index.ts +2 -2
  24. package/src/commands/account/login.ts +192 -192
  25. package/src/commands/account/logout.ts +24 -24
  26. package/src/commands/env/base.ts +90 -90
  27. package/src/commands/env/create.ts +92 -92
  28. package/src/commands/env/domain.ts +186 -186
  29. package/src/commands/env/index.ts +4 -4
  30. package/src/commands/env/login.ts +235 -235
  31. package/src/commands/framework/index.ts +124 -124
  32. package/src/commands/functions/alias/getRoute.ts +76 -76
  33. package/src/commands/functions/alias/index.ts +2 -2
  34. package/src/commands/functions/alias/setRoute.ts +82 -82
  35. package/src/commands/functions/code-download.ts +100 -100
  36. package/src/commands/functions/code-update.ts +62 -62
  37. package/src/commands/functions/concurrency/delete.ts +45 -45
  38. package/src/commands/functions/concurrency/index.ts +2 -2
  39. package/src/commands/functions/concurrency/list.ts +58 -58
  40. package/src/commands/functions/concurrency/set.ts +47 -47
  41. package/src/commands/functions/config-update.ts +76 -76
  42. package/src/commands/functions/copy.ts +62 -62
  43. package/src/commands/functions/delete.ts +79 -79
  44. package/src/commands/functions/deploy.ts +293 -293
  45. package/src/commands/functions/detail.ts +138 -138
  46. package/src/commands/functions/index.ts +16 -16
  47. package/src/commands/functions/invoke.ts +121 -121
  48. package/src/commands/functions/layer/bind.ts +182 -182
  49. package/src/commands/functions/layer/common.ts +8 -8
  50. package/src/commands/functions/layer/create.ts +49 -49
  51. package/src/commands/functions/layer/delete.ts +73 -73
  52. package/src/commands/functions/layer/download.ts +92 -92
  53. package/src/commands/functions/layer/index.ts +7 -7
  54. package/src/commands/functions/layer/list.ts +94 -94
  55. package/src/commands/functions/layer/sort.ts +76 -76
  56. package/src/commands/functions/list.ts +68 -68
  57. package/src/commands/functions/log.ts +148 -148
  58. package/src/commands/functions/run.ts +249 -249
  59. package/src/commands/functions/trigger-create.ts +79 -79
  60. package/src/commands/functions/trigger-delete.ts +105 -105
  61. package/src/commands/functions/version/index.ts +1 -1
  62. package/src/commands/functions/version/list.ts +73 -73
  63. package/src/commands/functions/version/publish.ts +43 -43
  64. package/src/commands/gateway/create.ts +109 -109
  65. package/src/commands/gateway/delete.ts +81 -81
  66. package/src/commands/gateway/domain.ts +159 -159
  67. package/src/commands/gateway/index.ts +5 -5
  68. package/src/commands/gateway/list.ts +76 -76
  69. package/src/commands/gateway/switch.ts +107 -107
  70. package/src/commands/helpers/index.ts +2 -2
  71. package/src/commands/helpers/init.ts +431 -431
  72. package/src/commands/helpers/new.ts +117 -117
  73. package/src/commands/helpers/open.ts +67 -67
  74. package/src/commands/hosting/hosting.ts +360 -360
  75. package/src/commands/index.ts +13 -13
  76. package/src/commands/lowcode/app.ts +34 -34
  77. package/src/commands/lowcode/comps.ts +322 -322
  78. package/src/commands/lowcode/index.ts +1 -1
  79. package/src/commands/lowcode/utils.ts +24 -24
  80. package/src/commands/run/image/index.ts +4 -4
  81. package/src/commands/run/list.ts +2 -3
  82. package/src/commands/run/standalonegateway/common.ts +7 -7
  83. package/src/commands/run/standalonegateway/create.ts +85 -85
  84. package/src/commands/run/standalonegateway/destroy.ts +59 -59
  85. package/src/commands/run/standalonegateway/index.ts +4 -4
  86. package/src/commands/run/standalonegateway/list.ts +53 -53
  87. package/src/commands/run/standalonegateway/package.ts +62 -62
  88. package/src/commands/run/standalonegateway/turn.ts +63 -63
  89. package/src/commands/run/version/index.ts +4 -4
  90. package/src/commands/smart.ts +132 -132
  91. package/src/commands/storage/storage.ts +464 -464
  92. package/src/commands/third/thirdAttach.ts +49 -49
  93. package/src/completion/index.ts +13 -13
  94. package/src/decorators/captureError.ts +25 -25
  95. package/src/decorators/constants.ts +12 -12
  96. package/src/decorators/deprecate.ts +25 -25
  97. package/src/decorators/guard.ts +42 -42
  98. package/src/decorators/index.ts +7 -7
  99. package/src/decorators/injectParams.ts +54 -54
  100. package/src/decorators/params/common.ts +28 -28
  101. package/src/decorators/params/index.ts +35 -35
  102. package/src/env/domain.ts +33 -33
  103. package/src/env/index.ts +63 -63
  104. package/src/env/login.ts +80 -80
  105. package/src/error.ts +36 -36
  106. package/src/function/alias.ts +43 -43
  107. package/src/function/base.ts +253 -253
  108. package/src/function/code.ts +55 -55
  109. package/src/function/concurrency.ts +57 -57
  110. package/src/function/create.ts +78 -78
  111. package/src/function/delete.ts +42 -42
  112. package/src/function/index.ts +10 -10
  113. package/src/function/layer/attach.ts +68 -68
  114. package/src/function/layer/create.ts +63 -63
  115. package/src/function/layer/delete.ts +21 -21
  116. package/src/function/layer/download.ts +54 -54
  117. package/src/function/layer/index.ts +7 -7
  118. package/src/function/layer/list.ts +32 -32
  119. package/src/function/layer/sort.ts +24 -24
  120. package/src/function/trigger.ts +97 -97
  121. package/src/function/update.ts +35 -35
  122. package/src/function/version.ts +38 -38
  123. package/src/function/vpc.ts +22 -22
  124. package/src/gateway/index.ts +137 -137
  125. package/src/hosting.ts +212 -212
  126. package/src/index.ts +13 -13
  127. package/src/logger.ts +17 -17
  128. package/src/run/create.ts +23 -23
  129. package/src/run/delete.ts +15 -15
  130. package/src/run/image/build.ts +36 -36
  131. package/src/run/image/delete.ts +13 -13
  132. package/src/run/image/index.ts +3 -3
  133. package/src/run/image/info.ts +26 -26
  134. package/src/run/list.ts +29 -29
  135. package/src/run/repo.ts +24 -24
  136. package/src/run/standalonegateway/create.ts +24 -24
  137. package/src/run/standalonegateway/destroy.ts +19 -19
  138. package/src/run/standalonegateway/index.ts +4 -4
  139. package/src/run/standalonegateway/list.ts +74 -74
  140. package/src/run/standalonegateway/package/list.ts +24 -24
  141. package/src/run/standalonegateway/turn/index.ts +1 -1
  142. package/src/run/standalonegateway/turn/off.ts +19 -19
  143. package/src/run/standalonegateway/turn/on.ts +19 -19
  144. package/src/run/version/create.ts +68 -68
  145. package/src/run/version/delete.ts +15 -15
  146. package/src/run/version/index.ts +5 -5
  147. package/src/run/version/list.ts +16 -16
  148. package/src/run/version/modify.ts +16 -16
  149. package/src/run/version/repo.ts +27 -27
  150. package/src/run/version/update.ts +58 -58
  151. package/src/storage.ts +114 -114
  152. package/src/third/index.ts +12 -12
  153. package/src/utils/auth.ts +15 -15
  154. package/src/utils/cli-table.ts +23 -23
  155. package/src/utils/config.ts +39 -39
  156. package/src/utils/env.ts +244 -244
  157. package/src/utils/fs/del.ts +5 -5
  158. package/src/utils/fs/index.ts +71 -71
  159. package/src/utils/function-packer.ts +97 -97
  160. package/src/utils/log.ts +81 -81
  161. package/src/utils/net/cloud-api-request.ts +62 -62
  162. package/src/utils/net/credential.ts +53 -53
  163. package/src/utils/net/index.ts +4 -4
  164. package/src/utils/net/manager-service.ts +36 -36
  165. package/src/utils/net/proxy.ts +6 -6
  166. package/src/utils/notice.ts +28 -28
  167. package/src/utils/output/highlight.ts +5 -5
  168. package/src/utils/output/index.ts +2 -2
  169. package/src/utils/output/link.ts +10 -10
  170. package/src/utils/output/loading.ts +82 -82
  171. package/src/utils/parallel.ts +82 -82
  172. package/src/utils/platform/index.ts +2 -2
  173. package/src/utils/platform/mac.ts +21 -21
  174. package/src/utils/platform/os.ts +64 -64
  175. package/src/utils/platform/port.ts +10 -10
  176. package/src/utils/progress-bar.ts +38 -38
  177. package/src/utils/prompt/select.ts +59 -59
  178. package/src/utils/reporter/agree.ts +20 -20
  179. package/src/utils/reporter/download.ts +26 -26
  180. package/src/utils/reporter/index.ts +3 -3
  181. package/src/utils/reporter/usage.ts +20 -20
  182. package/src/utils/store/auth.ts +49 -49
  183. package/src/utils/store/common.ts +8 -8
  184. package/src/utils/store/db.ts +68 -68
  185. package/src/utils/store/index.ts +4 -4
  186. package/src/utils/store/usage.ts +12 -12
  187. package/src/utils/tcbrApi/callTcbrApi.ts +1 -1
  188. package/src/utils/template.ts +170 -170
  189. package/src/utils/tools/encoding.ts +8 -8
  190. package/src/utils/tools/index.ts +4 -4
  191. package/src/utils/tools/object.ts +33 -33
  192. package/src/utils/tools/time.ts +38 -38
  193. package/src/utils/tools/uid.ts +19 -19
  194. package/templates/html/loginFail.html +90 -90
  195. package/templates/html/loginSuccess.html +86 -86
  196. package/templates/server/node/_gitignore +54 -54
  197. package/templates/server/node/cloudbaserc.json +10 -10
  198. package/templates/server/node/index.js +5 -5
  199. package/templates/server/node/package.json +9 -9
  200. package/tsconfig.json +19 -19
  201. package/tsconfig.test.json +13 -13
  202. package/.vscode/settings.json +0 -3
  203. package/lib/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.js +0 -268
  204. package/lib/utils/tcbrApi/tcbr-cloud-api/error.js +0 -17
  205. package/lib/utils/tcbrApi/tcbr-cloud-api/index.js +0 -17
  206. package/lib/utils/tcbrApi/tcbr-cloud-api/request.js +0 -40
  207. package/lib/utils/tcbrApi/tcbr-cloud-api-request.js +0 -61
  208. package/src/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.ts +0 -363
  209. package/src/utils/tcbrApi/tcbr-cloud-api/error.ts +0 -30
  210. package/src/utils/tcbrApi/tcbr-cloud-api/index.ts +0 -1
  211. package/src/utils/tcbrApi/tcbr-cloud-api/request.ts +0 -28
  212. package/src/utils/tcbrApi/tcbr-cloud-api-request.ts +0 -66
  213. package/types/utils/tcbrApi/tcbr-cloud-api/cloud-api-service.d.ts +0 -51
  214. package/types/utils/tcbrApi/tcbr-cloud-api/error.d.ts +0 -20
  215. package/types/utils/tcbrApi/tcbr-cloud-api/index.d.ts +0 -1
  216. package/types/utils/tcbrApi/tcbr-cloud-api/request.d.ts +0 -4
  217. package/types/utils/tcbrApi/tcbr-cloud-api-request.d.ts +0 -9
@@ -1,235 +1,235 @@
1
- import inquirer from 'inquirer'
2
- import { Command, ICommand } from '../common'
3
- import { CloudBaseError } from '../../error'
4
- import { printHorizontalTable } from '../../utils'
5
- import { InjectParams, EnvId, Log, Logger } from '../../decorators'
6
- import { getLoginConfigList, updateLoginConfig, createLoginConfig } from '../../env'
7
-
8
- const platformMap = {
9
- 'WECHAT-OPEN': '微信开放平台',
10
- 'WECHAT-PUBLIC': '微信公众平台',
11
- ANONYMOUS: '匿名登录'
12
- }
13
-
14
- @ICommand()
15
- export class ListLoginCommand extends Command {
16
- get options() {
17
- return {
18
- cmd: 'env',
19
- childCmd: {
20
- cmd: 'login',
21
- desc: '登录授权管理'
22
- },
23
- childSubCmd: 'list',
24
- deprecateCmd: 'env:login:list',
25
- options: [
26
- {
27
- flags: '-e, --envId <envId>',
28
- desc: '环境 Id'
29
- }
30
- ],
31
- desc: '列出环境登录配置'
32
- }
33
- }
34
-
35
- @InjectParams()
36
- async execute(@EnvId() envId) {
37
- const configList = await getLoginConfigList({
38
- envId
39
- })
40
-
41
- const head = ['平台', '平台 Id', '创建时间', '状态']
42
- const tableData = configList.map((item) => [
43
- platformMap[item.Platform] ? platformMap[item.Platform] : item.Platform,
44
- item.PlatformId,
45
- item.CreateTime,
46
- item.Status === 'ENABLE' ? '启用' : '禁用'
47
- ])
48
- printHorizontalTable(head, tableData)
49
- }
50
- }
51
-
52
- @ICommand()
53
- export class CreateLoginCommand extends Command {
54
- get options() {
55
- return {
56
- cmd: 'env',
57
- childCmd: 'login',
58
- childSubCmd: 'create',
59
- deprecateCmd: 'env:login:create',
60
- options: [
61
- {
62
- flags: '-e, --envId <envId>',
63
- desc: '环境 Id'
64
- }
65
- ],
66
- desc: '添加环境登录方式配置'
67
- }
68
- }
69
-
70
- @InjectParams()
71
- async execute(@EnvId() envId, @Log() log: Logger) {
72
- const { platform } = await inquirer.prompt([
73
- {
74
- type: 'list',
75
- name: 'platform',
76
- choices: [
77
- {
78
- name: '微信公众平台',
79
- value: 'WECHAT-PUBLIC'
80
- },
81
- {
82
- name: '微信开放平台',
83
- value: 'WECHAT-OPEN'
84
- },
85
- {
86
- name: '匿名登录',
87
- value: 'ANONYMOUS'
88
- }
89
- ],
90
- message: '请选择登录方式:',
91
- default: 'WECHAT-PUBLIC'
92
- }
93
- ])
94
-
95
- let appId
96
- let appSecret
97
-
98
- // 微信登录,需要配置 AppId 和 AppSecret
99
- if (platform === 'WECHAT-OPEN' || platform === 'WECHAT-PUBLIC') {
100
- const input = await inquirer.prompt([
101
- {
102
- type: 'input',
103
- name: 'appId',
104
- message: '请输入 AppId:'
105
- },
106
- {
107
- type: 'input',
108
- name: 'appSecret',
109
- message: '请输入 AppSecret:'
110
- }
111
- ])
112
-
113
- appId = input?.appId
114
- appSecret = input?.appSecret
115
-
116
- if (!appId || !appSecret) {
117
- throw new CloudBaseError('appId 和 appSecret 不能为空!')
118
- }
119
- }
120
-
121
- // 匿名登录
122
- if (platform === 'ANONYMOUS') {
123
- appId = 'anonymous'
124
- appSecret = 'anonymous'
125
- }
126
-
127
- try {
128
- await createLoginConfig({
129
- envId,
130
- appId,
131
- appSecret,
132
- platform
133
- })
134
-
135
- log.success('创建登录方式成功!')
136
- } catch (e) {
137
- if (e.code === 'ResourceInUse') {
138
- log.error('登录方式已开启')
139
- }
140
- }
141
- }
142
- }
143
-
144
- @ICommand()
145
- export class UpdateLogin extends Command {
146
- get options() {
147
- return {
148
- cmd: 'env',
149
- childCmd: 'login',
150
- childSubCmd: 'update',
151
- deprecateCmd: 'env:login:update',
152
- options: [
153
- {
154
- flags: '-e, --envId <envId>',
155
- desc: '环境 Id'
156
- }
157
- ],
158
- desc: '更新环境登录方式配置'
159
- }
160
- }
161
-
162
- @InjectParams()
163
- async execute(@EnvId() envId, @Log() log: Logger) {
164
- const configList = await getLoginConfigList({
165
- envId
166
- })
167
-
168
- const configChoices = configList.map((item) => ({
169
- name: `${platformMap[item.Platform]}:${item.PlatformId} [${
170
- item.Status === 'ENABLE' ? '启用' : '禁用'
171
- }]`,
172
- value: item,
173
- short: `${platformMap[item.Platform]}:${item.PlatformId}`
174
- }))
175
-
176
- const { config, status } = await inquirer.prompt([
177
- {
178
- type: 'list',
179
- name: 'config',
180
- choices: configChoices,
181
- message: '请选择需要配置的条目:'
182
- },
183
- {
184
- type: 'list',
185
- name: 'status',
186
- choices: [
187
- {
188
- name: '启用',
189
- value: 'ENABLE'
190
- },
191
- {
192
- name: '禁用',
193
- value: 'DISABLE'
194
- }
195
- ],
196
- message: '请选择登录方式状态:',
197
- default: '启用'
198
- }
199
- ])
200
-
201
- const platform = config.Platform
202
-
203
- let appId
204
- let appSecret
205
-
206
- if (platform === 'WECHAT-OPEN' || platform === 'WECHAT-PUBLIC') {
207
- const input = await inquirer.prompt([
208
- {
209
- type: 'input',
210
- name: 'appId',
211
- message: '请输入 AppId(配置状态时可不填):'
212
- },
213
- {
214
- type: 'input',
215
- name: 'appSecret',
216
- message: '请输入 AppSecret(配置状态时可不填):'
217
- }
218
- ])
219
-
220
- appId = input?.appId
221
- appSecret = input?.appSecret
222
- }
223
-
224
- // 检查平台配置是否存在,若存在则更新配置,否则创建配置
225
- await updateLoginConfig({
226
- envId,
227
- configId: config.Id,
228
- appId,
229
- appSecret,
230
- status
231
- })
232
-
233
- log.success('更新登录方式成功!')
234
- }
235
- }
1
+ import inquirer from 'inquirer'
2
+ import { Command, ICommand } from '../common'
3
+ import { CloudBaseError } from '../../error'
4
+ import { printHorizontalTable } from '../../utils'
5
+ import { InjectParams, EnvId, Log, Logger } from '../../decorators'
6
+ import { getLoginConfigList, updateLoginConfig, createLoginConfig } from '../../env'
7
+
8
+ const platformMap = {
9
+ 'WECHAT-OPEN': '微信开放平台',
10
+ 'WECHAT-PUBLIC': '微信公众平台',
11
+ ANONYMOUS: '匿名登录'
12
+ }
13
+
14
+ @ICommand()
15
+ export class ListLoginCommand extends Command {
16
+ get options() {
17
+ return {
18
+ cmd: 'env',
19
+ childCmd: {
20
+ cmd: 'login',
21
+ desc: '登录授权管理'
22
+ },
23
+ childSubCmd: 'list',
24
+ deprecateCmd: 'env:login:list',
25
+ options: [
26
+ {
27
+ flags: '-e, --envId <envId>',
28
+ desc: '环境 Id'
29
+ }
30
+ ],
31
+ desc: '列出环境登录配置'
32
+ }
33
+ }
34
+
35
+ @InjectParams()
36
+ async execute(@EnvId() envId) {
37
+ const configList = await getLoginConfigList({
38
+ envId
39
+ })
40
+
41
+ const head = ['平台', '平台 Id', '创建时间', '状态']
42
+ const tableData = configList.map((item) => [
43
+ platformMap[item.Platform] ? platformMap[item.Platform] : item.Platform,
44
+ item.PlatformId,
45
+ item.CreateTime,
46
+ item.Status === 'ENABLE' ? '启用' : '禁用'
47
+ ])
48
+ printHorizontalTable(head, tableData)
49
+ }
50
+ }
51
+
52
+ @ICommand()
53
+ export class CreateLoginCommand extends Command {
54
+ get options() {
55
+ return {
56
+ cmd: 'env',
57
+ childCmd: 'login',
58
+ childSubCmd: 'create',
59
+ deprecateCmd: 'env:login:create',
60
+ options: [
61
+ {
62
+ flags: '-e, --envId <envId>',
63
+ desc: '环境 Id'
64
+ }
65
+ ],
66
+ desc: '添加环境登录方式配置'
67
+ }
68
+ }
69
+
70
+ @InjectParams()
71
+ async execute(@EnvId() envId, @Log() log: Logger) {
72
+ const { platform } = await inquirer.prompt([
73
+ {
74
+ type: 'list',
75
+ name: 'platform',
76
+ choices: [
77
+ {
78
+ name: '微信公众平台',
79
+ value: 'WECHAT-PUBLIC'
80
+ },
81
+ {
82
+ name: '微信开放平台',
83
+ value: 'WECHAT-OPEN'
84
+ },
85
+ {
86
+ name: '匿名登录',
87
+ value: 'ANONYMOUS'
88
+ }
89
+ ],
90
+ message: '请选择登录方式:',
91
+ default: 'WECHAT-PUBLIC'
92
+ }
93
+ ])
94
+
95
+ let appId
96
+ let appSecret
97
+
98
+ // 微信登录,需要配置 AppId 和 AppSecret
99
+ if (platform === 'WECHAT-OPEN' || platform === 'WECHAT-PUBLIC') {
100
+ const input = await inquirer.prompt([
101
+ {
102
+ type: 'input',
103
+ name: 'appId',
104
+ message: '请输入 AppId:'
105
+ },
106
+ {
107
+ type: 'input',
108
+ name: 'appSecret',
109
+ message: '请输入 AppSecret:'
110
+ }
111
+ ])
112
+
113
+ appId = input?.appId
114
+ appSecret = input?.appSecret
115
+
116
+ if (!appId || !appSecret) {
117
+ throw new CloudBaseError('appId 和 appSecret 不能为空!')
118
+ }
119
+ }
120
+
121
+ // 匿名登录
122
+ if (platform === 'ANONYMOUS') {
123
+ appId = 'anonymous'
124
+ appSecret = 'anonymous'
125
+ }
126
+
127
+ try {
128
+ await createLoginConfig({
129
+ envId,
130
+ appId,
131
+ appSecret,
132
+ platform
133
+ })
134
+
135
+ log.success('创建登录方式成功!')
136
+ } catch (e) {
137
+ if (e.code === 'ResourceInUse') {
138
+ log.error('登录方式已开启')
139
+ }
140
+ }
141
+ }
142
+ }
143
+
144
+ @ICommand()
145
+ export class UpdateLogin extends Command {
146
+ get options() {
147
+ return {
148
+ cmd: 'env',
149
+ childCmd: 'login',
150
+ childSubCmd: 'update',
151
+ deprecateCmd: 'env:login:update',
152
+ options: [
153
+ {
154
+ flags: '-e, --envId <envId>',
155
+ desc: '环境 Id'
156
+ }
157
+ ],
158
+ desc: '更新环境登录方式配置'
159
+ }
160
+ }
161
+
162
+ @InjectParams()
163
+ async execute(@EnvId() envId, @Log() log: Logger) {
164
+ const configList = await getLoginConfigList({
165
+ envId
166
+ })
167
+
168
+ const configChoices = configList.map((item) => ({
169
+ name: `${platformMap[item.Platform]}:${item.PlatformId} [${
170
+ item.Status === 'ENABLE' ? '启用' : '禁用'
171
+ }]`,
172
+ value: item,
173
+ short: `${platformMap[item.Platform]}:${item.PlatformId}`
174
+ }))
175
+
176
+ const { config, status } = await inquirer.prompt([
177
+ {
178
+ type: 'list',
179
+ name: 'config',
180
+ choices: configChoices,
181
+ message: '请选择需要配置的条目:'
182
+ },
183
+ {
184
+ type: 'list',
185
+ name: 'status',
186
+ choices: [
187
+ {
188
+ name: '启用',
189
+ value: 'ENABLE'
190
+ },
191
+ {
192
+ name: '禁用',
193
+ value: 'DISABLE'
194
+ }
195
+ ],
196
+ message: '请选择登录方式状态:',
197
+ default: '启用'
198
+ }
199
+ ])
200
+
201
+ const platform = config.Platform
202
+
203
+ let appId
204
+ let appSecret
205
+
206
+ if (platform === 'WECHAT-OPEN' || platform === 'WECHAT-PUBLIC') {
207
+ const input = await inquirer.prompt([
208
+ {
209
+ type: 'input',
210
+ name: 'appId',
211
+ message: '请输入 AppId(配置状态时可不填):'
212
+ },
213
+ {
214
+ type: 'input',
215
+ name: 'appSecret',
216
+ message: '请输入 AppSecret(配置状态时可不填):'
217
+ }
218
+ ])
219
+
220
+ appId = input?.appId
221
+ appSecret = input?.appSecret
222
+ }
223
+
224
+ // 检查平台配置是否存在,若存在则更新配置,否则创建配置
225
+ await updateLoginConfig({
226
+ envId,
227
+ configId: config.Id,
228
+ appId,
229
+ appSecret,
230
+ status
231
+ })
232
+
233
+ log.success('更新登录方式成功!')
234
+ }
235
+ }