()
| 89 | $.msg($.name, '', `账号${$.index}:${$.nickName || $.UserName}\n今日收入:${$.todayIncomeBean}京豆 🐶\n昨日收入:${$.incomeBean}京豆 🐶\n昨日支出:${$.expenseBean}京豆 🐶\n当前京豆:${$.beanCount}(七天将过期${$.expirejingdou})京豆🐶${$.message}`, {"open-url": "https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean", "media-url": "https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png"}); |
| 90 | } |
| 91 | async function bean() { |
| 92 | // console.log(`北京时间零点时间戳:${parseInt((Date.now() + 28800000) / 86400000) * 86400000 - 28800000}`); |
| 93 | // console.log(`北京时间2020-10-28 06:16:05::${new Date("2020/10/28 06:16:05+08:00").getTime()}`) |
| 94 | // 不管哪个时区。得到都是当前时刻北京时间的时间戳 new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000 |
| 95 | |
| 96 | //前一天的0:0:0时间戳 |
| 97 | const tm = parseInt((Date.now() + 28800000) / 86400000) * 86400000 - 28800000 - (24 * 60 * 60 * 1000); |
| 98 | // 今天0:0:0时间戳 |
| 99 | const tm1 = parseInt((Date.now() + 28800000) / 86400000) * 86400000 - 28800000; |
| 100 | let page = 1, t = 0, yesterdayArr = [], todayArr = []; |
| 101 | do { |
| 102 | let response = await getJingBeanBalanceDetail(page); |
| 103 | // console.log(`第${page}页: ${JSON.stringify(response)}`); |
| 104 | if (response && response.code === "0") { |
| 105 | page++; |
| 106 | let detailList = response.detailList; |
| 107 | if (detailList && detailList.length > 0) { |
| 108 | for (let item of detailList) { |
| 109 | const date = item.date.replace(/-/g, '/') + "+08:00"; |
| 110 | if (new Date(date).getTime() >= tm1 && (!item['eventMassage'].includes("退还") && !item['eventMassage'].includes('扣赠'))) { |
| 111 | todayArr.push(item); |
| 112 | } else if (tm <= new Date(date).getTime() && new Date(date).getTime() < tm1 && (!item['eventMassage'].includes("退还") && !item['eventMassage'].includes('扣赠'))) { |
| 113 | //昨日的 |
| 114 | yesterdayArr.push(item); |
| 115 | } else if (tm > new Date(date).getTime()) { |
| 116 | //前天的 |
| 117 | t = 1; |
| 118 | break; |
| 119 | } |
| 120 | } |
| 121 | } else { |
| 122 | $.errorMsg = `数据异常`; |
| 123 | $.msg($.name, ``, `账号${$.index}:${$.nickName}\n${$.errorMsg}`); |
| 124 | t = 1; |
| 125 | } |
| 126 | } else if (response && response.code === "3") { |
| 127 | console.log(`cookie已过期,或者填写不规范,跳出`) |
| 128 | t = 1; |
| 129 | } else { |
| 130 | console.log(`未知情况:${JSON.stringify(response)}`); |
| 131 | console.log(`未知情况,跳出`) |
| 132 | t = 1; |
| 133 | } |
| 134 | } while (t === 0); |
| 135 | for (let item of yesterdayArr) { |
| 136 | if (Number(item.amount) > 0) { |
| 137 | $.incomeBean += Number(item.amount); |
| 138 | } else if (Number(item.amount) < 0) { |
| 139 | $.expenseBean += Number(item.amount); |
| 140 | } |
| 141 | } |
| 142 | for (let item of todayArr) { |
| 143 | if (Number(item.amount) > 0) { |
| 144 | $.todayIncomeBean += Number(item.amount); |
| 145 | } |
| 146 | } |
| 147 | await queryexpirejingdou();//过期京豆 |
| 148 | await redPacket();//过期红包 |
no test coverage detected