jd_beauty.js

This commit is contained in:
lxk0301
2021-02-20 19:38:23 +08:00
parent a715287f33
commit eb4b7e9e03

View File

@@ -81,6 +81,7 @@ async function mr() {
$.tokens = []
$.pos = []
$.helpInfo = []
$.needs = []
const WebSocket = require('ws')
let client = new WebSocket(`wss://xinruimz-isv.isvjcloud.com/wss/?token=${$.token}`)
client.onopen = async () => {
@@ -99,12 +100,6 @@ async function mr() {
// 获得可生产的原料列表
client.send(`{"msg":{"type":"action","args":{},"action":"get_produce_material"}}`)
await $.wait(1000)
// 获得原料生产列表
console.log(`========原料生产信息========`)
for (let pos of positionList) {
client.send(`{"msg":{"type":"action","args":{"position":"${pos}"},"action":"produce_position_info"}}`)
// await $.wait(500)
}
// 获得正在生产的商品信息
client.send('{"msg":{"type":"action","args":{},"action":"product_producing"}}')
await $.wait(1000)
@@ -113,6 +108,14 @@ async function mr() {
// 获得可生成的商品列表
client.send(`{"msg":{"type":"action","args":{"page":1,"num":10},"action":"product_lists"}}`)
await $.wait(1000)
// 获得原料生产列表
console.log(`========原料生产信息========`)
for (let pos of positionList) {
client.send(`{"msg":{"type":"action","args":{"position":"${pos}"},"action":"produce_position_info"}}`)
// await $.wait(500)
}
// 获得任务
client.send(`{"msg":{"type":"action","args":{},"action":"get_task"}}`)
// 获取个人信息
@@ -129,7 +132,6 @@ async function mr() {
for (let i = 0; i < $.pos.length && i < $.tokens.length; ++i) {
$.helpInfo.push(`{"msg":{"type":"action","args":{"inviter_id":"${$.userInfo.id}","position":"${$.pos[i]}","token":"${$.tokens[i]}"},"action":"employee"}}`)
}
console.log($.helpInfo)
};
client.onmessage = async function (e) {
if (e.data !== 'pong' && safeGet(e.data)) {
@@ -155,7 +157,8 @@ async function mr() {
}
} else
$.init = true
console.log(`当前美妆币${$.total}`)
$.level = $.userInfo.level
console.log(`当前美妆币${$.total},用户等级${$.level}`)
break
case "shop_products":
let count = $.taskState.shop_view.length
@@ -249,9 +252,14 @@ async function mr() {
$.pos.push(vo.data.position)
}
} else {
console.log(`${vo.data.position}】上尚未开始生产`)
if (vo.data.valid_electric > 0) {
let ma = $.material.base[0]['items'][positionList.indexOf(vo.data.position)]
console.log(`${vo.data.position}】上尚未开始生产`)
let ma
if($.needs.length){
ma = $.needs.pop()
}
else ma = $.material.base[0]['items'][positionList.indexOf(vo.data.position)]
console.log()
if (ma) {
console.log(`去生产${ma.name}`)
client.send(`{"msg":{"type":"action","args":{"position":"${vo.data.position}","material_id":${ma.id}},"action":"material_produce"}}`)
@@ -263,6 +271,9 @@ async function mr() {
}
}
}
else{
console.log(`${vo.data.position}】电力不足`)
}
}
break
case "material_produce":
@@ -272,8 +283,8 @@ async function mr() {
break
case "material_fetch":
if (vo.code === '200' || vo.code === 200) {
console.log(vo)
console.log(`${vo.data.position}】收取成功,获得${vo.data.procedure.produce_num}${vo.data.material_name}`)
if (vo.data.coins) $.coins += vo.data.coins
} else {
console.log(`任务完成失败,错误信息${vo.msg}`)
}
@@ -292,8 +303,9 @@ async function mr() {
}
break
case "product_lists":
let need_material = []
if (vo.code === '200' || vo.code === 200) {
$.products = vo.data
$.products = vo.data.filter(vo=>vo.level===$.level)
console.log(`========可生产商品信息========`)
for (let product of $.products) {
let num = Infinity
@@ -306,6 +318,8 @@ async function mr() {
msg += `(库存 ${ma.num} 份)`
num = Math.min(num, Math.trunc(ma.num / material.num))
} else {
if(need_material.findIndex(vo=>vo.id===material.material.id)===-1)
need_material.push(material.material)
msg += `(没有库存)`
num = -1000
}
@@ -317,12 +331,14 @@ async function mr() {
client.send(`{"msg":{"type":"action","args":{"product_id":${product.id},"amount":${num}},"action":"product_produce"}}`)
await $.wait(500)
} else {
console.log(msg)
console.log(`${product.name}】原料不足,无法生产`)
}
}
$.needs = need_material
console.log(`=======================`)
} else {
console.log(`生产信息获取失败,错误信息${vo.msg}`)
console.log(`生产信息获取失败,错误信息${vo.msg}`)
}
break
case "product_produce":
@@ -362,7 +378,6 @@ async function mr() {
case 'get_benefit':
for (let benefit of vo.data) {
if (benefit.type === 1) {
console.log(benefit)
console.log(`物品【${benefit.description}】需要${benefit.coins}美妆币,库存${benefit.stock}`)
if (parseInt(benefit.setting.beans_count) === bean &&
$.total > benefit.coins &&