@@ -147,7 +147,40 @@ export async function toSubmitAudit() {
147
147
* 去发布
148
148
*/
149
149
export 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 ( '发布成功' )
151
184
}
152
185
153
186
export default async function weixinRobot ( opts : InputOptions ) {
0 commit comments