|
@ -1,15 +1,26 @@ |
|
|
import { DPStarter, DPTask } from './base/index'; |
|
|
import { DPStarter, DPTask } from './base/index'; |
|
|
import { clickForce } from './lib/utils'; |
|
|
import { clickForce, findNextElement, withMakeSure } from './lib/utils'; |
|
|
|
|
|
|
|
|
|
|
|
// 弹窗关闭按钮
|
|
|
|
|
|
const modalCloseBtn = className('com.lynx.tasm.behavior.ui.LynxFlattenUI') |
|
|
|
|
|
.boundsInside(100, device.height / 2, device.width - 100, device.height) |
|
|
|
|
|
.clickable(true) |
|
|
|
|
|
.text(''); |
|
|
|
|
|
|
|
|
|
|
|
// 可能出现的是否打开app弹窗确定按钮
|
|
|
|
|
|
const openAppModal = id('android:id/button1'); |
|
|
|
|
|
|
|
|
|
|
|
// 福利界面底部栏入口按钮
|
|
|
|
|
|
const welfareEntry = id('di1').text('福利').visibleToUser().selected(false); |
|
|
|
|
|
|
|
|
class Hongguo extends DPStarter { |
|
|
class Hongguo extends DPStarter { |
|
|
doInit() { |
|
|
doInit() { |
|
|
console.log('初始化!'); |
|
|
console.log('初始化!'); |
|
|
|
|
|
withMakeSure(() => app.launch('com.phoenix.read'), { |
|
|
makeSure(app.launch('com.phoenix.read'), { |
|
|
hasModal: [() => openAppModal.findOne(500), () => modalCloseBtn.findOne(500)], // 有可能出现的弹窗
|
|
|
closeBtns: ['android:id/button1'], |
|
|
landOver: [() => welfareEntry.findOne(500)] // 确认是否到达目的页
|
|
|
landing: [id('di1').text('福利').visibleToUser().selected(false).findOne(1000)] |
|
|
|
|
|
}); |
|
|
}); |
|
|
const widget = id('di1').text('福利').visibleToUser().selected(false).findOne(1000); |
|
|
const widget = welfareEntry.findOne(500); |
|
|
widget && clickForce(widget); |
|
|
widget && clickForce(widget); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -17,17 +28,29 @@ class Hongguo extends DPStarter { |
|
|
const hongguo = new Hongguo(); |
|
|
const hongguo = new Hongguo(); |
|
|
|
|
|
|
|
|
const task1 = new DPTask(hongguo); |
|
|
const task1 = new DPTask(hongguo); |
|
|
|
|
|
// 新人见面礼立即领取
|
|
|
|
|
|
task1.run(() => { |
|
|
|
|
|
const startBtn = className('com.lynx.tasm.behavior.ui.text.FlattenUIText').textContains('立即领取').visibleToUser(); |
|
|
|
|
|
const getGoldNext = className('com.lynx.tasm.behavior.ui.text.FlattenUIText').text('金币奖励可在「福利」查看').visibleToUser(); |
|
|
|
|
|
const overBtn = className('com.lynx.tasm.behavior.ui.text.FlattenUIText').textContains('明日再来').visibleToUser(); |
|
|
|
|
|
console.log('task1 新人见面礼立即领取'); |
|
|
|
|
|
|
|
|
hongguo.start(); |
|
|
withMakeSure(() => clickForce(startBtn.findOne(500)), { |
|
|
function makeSure(result: any, options: any) { |
|
|
landOver: [() => modalCloseBtn.findOne(500), () => getGoldNext.findOne(500)] // 确认是否到达目的页
|
|
|
if (!result) { |
|
|
}); |
|
|
console.log('result is null'); |
|
|
|
|
|
return; |
|
|
if (overBtn.findOne(500)) { |
|
|
} |
|
|
return clickForce(overBtn.findOne(500)); |
|
|
if (options.closeBtns) { |
|
|
|
|
|
options.closeBtns.forEach((cid: string) => { |
|
|
|
|
|
const btn = id(cid).findOne(1000); |
|
|
|
|
|
btn && clickForce(btn); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
withMakeSure(() => clickForce(startBtn.findOne(500)), { |
|
|
|
|
|
landOver: [ |
|
|
|
|
|
() => modalCloseBtn.findOne(500), |
|
|
|
|
|
() => findNextElement(overBtn, getGoldNext, 'com.lynx.tasm.behavior.ui.text.FlattenUIText') |
|
|
|
|
|
] // 确认是否到达目的页
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
return clickForce(overBtn.findOne(500)); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
hongguo.start(); |
|
|