作者在 2023-08-14 23:01:26 发布以下内容
王者荣耀段位水平是可以直接看到的,但是荣耀战力才是衡量玩家实力的标准,因为各种排行榜,甚至是职业选手选拔也是看这个荣耀战力的。
战力系统可以决定玩家所在区域的排名,并发放牌子(这也是是想展示的一种),那有些玩家所在区域玩家较多,那竞争自然而然地比较激烈!
所以,有许多玩家也会找到玩家竞争较少的区域,进而获得更好的牌子!
因此,有许多玩家会想要找到竞争较低的战区,获得更好的牌子,那么有没有一个查到我当前平台中比较低竞争的系统呢?🤔
有的!肝了一段时间后,分享出来给大家,也祝大家更早的拿到自己心仪的牌牌🤓
一、先封装一个过滤非法查询数据的函数
// 查询数据过滤
data_filter (test_data) {
// 正则匹配英雄名称为纯中文
var chinese_reg = /^[\u4E00-\u9FA5\s]+$/
if (test_data.type === '' && test_data.hero === '') {
console.log('查询数据不能为空');
return
} else if (!this.type_arr.includes(test_data.type)) {
console.log('查询平台类型错误');
return
} else if (!chinese_reg.test(test_data.hero)) {
console.log('英雄名称应为全中文');
return
}
return test_data
}
二、在初始化方法中写入该实例的公用数据
// 初始化方法
constructor () {
// token
this.token = "Z1QljZOZiT4NTG"
// 请求地址
this.req_url = 'http://api.txapi.cn/v1/c/game_query/wz'
// 查询的平台类型
this.type_arr = ['aqq', 'awx', 'iqq', 'iwx']
// 查询的英雄数据
this.query_data = {}
}
三、再封装一个查询方法
// 查询英雄战力
query_power (url, token, data) {
let p = new Promise(function (resolve, reject) {
axios({
url: url,
method: 'GET',
params: {
token: token,
type: data.type,
hero: data.hero
}
}).then(resp => {
if(resp.data.code != 200 && resp.data.msg != "ok"){
console.log("查询失败")
} else {
resolve(resp.data)
}
})
})
return p
}
最后附上完整代码,复制即可食用🤓
const axios = require('axios')
class Parse {
// 初始化方法
constructor () {
// token
this.token = "Z1QljZOZiT4NTG"
// 请求地址
this.req_url = 'http://api.txapi.cn/v1/c/game_query/wz'
// 查询的平台类型
this.type_arr = ['aqq', 'awx', 'iqq', 'iwx']
// 查询的英雄数据
this.query_data = {}
}
// 查询数据过滤
data_filter (test_data) {
// 正则匹配英雄名称为纯中文
var chinese_reg = /^[\u4E00-\u9FA5\s]+$/
if (test_data.type === '' && test_data.hero === '') {
console.log('查询数据不能为空');
return
} else if (!this.type_arr.includes(test_data.type)) {
console.log('查询平台类型错误');
return
} else if (!chinese_reg.test(test_data.hero)) {
console.log('英雄名称应为全中文');
return
}
return test_data
}
// 查询英雄战力
query_power (url, token, data) {
let p = new Promise(function (resolve, reject) {
axios({
url: url,
method: 'GET',
params: {
token: token,
type: data.type,
hero: data.hero
}
}).then(resp => {
if(resp.data.code != 200 && resp.data.msg != "ok"){
console.log("查询失败")
} else {
resolve(resp.data)
}
})
})
return p
}
// run函数
run (test_data) {
// 检测名称是否合法
this.query_data = this.data_filter(test_data)
if(!this.query_data){
return
}
this.query_power(this.req_url, this.token, this.query_data).then(res => {
console.log(res); // 查询结果
})
}
}
if(__filename === process.mainModule.filename) {
// new一个Parse对象
const p = new Parse()
var test_data = {
type: 'aqq', // 查询的平台类型
hero: '诸葛亮' // 查询的英雄名称
}
// 调用run方法
p.run(test_data)
}