@@ -147,7 +147,40 @@ export async function toSubmitAudit() {
147147 * 去发布
148148 */
149149export async function toRelease ( ) {
150- console . log ( '正在开发中...' )
150+ const statusEle = await page . waitForSelector ( '#js_container_box > div.col_main > div > div:nth-child(2) > div.main_bd > span > div.code_mod.mod_default_box.code_version_test > div.mod_default_bd.default_box.test_version > div > div > div.code_version_log_hd > div > div > span > p > span' )
151+ // 检查审核状态
152+ const statusText = await page . evaluate ( ( el ) => {
153+ return el ?. innerHTML
154+ } , statusEle )
155+ if ( statusText !== '审核通过待发布' )
156+ throw new Error ( statusText )
157+ const submitBtn = await page . waitForSelector ( '#js_container_box > div.col_main > div > div:nth-child(2) > div.main_bd > span > div.code_mod.mod_default_box.code_version_test > div.mod_default_bd.default_box.test_version > div > div > div.code_version_log_ft > div > div.weui-desktop-popover__wrp > span > div > button' )
158+ // 点击提交审核
159+ await submitBtn ?. click ( )
160+ const submitConfirm = await page . waitForSelector ( '#js_container_box > div.col_main > div > div:nth-child(2) > div:nth-child(9) > div.weui-desktop-dialog__wrp.self-weui-modal > div > div.weui-desktop-dialog__ft > div > div:nth-child(1) > button' )
161+ await submitConfirm ?. click ( )
162+
163+ const releaseCodeImagePath = pathResolve ( '../cache/release.png' )
164+ const codeEle = await page . waitForSelector ( '#js_container_box > div.col_main > div > div:nth-child(2) > div.qrcheck_dialog_simple > div.weui-desktop-dialog__wrp.self-weui-modal > div > div.weui-desktop-dialog__bd > div > div > div > div.weui-desktop-qrcheck__qrcode-area > div > img' )
165+ await page . evaluate ( ( el ) => {
166+ return new Promise ( ( resolve , reject ) => {
167+ if ( el ) {
168+ el . onload = resolve
169+ el . onerror = reject
170+ }
171+ else {
172+ reject ( new Error ( '获取发布二维码失败' ) )
173+ }
174+ } )
175+ } , codeEle )
176+ await codeEle ?. screenshot ( { path : releaseCodeImagePath , type : 'png' } )
177+ spinner . clear ( )
178+ console . clear ( )
179+ spinner . succeed ( yellow ( '请使用微信扫描二维码发布' ) )
180+ console . log ( await showQrCodeToTerminal ( releaseCodeImagePath ) )
181+ const result = await page . waitForSelector ( '#js_container_box > div.col_main > div > div:nth-child(2) > div.main_bd > span > div.code_mod.mod_default_box.code_version_test > div.mod_default_bd.default_box.test_version > div > div > p' )
182+ if ( result )
183+ spinner . succeed ( '发布成功' )
151184}
152185
153186export default async function weixinRobot ( opts : InputOptions ) {
0 commit comments