MCPcopy Create free account
hub / github.com/chavyleung/scripts / execActs

Function execActs

jd/jd.618.js:110–225  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

108}
109
110async function execActs() {
111 $.log(`❕ ${$.name}, 执行活动!`)
112 for (let _actIdx = 0; _actIdx < $.acts.length; _actIdx++) {
113 const _act = $.acts[_actIdx]
114 $.log(` ${_actIdx + 1}. ${_act.name} (${_act.times}/${_act.maxTimes})`)
115 if (_act.times === _act.maxTimes) {
116 $.log(` @跳过: 全部完成!`, '')
117 continue
118 }
119 // 跳过:邀请好友、加入战队
120 if ([2, 12].includes(_act.id)) {
121 $.log(' 跳过!', '')
122 continue
123 }
124 // 甄选优品
125 else if (_act.isProd) {
126 await getProdAct(_act)
127 for (let subactIdx = 0; subactIdx < _act.subacts.length; subactIdx++) {
128 const subact = _act.subacts[subactIdx]
129 $.log(` ${subactIdx + 1}. ${subact.name} (${subact.times}/${subact.maxTimes})`)
130 if (subact.times === subact.maxTimes) {
131 $.log(` @跳过: 全部完成!`, '')
132 continue
133 }
134 for (let subataskIdx = 0; subataskIdx < subact.tasks.length; subataskIdx++) {
135 const subatask = subact.tasks[subataskIdx]
136 $.log(` ${subataskIdx + 1}. ${subatask.name.slice(0, 15)}...`)
137 if (subatask._raw.status && subatask._raw.status === 2) {
138 $.log(` @跳过: 已经做过!`, '')
139 continue
140 }
141 await sendtask(subact, subatask, true)
142 $.log(` @认领任务: ${subatask.isClaimSuc ? '🟢' : '🔴'}`)
143 if (subatask.isskip) {
144 $.log(` @跳过: ${subatask.msg}`)
145 const randomms = genRadomms()
146 $.log(` @等待: 8 秒 + ${randomms} 毫秒`, '')
147 await new Promise($.wait(8000 + randomms))
148 } else {
149 const randomms = genRadomms()
150 $.log(` @等待: ${subact.waitDuration} 秒 + ${randomms} 毫秒`)
151 await new Promise($.wait(subact.waitDuration * 1000 + randomms))
152 await sendtask(subact, subatask)
153 $.log(` @完成任务: ${subatask.isExecSuc ? '🟢' : '🔴'}`)
154 $.log(` @等待: 5 秒 + ${randomms} 毫秒`, '')
155 await new Promise($.wait(5000 + randomms))
156 }
157 }
158 }
159 }
160 // 开通会员
161 else if (_act.isBrand) {
162 if ($.VAL_isJoinBrand === 'true' || $.VAL_isJoinBrand === true) {
163 for (let taskIdx = 0; taskIdx < _act.tasks.length; taskIdx++) {
164 const task = _act.tasks[taskIdx]
165 $.log(` ${taskIdx + 1}. ${task.name}`)
166 await joinBrand(task)
167 $.log(` @加入会员: ${task.isJoinSuc ? '🟢' : '🔴'}`)

Callers 1

jd.618.jsFile · 0.70

Calls 8

getProdActFunction · 0.70
sendtaskFunction · 0.70
genRadommsFunction · 0.70
joinBrandFunction · 0.70
brandAwardFunction · 0.70
signshopFunction · 0.70
logMethod · 0.45
waitMethod · 0.45

Tested by

no test coverage detected