Skip to content

Commit ef9bec1

Browse files
Update
1 parent ad64fc1 commit ef9bec1

File tree

2 files changed

+165
-0
lines changed

2 files changed

+165
-0
lines changed

jd_fruit_plant.js

+119
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
"use strict";
2+
/**
3+
* 农场自动收+种4级
4+
*/
5+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7+
return new (P || (P = Promise))(function (resolve, reject) {
8+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
11+
step((generator = generator.apply(thisArg, _arguments || [])).next());
12+
});
13+
};
14+
var __generator = (this && this.__generator) || function (thisArg, body) {
15+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
16+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
17+
function verb(n) { return function (v) { return step([n, v]); }; }
18+
function step(op) {
19+
if (f) throw new TypeError("Generator is already executing.");
20+
while (_) try {
21+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
22+
if (y = 0, t) op = [op[0] & 2, t.value];
23+
switch (op[0]) {
24+
case 0: case 1: t = op; break;
25+
case 4: _.label++; return { value: op[1], done: false };
26+
case 5: _.label++; y = op[1]; op = [0]; continue;
27+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
28+
default:
29+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
30+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
31+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
32+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
33+
if (t[2]) _.ops.pop();
34+
_.trys.pop(); continue;
35+
}
36+
op = body.call(thisArg, _);
37+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
38+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
39+
}
40+
};
41+
exports.__esModule = true;
42+
var TS_USER_AGENTS_1 = require("./TS_USER_AGENTS");
43+
var axios_1 = require("axios");
44+
var cookie = '', UserName, res;
45+
!(function () { return __awaiter(void 0, void 0, void 0, function () {
46+
var cookiesArr, _i, _a, _b, index, value, element;
47+
return __generator(this, function (_c) {
48+
switch (_c.label) {
49+
case 0: return [4 /*yield*/, (0, TS_USER_AGENTS_1.requireConfig)(true)];
50+
case 1:
51+
cookiesArr = _c.sent();
52+
_i = 0, _a = cookiesArr.entries();
53+
_c.label = 2;
54+
case 2:
55+
if (!(_i < _a.length)) return [3 /*break*/, 12];
56+
_b = _a[_i], index = _b[0], value = _b[1];
57+
cookie = value;
58+
UserName = decodeURIComponent(cookie.match(/pt_pin=([^;]*)/)[1]);
59+
console.log("\n\u5F00\u59CB\u3010\u4EAC\u4E1C\u8D26\u53F7".concat(index + 1, "\u3011").concat(UserName, "\n"));
60+
return [4 /*yield*/, api('initForFarm', { "version": 11, "channel": 3, "babelChannel": 0 })];
61+
case 3:
62+
res = _c.sent();
63+
if (![2, 3].includes(res.farmUserPro.treeState)) {
64+
console.log('正在种植...');
65+
}
66+
if (!(res.farmUserPro.treeState === 2)) return [3 /*break*/, 6];
67+
return [4 /*yield*/, api('gotCouponForFarm', { "version": 11, "channel": 3, "babelChannel": 0 })];
68+
case 4:
69+
res = _c.sent();
70+
return [4 /*yield*/, api('initForFarm', { "version": 11, "channel": 3, "babelChannel": 0 })];
71+
case 5:
72+
res = _c.sent();
73+
_c.label = 6;
74+
case 6:
75+
if (!(res.farmUserPro.treeState === 3)) return [3 /*break*/, 11];
76+
element = res.farmLevelWinGoods[4][0];
77+
return [4 /*yield*/, api('choiceGoodsForFarm', { "imageUrl": '', "nickName": '', "shareCode": '', "goodsType": element.type, "type": "0", "version": 11, "channel": 3, "babelChannel": 0 })];
78+
case 7:
79+
res = _c.sent();
80+
(0, TS_USER_AGENTS_1.o2s)(res);
81+
return [4 /*yield*/, api('gotStageAwardForFarm', { "type": "4", "version": 11, "channel": 3, "babelChannel": 0 })];
82+
case 8:
83+
_c.sent();
84+
return [4 /*yield*/, api('waterGoodForFarm', { "type": "", "version": 11, "channel": 3, "babelChannel": 0 })];
85+
case 9:
86+
_c.sent();
87+
return [4 /*yield*/, api('gotStageAwardForFarm', { "type": "1", "version": 11, "channel": 3, "babelChannel": 0 })];
88+
case 10:
89+
_c.sent();
90+
_c.label = 11;
91+
case 11:
92+
_i++;
93+
return [3 /*break*/, 2];
94+
case 12: return [2 /*return*/];
95+
}
96+
});
97+
}); })();
98+
function api(fn, body) {
99+
return __awaiter(this, void 0, void 0, function () {
100+
var data;
101+
return __generator(this, function (_a) {
102+
switch (_a.label) {
103+
case 0: return [4 /*yield*/, axios_1["default"].get("https://api.m.jd.com/client.action?functionId=".concat(fn, "&body=").concat(JSON.stringify(body), "&client=apple&clientVersion=10.0.4&osVersion=13.7&appid=wh5&loginType=2&loginWQBiz=interact"), {
104+
headers: {
105+
"Cookie": cookie,
106+
"Host": "api.m.jd.com",
107+
'User-Agent': TS_USER_AGENTS_1["default"]
108+
}
109+
})];
110+
case 1:
111+
data = (_a.sent()).data;
112+
return [4 /*yield*/, (0, TS_USER_AGENTS_1.wait)(1000)];
113+
case 2:
114+
_a.sent();
115+
return [2 /*return*/, data];
116+
}
117+
});
118+
});
119+
}

jd_fruit_plant.ts

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/**
2+
* 农场自动收+种4级
3+
*/
4+
5+
import USER_AGENT, {o2s, requireConfig, wait} from "./TS_USER_AGENTS"
6+
import axios from "axios";
7+
8+
let cookie: string = '', UserName: string, res: any
9+
10+
!(async () => {
11+
let cookiesArr: string[] = await requireConfig(true)
12+
for (let [index, value] of cookiesArr.entries()) {
13+
cookie = value
14+
UserName = decodeURIComponent(cookie.match(/pt_pin=([^;]*)/)![1])
15+
console.log(`\n开始【京东账号${index + 1}${UserName}\n`)
16+
17+
res = await api('initForFarm', {"version": 11, "channel": 3, "babelChannel": 0})
18+
if (![2, 3].includes(res.farmUserPro.treeState)) {
19+
console.log('正在种植...')
20+
}
21+
if (res.farmUserPro.treeState === 2) {
22+
res = await api('gotCouponForFarm', {"version": 11, "channel": 3, "babelChannel": 0})
23+
res = await api('initForFarm', {"version": 11, "channel": 3, "babelChannel": 0})
24+
}
25+
if (res.farmUserPro.treeState === 3) {
26+
let element = res.farmLevelWinGoods[4][0];
27+
res = await api('choiceGoodsForFarm', {"imageUrl": '', "nickName": '', "shareCode": '', "goodsType": element.type, "type": "0", "version": 11, "channel": 3, "babelChannel": 0});
28+
o2s(res)
29+
await api('gotStageAwardForFarm', {"type": "4", "version": 11, "channel": 3, "babelChannel": 0});
30+
await api('waterGoodForFarm', {"type": "", "version": 11, "channel": 3, "babelChannel": 0});
31+
await api('gotStageAwardForFarm', {"type": "1", "version": 11, "channel": 3, "babelChannel": 0});
32+
}
33+
}
34+
})()
35+
36+
async function api(fn: string, body: object) {
37+
let {data} = await axios.get(`https://api.m.jd.com/client.action?functionId=${fn}&body=${JSON.stringify(body)}&client=apple&clientVersion=10.0.4&osVersion=13.7&appid=wh5&loginType=2&loginWQBiz=interact`, {
38+
headers: {
39+
"Cookie": cookie,
40+
"Host": "api.m.jd.com",
41+
'User-Agent': USER_AGENT,
42+
}
43+
})
44+
await wait(1000)
45+
return data
46+
}

0 commit comments

Comments
 (0)