@cloudbase/cli 2.0.0 → 2.0.1

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 (206) 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/bin/tcb.js +6 -4
  10. package/changelog.md +6 -6
  11. package/jest.config.js +17 -17
  12. package/lib/commands/account/login.js +18 -18
  13. package/lib/commands/storage/storage.js +1 -1
  14. package/lib/env/login.js +7 -7
  15. package/lib/run/service/deployPackage.js +6 -4
  16. package/lib/utils/net/http-request.js +4 -4
  17. package/lib/utils/tcbrApi/tcbr-cloud-api/request.js +3 -3
  18. package/package.json +16 -16
  19. package/post-install.js +61 -61
  20. package/runtime/nodejs/bootstrap.js +255 -255
  21. package/runtime/nodejs/runtime.js +183 -183
  22. package/src/auth/index.ts +1 -1
  23. package/src/auth/login.ts +91 -91
  24. package/src/auth/logout.ts +7 -7
  25. package/src/commands/account/index.ts +2 -2
  26. package/src/commands/account/login.ts +192 -192
  27. package/src/commands/account/logout.ts +24 -24
  28. package/src/commands/common.ts +246 -246
  29. package/src/commands/env/base.ts +90 -90
  30. package/src/commands/env/create.ts +92 -92
  31. package/src/commands/env/domain.ts +186 -186
  32. package/src/commands/env/index.ts +4 -4
  33. package/src/commands/env/login.ts +235 -235
  34. package/src/commands/framework/index.ts +124 -124
  35. package/src/commands/functions/alias/getRoute.ts +76 -76
  36. package/src/commands/functions/alias/index.ts +2 -2
  37. package/src/commands/functions/alias/setRoute.ts +82 -82
  38. package/src/commands/functions/code-download.ts +100 -100
  39. package/src/commands/functions/code-update.ts +62 -62
  40. package/src/commands/functions/concurrency/delete.ts +45 -45
  41. package/src/commands/functions/concurrency/index.ts +2 -2
  42. package/src/commands/functions/concurrency/list.ts +58 -58
  43. package/src/commands/functions/concurrency/set.ts +47 -47
  44. package/src/commands/functions/config-update.ts +76 -76
  45. package/src/commands/functions/copy.ts +62 -62
  46. package/src/commands/functions/delete.ts +79 -79
  47. package/src/commands/functions/deploy.ts +293 -293
  48. package/src/commands/functions/detail.ts +138 -138
  49. package/src/commands/functions/index.ts +16 -16
  50. package/src/commands/functions/invoke.ts +121 -121
  51. package/src/commands/functions/layer/bind.ts +182 -182
  52. package/src/commands/functions/layer/common.ts +8 -8
  53. package/src/commands/functions/layer/create.ts +49 -49
  54. package/src/commands/functions/layer/delete.ts +73 -73
  55. package/src/commands/functions/layer/download.ts +92 -92
  56. package/src/commands/functions/layer/index.ts +7 -7
  57. package/src/commands/functions/layer/list.ts +94 -94
  58. package/src/commands/functions/layer/sort.ts +76 -76
  59. package/src/commands/functions/list.ts +68 -68
  60. package/src/commands/functions/log.ts +148 -148
  61. package/src/commands/functions/run.ts +249 -249
  62. package/src/commands/functions/trigger-create.ts +79 -79
  63. package/src/commands/functions/trigger-delete.ts +105 -105
  64. package/src/commands/functions/version/index.ts +1 -1
  65. package/src/commands/functions/version/list.ts +73 -73
  66. package/src/commands/functions/version/publish.ts +43 -43
  67. package/src/commands/gateway/create.ts +109 -109
  68. package/src/commands/gateway/delete.ts +81 -81
  69. package/src/commands/gateway/domain.ts +159 -159
  70. package/src/commands/gateway/index.ts +5 -5
  71. package/src/commands/gateway/list.ts +76 -76
  72. package/src/commands/gateway/switch.ts +107 -107
  73. package/src/commands/helpers/index.ts +2 -2
  74. package/src/commands/helpers/init.ts +431 -431
  75. package/src/commands/helpers/new.ts +117 -117
  76. package/src/commands/helpers/open.ts +67 -67
  77. package/src/commands/hosting/hosting.ts +360 -360
  78. package/src/commands/index.ts +13 -13
  79. package/src/commands/lowcode/app.ts +34 -34
  80. package/src/commands/lowcode/comps.ts +322 -322
  81. package/src/commands/lowcode/index.ts +1 -1
  82. package/src/commands/lowcode/utils.ts +24 -24
  83. package/src/commands/run/image/index.ts +4 -4
  84. package/src/commands/run/standalonegateway/common.ts +7 -7
  85. package/src/commands/run/standalonegateway/create.ts +85 -85
  86. package/src/commands/run/standalonegateway/destroy.ts +59 -59
  87. package/src/commands/run/standalonegateway/index.ts +4 -4
  88. package/src/commands/run/standalonegateway/list.ts +53 -53
  89. package/src/commands/run/standalonegateway/package.ts +62 -62
  90. package/src/commands/run/standalonegateway/turn.ts +63 -63
  91. package/src/commands/run/version/index.ts +4 -4
  92. package/src/commands/smart.ts +132 -132
  93. package/src/commands/storage/storage.ts +464 -464
  94. package/src/commands/third/thirdAttach.ts +49 -49
  95. package/src/completion/index.ts +13 -13
  96. package/src/decorators/captureError.ts +25 -25
  97. package/src/decorators/constants.ts +12 -12
  98. package/src/decorators/deprecate.ts +25 -25
  99. package/src/decorators/guard.ts +42 -42
  100. package/src/decorators/index.ts +7 -7
  101. package/src/decorators/injectParams.ts +54 -54
  102. package/src/decorators/params/common.ts +28 -28
  103. package/src/decorators/params/index.ts +35 -35
  104. package/src/env/domain.ts +33 -33
  105. package/src/env/index.ts +63 -63
  106. package/src/env/login.ts +80 -80
  107. package/src/error.ts +36 -36
  108. package/src/function/alias.ts +43 -43
  109. package/src/function/base.ts +253 -253
  110. package/src/function/code.ts +55 -55
  111. package/src/function/concurrency.ts +57 -57
  112. package/src/function/create.ts +78 -78
  113. package/src/function/delete.ts +42 -42
  114. package/src/function/index.ts +10 -10
  115. package/src/function/layer/attach.ts +68 -68
  116. package/src/function/layer/create.ts +63 -63
  117. package/src/function/layer/delete.ts +21 -21
  118. package/src/function/layer/download.ts +54 -54
  119. package/src/function/layer/index.ts +7 -7
  120. package/src/function/layer/list.ts +32 -32
  121. package/src/function/layer/sort.ts +24 -24
  122. package/src/function/trigger.ts +97 -97
  123. package/src/function/update.ts +35 -35
  124. package/src/function/version.ts +38 -38
  125. package/src/function/vpc.ts +22 -22
  126. package/src/gateway/index.ts +137 -137
  127. package/src/hosting.ts +212 -212
  128. package/src/index.ts +13 -13
  129. package/src/logger.ts +17 -17
  130. package/src/run/create.ts +23 -23
  131. package/src/run/delete.ts +15 -15
  132. package/src/run/image/build.ts +36 -36
  133. package/src/run/image/delete.ts +13 -13
  134. package/src/run/image/index.ts +3 -3
  135. package/src/run/image/info.ts +26 -26
  136. package/src/run/list.ts +29 -29
  137. package/src/run/repo.ts +24 -24
  138. package/src/run/service/deployPackage.ts +6 -4
  139. package/src/run/standalonegateway/create.ts +24 -24
  140. package/src/run/standalonegateway/destroy.ts +19 -19
  141. package/src/run/standalonegateway/index.ts +4 -4
  142. package/src/run/standalonegateway/list.ts +74 -74
  143. package/src/run/standalonegateway/package/list.ts +24 -24
  144. package/src/run/standalonegateway/turn/index.ts +1 -1
  145. package/src/run/standalonegateway/turn/off.ts +19 -19
  146. package/src/run/standalonegateway/turn/on.ts +19 -19
  147. package/src/run/version/create.ts +68 -68
  148. package/src/run/version/delete.ts +15 -15
  149. package/src/run/version/index.ts +5 -5
  150. package/src/run/version/list.ts +16 -16
  151. package/src/run/version/modify.ts +16 -16
  152. package/src/run/version/repo.ts +27 -27
  153. package/src/run/version/update.ts +58 -58
  154. package/src/storage.ts +114 -114
  155. package/src/third/index.ts +12 -12
  156. package/src/utils/auth.ts +15 -15
  157. package/src/utils/cli-table.ts +23 -23
  158. package/src/utils/config.ts +39 -39
  159. package/src/utils/env.ts +244 -244
  160. package/src/utils/fs/del.ts +5 -5
  161. package/src/utils/fs/index.ts +71 -71
  162. package/src/utils/function-packer.ts +97 -97
  163. package/src/utils/log.ts +81 -81
  164. package/src/utils/net/cloud-api-request.ts +62 -62
  165. package/src/utils/net/credential.ts +53 -53
  166. package/src/utils/net/http-request.ts +84 -84
  167. package/src/utils/net/index.ts +4 -4
  168. package/src/utils/net/manager-service.ts +36 -36
  169. package/src/utils/net/proxy.ts +6 -6
  170. package/src/utils/notice.ts +28 -28
  171. package/src/utils/output/highlight.ts +5 -5
  172. package/src/utils/output/index.ts +2 -2
  173. package/src/utils/output/link.ts +10 -10
  174. package/src/utils/output/loading.ts +82 -82
  175. package/src/utils/parallel.ts +82 -82
  176. package/src/utils/platform/index.ts +2 -2
  177. package/src/utils/platform/mac.ts +21 -21
  178. package/src/utils/platform/os.ts +64 -64
  179. package/src/utils/platform/port.ts +10 -10
  180. package/src/utils/progress-bar.ts +38 -38
  181. package/src/utils/prompt/select.ts +59 -59
  182. package/src/utils/reporter/agree.ts +20 -20
  183. package/src/utils/reporter/download.ts +26 -26
  184. package/src/utils/reporter/index.ts +3 -3
  185. package/src/utils/reporter/usage.ts +20 -20
  186. package/src/utils/store/auth.ts +49 -49
  187. package/src/utils/store/common.ts +8 -8
  188. package/src/utils/store/db.ts +68 -68
  189. package/src/utils/store/index.ts +4 -4
  190. package/src/utils/store/usage.ts +12 -12
  191. package/src/utils/tcbrApi/tcbr-cloud-api/request.ts +13 -13
  192. package/src/utils/template.ts +170 -170
  193. package/src/utils/tools/encoding.ts +8 -8
  194. package/src/utils/tools/index.ts +4 -4
  195. package/src/utils/tools/object.ts +33 -33
  196. package/src/utils/tools/time.ts +38 -38
  197. package/src/utils/tools/uid.ts +19 -19
  198. package/templates/html/loginFail.html +90 -90
  199. package/templates/html/loginSuccess.html +86 -86
  200. package/templates/server/node/_gitignore +54 -54
  201. package/templates/server/node/cloudbaserc.json +10 -10
  202. package/templates/server/node/index.js +5 -5
  203. package/templates/server/node/package.json +9 -9
  204. package/tsconfig.json +19 -19
  205. package/tsconfig.test.json +13 -13
  206. package/.vscode/settings.json +0 -3
@@ -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
+ }