增加获取hoh8 token的功能
This commit is contained in:
parent
cbae7af8a3
commit
4f5e9304bb
@ -17,8 +17,8 @@ db.on('error', function (err) {
|
|||||||
});
|
});
|
||||||
db.once('open', function () {
|
db.once('open', function () {
|
||||||
logger.info('Connected to db.');
|
logger.info('Connected to db.');
|
||||||
// hoh8.run();
|
hoh8.run();
|
||||||
book.run();
|
// book.run();
|
||||||
});
|
});
|
||||||
mongoose.connect(config.db, {promiseLibrary: Promise, useNewUrlParser: true});
|
mongoose.connect(config.db, {promiseLibrary: Promise, useNewUrlParser: true});
|
||||||
|
|
||||||
|
@ -26,6 +26,15 @@ class SpiderDataClass {
|
|||||||
static async saveList(list, type) {
|
static async saveList(list, type) {
|
||||||
for(let record of list) {
|
for(let record of list) {
|
||||||
if (record.id > 0) {
|
if (record.id > 0) {
|
||||||
|
let recordExists
|
||||||
|
try {
|
||||||
|
recordExists = await SpiderDataModel.findOne({'data.id': record.id});
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
|
}
|
||||||
|
if (recordExists) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
let sdata = new SpiderDataModel({
|
let sdata = new SpiderDataModel({
|
||||||
type: type,
|
type: type,
|
||||||
data: record,
|
data: record,
|
||||||
|
@ -12,8 +12,8 @@ let client = socketClient;
|
|||||||
*
|
*
|
||||||
* */
|
* */
|
||||||
|
|
||||||
const token = 'c402cdea067bb6d1ff51090edbe0d645';
|
let token = 'cbc5511ca0993963375939f64f4d9a06';
|
||||||
const uid = '2407044';
|
let uid = '2387984';
|
||||||
/**
|
/**
|
||||||
* 获取电影列表
|
* 获取电影列表
|
||||||
* @param {Number} id 分页 从0开始
|
* @param {Number} id 分页 从0开始
|
||||||
@ -93,78 +93,110 @@ const downloadAllMovieImg = async () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const getToken = async () => {
|
||||||
|
let url = `https://game.hoh8.cn/hh/wx/ma/login.anon`;
|
||||||
|
const data = {
|
||||||
|
deviceType: '5',
|
||||||
|
appVersion: '1.7',
|
||||||
|
jsonData: '{"sessionKey":"nXEu5cOb7G2ny0/AptdfKw==","signature":"472560f8675dc15bb91e57b01e8cd7288e064265","rawData":"{\\"nickName\\":\\"zhl³\\",\\"gender\\":1,\\"language\\":\\"zh_CN\\",\\"city\\":\\"徐汇\\",\\"province\\":\\"上海\\",\\"country\\":\\"中国\\",\\"avatarUrl\\":\\"https://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTLzZqZE6LPAFoqMAqv24dXrcESedsLqnk7ic9ibB8Opzs1WHn6XAqnpwBYWJU4O1HNaDyghszLTYLIw/132\\"}","encryptedData":"doRkV9CbRLD2bOaDxE4D3uMxyTEdhktoQ05+4XlACNWz1pBVbUCLk1OBNh5Vz4Bml1aTPhoMgs40BJlrjglM3iW4j7I4eOAd6LLW7IwXse9Nub7flH1RuhXddixWysVjJvRqiLCk8rPLcHa0K90Pi0r3/1H6yjxdjdSuLxqxgWPtNa/liOVToYlxHHucaP+wWaC0e54MzoWCKSS+feKamNxpUJPU6mmlDDHiEJh11n7EOPmsIBof4yW+S0RGJRzYc+59gk7nBY+wML8FMVtLL4raefCUztZIBpmFtsqOddr+swYnQA4cNVGJRmEbyjuOQFQq3UVAn2lJIcubx6R5gYe6FQkb3pSwf/WdruwBLYHaln4J4+yBMK8lbEZTXZseFwyM69ILomnUHDyPy2EZ6E/ozve7nQQJiKUzbISPDCqa5jUFGB9CcDQFAIgDyQJL+xIgmKlFpXz4JsJCkwccEw==","iv":"sOPgT1rNZvYWixujDYiSRw=="}'
|
||||||
|
};
|
||||||
|
const header = {
|
||||||
|
'Content-Type': 'application/x-www-form-urlencoded',
|
||||||
|
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.3(0x17000321) NetType/WIFI Language/zh_CN',
|
||||||
|
Referer: 'https://servicewechat.com/wxabcbf9b61bdeac64/7/page-frame.html',
|
||||||
|
'Accept-Language': 'zh-cn',
|
||||||
|
'cache-control': 'no-cache',
|
||||||
|
};
|
||||||
|
let repData = await netUtil.postForm(url, data, header, true);
|
||||||
|
repData = JSON.parse(repData);
|
||||||
|
return repData;
|
||||||
|
}
|
||||||
let current = 0;
|
let current = 0;
|
||||||
let list = [];
|
let list = [];
|
||||||
|
|
||||||
|
const parseSocketMsg = () => {
|
||||||
|
let url = `wss://game.hoh8.cn/hh/websocket?userId=${uid}&token=${token}&roomId=0&groupId=global`;
|
||||||
|
client.open(url, '');
|
||||||
|
client.onopen = (e) => {
|
||||||
|
console.log('socket on open');
|
||||||
|
// getMovieList(0); //获取所有电影列表
|
||||||
|
// getGameList(0); //获取所有游戏列表
|
||||||
|
// parseAllRecord('movie'); //更新详情
|
||||||
|
getVideoToken(0); //刷钱
|
||||||
|
}
|
||||||
|
client.onmessage = async (data, flags, number) => {
|
||||||
|
console.log(data);
|
||||||
|
data = JSON.parse(data);
|
||||||
|
let id = parseInt(data.reqId.replace('movielist000', ''));
|
||||||
|
if (data.reqId.indexOf('movielist') === 0 && data.data.length > 0) {
|
||||||
|
try {
|
||||||
|
await SpiderData.saveList(data.data, 'movie');
|
||||||
|
getMovieList(id + 1);
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
|
}
|
||||||
|
} else if (data.reqId.indexOf('movieinfo') === 0) {
|
||||||
|
await SpiderData.updateData(data.data);
|
||||||
|
console.log('begin next movie');
|
||||||
|
current++;
|
||||||
|
if (current < list.length) {
|
||||||
|
getMovieInfo();
|
||||||
|
} else {
|
||||||
|
console.log('finish parse movie info')
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
} else if (data.reqId.indexOf('gamelist') === 0 && data.data.length > 0) {
|
||||||
|
try {
|
||||||
|
await SpiderData.saveList(data.data, 'game');
|
||||||
|
getGameList(id + 1);
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
|
}
|
||||||
|
} else if (data.reqId.indexOf('gameinfo') === 0) {
|
||||||
|
await SpiderData.updateData(data.data);
|
||||||
|
console.log('begin next game');
|
||||||
|
current++;
|
||||||
|
if (current < list.length) {
|
||||||
|
getGameInfo();
|
||||||
|
} else {
|
||||||
|
console.log('finish parse movie info')
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
} else if (data.reqId.indexOf('videotoken') === 0) {
|
||||||
|
const appId = data.data.appId;
|
||||||
|
const videoToken = data.data.token;
|
||||||
|
const appName = data.data.appName;
|
||||||
|
console.log(`appId: ${appId}, token: ${videoToken}`);
|
||||||
|
try {
|
||||||
|
const result = await updateMoney(appId, videoToken, appName);
|
||||||
|
console.log(result);
|
||||||
|
setTimeout(function () {
|
||||||
|
if (current ++ < 20) {
|
||||||
|
getVideoToken(current);
|
||||||
|
}
|
||||||
|
}, 15000)
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
run: function () {
|
run: async () => {
|
||||||
downloadAllMovieImg();
|
try {
|
||||||
|
let data = await getToken();
|
||||||
|
if (data.code === 0) {
|
||||||
|
token = data.sessionToken;
|
||||||
|
uid = data.user.userId;
|
||||||
|
parseSocketMsg();
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// run: function () {
|
// run: function () {
|
||||||
// let url = `wss://game.hoh8.cn/hh/websocket?userId=${uid}&token=${token}&roomId=0&groupId=global`;
|
// downloadAllMovieImg();
|
||||||
// client.open(url, '');
|
|
||||||
// client.onopen = (e) => {
|
|
||||||
// console.log('socket on open');
|
|
||||||
// // getMovieList(0);
|
|
||||||
// // getGameList(0);
|
|
||||||
// // parseAllRecord('movie');
|
|
||||||
// getVideoToken(0);
|
|
||||||
// }
|
|
||||||
// client.onmessage = async (data, flags, number) => {
|
|
||||||
// console.log(data);
|
|
||||||
// data = JSON.parse(data);
|
|
||||||
// let id = parseInt(data.reqId.replace('movielist000', ''));
|
|
||||||
// if (data.reqId.indexOf('movielist') === 0 && data.data.length > 0) {
|
|
||||||
// try {
|
|
||||||
// await SpiderData.saveList(data.data, 'movie');
|
|
||||||
// getMovieList(id + 1);
|
|
||||||
// } catch (err) {
|
|
||||||
// console.log(err);
|
|
||||||
// }
|
|
||||||
// } else if (data.reqId.indexOf('movieinfo') === 0) {
|
|
||||||
// await SpiderData.updateData(data.data);
|
|
||||||
// console.log('begin next movie');
|
|
||||||
// current++;
|
|
||||||
// if (current < list.length) {
|
|
||||||
// getMovieInfo();
|
|
||||||
// } else {
|
|
||||||
// console.log('finish parse movie info')
|
|
||||||
// process.exit(1);
|
|
||||||
// }
|
|
||||||
// } else if (data.reqId.indexOf('gamelist') === 0 && data.data.length > 0) {
|
|
||||||
// try {
|
|
||||||
// await SpiderData.saveList(data.data, 'game');
|
|
||||||
// getGameList(id + 1);
|
|
||||||
// } catch (err) {
|
|
||||||
// console.log(err);
|
|
||||||
// }
|
|
||||||
// } else if (data.reqId.indexOf('gameinfo') === 0) {
|
|
||||||
// await SpiderData.updateData(data.data);
|
|
||||||
// console.log('begin next game');
|
|
||||||
// current++;
|
|
||||||
// if (current < list.length) {
|
|
||||||
// getGameInfo();
|
|
||||||
// } else {
|
|
||||||
// console.log('finish parse movie info')
|
|
||||||
// process.exit(1);
|
|
||||||
// }
|
|
||||||
// } else if (data.reqId.indexOf('videotoken') === 0) {
|
|
||||||
// const appId = data.data.appId;
|
|
||||||
// const videoToken = data.data.token;
|
|
||||||
// const appName = data.data.appName;
|
|
||||||
// console.log(`appId: ${appId}, token: ${videoToken}`);
|
|
||||||
// try {
|
|
||||||
// const result = await updateMoney(appId, videoToken, appName);
|
|
||||||
// console.log(result);
|
|
||||||
// setTimeout(function () {
|
|
||||||
// if (current ++ < 20) {
|
|
||||||
// getVideoToken(current);
|
|
||||||
// }
|
|
||||||
// }, 15000)
|
|
||||||
// } catch (err) {
|
|
||||||
// console.log(err);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ const requestData = (options) => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
postForm(url, data, header) {
|
postForm(url, data, header, gzip) {
|
||||||
header = header || {
|
header = header || {
|
||||||
'Cache-Control': 'no-cache',
|
'Cache-Control': 'no-cache',
|
||||||
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
|
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
|
||||||
@ -26,6 +26,7 @@ export default {
|
|||||||
headers: header,
|
headers: header,
|
||||||
form: data,
|
form: data,
|
||||||
};
|
};
|
||||||
|
(gzip) && (options.gzip = true);
|
||||||
return requestData(options);
|
return requestData(options);
|
||||||
},
|
},
|
||||||
getData(url, header) {
|
getData(url, header) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user