diff --git a/src/auth.ts b/src/auth.ts index 06bc5a9..4c58f1d 100644 --- a/src/auth.ts +++ b/src/auth.ts @@ -67,14 +67,17 @@ export async function handler(argv: any) { async function reauthorizeDingTalk() { redIt('DingTalk is not supported yet') } + async function reauthorizeFeishu() { const spinner = ora('Reauthorizing Feishu').start() const config = FeishuConfigManager.getInstance() const newCookie = await getFeishuCookies() as any - // console.log(newCookie); config.setFeishuConfig(newCookie) - spinner.succeed('Reauthorized Feishu') - return newCookie + await config.updateNickname() + spinner.succeed(`🚀Successfully reauthorized Feishu! Welcome, ${config.nickname}!`) + spinner.stop() + process.exit(0) + // return newCookie; } async function resetAllAuth() { diff --git a/src/config.ts b/src/config.ts index 271b785..bf3b682 100644 --- a/src/config.ts +++ b/src/config.ts @@ -71,13 +71,23 @@ export class FeishuConfigManager { this.setFeishuConfig({ ...feishuConfig, ...config }) } - updateNickname(nickname: string) { + async updateNickname() { + const feishuConfig = this.getFeishuConfig() + const aConfig = new Configuration({ + session: feishuConfig.session as string, + lark_oapi_csrf_token: feishuConfig.lark_oapi_csrf_token as string, + }) + const nickname = await aConfig.getNickname() as string this.updateFeishuConfig({ nickname }) } + get nickname() { + const feishuConfig = this.getFeishuConfig() + return feishuConfig.nickname + } + async isAuth() { const feishuConfig = this.getFeishuConfig() - // todo 真实校验 const aConfig = new Configuration({ session: feishuConfig.session as string, lark_oapi_csrf_token: feishuConfig.lark_oapi_csrf_token as string, diff --git a/src/info.ts b/src/info.ts index e8f1562..336f544 100644 --- a/src/info.ts +++ b/src/info.ts @@ -45,11 +45,12 @@ async function checkFeishuAuth(detial = false) { spinner.info('checking auth status') const success = await config.isAuth() if (detial) { - console.log('飞书配置信息:') + console.log('feishu detail config :') console.log(config.getFeishuConfig()) } if (success) - spinner.succeed('飞书已经授权') + // 用英文 + spinner.succeed(`Hello ${config.nickname}, you have been granted authorization in Feishu.`) else - spinner.fail('飞书未授权') + spinner.fail('You are not authorized in feishu') }