增加新脚本

This commit is contained in:
黄志军
2021-11-20 16:46:43 +08:00
parent 60bb29f44e
commit b349d60316
22 changed files with 5884 additions and 12689 deletions
+75 -62
View File
@@ -19,14 +19,14 @@
SD
鼻膏 鼻膏
U盘 U盘
sd
龟头 龟头
鼻炎 鼻炎
SD
鼻毛 鼻毛
鼻影 鼻影
sd
鼻头 鼻头
鼻塞 鼻塞
黑沙 黑沙
@@ -469,14 +469,15 @@ SD
鼠标手 鼠标手
鼠标垫 鼠标垫
黄金卡 黄金卡
hpv
LED
FMJ
HPV
VGA
SD卡
黄膏贴 黄膏贴
VGA
FMJ
LED
HPV
SD卡
uv镜
麦克风 麦克风
hpv
鸳鸯锅 鸳鸯锅
鸥曼GTL 鸥曼GTL
鱼塘膜 鱼塘膜
@@ -484,6 +485,7 @@ SD卡
高升专 高升专
马桶垫 马桶垫
马桶刷 马桶刷
马克笔
马丁靴 马丁靴
香囊袋 香囊袋
飞机杯 飞机杯
@@ -641,6 +643,7 @@ SD卡
百日宴 百日宴
白板笔 白板笔
番茄丁 番茄丁
男人茶
电话牌 电话牌
电话卡 电话卡
电脑包 电脑包
@@ -700,7 +703,6 @@ SD卡
洗鼻器 洗鼻器
洗地液 洗地液
洋娃娃 洋娃娃
uv镜
注射针 注射针
注射器 注射器
泡澡球 泡澡球
@@ -931,6 +933,7 @@ uv镜
养生茶 养生茶
养殖膜 养殖膜
公文包 公文包
八宝茶
八倍镜 八倍镜
充电桩 充电桩
充电头 充电头
@@ -972,20 +975,21 @@ uv镜
丁香茶 丁香茶
一片装 一片装
一次性 一次性
G100
PVC板
车载u盘
hdmi
视频mv
HDMI
H10E
T口弯头
鼻腔喷雾 鼻腔喷雾
黑芝麻丸 黑芝麻丸
黑色水笔 黑色水笔
鸡毛掸子 鸡毛掸子
高清配件 高清配件
香薰精油 香薰精油
hdmi
车载u盘
PVC板
视频mv
G100
HDMI
4/3膜
T口弯头
H10E
食用色素 食用色素
静音阻尼 静音阻尼
静脉曲张 静脉曲张
@@ -998,7 +1002,6 @@ T口弯头
防水涂料 防水涂料
防水敷贴 防水敷贴
防卫尖刺 防卫尖刺
4/3膜
钙咀嚼片 钙咀嚼片
钓鱼插件 钓鱼插件
钓鱼手竿 钓鱼手竿
@@ -1150,17 +1153,15 @@ T口弯头
中国电信 中国电信
下关沱茶 下关沱茶
万向滑轮 万向滑轮
儿童n95
DHA藻油
0-12岁
鱼池防水膜
鱼塘专用膜
SUP掌机
慢性鼻1炎
轻酸瓶3%
win10 win10
靠背收纳袋 SUP掌机
鱼池防水膜
除菌洗地液 除菌洗地液
DHA藻油
慢性鼻1炎
鱼塘专用膜
轻酸瓶3%
靠背收纳袋
钓箱置物袋 钓箱置物袋
金属探测器 金属探测器
行车记录仪 行车记录仪
@@ -1180,6 +1181,7 @@ win10
枇杷雪梨膏 枇杷雪梨膏
枇杷秋梨膏 枇杷秋梨膏
摄像头镜片 摄像头镜片
儿童n95
接线式直管 接线式直管
打印机碳带 打印机碳带
手机充电线 手机充电线
@@ -1202,87 +1204,97 @@ win10
儿童沐浴露 儿童沐浴露
儿童暖暖套 儿童暖暖套
仿真小蛋糕 仿真小蛋糕
0-12岁
人参五宝茶 人参五宝茶
中央扶手箱 中央扶手箱
SMOVES
HEISHA
宝宝儿童零食
儿童电话手表
远投路滑配件
奥咖云南特产
儿童电动牙刷
小苍兰沐浴露
视线盲区贴纸
儿童串珠玩具
黑色塑料薄膜 黑色塑料薄膜
轮胎专用胶水 SMOVES
樱の色鱼子酱
汽车尾部挂件
擦车清洁工具
办公会议茶杯
矶钓钓鱼配件
不干胶标签带
烘焙彩针糖果
儿童保温水杯
移动wifi
KVM切换器 KVM切换器
windows 轮胎专用胶水
Ockered HEISHA
移动wifi
远投路滑配件
视线盲区贴纸
矶钓钓鱼配件
烘焙彩针糖果
汽车尾部挂件
樱の色鱼子酱
擦车清洁工具
小苍兰沐浴露
宝宝儿童零食
奥咖云南特产
办公会议茶杯
儿童电话手表
儿童电动牙刷
儿童保温水杯
儿童串珠玩具
不干胶标签带
QHE+ 其嘉
led开关电源 led开关电源
汽车头枕腰靠套装 windows
人参黄精枸杞茶
Ockered
金龙鱼 面条挂面 金龙鱼 面条挂面
汽车头枕腰靠套装
N1162有线鼠标 N1162有线鼠标
KB216有线键盘
德生源氨基酸洗发水
女士内裤,少女内裤 女士内裤,少女内裤
塑料士兵小军人玩具 塑料士兵小军人玩具
KB216有线键盘
德生源氨基酸洗发水
乐凡希 三明治火腿片
奇异果嫩肤磨砂沐浴乳 奇异果嫩肤磨砂沐浴乳
MS116 有线鼠标 MS116 有线鼠标
生鲜火锅 250g墨鱼饼 生鲜火锅 250g墨鱼饼
生鲜 方便菜 500g排骨*2 生鲜 方便菜 500g排骨*2
破壳茶叶正味碳焙铁观音一级罐装100g
破壳茶叶铁观音正味浓香型一级罐装100g 破壳茶叶铁观音正味浓香型一级罐装100g
正宗农家鸡蛋散养农村柴鸡蛋营养美味健康轻食 正宗农家鸡蛋散养农村柴鸡蛋营养美味健康轻食
新鲜羊肉卷肥牛卷涮火锅套餐烧烤配菜火锅食材
夕恒手机散热器吃鸡神器半导体冰冻冷风散热器 夕恒手机散热器吃鸡神器半导体冰冻冷风散热器
野铺子雪媚娘蛋黄酥6枚装 野铺子蛋黄酥【6枚装】 新鲜鱼类海鲜水产 健康轻食 生鲜 2斤装鳕鱼
安宝笛蓓缦水养柔肤茉莉海盐磨砂沐浴露40ml*3 安宝笛蓓缦水养柔肤茉莉海盐磨砂沐浴露40ml*3
野铺子雪媚娘蛋黄酥6枚装 野铺子蛋黄酥【6枚装】
奥咖云南特产贡菊茶40g/罐无硫天然生态贡菊茶罐装 奥咖云南特产贡菊茶40g/罐无硫天然生态贡菊茶罐装
破壳茶叶poke福建安溪铁观音浓香型圆罐装散茶100g 破壳茶叶poke福建安溪铁观音浓香型圆罐装散茶100g
羊蝎子批发现杀羊脊骨内蒙古新鲜火锅食材 羊蝎子1000g 羊蝎子批发现杀羊脊骨内蒙古新鲜火锅食材 羊蝎子1000g
方便食品 烧烤火锅食材海鲜水产 原味烤肠200g/包*1
落花啼春 吊坠女佛公弥勒笑佛玉坠玉石阿富汗项链挂坠玉佩玉器 落花啼春 吊坠女佛公弥勒笑佛玉坠玉石阿富汗项链挂坠玉佩玉器
新鲜雪花肥牛卷牛肉片牛肉卷涮火锅套餐配菜火锅食材 2斤肥牛卷 新鲜雪花肥牛卷牛肉片牛肉卷涮火锅套餐配菜火锅食材 2斤肥牛卷
奥咖姜枣黑糖茶300克/盒云南特产女生大姨妈月经期温暖小肚肚
正宗内蒙古羊肉卷 羔羊卷 涮火锅食材火锅料 1000g羊肉卷 正宗内蒙古羊肉卷 羔羊卷 涮火锅食材火锅料 1000g羊肉卷
奥咖姜枣黑糖茶300克/盒云南特产女生大姨妈月经期温暖小肚肚
瑞发德 藤椒琵琶腿 400g 烤鸡腿 鸡肉 冷冻油炸半成品小吃 瑞发德 藤椒琵琶腿 400g 烤鸡腿 鸡肉 冷冻油炸半成品小吃
羊杂清真 原味羊杂 熟食速食火锅食材新鲜免切批发 纯羊杂4斤装 羊杂清真 原味羊杂 熟食速食火锅食材新鲜免切批发 纯羊杂4斤装
a1雪绒蛋糕550g早餐食品小面包蒸蛋糕 a1雪绒蛋糕550g a1雪绒蛋糕550g早餐食品小面包蒸蛋糕 a1雪绒蛋糕550g
礼物金大福珠宝小雏菊银手链女款925银气质韩版简约手链 小雏菊
THISE利斯欧洲原装进口全脂纯牛奶500ml高钙有机健康高端奶 THISE利斯欧洲原装进口全脂纯牛奶500ml高钙有机健康高端奶
乐凡希 三明治火腿片 三连包 150克(50克 X 3) 冷藏熟食
牛杂牛肚牛百叶白千层毛肚丝黑毛肚配菜批发新鲜火锅食材 1000g白千层 牛杂牛肚牛百叶白千层毛肚丝黑毛肚配菜批发新鲜火锅食材 1000g白千层
【5盒装】丹麦风味曲奇饼干休闲零食小吃 【5盒装】丹麦风味曲奇饼干 【5盒装】丹麦风味曲奇饼干休闲零食小吃 【5盒装】丹麦风味曲奇饼干
乐凡希 三明治火腿片 三连包 150克(50克 X 3) 冷藏熟食
3份起正宗武汉热干面过早速食拌面碱水面带调料酱包方便面条湖北 6包 3份起正宗武汉热干面过早速食拌面碱水面带调料酱包方便面条湖北 6包
奇异果嫩肤磨砂沐浴乳 香氛清洁香水沐浴露留香沐浴液 红樱桃300ml
老北京炸酱面杂酱面休闲食品韩国拌面方便面速食特产网红面条102g/包
3份起正宗武汉热干面过早速食拌面碱水面带调料酱包方便面条湖北 12包 3份起正宗武汉热干面过早速食拌面碱水面带调料酱包方便面条湖北 12包
奇异果嫩肤磨砂沐浴乳 香氛清洁香水沐浴露留香沐浴液 红樱桃300ml
盖世 美人唇杏鲍菇木耳海茸/裙带菜150g*4袋 解冻即食 海鲜水产 盖世 美人唇杏鲍菇木耳海茸/裙带菜150g*4袋 解冻即食 海鲜水产
老北京炸酱面杂酱面休闲食品韩国拌面方便面速食特产网红面条102g/包
牛黄喉烧烤新鲜配菜牛杂牛喉管涮锅麻辣烫凉拌火锅食材 250g*2牛黄喉 牛黄喉烧烤新鲜配菜牛杂牛喉管涮锅麻辣烫凉拌火锅食材 250g*2牛黄喉
新鲜 猪胸骨 猪脆骨 散养土猪肉 软骨 猪排骨 批发 猪胸骨1000g 新鲜 猪胸骨 猪脆骨 散养土猪肉 软骨 猪排骨 批发 猪胸骨1000g
满沃 黑枸杞(大果>7MM)100克 青海柴达木大果黑枸杞 天然花青素
牛杂牛肚牛百叶白千层毛肚丝黑毛肚配菜批发新鲜火锅食材 1000g黑毛肚丝 牛杂牛肚牛百叶白千层毛肚丝黑毛肚配菜批发新鲜火锅食材 1000g黑毛肚丝
丹麦风味曲奇饼干大分量盒装休闲零食饼干礼包 丹麦风味曲奇饼干360g/盒 丹麦风味曲奇饼干大分量盒装休闲零食饼干礼包 丹麦风味曲奇饼干360g/盒
正宗农家鸡蛋 散养农村柴鸡蛋 营养美味早餐 现捡 玉米黄虫草蛋 鸡蛋20枚 正宗农家鸡蛋 散养农村柴鸡蛋 营养美味早餐 现捡 玉米黄虫草蛋 鸡蛋20枚
宝佩 印尼五瓣小金刚菩提子双龙肉纹国潮复古单圈手链文玩佛珠手串男女 松石款 宝佩 印尼五瓣小金刚菩提子双龙肉纹国潮复古单圈手链文玩佛珠手串男女 松石款
老北京炸酱面杂酱面休闲食品韩国拌面方便面速食特产网红面条102g/包 10包
金汤佛跳墙正宗即食袋装海参鲍鱼捞饭盆菜海鲜大礼包熟食海鲜 2袋佛跳墙250g 金汤佛跳墙正宗即食袋装海参鲍鱼捞饭盆菜海鲜大礼包熟食海鲜 2袋佛跳墙250g
猫村长泰式榴莲糖238g桶装特浓泰式风味榴莲奶糖 泰式风味榴莲糖238g/桶 猫村长泰式榴莲糖238g桶装特浓泰式风味榴莲奶糖 泰式风味榴莲糖238g/桶
老北京炸酱面杂酱面休闲食品韩国拌面方便面速食特产网红面条102g/包 10包
惠发 速冻炸鸡食品 裹粉鸡胸肉 鸡米花 鸡排 半成品 烧烤食材 400g鸡米花
厚切猪五花肉片韩国烤肉食材新鲜烧烤食材韩式烤肉片生猪肉 五花肉片250g*2盒 厚切猪五花肉片韩国烤肉食材新鲜烧烤食材韩式烤肉片生猪肉 五花肉片250g*2盒
舟山 黄花鱼新鲜冷冻 小黄鱼海鲜水产 清蒸红烧烧烤油炸皆可 整箱六斤装中号黄花鱼 惠发 速冻炸鸡食品 裹粉鸡胸肉 鸡米花 鸡排 半成品 烧烤食材 400g鸡米花
老北京炸酱面杂酱面休闲食品韩国拌面方便面速食特产网红面条102g/包 3包尝鲜装 老北京炸酱面杂酱面休闲食品韩国拌面方便面速食特产网红面条102g/包 3包尝鲜装
舟山 黄花鱼新鲜冷冻 小黄鱼海鲜水产 清蒸红烧烧烤油炸皆可 整箱六斤装中号黄花鱼
宝藏驼 猴头菇驼奶饼干代餐膳食纤维休闲零食小吃独立包装开袋即食饼干400g*1盒 宝藏驼 猴头菇驼奶饼干代餐膳食纤维休闲零食小吃独立包装开袋即食饼干400g*1盒
中国龙瓷 生日礼物送女生男友情人节十二生肖摆件创意礼品工艺品德化白瓷器摆件伴手礼物 中国龙瓷 生日礼物送女生男友情人节十二生肖摆件创意礼品工艺品德化白瓷器摆件伴手礼物
野生金鲳鱼大号新鲜冷冻鲜活白鲳鱼海昌鱼平鱼海鲜水产 大号金鲳鱼*1条(约8两-1斤)
啡趣精品挂耳咖啡现磨美式黑咖啡无糖滤挂式手冲咖啡粉新鲜烘焙风味原产地新朋友入会礼盒装 啡趣精品挂耳咖啡现磨美式黑咖啡无糖滤挂式手冲咖啡粉新鲜烘焙风味原产地新朋友入会礼盒装
SeeHe喜氢485ml瓶装 含氢饮用水 富氢水 水素水 弱碱性 办公室用水 12瓶装 野生金鲳鱼大号新鲜冷冻鲜活白鲳鱼海昌鱼平鱼海鲜水产 大号金鲳鱼*1条(约8两-1斤)
MASIL 玛丝兰韩国三次方氨基酸洗发水便携旅行装8ml去屑控油(8ml*20条/盒) MASIL 玛丝兰韩国三次方氨基酸洗发水便携旅行装8ml去屑控油(8ml*20条/盒)
SeeHe喜氢485ml瓶装 含氢饮用水 富氢水 水素水 弱碱性 办公室用水 12瓶装
中秋节送礼 广式月饼 手工酥皮 莲蓉乌月饼 休闲零食 散装蛋黄莲蓉乌米月饼*6个 50g 中秋节送礼 广式月饼 手工酥皮 莲蓉乌月饼 休闲零食 散装蛋黄莲蓉乌米月饼*6个 50g
黄海大鲅鱼新鲜鲅鱼鲅鱼整条鲅鱼马鲛鱼批发野生海捕鲅鱼 小号鲅鱼2500g(6两-8两/条) 黄海大鲅鱼新鲜鲅鱼鲅鱼整条鲅鱼马鲛鱼批发野生海捕鲅鱼 小号鲅鱼2500g(6两-8两/条)
TIMESWIND天然新疆玉多彩葫芦莲花手串戈壁玉黄玉古风个性女款玉石手链 玉莲花珠葫芦手链 TIMESWIND天然新疆玉多彩葫芦莲花手串戈壁玉黄玉古风个性女款玉石手链 玉莲花珠葫芦手链
@@ -1292,6 +1304,7 @@ S925银几何显脸瘦的耳环女潮时尚长款气质蝴蝶结流苏耳坠个
国拓 地道纯猪肉脆皮烤肠300g 早餐热狗肠 纯肉肠 香肠 烧烤囤货食材 脆皮火山石烤肠 台湾烤肠 国拓 地道纯猪肉脆皮烤肠300g 早餐热狗肠 纯肉肠 香肠 烧烤囤货食材 脆皮火山石烤肠 台湾烤肠
【JD空运】云南高原种植丹东99草莓新鲜奶油草莓 平安夜送礼盒孕妇水果 坏果包赔 2盒中果 礼盒装 【JD空运】云南高原种植丹东99草莓新鲜奶油草莓 平安夜送礼盒孕妇水果 坏果包赔 2盒中果 礼盒装
排骨正宗香酥炸排骨速冻菜肴 快手菜 速食方便菜 蒜香腌制半成品 黑椒 半成品菜 排骨2包*500g 排骨正宗香酥炸排骨速冻菜肴 快手菜 速食方便菜 蒜香腌制半成品 黑椒 半成品菜 排骨2包*500g
利客(RIKAY) 无线蓝牙耳机双唛长续航AI降噪挂耳式商务运动跑步开车代驾外卖适用苹果华为小米OPPO手机
荷美尔(Hormel)精选低温午餐肉300g/包 囤货必备全程冷链植物配料慢煮工艺口感绵密 火锅食材泡面搭档 荷美尔(Hormel)精选低温午餐肉300g/包 囤货必备全程冷链植物配料慢煮工艺口感绵密 火锅食材泡面搭档
女士香水三件套装淡香清新自由之水反转巴黎香水礼盒套装情人节生日礼物节日送礼 【黑鸦片香水三件套/每瓶30ml】 女士香水三件套装淡香清新自由之水反转巴黎香水礼盒套装情人节生日礼物节日送礼 【黑鸦片香水三件套/每瓶30ml】
斐济原装进口 Fitsui斐粹 理疗级饮用天然矿泉水 高偏硅酸型高端饮用水 整箱1.5L*12瓶 1.5L整箱 斐济原装进口 Fitsui斐粹 理疗级饮用天然矿泉水 高偏硅酸型高端饮用水 整箱1.5L*12瓶 1.5L整箱
-73
View File
@@ -1,73 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ @(#) log4j2.xml
~ log4j的配置文件
~ <br> Copyright: Copyright (c) 2018
~ <br> Company:黄志军
~ <br> @author selfImpr
~ <br> 2018-05-21 16:20:42
~ <br> @description
~
~
-->
<Configuration status="WARN">
<Properties>
<Property name="appId" value="Spring"/>
<Property name="moduleId" value="Spring"/>
<!--<Property name="logDir" value="/opt/logs/"/>-->
<Property name="logDir" value="F:/sunsharing-program-code/运行日志/sunsharing/logs/"/><!-- windows use this-->
<Property name="logFilePrefix" value="${logDir}/${appId}/${appId}-${moduleId}"/>
<Property name="commonPath" value="${logFilePrefix}.log"/>
<Property name="exceptionPath" value="${logFilePrefix}-exception.log"/>
<Property name="accessPath" value="${logFilePrefix}-access.log"/>
<Property name="commonPattern" value="%d{MM-dd HH:mm:ss.SSS} %p %thread %X{invokeNo} %logger{40} %line %msg%n"/>
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="${commonPattern}"/>
</Console>
<RollingFile name="fileAppender" fileName="${commonPath}" filePattern="${commonPath}.%d{yyyy-MM-dd}" append="true">
<PatternLayout pattern="${commonPattern}"/>
<Policies>
<TimeBasedTriggeringPolicy modulate="true" interval="1"/>
</Policies>
</RollingFile>
<RollingFile name="errorAppender" fileName="${exceptionPath}" filePattern="${exceptionPath}.%d{yyyy-MM-dd}" append="true">
<PatternLayout pattern="${commonPattern}"/>
<Policies>
<TimeBasedTriggeringPolicy modulate="true" interval="1"/>
</Policies>
<Filters>
<ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/>
</Filters>
</RollingFile>
<RollingFile name="accessAppender" fileName="${accessPath}" filePattern="${accessPath}.%d{yyyy-MM-dd}" append="true">
<PatternLayout pattern="${commonPattern}"/>
<Policies>
<TimeBasedTriggeringPolicy modulate="true" interval="1"/>
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="com.sunsharing" level="DEBUG"/>
<Logger name="jdbc.sqltiming" level="INFO"/>
<Root level="WARN">
<AppenderRef ref="Console"/>
<AppenderRef ref="fileAppender"/>
<AppenderRef ref="errorAppender"/>
</Root>
</Loggers>
</Configuration>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+36 -9
View File
@@ -1,12 +1,3 @@
let cookiesArr = [], cookie = '', jdFruitShareArr = [], isBox = false, notify;
let newShareCodes = [];
//助力好友分享码(最多4个,否则后面的助力失败),原因:动动农场每人每天只有四次助力机会
//此此内容是IOS用户下载脚本到本地使用,填写互助码的地方,同一动动账号的好友互助码请使用@符号隔开。
//下面给出两个账号的填写示例(iOS只支持2个动动账号)
let shareCodes =
[ // 这个列表填入你要助力的好友的shareCode
]
let dingtalk = "https://oapi.dingtalk.com/robot/send?access_token=d2b6042cb38f0df63e20797c002208d2710104750c18a1dc84d54106a859a3f0" let dingtalk = "https://oapi.dingtalk.com/robot/send?access_token=d2b6042cb38f0df63e20797c002208d2710104750c18a1dc84d54106a859a3f0"
let dingtalk2 = "https://oapi.dingtalk.com/robot/send?access_token=1832f969da101ef8273e8ba2258f06f15ec34bc22282066b28ab617042a7a9b6"; let dingtalk2 = "https://oapi.dingtalk.com/robot/send?access_token=1832f969da101ef8273e8ba2258f06f15ec34bc22282066b28ab617042a7a9b6";
let getManName = "" let getManName = ""
@@ -27,6 +18,14 @@ let roleMap = {
"羊爱咩咩": "yxb_15390868558", "羊爱咩咩": "yxb_15390868558",
"18709853042_p": "wzx_18709853042", "18709853042_p": "wzx_18709853042",
} }
let cookiesArr = [], cookie = '', jdFruitShareArr = [], isBox = false, notify;
let newShareCodes = [];
//助力好友分享码(最多4个,否则后面的助力失败),原因:动动农场每人每天只有四次助力机会
//此此内容是IOS用户下载脚本到本地使用,填写互助码的地方,同一动动账号的好友互助码请使用@符号隔开。
//下面给出两个账号的填写示例(iOS只支持2个动动账号)
let shareCodes =
[ // 这个列表填入你要助力的好友的shareCode
]
let message = '', subTitle = '', option = {}, isFruitFinished = false; let message = '', subTitle = '', option = {}, isFruitFinished = false;
const retainWater = 100;//保留水滴大于多少g,默认100g; const retainWater = 100;//保留水滴大于多少g,默认100g;
let jdNotify = false;//是否关闭通知,false打开通知推送,true关闭通知推送 let jdNotify = false;//是否关闭通知,false打开通知推送,true关闭通知推送
@@ -34,6 +33,34 @@ let jdFruitBeanCard = false;//农场使用水滴换豆卡(如果出现限时活
let randomCount = $.isNode() ? 0 : 0; let randomCount = $.isNode() ? 0 : 0;
const JD_API_HOST = 'https://api.m.jd.com/client.action'; const JD_API_HOST = 'https://api.m.jd.com/client.action';
const urlSchema = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%20%22des%22:%20%22m%22,%20%22url%22:%20%22https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html%22%20%7D`; const urlSchema = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%20%22des%22:%20%22m%22,%20%22url%22:%20%22https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html%22%20%7D`;
/*
东东水果:脚本更新地址 jd_fruit.js
更新时间:2021-11-7
活动入口:京东APP我的-更多工具-东东农场
东东农场活动链接:https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html
已支持IOS双京东账号,Node.js支持N个京东账号
脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js
互助码shareCode请先手动运行脚本查看打印可看到
一天只能帮助3个人。多出的助力码无效
==========================Quantumultx=========================
[task_local]
#jd免费水果
5 6-18/6 * * * jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true
=========================Loon=============================
[Script]
cron "5 6-18/6 * * *" script-path=jd_fruit.js,tag=东东农场
=========================Surge============================
东东农场 = type=cron,cronexp="5 6-18/6 * * *",wake-system=1,timeout=3600,script-path=jd_fruit.js
=========================小火箭===========================
东东农场 = type=cron,script-path=jd_fruit.js, cronexpr="5 6-18/6 * * *", timeout=3600, enable=true
jd免费水果 搬的https://github.com/liuxiaoyucc/jd-helper/blob/a6f275d9785748014fc6cca821e58427162e9336/fruit/fruit.js
export DO_TEN_WATER_AGAIN="" 默认再次浇水
*/
!(async () => { !(async () => {
await requireConfig(); await requireConfig();
message += "<font color=\'#FFA500\'>[通知] </font><font color=\'#006400\' size='3'>动动农场</font> \n\n --- \n\n" message += "<font color=\'#FFA500\'>[通知] </font><font color=\'#006400\' size='3'>动动农场</font> \n\n --- \n\n"
+555
View File
@@ -0,0 +1,555 @@
/*
入口 极速版 赚金币
分享到QQ查看邀请码 packetId就是
#自定义变量
export tytpacketId=""
[task_local]
#柠檬推一推
0 0 * * * http://nm66.top/jd_tyt.js, tag=柠檬推一推, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true
*/
const $ = new Env('柠檬推一推');
const notify = $.isNode() ? require('./sendNotify') : '';
//Node.js用户请在jdCookie.js处填写京东ck;
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
const ua = `jdltapp;iPhone;3.1.0;${Math.ceil(Math.random()*4+10)}.${Math.ceil(Math.random()*4)};${randomString(40)}`
var status = 0
//IOS等用户直接用NobyDa的jd cookie
let cookiesArr = [],
cookie = '',
message;
let tytpacketId = '';
if (process.env.tytpacketId) {
tytpacketId = process.env.tytpacketId;
}
if ($.isNode()) {
Object.keys(jdCookieNode).forEach((item) => {
cookiesArr.push(jdCookieNode[item])
})
// if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {};
} else {
cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item);
}
const JD_API_HOST = 'https://api.m.jd.com/client.action';
!(async() => {
if (!cookiesArr[0]) {
$.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {
"open-url": "https://bean.m.jd.com/bean/signIndex.action"
});
return;
}
console.log("推一推开始")
for (let i = cookiesArr.length - 1; i > 0; i--) {
if (cookiesArr[i]) {
cookie = cookiesArr[i];
$.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1])
$.index = i + 1;
$.isLogin = true;
$.nickName = '';
message = '';
await TotalBean();
// console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`);
if (!$.isLogin) {
$.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/bean/signIndex.action`, {
"open-url": "https://bean.m.jd.com/bean/signIndex.action"
});
if ($.isNode()) {
await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`);
}
continue
}
if (status == 1) {
break
}
await tythelp()
await $.wait(10000)
}
}
console.log("推一推结束")
})()
.catch((e) => {
$.log('', `${$.name}, 失败! 原因: ${e}!`, '')
})
.finally(() => {
$.done();
})
function tythelp() {
return new Promise(async(resolve) => {
let options = {
url: `https://api.m.jd.com/?t=1623066557140`,
//dS%2Bp85VyjydPuAOOnFP%2Faw%3D%3D
// `functionId=helpCoinDozer&appid=station-soa-h5&client=H5&clientVersion=1.0.0&t=1626442453855&body={"actId":"d5a8c7198ee54de093d2adb04089d3ec","channel":"coin_dozer","antiToken":"yq3pjm7j7k5uvqy47su1626442451438ns7d~NmZeSyVEbFNSd3V7cFVfBnh1AwtmRHpTBiUjb35DFm5vLUROOBEzLUF7G28iAAFBKBgVFA1EPwIVKDclGENXbm8iVlQiAwpTTx1lKSsTCG5vfmsaDUR6LUEnG29+PU8DeXdVWmICZBNSJXN6dAIIUCt8Uww0UW4SUiQleSFWXkAoM0Jkc0oKUwoyKhFmWzEQOTZCXQ1Eei1BKTQ5GENXbm80Qks5ATkdB28tKWoCAl8RZhtkcxY4LUF7G29rPU8eEWZHTA1EbC1BKTM5NBJXbm9oaxohDwpTWR1lf3RNWR56aAcUYUpnQVodZTBmTU9XKSBEX3NcdEFQLXFvaEMOQW9+FV1nVTUUD3Z2OydQGkY/Pk0NJxQvHQ0pNi4iDwRGLyFHDyFeLlNPYyRvfkMVBioyQkhnACFADCgjJCgLF0Y1dQEKZ1JiQ1d0dnl3WRRaLyAVFHMCJR9Be2UrNQgVQzgnAhp9RD8CQXtlfGZNT1gkJxUCc19vSFpjOg==|~1626442453854~1~20201218~eyJ2aXdlIjoiMCIsImJhaW4iOnt9fQ==~2~386~2pl0|551tj-3t,94,,;754-,,,;35b-3t,95,13,l;b5z-3t,95,13,l;057-3t,95,13,l;doei:,1,0,0,0,0,1000,-1000,1000,-1000;dmei:,1,0,0,1000,-1000,1000,-1000,1000,-1000;emc:,5:1;emmm:;emcf:,5:1;ivli:;iivl:;ivcvj:;scvje:;ewhi:,5:179-44;1626442451433,1626442453853,0,1,5,5,0,1,0,0,0;ghuv","referer":"-1","frontendInitStatus":"s","packetId":"771e7201ab684d8dbceb4f7c68010b31-amRfNDY0YTJkNWRlY2M5Yw!!","helperStatus":"0"}&_ste=1&_stk=appid,body,client,clientVersion,functionId,t&h5st=20210716213413857;1825487558127162;10005;tk01w99d91b9aa8naWRuY2d5RFh2Ryyk9GOHsc+L4UqGKO3fDeUkMg9pFuY+YUDbVpkk7COFE8IBK6dj9Nncbm4OdKyR;8dcaa72b9c035da4aa5543a78281c6b0039f93b28c8c2f711914e43b66b2b27a`
body: `functionId=helpCoinDozer&appid=station-soa-h5&client=H5&clientVersion=1.0.0&t=1623120183787&body={"actId":"d5a8c7198ee54de093d2adb04089d3ec","channel":"coin_dozer","antiToken":"mmkajtm9eqonssy6xoi1623119406463ic84~NmZeSyVEbFNSd3V+dVNdA3pxAABkRHpTBiUjb35DFm5vLUROOBEzLUF7G28iAAFBKBgVFA1EPwIVKDclGENXbm8iVlQiAwpTTx1lKSsTCG5vfmsaDUR6LUEnG29+PU9ReSdSWTNTNxICI3V0dlYOV3p0Bwg3UW9IVnd+KSdUC1E3KQFkc0oKUwoyKhFmWzEQOTZCXQ1Eei1BKTQ5GENXbm80Qks5ATkdB28tKWoCAl8RZhtkcxY4LUF7G29rPU8eEWZHTA1EbC1BKTM5NBJXbm9oaxohDwpTWR1lf3RNWR56aAcUYUpnQFcdZTBmTU9XKSBEX3NcdEEFMDdvaEMOQW9+FV82CDAUAXhzfTEDXV07I0VUZx49F1MucyosBwIHeTFSDycPIlNPYyRvfkMDQCwiBFo1VWFHBzsuPnVZB185dQEKYlZkRFR3cnVxUAFFf3QVFHMCJR9Be2U3MwkVQC8nWBp9RD8CQXtlfGZNT1gkJxUCc19vSFpjOg==|~1623120183785~1~20201218~eyJ2aXdlIjoiMCIsImJhaW4iOnt9fQ==~2~281~1pl4|5563f-70,aa,,;751e-,,,;359-70,aa,40,u;b512-70,aa,40,u;058-70,aa,40,u;doei:,1,0,0,0,0,1000,-1000,1000,-1000;dmei:,1,0,0,1000,-1000,1000,-1000,1000,-1000;emc:,5:1;emmm:;emcf:,5:1;ivli:;iivl:;ivcvj:;scvje:;ewhi:,5:197-49;1623120175774,1623120183784,0,1,5,5,0,1,0,0,0;u5ge","referer":"-1","frontendInitStatus":"s","packetId":"${tytpacketId}","helperStatus":"0"}&_ste=1&_stk=appid,body,client,clientVersion,functionId,t&h5st=20210608104303790;8489907903583162;10005;tk01w89681aa9a8nZDdIanIyWnVuWFLK4gnqY+05WKcPY3NWU2dcfa73B7PBM7ufJEN0U+4MyHW5N2mT/RNMq72ycJxH;7e6b956f1a8a71b269a0038bbb4abd24bcfb834a88910818cf1bdfc55b7b96e5`,
headers: {
"Origin": "https://pushgold.jd.com",
"Host": "api.m.jd.com",
"Accept": "application/json, text/plain, */*",
"User-Agent": ua,
"Cookie": cookie,
}
}
$.post(options, async(err, resp, data) => {
try {
data = JSON.parse(data);
if (data.code == 0) {
// console.log("帮砍:" + data.data.amount)
} else if (data.msg.indexOf("完成") != -1) {
console.log("已完成砍价")
status = 1
} else {
// if (data.msg !== "need verify"){
// console.log(data.msg)
// }
// console.log(data.msg)
}
} catch (e) {
$.logErr(e, resp);
} finally {
resolve();
}
});
});
}
function randomString(e) {
e = e || 32;
let t = "abcdefhijkmnprstwxyz2345678",
a = t.length,
n = "";
for (i = 0; i < e; i++)
n += t.charAt(Math.floor(Math.random() * a));
return n
}
async function taskPostUrl(functionId, body) {
return {
url: `${JD_API_HOST}`,
body: `functionId=${functionId}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&appid=content_ecology&uuid=6898c30638c55142969304c8e2167997fa59eb54&t=1622588448365`,
headers: {
'Cookie': cookie,
'Host': 'api.m.jd.com',
'Connection': 'keep-alive',
'Content-Type': 'application/x-www-form-urlencoded',
"User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"),
'Accept-Language': 'zh-cn',
'Accept-Encoding': 'gzip, deflate, br',
}
}
}
async function TotalBean() {
return new Promise(async resolve => {
const options = {
"url": `https://wq.jd.com/user/info/QueryJDUserInfo?sceneval=2`,
"headers": {
"Accept": "application/json,text/plain, */*",
"Content-Type": "application/x-www-form-urlencoded",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-cn",
"Connection": "keep-alive",
"Cookie": cookie,
"Referer": "https://wqs.jd.com/my/jingdou/my.shtml?sceneval=2",
"User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1")
}
}
$.post(options, (err, resp, data) => {
try {
if (err) {
// console.log(`${JSON.stringify(err)}`)
// console.log(`${$.name} API请求失败,请检查网路重试`)
} else {
if (data) {
data = JSON.parse(data);
if (data["retcode"] === 13) {
$.isLogin = false; //cookie过期
return;
}
if (data["retcode"] === 0) {
$.nickName = (data["base"] && data["base"].nickname) || $.UserName;
} else {
$.nickName = $.UserName;
}
} else {
// console.log(`京东服务器返回空数据`)
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve();
}
})
})
}
async function safeGet(data) {
try {
if (typeof JSON.parse(data) == "object") {
return true;
}
} catch (e) {
// console.log(e);
// console.log(`京东服务器访问数据为空,请检查自身设备网络情况`);
return false;
}
}
function jsonParse(str) {
if (typeof str == "string") {
try {
return JSON.parse(str);
} catch (e) {
// console.log(e);
$.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie')
return [];
}
}
}
// prettier-ignore
function Env(t, e) {
"undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0);
class s {
constructor(t) {
this.env = t
}
send(t, e = "GET") {
t = "string" == typeof t ? {
url: t
} : t;
let s = this.get;
return "POST" === e && (s = this.post), new Promise((e, i) => {
s.call(this, t, (t, s, r) => {
t ? i(t) : e(s)
})
})
}
get(t) {
return this.send.call(this.env, t)
}
post(t) {
return this.send.call(this.env, t, "POST")
}
}
return new class {
constructor(t, e) {
this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`)
}
isNode() {
return "undefined" != typeof module && !!module.exports
}
isQuanX() {
return "undefined" != typeof $task
}
isSurge() {
return "undefined" != typeof $httpClient && "undefined" == typeof $loon
}
isLoon() {
return "undefined" != typeof $loon
}
toObj(t, e = null) {
try {
return JSON.parse(t)
} catch {
return e
}
}
toStr(t, e = null) {
try {
return JSON.stringify(t)
} catch {
return e
}
}
getjson(t, e) {
let s = e;
const i = this.getdata(t);
if (i) try {
s = JSON.parse(this.getdata(t))
} catch {}
return s
}
setjson(t, e) {
try {
return this.setdata(JSON.stringify(t), e)
} catch {
return !1
}
}
getScript(t) {
return new Promise(e => {
this.get({
url: t
}, (t, s, i) => e(i))
})
}
runScript(t, e) {
return new Promise(s => {
let i = this.getdata("@chavy_boxjs_userCfgs.httpapi");
i = i ? i.replace(/\n/g, "").trim() : i;
let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");
r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r;
const [o, h] = i.split("@"), n = {
url: `http://${h}/v1/scripting/evaluate`,
body: {
script_text: t,
mock_type: "cron",
timeout: r
},
headers: {
"X-Key": o,
Accept: "*/*"
}
};
this.post(n, (t, e, i) => s(i))
}).catch(t => this.logErr(t))
}
loaddata() {
if (!this.isNode()) return {}; {
this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path");
const t = this.path.resolve(this.dataFile),
e = this.path.resolve(process.cwd(), this.dataFile),
s = this.fs.existsSync(t),
i = !s && this.fs.existsSync(e);
if (!s && !i) return {}; {
const i = s ? t : e;
try {
return JSON.parse(this.fs.readFileSync(i))
} catch (t) {
return {}
}
}
}
}
writedata() {
if (this.isNode()) {
this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path");
const t = this.path.resolve(this.dataFile),
e = this.path.resolve(process.cwd(), this.dataFile),
s = this.fs.existsSync(t),
i = !s && this.fs.existsSync(e),
r = JSON.stringify(this.data);
s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r)
}
}
lodash_get(t, e, s) {
const i = e.replace(/\[(\d+)\]/g, ".$1").split(".");
let r = t;
for (const t of i)
if (r = Object(r)[t], void 0 === r) return s;
return r
}
lodash_set(t, e, s) {
return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t)
}
getdata(t) {
let e = this.getval(t);
if (/^@/.test(t)) {
const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : "";
if (r) try {
const t = JSON.parse(r);
e = t ? this.lodash_get(t, i, "") : e
} catch (t) {
e = ""
}
}
return e
}
setdata(t, e) {
let s = !1;
if (/^@/.test(e)) {
const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}";
try {
const e = JSON.parse(h);
this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i)
} catch (e) {
const o = {};
this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i)
}
} else s = this.setval(t, e);
return s
}
getval(t) {
return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null
}
setval(t, e) {
return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null
}
initGotEnv(t) {
this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar))
}
get(t, e = (() => {})) {
t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, {
"X-Surge-Skip-Scripting": !1
})), $httpClient.get(t, (t, s, i) => {
!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i)
})) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, {
hints: !1
})), $task.fetch(t).then(t => {
const {
statusCode: s,
statusCode: i,
headers: r,
body: o
} = t;
e(null, {
status: s,
statusCode: i,
headers: r,
body: o
}, o)
}, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => {
try {
if (t.headers["set-cookie"]) {
const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();
s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar
}
} catch (t) {
this.logErr(t)
}
}).then(t => {
const {
statusCode: s,
statusCode: i,
headers: r,
body: o
} = t;
e(null, {
status: s,
statusCode: i,
headers: r,
body: o
}, o)
}, t => {
const {
message: s,
response: i
} = t;
e(s, i, i && i.body)
}))
}
post(t, e = (() => {})) {
if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, {
"X-Surge-Skip-Scripting": !1
})), $httpClient.post(t, (t, s, i) => {
!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i)
});
else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, {
hints: !1
})), $task.fetch(t).then(t => {
const {
statusCode: s,
statusCode: i,
headers: r,
body: o
} = t;
e(null, {
status: s,
statusCode: i,
headers: r,
body: o
}, o)
}, t => e(t));
else if (this.isNode()) {
this.initGotEnv(t);
const {
url: s,
...i
} = t;
this.got.post(s, i).then(t => {
const {
statusCode: s,
statusCode: i,
headers: r,
body: o
} = t;
e(null, {
status: s,
statusCode: i,
headers: r,
body: o
}, o)
}, t => {
const {
message: s,
response: i
} = t;
e(s, i, i && i.body)
})
}
}
time(t, e = null) {
const s = e ? new Date(e) : new Date;
let i = {
"M+": s.getMonth() + 1,
"d+": s.getDate(),
"H+": s.getHours(),
"m+": s.getMinutes(),
"s+": s.getSeconds(),
"q+": Math.floor((s.getMonth() + 3) / 3),
S: s.getMilliseconds()
};
/(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length)));
for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length)));
return t
}
msg(e = t, s = "", i = "", r) {
const o = t => {
if (!t) return t;
if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? {
"open-url": t
} : this.isSurge() ? {
url: t
} : void 0;
if ("object" == typeof t) {
if (this.isLoon()) {
let e = t.openUrl || t.url || t["open-url"],
s = t.mediaUrl || t["media-url"];
return {
openUrl: e,
mediaUrl: s
}
}
if (this.isQuanX()) {
let e = t["open-url"] || t.url || t.openUrl,
s = t["media-url"] || t.mediaUrl;
return {
"open-url": e,
"media-url": s
}
}
if (this.isSurge()) {
let e = t.url || t.openUrl || t["open-url"];
return {
url: e
}
}
}
};
if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) {
// let t = ["", "==============📣系统通知📣=============="];
// t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t)
}
}
log(...t) {
// t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator))
}
logErr(t, e) {
const s = !this.isSurge() && !this.isQuanX() && !this.isLoon();
s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t)
}
wait(t) {
return new Promise(e => setTimeout(e, t))
}
done(t = {}) {
const e = (new Date).getTime(),
s = (e - this.startTime) / 1e3;
this.log("", `🔔${this.name}, 结束! 🕛 ${s}`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t)
}
}(t, e)
}
File diff suppressed because one or more lines are too long
-711
View File
@@ -1,711 +0,0 @@
const notify = $.isNode() ? require('./sendNotify') : '';
//Node.js用户请在jdCookie.js处填写动动ck;
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
let helpAuthor=true; // 帮助作者
const randomCount = $.isNode() ? 0 : 5;
let jdNotify = true; // 是否关闭通知,false打开通知推送,true关闭通知推送
//IOS等用户直接用NobyDa的jd cookie
let cookiesArr = [], cookie = '', message = "";
let dingtalk = "https://oapi.dingtalk.com/robot/send?access_token=d2b6042cb38f0df63e20797c002208d2710104750c18a1dc84d54106a859a3f0"
if ($.isNode()) {
Object.keys(jdCookieNode).forEach((item) => {
cookiesArr.push(jdCookieNode[item])
})
if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') that.log = () => {
};
} else {
cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item);
}
const JD_API_HOST = 'https://api.m.jd.com/client.action';
const inviteCodes = [
]
!(async () => {
message += "<font color=\'#FFA500\'>[通知] </font><font color=\'#006400\' size='3'>动动赚赚</font> \n\n --- \n\n"
$.tuanList = []
await requireConfig();
if (!cookiesArr[0]) {
$.msg($.name, '【提示】请先获取动动账号一cookie\n直接使用NobyDa的动动签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"});
return;
}
for (let i = 0; i < cookiesArr.length; i++) {
if (cookiesArr[i]) {
await $.wait(Math.floor(Math.random() * (600000) + 5000));
cookie = cookiesArr[i];
$.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1])
$.index = i + 1;
$.isLogin = true;
$.nickName = '';
await TotalBean();
username = $.UserName
if ($.UserName == "jd_66ea783827d30"){
username = "跑腿小弟"
}
if ($.UserName == "jd_4521b375ebb5d"){
username = "锟锟"
}
if ($.UserName == "jd_542c10c0222bc"){
username = "康康"
}
//加上名称
message = message + "<font color=\'#778899\' size=2>【羊毛姐妹】<font color=\'#FFA500\' size=3>" + username + " </font> </font> \n\n "
that.log(`\n******开始【动动账号${$.index}${$.nickName || $.UserName}*********\n`);
if (!$.isLogin) {
$.msg($.name, `【提示】cookie已失效`, `动动账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/bean/signIndex.action`, {"open-url": "https://bean.m.jd.com/bean/signIndex.action"});
if ($.isNode()) {
await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `动动账号${$.index} ${$.UserName}\n请重新登录获取cookie`);
}
continue
}
await shareCodesFormat()
await jdWish()
}
message += "----\n\n"
}
for (let i = 0; i < cookiesArr.length; i++) {
$.canHelp = true
if (cookiesArr[i]) {
cookie = cookiesArr[i];
await getUserTuanInfo()
await getHelpTuan();
for (let j = 0; j < $.tuanList.length; ++j) {
await helpFriendTuan($.tuanList[j])
if(!$.canHelp) break
}
await setHelpTuan();
}
}
})()
.catch((e) => {
$.log('', `${$.name}, 失败! 原因: ${e}!`, '')
})
.finally(() => {
message = message + getPic()
that.log(message)
postToDingTalk(message)
$.done();
})
async function jdWish() {
$.bean = 0
$.tuan = null
$.hasOpen = false
await getTaskList(true)
await getUserTuanInfo()
if (!$.tuan) {
await openTuan()
if ($.hasOpen) await getUserTuanInfo()
}
if ($.tuan) $.tuanList.push($.tuan)
await helpFriends()
await getUserInfo()
$.nowBean = parseInt($.totalBeanNum)
$.nowNum = parseInt($.totalNum)
for (let i = 0; i < $.taskList.length; ++i) {
let task = $.taskList[i]
if (task['taskId'] === 1 && task['status'] !== 2) {
that.log(`去做任务:${task.taskName}`)
await doTask({"taskId": task['taskId'],"mpVersion":"3.4.0"})
} else if (task['taskId'] !== 3 && task['status'] !== 2) {
that.log(`去做任务:${task.taskName}`)
if(task['itemId'])
await doTask({"itemId":task['itemId'],"taskId":task['taskId'],"mpVersion":"3.4.0"})
else
await doTask({"taskId": task['taskId'],"mpVersion":"3.4.0"})
await $.wait(3000)
}
}
await getTaskList();
await showMsg();
}
function showMsg() {
return new Promise(async resolve => {
message += "<font color=\'#778899\' size=2>" + `本次获得${parseInt($.totalBeanNum) - $.nowBean}京豆,${parseInt($.totalNum) - $.nowNum}金币\n` + "</font>\n\n"
message += "<font color=\'#778899\' size=2>" + `累计获得${$.totalBeanNum}京豆,${$.totalNum}金币\n可兑换${$.totalNum / 10000}元无门槛红包` + "</font>\n\n"
if (parseInt($.totalBeanNum) - $.nowBean > 0) {
$.msg($.name, '', `动动账号${$.index} ${$.nickName}\n${message}`);
} else {
$.log(message)
}
// 云端大于10元无门槛红包时进行通知推送
if ($.isNode() && $.totalNum >= 1000000) await notify.sendNotify(`${$.name} - 动动账号${$.index} - ${$.nickName}`, `动动账号${$.index} ${$.nickName}\n当前金币:${$.totalNum}\n可兑换无门槛红包:${parseInt($.totalNum) / 10000}\n`,)
resolve();
})
}
// function getAuthorShareCode(url) {
// return new Promise(resolve => {
// $.get({url: `${url}?${new Date()}`,
// headers:{
// "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88"
// }}, async (err, resp, data) => {
// try {
// if (err) {
// } else {
// $.tuanList = $.tuanList.concat(JSON.parse(data))
// that.log(`作者助力码获取成功`)
// }
// } catch (e) {
// $.logErr(e, resp)
// } finally {
// resolve();
// }
// })
// })
// }
function helpFriendTuan(body) {
return new Promise(resolve => {
$.get(taskTuanUrl("vvipclub_distributeBean_assist", body), async (err, resp, data) => {
try {
if (err) {
that.log(`${JSON.stringify(err)}`)
that.log(`${$.name} API请求失败,请检查网路重试`)
} else {
if (safeGet(data)) {
data = JSON.parse(data);
if (data.success) {
that.log('助力成功')
} else {
if (data.resultCode === '9200008') that.log('不能助力自己')
else if (data.resultCode === '9200011') that.log('已经助力过')
else if (data.resultCode === '2400205') that.log('团已满')
else if (data.resultCode === '2400203') {that.log('助力次数已耗尽');$.canHelp = false}
else that.log(`未知错误`)
}
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve(data);
}
})
})
}
function getUserTuanInfo() {
let body = {"paramData": {"channel": "FISSION_BEAN"}}
return new Promise(resolve => {
$.get(taskTuanUrl("distributeBeanActivityInfo", body), async (err, resp, data) => {
try {
if (err) {
that.log(`${JSON.stringify(err)}`)
that.log(`${$.name} API请求失败,请检查网路重试`)
} else {
if (safeGet(data)) {
data = JSON.parse(data);
if (data.data && !data.data.canStartNewAssist) {
$.tuan = {
"activityIdEncrypted": data.data.id,
"assistStartRecordId": data.data.assistStartRecordId,
"assistedPinEncrypted": data.data.encPin,
"channel": "FISSION_BEAN"
}
$.tuanActId = data.data.id
}
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve(data);
}
})
})
}
function openTuan() {
let body = {"activityIdEncrypted": $.tuanActId, "channel": "FISSION_BEAN"}
return new Promise(resolve => {
$.get(taskTuanUrl("vvipclub_distributeBean_startAssist", body), async (err, resp, data) => {
try {
if (err) {
that.log(`${JSON.stringify(err)}`)
that.log(`${$.name} API请求失败,请检查网路重试`)
} else {
if (safeGet(data)) {
data = JSON.parse(data);
if (data['success']) {
$.hasOpen = true
}
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve(data);
}
})
})
}
function getUserInfo() {
return new Promise(resolve => {
$.get(taskUrl("interactIndex"), async (err, resp, data) => {
try {
if (err) {
that.log(`${JSON.stringify(err)}`)
that.log(`${$.name} API请求失败,请检查网路重试`)
} else {
if (safeGet(data)) {
data = JSON.parse(data);
// if (data.data.shareTaskRes) {
// that.log(`\n【动动账号${$.index}${$.nickName || $.UserName})的${$.name}好友互助码】${data.data.shareTaskRes.itemId}\n`);
// } else {
// that.log(`\n\n已满5人助力或助力功能已下线,故暂时无${$.name}好友助力码\n\n`)
// }
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve(data);
}
})
})
}
function getTaskList(flag = false) {
return new Promise(resolve => {
$.get(taskUrl("interactTaskIndex"), async (err, resp, data) => {
try {
if (err) {
that.log(`${JSON.stringify(err)}`)
that.log(`${$.name} API请求失败,请检查网路重试`)
} else {
if (safeGet(data)) {
data = JSON.parse(data);
$.taskList = data.data.taskDetailResList
$.totalNum = data.data.totalNum
$.totalBeanNum = data.data.totalBeanNum
if (flag && $.taskList.filter(item => !!item && item['taskId']=== 3) && $.taskList.filter(item => !!item && item['taskId']=== 3).length) {
$.shareId=$.taskList.filter(item => !!item && item['taskId']=== 3)[0]['itemId'];
that.log(`\n【动动账号${$.index}${$.nickName || $.UserName})的${$.name}好友互助码】${$.taskList.filter(item => !!item && item['taskId']=== 3)[0]['itemId']}\n`);
}
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve(data);
}
})
})
}
// 完成
function doTask(body, func = "doInteractTask") {
// that.log(taskUrl("doInteractTask", body))
return new Promise(resolve => {
$.get(taskUrl(func, body), async (err, resp, data) => {
try {
if (err) {
that.log(`${JSON.stringify(err)}`)
that.log(`${$.name} API请求失败,请检查网路重试`)
} else {
if (safeGet(data)) {
data = JSON.parse(data);
// that.log(data)
if (func === "doInteractTask") {
if (data.subCode === "S000") {
that.log(`任务完成,获得 ${data.data.taskDetailResList[0].incomeAmountConf} 金币,${data.data.taskDetailResList[0].beanNum} 京豆`)
$.bean += parseInt(data.data.taskDetailResList[0].beanNum)
} else {
that.log(`任务失败,错误信息:${data.message}`)
}
} else {
that.log(`${data.data.helpResDesc}`)
}
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve(data);
}
})
})
}
async function helpFriends() {
await getHelp();
for (let code of $.newShareCodes) {
if (!code) continue
await doTask({"itemId": code, "taskId": "3", "mpVersion": "3.4.0"}, "doHelpTask")
}
await setHelp();
}
// function readShareCode() {
// that.log(`开始`)
// return new Promise(async resolve => {
// $.get({url: `https://code.chiang.fun/api/v1/jd/jdzz/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => {
// try {
// if (err) {
// that.log(`${JSON.stringify(err)}`)
// that.log(`${$.name} API请求失败,请检查网路重试`)
// } else {
// if (data) {
// that.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`)
// data = JSON.parse(data);
// }
// }
// } catch (e) {
// $.logErr(e, resp)
// } finally {
// resolve(data);
// }
// })
// await $.wait(10000);
// resolve()
// })
// }
function getHelp() {
$.newShareCodes = [];
return new Promise(resolve => {
$.get({
url: "http://api.tyh52.com/act/get/jdzz/3"
}, (err, resp, data) => {
try {
if (data) {
data = JSON.parse(data);
if (data.code == 1) {
let list = data.data;
if (!(list instanceof Array)) {
list = JSON.parse(list);
}
if (list.length > 0) {
for (var i in list) {
$.newShareCodes.push(list[i]);
}
}
}
}
} catch (e) {
$.logErr(e, resp);
} finally {
resolve(data);
}
})
});
}
function setHelp() {
return new Promise(resolve => {
if ($.shareId) {
$.get({
url: "http://api.tyh52.com/act/set/jdzz/" + $.shareId
}, (err, resp, data) => {
try {
if (data) {
data = JSON.parse(data);
if (data.code == 1) {
that.log("提交自己的邀請碼成功");
} else {
that.log("提交邀请码失败," + data.message);
}
}
} catch (e) {
$.logErr(e, resp);
} finally {
resolve(data);
}
})
} else {
resolve();
}
});
}
function getHelpTuan() {
$.tuanList = [];
return new Promise(resolve => {
$.get({
url: "http://api.tyh52.com/act/get/jdzzTuan/3"
}, (err, resp, data) => {
try {
if (data) {
data = JSON.parse(data);
if (data.code == 1) {
let list = data.data;
if (!(list instanceof Array)) {
list = JSON.parse(list);
}
if (list.length > 0) {
for (var item of list) {
let its=item.split('@');
if(its.length==2){
let tuan={
"activityIdEncrypted": $.tuanActId,
"assistStartRecordId": its[0],
"assistedPinEncrypted": its[1],
"channel": "FISSION_BEAN"
}
$.tuanList.push(tuan);
}
}
}
}
}
} catch (e) {
$.logErr(e, resp);
} finally {
resolve(data);
}
})
});
}
function setHelpTuan() {
return new Promise(resolve => {
if ($.tuan) {
$.get({
url: "http://api.tyh52.com/act/set/jdzzTuan/" + $.tuan.assistStartRecordId+'@'+$.tuan.assistedPinEncrypted
}, (err, resp, data) => {
try {
if (data) {
that.log(data);
data = JSON.parse(data);
if (data.code == 1) {
that.log("提交自己的开团碼成功");
}else{
that.log("提交开团码失败," + data.message);
}
}
} catch (e) {
$.logErr(e, resp);
} finally {
resolve(data);
}
})
} else {
resolve();
}
});
}
//格式化助力码
function shareCodesFormat() {
return new Promise(async resolve => {
// that.log(`第${$.index}个动动账号的助力码:::${$.shareCodesArr[$.index - 1]}`)
$.newShareCodes = [];
// if ($.shareCodesArr[$.index - 1]) {
// $.newShareCodes = $.shareCodesArr[$.index - 1].split('@');
// } else {
// that.log(`由于您第${$.index}个动动账号未提供shareCode,将采纳本脚本自带的助力码\n`)
// const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1);
// $.newShareCodes = inviteCodes[tempIndex].split('@');
// }
// const readShareCodeRes = await readShareCode();
// if (readShareCodeRes && readShareCodeRes.code === 200) {
// $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])];
// }
// that.log(`第${$.index}个动动账号将要助力的好友${JSON.stringify($.newShareCodes)}`)
resolve();
})
}
function requireConfig() {
return new Promise(resolve => {
that.log(`开始获取${$.name}配置文件\n`);
//Node.js用户请在jdCookie.js处填写动动ck;
let shareCodes = [];
if ($.isNode()) {
if (process.env.JDZZ_SHARECODES) {
if (process.env.JDZZ_SHARECODES.indexOf('\n') > -1) {
shareCodes = process.env.JDZZ_SHARECODES.split('\n');
} else {
shareCodes = process.env.JDZZ_SHARECODES.split('&');
}
}
}
that.log(`${cookiesArr.length}个动动账号\n`);
$.shareCodesArr = [];
if ($.isNode()) {
Object.keys(shareCodes).forEach((item) => {
if (shareCodes[item]) {
$.shareCodesArr.push(shareCodes[item])
}
})
}
that.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`);
resolve()
})
}
function taskUrl(functionId, body = {}) {
return {
url: `${JD_API_HOST}?functionId=${functionId}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=9.1.0`,
headers: {
'Cookie': cookie,
'Host': 'api.m.jd.com',
'Connection': 'keep-alive',
'Content-Type': 'application/json',
'Referer': 'http://wq.jd.com/wxapp/pages/hd-interaction/index/index',
'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"),
'Accept-Language': 'zh-cn',
'Accept-Encoding': 'gzip, deflate, br',
}
}
}
function taskTuanUrl(function_id, body = {}) {
return {
url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=swat_miniprogram&osVersion=5.0.0&clientVersion=3.1.3&fromType=wxapp&timestamp=${new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000}`,
headers: {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-cn",
"Connection": "keep-alive",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "api.m.jd.com",
"Referer": "https://servicewechat.com/wxa5bf5ee667d91626/108/page-frame.html",
"Cookie": cookie,
"User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"),
}
}
}
function taskPostUrl(function_id, body = {}) {
return {
url: `${JD_API_HOST}?functionId=${function_id}`,
body: body,
headers: {
"Cookie": cookie,
'Content-Type': 'application/x-www-form-urlencoded',
"User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"),
}
}
}
function TotalBean() {
return new Promise(async resolve => {
const options = {
"url": `https://wq.jd.com/user/info/QueryJDUserInfo?sceneval=2`,
"headers": {
"Accept": "application/json,text/plain, */*",
"Content-Type": "application/x-www-form-urlencoded",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-cn",
"Connection": "keep-alive",
"Cookie": cookie,
"Referer": "https://wqs.jd.com/my/jingdou/my.shtml?sceneval=2",
"User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0")
}
}
$.post(options, (err, resp, data) => {
try {
if (err) {
that.log(`${JSON.stringify(err)}`)
that.log(`${$.name} API请求失败,请检查网路重试`)
} else {
if (data) {
data = JSON.parse(data);
if (data['retcode'] === 13) {
$.isLogin = false; //cookie过期
return
}
if (data['retcode'] === 0) {
$.nickName = (data['base'] && data['base'].nickname) || $.UserName;
} else {
$.nickName = $.UserName
}
} else {
that.log(`动动服务器返回空数据`)
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve();
}
})
})
}
function safeGet(data) {
try {
if (typeof JSON.parse(data) == "object") {
return true;
}
} catch (e) {
that.log(e);
that.log(`动动服务器访问数据为空,请检查自身设备网络情况`);
return false;
}
}
function jsonParse(str) {
if (typeof str == "string") {
try {
return JSON.parse(str);
} catch (e) {
that.log(e);
$.msg($.name, '', '不要在BoxJS手动复制粘贴修改cookie')
return [];
}
}
}
//我加的函数
function postToDingTalk(messgae) {
const message1 = "" + messgae
that.log(messgae)
const body = {
"msgtype": "markdown",
"markdown": {
"title":"动动赚赚",
"text": message1
},
"at": {
"atMobiles": [],
"isAtAll": false
}
}
$.post(toDingtalk(dingtalk,JSON.stringify(body)), (data,status,xhr)=>{
try {
that.log(resp)
that.log(data)
if (err) {
that.log(JSON.stringify(err));
$.logErr(err);
} else {
if (safeGet(data)) {
$.duckRes = JSON.parse(data);
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve();
}
},"json")
}
function toDingtalk(urlmain, bodyMain) {
return {
url: urlmain,
body:bodyMain,
headers: { 'Content-Type': 'application/json;charset=utf-8' },
timeout: 10000,
}
}
function getPic(){
let code = ["1.gif","2.png","3.png","4.png","5.gif","6.gif","7.gif","8.gif","9.gif","10.png","11.png"]
let address = "\n\n ![screenshot](https://cdn.jsdelivr.net/gh/selfImprHuang/Go-Tool@v1.2/test/emptyDirTest/3/"
pos = parseInt(11*Math.random())
address = address + code[pos] + ")"
return address
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long