@@ -16,6 +16,11 @@ const inquirer_1 = __importDefault(require("inquirer"));
1616const utils_1 = require ( "../../utils" ) ;
1717const logger_1 = require ( "../../logger" ) ;
1818const env_1 = require ( "../../env" ) ;
19+ const error_1 = require ( "../../error" ) ;
20+ const platformMap = {
21+ 'WECHAT-OPEN' : '微信开放平台' ,
22+ 'WECHAT-PUBLIC' : '微信公众平台'
23+ } ;
1924commander_1 . default
2025 . command ( 'env:login:list [envId]' )
2126 . description ( '列出环境登录配置' )
@@ -26,64 +31,120 @@ commander_1.default
2631 const configList = yield env_1 . getLoginConfigList ( {
2732 envId : assignEnvId
2833 } ) ;
29- const platformMap = {
30- 'WECHAT-OPEN' : '微信开放平台' ,
31- 'WECHAT-PUBLIC' : '微信公众平台'
32- } ;
33- const head = [ 'Id' , 'Platform' , 'CreateTime' , 'Status' ] ;
34+ const head = [ '平台' , '平台 Id' , '创建时间' , '状态' ] ;
3435 const tableData = configList . map ( item => [
35- item . Id ,
3636 platformMap [ item . Platform ]
3737 ? platformMap [ item . Platform ]
3838 : item . Platform ,
39+ item . PlatformId ,
3940 item . CreateTime ,
40- item . Status === 'ENABLE' ? '启用' : '禁用中 '
41+ item . Status === 'ENABLE' ? '启用' : '禁用 '
4142 ] ) ;
4243 utils_1 . printCliTable ( head , tableData ) ;
4344 } ) ;
4445} ) ;
4546commander_1 . default
46- . command ( 'env:login:config [envId]' )
47- . description ( '配置环境登录方式 ' )
47+ . command ( 'env:login:create [envId]' )
48+ . description ( '创建环境登录配置 ' )
4849 . action ( function ( envId , options ) {
4950 return __awaiter ( this , void 0 , void 0 , function * ( ) {
5051 const { configFile } = options . parent ;
5152 const assignEnvId = yield utils_1 . getEnvId ( envId , configFile ) ;
52- const configList = yield env_1 . getLoginConfigList ( {
53- envId : assignEnvId
54- } ) ;
55- const { type, status } = yield inquirer_1 . default . prompt ( [
53+ const { platform, status, appId, appSecret } = yield inquirer_1 . default . prompt ( [
5654 {
5755 type : 'list' ,
58- name : 'type' ,
59- choices : [ '微信公众平台' , '微信开放平台' ] ,
56+ name : 'platform' ,
57+ choices : [
58+ {
59+ name : '微信公众平台' ,
60+ value : 'WECHAT-PUBLIC'
61+ } ,
62+ {
63+ name : '微信开放平台' ,
64+ value : 'WECHAT-OPEN'
65+ }
66+ ] ,
6067 message : '请选择登录方式:' ,
61- default : '微信公众平台 '
68+ default : 'WECHAT-PUBLIC '
6269 } ,
6370 {
6471 type : 'list' ,
6572 name : 'status' ,
66- choices : [ '启用' , '禁用' ] ,
73+ choices : [
74+ {
75+ name : '启用' ,
76+ value : 'ENABLE'
77+ } ,
78+ {
79+ name : '禁用' ,
80+ value : 'DISABLE'
81+ }
82+ ] ,
6783 message : '请选择登录方式状态:' ,
68- default : '启用'
84+ default : 'ENABLE'
85+ } ,
86+ {
87+ type : 'input' ,
88+ name : 'appId' ,
89+ message : '请输入 AppId:'
90+ } ,
91+ {
92+ type : 'input' ,
93+ name : 'appSecret' ,
94+ message : '请输入 AppSecret:'
6995 }
7096 ] ) ;
71- const platformMap = {
72- 微信开放平台 : 'WECHAT-OPEN' ,
73- 微信公众平台 : 'WECHAT-PUBLIC'
74- } ;
75- const platform = platformMap [ type ] ;
76- const item = configList . find ( item => item . Platform === platform ) ;
77- if ( status === '禁用' && item ) {
78- yield env_1 . updateLoginConfig ( {
79- status : status === '启用' ? 'ENABLE' : 'DISABLE' ,
80- configId : item . Id ,
81- envId : assignEnvId
82- } ) ;
83- logger_1 . successLog ( `${ type } 登录方式禁用成功!` ) ;
84- return ;
97+ if ( ! appId || ! appSecret ) {
98+ throw new error_1 . CloudBaseError ( 'appId 和 appSecret 不能为空!' ) ;
8599 }
86- const { appId, appSecret } = yield inquirer_1 . default . prompt ( [
100+ yield env_1 . createLoginConfig ( {
101+ envId : assignEnvId ,
102+ appId,
103+ appSecret,
104+ platform,
105+ status
106+ } ) ;
107+ logger_1 . successLog ( '创建登录方式成功!' ) ;
108+ } ) ;
109+ } ) ;
110+ commander_1 . default
111+ . command ( 'env:login:update [envId]' )
112+ . description ( '更新环境登录方式配置' )
113+ . action ( function ( envId , options ) {
114+ return __awaiter ( this , void 0 , void 0 , function * ( ) {
115+ const { configFile } = options . parent ;
116+ const assignEnvId = yield utils_1 . getEnvId ( envId , configFile ) ;
117+ const configList = yield env_1 . getLoginConfigList ( {
118+ envId : assignEnvId
119+ } ) ;
120+ const configChoices = configList . map ( item => ( {
121+ name : `${ platformMap [ item . Platform ] } :${ item . PlatformId } [${ item . Status === 'ENABLE' ? '启用' : '禁用' } ]` ,
122+ value : item . Id ,
123+ short : `${ platformMap [ item . Platform ] } :${ item . PlatformId } `
124+ } ) ) ;
125+ const { configId, status, appId, appSecret } = yield inquirer_1 . default . prompt ( [
126+ {
127+ type : 'list' ,
128+ name : 'configId' ,
129+ choices : configChoices ,
130+ message : '请选择需要配置的条目:'
131+ } ,
132+ {
133+ type : 'list' ,
134+ name : 'status' ,
135+ choices : [
136+ {
137+ name : '启用' ,
138+ value : 'ENABLE'
139+ } ,
140+ {
141+ name : '禁用' ,
142+ value : 'DISABLE'
143+ }
144+ ] ,
145+ message : '请选择登录方式状态:' ,
146+ default : '启用'
147+ } ,
87148 {
88149 type : 'input' ,
89150 name : 'appId' ,
@@ -95,22 +156,13 @@ commander_1.default
95156 message : '请输入 AppSecret(配置状态时可不填):'
96157 }
97158 ] ) ;
98- if ( item && item . Id ) {
99- yield env_1 . updateLoginConfig ( {
100- envId : assignEnvId ,
101- configId : item . Id ,
102- appId,
103- appSecret
104- } ) ;
105- }
106- else {
107- yield env_1 . createLoginConfig ( {
108- envId : assignEnvId ,
109- appId,
110- appSecret,
111- platform
112- } ) ;
113- }
114- logger_1 . successLog ( '配置环境登录方式成功!' ) ;
159+ yield env_1 . updateLoginConfig ( {
160+ envId : assignEnvId ,
161+ configId,
162+ appId,
163+ appSecret,
164+ status
165+ } ) ;
166+ logger_1 . successLog ( '更新登录方式成功!' ) ;
115167 } ) ;
116168} ) ;
0 commit comments