王者荣耀段位水平是可以直接看到的,但是荣耀战力才是衡量玩家实力的标准,因为各种排行榜,甚至是职业选手选拔也是看这个荣耀战力的。
战力系统可以决定玩家所在区域的排名,并发放牌子(这也是是想展示的一种),那有些玩家所在区域玩家较多,那竞争自然而然地比较激烈!
所以,有许多玩家也会找到玩家竞争较少的区域,进而获得更好的牌子!
因此,有许多玩家会想要找到竞争较低的战区,获得更好的牌子,那么有没有一个查到我当前平台中比较低竞争的系统呢?🤔
有的!肝了一段时间后,分享出来给大家,也祝大家更早的拿到自己心仪的牌牌🤓
一、先封装一个过滤非法查询数据的函数
1 // 查询数据过滤 2 data_filter (test_data) { 3 4 // 正则匹配英雄名称为纯中文 5 var chinese_reg = /^[\u4E00-\u9FA5\\s]+$/ 6 7 if (test_data.type === '' && test_data.hero === '') { 8 console.log('查询数据不能为空'); 9 return 10 } else if (!this.type_arr.includes(test_data.type)) { 11 console.log('查询平台类型错误'); 12 return 13 } else if (!chinese_reg.test(test_data.hero)) { 14 console.log('英雄名称应为全中文'); 15 return 16 } 17 return test_data 18 }
二、在初始化方法中写入该实例的公用数据
1 // 初始化方法 2 constructor () { 3 // token 4 this.token = "Z1QljZOZiT4NTG" 5 6 // 请求地址 7 this.req_url = 'http://api.txapi.cn/v1/c/game_query/wz' 8 9 // 查询的平台类型 10 this.type_arr = ['aqq', 'awx', 'iqq', 'iwx'] 11 12 // 查询的英雄数据 13 this.query_data = {} 14 }
三、再封装一个查询方法
1 // 查询英雄战力 2 query_power (url, token, data) { 3 let p = new Promise(function (resolve, reject) { 4 axios({ 5 url: url, 6 method: 'GET', 7 params: { 8 token: token, 9 type: data.type, 10 hero: data.hero 11 } 12 }).then(resp => { 13 if(resp.data.code != 200 && resp.data.msg != "ok"){ 14 console.log("查询失败") 15 } else { 16 resolve(resp.data) 17 } 18 }) 19 }) 20 return p 21 }
最后附上完整代码,复制即可食用🤓
1 const axios = require('axios') 2 3class Parse { 4 // 初始化方法 5 constructor () { 6 // token 7 this.token = "Z1QljZOZiT4NTG" 8 9 // 请求地址 10 this.req_url = 'http://api.txapi.cn/v1/c/game_query/wz' 11 12 // 查询的平台类型 13 this.type_arr = ['aqq', 'awx', 'iqq', 'iwx'] 14 15 // 查询的英雄数据 16 this.query_data = {} 17 } 18 19 // 查询数据过滤 20 data_filter (test_data) { 21 22 // 正则匹配英雄名称为纯中文 23 var chinese_reg = /^[\u4E00-\u9FA5\\s]+$/ 24 25 if (test_data.type === '' && test_data.hero === '') { 26 console.log('查询数据不能为空'); 27 return 28 } else if (!this.type_arr.includes(test_data.type)) { 29 console.log('查询平台类型错误'); 30 return 31 } else if (!chinese_reg.test(test_data.hero)) { 32 console.log('英雄名称应为全中文'); 33 return 34 } 35 return test_data 36 } 37 38 // 查询英雄战力 39 query_power (url, token, data) { 40 let p = new Promise(function (resolve, reject) { 41 axios({ 42 url: url, 43 method: 'GET', 44 params: { 45 token: token, 46 type: data.type, 47 hero: data.hero 48 } 49 }).then(resp => { 50 if(resp.data.code != 200 && resp.data.msg != "ok"){ 51 console.log("查询失败") 52 } else { 53 resolve(resp.data) 54 } 55 }) 56 }) 57 return p 58 } 59 60 // run函数 61 run (test_data) { 62 63 // 检测名称是否合法 64 this.query_data = this.data_filter(test_data) 65 66 if(!this.query_data){ 67 return 68 } 69 70 this.query_power(this.req_url, this.token, this.query_data).then(res => { 71 console.log(res); // 查询结果 72 }) 73 } 74} 75 76if(__filename === process.mainModule.filename) { 77 // new一个Parse对象 78 const p = new Parse() 79 80 var test_data = { 81 type: 'aqq', // 查询的平台类型 82 hero: '诸葛亮' // 查询的英雄名称 83 } 84 85 // 调用run方法 86 p.run(test_data) 87}