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

Function getProdAct

jd/jd.618.js:228–264  ·  view source on GitHub ↗
(act)

Source from the content-addressed store, hash-verified

226
227// 商品类活动
228function getProdAct(act) {
229 return new Promise((resove) => {
230 const body = { taskIds: act.tasks.map((task) => task.id).toString() }
231 $.post(taskurl('cakebaker_getFeedDetail', JSON.stringify(body)), (error, response, data) => {
232 try {
233 const _result = JSON.parse(data).data.result
234 const _vo = _result[Object.keys(_result).find((key) => Array.isArray(_result[key] && _result[key][0] && _result[key][0].productInfoVos))]
235 act.subacts = []
236 _vo.forEach((_suba) => {
237 const _subact = {
238 _raw: _suba,
239 id: _suba.taskId,
240 name: _suba.taskName,
241 times: _suba.times,
242 maxTimes: _suba.maxTimes,
243 waitDuration: _suba.waitDuration === 0 ? 1 : _suba.waitDuration,
244 isProd: _suba.productInfoVos ? true : false,
245 tasks: []
246 }
247 _suba.productInfoVos.slice(0, 5).forEach((_prodvo) => {
248 const _taskname = _prodvo.skuName || _prodvo.title || _prodvo.shopName || _prodvo.taskName || '未知名称'
249 _subact.tasks.push({
250 _raw: _prodvo,
251 id: _prodvo.itemId,
252 name: _taskname
253 })
254 })
255 act.subacts.push(_subact)
256 })
257 } catch (e) {
258 $.log(`❗️ ${$.name}, 执行商品类活动!`, ` error = ${error || e}`, `response = ${JSON.stringify(response)}`, `data = ${data}`, '')
259 } finally {
260 resove()
261 }
262 })
263 })
264}
265
266function sendtask(act, task, isClaim = false) {
267 return new Promise((resove) => {

Callers 1

execActsFunction · 0.70

Calls 3

taskurlFunction · 0.70
postMethod · 0.45
logMethod · 0.45

Tested by

no test coverage detected