Skip to content

Commit 1c65fc8

Browse files
committed
perf: 优化命令行交互
1 parent 3817bf7 commit 1c65fc8

File tree

3 files changed

+71
-19
lines changed

3 files changed

+71
-19
lines changed

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
"dependencies": {
4141
"jsqr": "^1.4.0",
4242
"kolorist": "^1.8.0",
43+
"ora": "^8.0.1",
4344
"prompts": "^2.4.2",
4445
"puppeteer": "^21.6.1",
4546
"qrcode-terminal": "^0.12.0",

pnpm-lock.yaml

+51-11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/weixin/index.ts

+19-8
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
1-
import { bgLightGreen, green } from 'kolorist'
1+
import { yellow } from 'kolorist'
22
import type { Browser, Page } from 'puppeteer'
33
import puppeteer from 'puppeteer'
4+
import type { Ora } from 'ora'
5+
import ora from 'ora'
46
import { ACTION, VIEWPORT, WEIXIN_URL } from '../constants'
57
import { pathResolve, showQrCodeToTerminal, sleep } from '../utils'
68

79
let browser: Browser
810
let page: Page
911

12+
let spinner: Ora
13+
1014
/**
1115
* 获取微信图片二维码
1216
*/
1317
export async function getLoginScanCode() {
14-
console.log(green('正在获取登录二维码...'))
18+
spinner = ora('正在获取登录二维码...').start()
1519
browser = await puppeteer.launch({ headless: false })
1620
page = await browser.newPage()
1721
await page.setViewport(VIEWPORT)
@@ -34,23 +38,29 @@ export async function getLoginScanCode() {
3438
await sleep(1000)
3539
await loginCode?.screenshot({ path: loginCodeImagePath, type: 'png' })
3640
const scanCode = await showQrCodeToTerminal(loginCodeImagePath)
37-
console.log(green('☛ 请使用微信扫描二维码登录'))
41+
spinner.succeed(yellow('请使用微信扫描二维码登录微信公众平台'))
3842
console.log(scanCode)
43+
await page.waitForSelector('.weui-desktop-icon.weui-desktop-icon__success.weui-desktop-icon__large', { timeout: 0 })
44+
spinner.succeed('扫码成功')
3945
}
4046

4147
/**
4248
* 跳转到版本列表
4349
*/
4450
export async function jumpToVersions() {
51+
spinner.start('正在跳转到版本管理页面...')
4552
const versionManage = await page.waitForSelector('.menu_item .tab-bar__wrap.tab-bar__wrap--submenu', { timeout: 0 })
46-
console.log(green('登录成功'))
47-
if (!versionManage)
53+
if (!versionManage) {
54+
spinner.fail('未找到版本管理')
4855
throw new Error('未找到版本管理')
49-
console.log(green('正在跳转到版本管理页面...'))
56+
}
57+
spinner.start('正在跳转到版本管理页面...')
5058
await versionManage.click()
5159
const submitReviewBtn = await page.waitForSelector('.mod_default_box.code_version_dev .weui-desktop-btn.weui-desktop-btn_primary')
52-
if (!submitReviewBtn)
60+
if (!submitReviewBtn) {
61+
spinner.fail('未找到提交审核按钮')
5362
throw new Error('未找到提交审核按钮')
63+
}
5464
await submitReviewBtn.click()
5565
await sleep(1000)
5666
}
@@ -59,6 +69,7 @@ export async function jumpToVersions() {
5969
* 跳转确认提交审核界面
6070
*/
6171
export async function jumpToConfirmPage() {
72+
spinner.start('正在提交审核中...')
6273
const agreeCheckbox = await page.waitForSelector('.weui-desktop-icon-checkbox')
6374
const nextStepBtn = await page.waitForSelector('.code_submit_dialog .weui-desktop-btn.weui-desktop-btn_primary')
6475
if (!agreeCheckbox || !nextStepBtn)
@@ -111,7 +122,7 @@ export async function toSubmitAudit() {
111122
return document.querySelector('.msg_content')?.innerHTML
112123
})
113124
if (msg?.includes('已提交审核'))
114-
console.log(bgLightGreen('提交审核成功!'))
125+
spinner.succeed('提交审核成功')
115126
else
116127
throw new Error('提交审核失败')
117128
}

0 commit comments

Comments
 (0)