1
- import { bgLightGreen , green } from 'kolorist'
1
+ import { yellow } from 'kolorist'
2
2
import type { Browser , Page } from 'puppeteer'
3
3
import puppeteer from 'puppeteer'
4
+ import type { Ora } from 'ora'
5
+ import ora from 'ora'
4
6
import { ACTION , VIEWPORT , WEIXIN_URL } from '../constants'
5
7
import { pathResolve , showQrCodeToTerminal , sleep } from '../utils'
6
8
7
9
let browser : Browser
8
10
let page : Page
9
11
12
+ let spinner : Ora
13
+
10
14
/**
11
15
* 获取微信图片二维码
12
16
*/
13
17
export async function getLoginScanCode ( ) {
14
- console . log ( green ( '正在获取登录二维码...' ) )
18
+ spinner = ora ( '正在获取登录二维码...' ) . start ( )
15
19
browser = await puppeteer . launch ( { headless : false } )
16
20
page = await browser . newPage ( )
17
21
await page . setViewport ( VIEWPORT )
@@ -34,23 +38,29 @@ export async function getLoginScanCode() {
34
38
await sleep ( 1000 )
35
39
await loginCode ?. screenshot ( { path : loginCodeImagePath , type : 'png' } )
36
40
const scanCode = await showQrCodeToTerminal ( loginCodeImagePath )
37
- console . log ( green ( '☛ 请使用微信扫描二维码登录 ') )
41
+ spinner . succeed ( yellow ( '请使用微信扫描二维码登录微信公众平台 ') )
38
42
console . log ( scanCode )
43
+ await page . waitForSelector ( '.weui-desktop-icon.weui-desktop-icon__success.weui-desktop-icon__large' , { timeout : 0 } )
44
+ spinner . succeed ( '扫码成功' )
39
45
}
40
46
41
47
/**
42
48
* 跳转到版本列表
43
49
*/
44
50
export async function jumpToVersions ( ) {
51
+ spinner . start ( '正在跳转到版本管理页面...' )
45
52
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 ( '未找到版本管理' )
48
55
throw new Error ( '未找到版本管理' )
49
- console . log ( green ( '正在跳转到版本管理页面...' ) )
56
+ }
57
+ spinner . start ( '正在跳转到版本管理页面...' )
50
58
await versionManage . click ( )
51
59
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 ( '未找到提交审核按钮' )
53
62
throw new Error ( '未找到提交审核按钮' )
63
+ }
54
64
await submitReviewBtn . click ( )
55
65
await sleep ( 1000 )
56
66
}
@@ -59,6 +69,7 @@ export async function jumpToVersions() {
59
69
* 跳转确认提交审核界面
60
70
*/
61
71
export async function jumpToConfirmPage ( ) {
72
+ spinner . start ( '正在提交审核中...' )
62
73
const agreeCheckbox = await page . waitForSelector ( '.weui-desktop-icon-checkbox' )
63
74
const nextStepBtn = await page . waitForSelector ( '.code_submit_dialog .weui-desktop-btn.weui-desktop-btn_primary' )
64
75
if ( ! agreeCheckbox || ! nextStepBtn )
@@ -111,7 +122,7 @@ export async function toSubmitAudit() {
111
122
return document . querySelector ( '.msg_content' ) ?. innerHTML
112
123
} )
113
124
if ( msg ?. includes ( '已提交审核' ) )
114
- console . log ( bgLightGreen ( '提交审核成功!' ) )
125
+ spinner . succeed ( '提交审核成功' )
115
126
else
116
127
throw new Error ( '提交审核失败' )
117
128
}
0 commit comments