//获取应用实例
var app = getApp()
Page({
data:{
select: ["select", "",""],
display:["display","hidden","hidden"],
point: [
{
"label": "击杀",
"value": 60
},
{
"label": "生存",
"value": 60
},
{
"label": "助攻",
"value": 60
},
{
"label": "胜率",
"value": 60
},
{
"label": "魔法",
"value": 60
},
{
"label": "防御",
"value": 60
},
{
"label": "金钱",
"value": 60
}
]
},
selectNav: function(event){
var index = parseInt(event.target.dataset.index);
var sel = ["","",""]
var dis = ["hidden","hidden","hidden"]
sel[index] = "select"
dis[index] = "display"
this.setData({
select:sel,
display:dis
})
},
canvasIdErrorCallback: function (e) {
console.error(e.detail.errMsg);
},
/* value:半径 idex:点 total:总共有几个点 */
valueToPoint: function(value, index, total) {
var x = 0
var y = -value * 0.8
var angle = Math.PI * 2 / total * index
var cos = Math.cos(angle)
var sin = Math.sin(angle)
var tx = x * cos - y * sin + 125
var ty = x * sin + y * cos + 125
return {
x: tx,
y: ty
}
},
canvasDraw: function(){
//使用wx.createContext获取绘图上下文context
var context = wx.createContext()
/* 绘制外围圈 */
//context.arc(100,100,100,0,Math.PI*2,true);
var point = this.data.point
var r_color = ["#ffffff","#d0f0ef", "#99dee3", "#54bfc5", "#238890"]
var pos = []
var radius = 125
/* 该七星图总共分五圈,最外围一圈用来显示标签(击杀、死亡...)
* 首先根据半径通过valueToPoint()计算得到七个点的坐标,然后绘制七角星
* 同时绘制到中心的线,根据r_color指定填充颜色*/
for(var r = 0; r < 5; r ++)
{
context.beginPath();
/* 获取七星图七个点坐标 */
for(var i = 0; i < point.length; i++)
{
pos[i] = this.valueToPoint(radius, i, point.length)
}
radius -= 25
/* 外围一圈绘制标签 */
if(r == 0)
{
context.setFontSize(12)
for(var h = 0; h < point.length; h++)
{
/* 坐标偏移,否则看起来有偏差 */
pos[h].x -= 12
pos[h].y += 5
/* 写标签 */
context.fillText(point[h].label, pos[h].x, pos[h].y)
}
context.stroke()
context.closePath()
continue
}
/* 绘制七角星 */
context.moveTo(pos[0].x,pos[0].y)
for(var i = 1; i < point.length; i++)
context.lineTo(pos[i].x,pos[i].y)
context.lineTo(pos[0].x,pos[0].y)
context.setFillStyle(r_color[r])
if(r == 0)
context.setStrokeStyle(r_color[1])
else
context.setStrokeStyle(r_color[r])
context.fill()
context.stroke()
context.closePath()
/* 绘制到中心的线*/
context.beginPath()
context.setLineWidth(1)
for(var k = 0; k < point.length; k++)
{
context.moveTo(pos[k].x,pos[k].y)
context.lineTo(125,125)
}
context.setStrokeStyle(r_color[1])
context.stroke()
context.closePath()
}
/* 绘制个人能力 */
context.beginPath();
for(var i = 0; i < point.length; i++)
{
pos[i] = this.valueToPoint(point[i].value, i, point.length)
}
/* 绘制七角星 */
context.setLineWidth(2)
context.setStrokeStyle("#ff0000")
context.moveTo(pos[0].x,pos[0].y)
for(var i = 1; i < point.length; i++)
context.lineTo(pos[i].x,pos[i].y)
context.lineTo(pos[0].x,pos[0].y)
context.stroke()
context.closePath()
//调用wx.drawCanvas,通过canvasId指定在哪张画布上绘制,通过actions指定绘制行为
wx.drawCanvas({
canvasId: 'firstCanvas',
actions: context.getActions() //获取绘图动作数组
});
},
onReady: function() {
wx.setNavigationBarTitle({
title: this.data.area[this.data.area_id-1].name
})
this.canvasDraw()
},
onLoad: function(options) {
var that = this
this.setData({
token: app.globalData.token,
area: app.globalData.area,
battle_flag: app.globalData.battle_flag,
division_name: app.globalData.division_name,
division_position: app.globalData.division_position,
game_type: app.globalData.game_type,
win: app.globalData.win
})
if(options.qquin && options.area_id)
{
console.log("this is search user info")
this.setData({
qquin: options.qquin,
area_id: options.area_id
})
}
else
{
console.log("this is default user info")
this.setData({
qquin: app.globalData.user_default.qquin,
area_id: app.globalData.user_default.area_id
})
}
wx.request({
url: 'http://lolapi.games-cube.com/UserHotInfo?qquin='+this.data.qquin+'&vaid='+this.data.area_id,
type: "GET",
header: {
"DAIWAN-API-TOKEN": this.data.token
},
success: function(res) {
//console.log(JSON.stringify(res))
that.setData({
user_hot_info: res.data.data
})
}
})
wx.request({
url: 'http://lolapi.games-cube.com/UserExtInfo?qquin='+this.data.qquin+'&vaid='+this.data.area_id,
type: "GET",
header: {
"DAIWAN-API-TOKEN": this.data.token
},
success: function(res) {
//console.log(JSON.stringify(res))
/* 统计能力七星图 */
var recent_kda = res.data.data[0].items[0].recent_kda
var kill = (recent_kda.k_num / recent_kda.use_num) * 10
if(kill > 100) kill = 100
var assists = (recent_kda.a_num / recent_kda.use_num) * 10
if(assists > 100) assists = 100
var dead = (recent_kda.d_num / recent_kda.use_num) * 10
if(dead > 100) dead = 100
dead = 100 - dead
var win = (recent_kda.win_num / recent_kda.use_num) * 100
if(win > 80) win = 80
if(win < 40) win = 40
win = (win - 40) * 2.5
var point = that.data.point
point[0].value = kill
point[1].value = dead
point[2].value = assists
point[3].value = win
/* 统计常用位置 */
var recent_position = res.data.data[0].items[0].recent_position
var position = [
{
"num":recent_position.jungle_use_num,
"name":"打野"
},
{
"num":recent_position.adc_use_num,
"name":"ADC"
},
{
"num":recent_position.up_use_num,
"name":"上单"
},
{
"num":recent_position.mid_use_num,
"name":"中单"
},
{
"num":recent_position.aux_use_num,
"name":"辅助"
}
]
/* 冒泡排序得到常用的位置 */
var temp
for(var i = 1; i < position.length; i++)
{
for(var j = 0; j < position.length-i; j++)
{
if(position[j].num>position[j+1].num)
{
temp = position[j+1]
position[j+1] = position[j]
position[j] = temp
}
}
}
/* 获取最近常用英雄 */
var champion = res.data.data[3].champion_list
for(var i = 1; i < champion.length; i++)
{
for(var j = 0; j < champion.length-i; j++)
{
if(champion[j].use_num<champion[j+1].use_num)
{
temp = champion[j+1]
champion[j+1] = champion[j]
champion[j] = temp
}
}
}
var recent_champion = champion.slice(0,5)
var per = 0
for(var i = 0; i < 5; i++)
{
没有合适的资源?快使用搜索试试~ 我知道了~
微信小程序开发-LOL战绩查询案例源码.zip
共158个文件
png:94个
js:18个
wxml:15个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 108 浏览量
2021-11-21
16:42:52
上传
评论
收藏 5.48MB ZIP 举报
温馨提示
微信小程序开发-LOL战绩查询案例源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
微信小程序开发-LOL战绩查询案例源码.zip (158个子文件)
lolgame.gif 1.1MB
lolgame.gif 1.1MB
lolgame-fuzzy.gif 362KB
lolgame-fuzzy.gif 362KB
profile_header.jpg 17KB
userinfo.js 9KB
fuzzy.js 4KB
battledetail.js 4KB
app.js 3KB
index.js 3KB
rank(1).js 3KB
rank.js 3KB
hero.js 3KB
data.js 2KB
util.js 2KB
search.js 2KB
area.js 688B
hero_free.js 659B
rankdetail.js 590B
herodetail.js 586B
play.js 464B
api.js 461B
result.js 402B
app.json 1KB
rankdetail.json 93B
herodetail.json 93B
hero.json 93B
data.json 93B
hero_free.json 90B
rank.json 85B
battledetail.json 83B
search.json 63B
userinfo.json 57B
result.json 48B
lolgame-video.png 355KB
lolgame-video.png 355KB
2.png 154KB
0.png 144KB
1.png 134KB
3.png 133KB
5.png 133KB
4.png 133KB
6.png 116KB
255.png 106KB
lolgame-ability.png 58KB
lolgame-ability.png 58KB
Summoner_31.png 7KB
honor_god.png 7KB
Summoner_7.png 7KB
Summoner_21.png 6KB
Summoner_1.png 6KB
Summoner_30.png 6KB
Summoner_3.png 6KB
Summoner_12.png 6KB
Summoner_4.png 6KB
Summoner_11.png 6KB
honor_4_kill.png 6KB
honor_5_kill.png 6KB
honor_3_kill.png 6KB
input_search.png 6KB
Summoner_13.png 6KB
Summoner_2.png 5KB
Summoner_6.png 5KB
Summoner_14.png 5KB
Summoner_32.png 5KB
search.png 3KB
hero.png 3KB
item3.png 3KB
honor_continuous_mvp.png 2KB
honor_mvp.png 2KB
honor_all_heroes.png 2KB
honor_hero.png 2KB
honor_continuous_mvp_disable.png 2KB
honor_eye.png 2KB
honor_hero_disable.png 2KB
honor_mvp_disable.png 2KB
honor_3_kill_disable.png 2KB
honor_many_kills.png 2KB
honor_5_kill_disable.png 2KB
hero_free.png 2KB
honor_4_kill_disable.png 2KB
honor_god_disable.png 2KB
honor_eye_disable.png 1KB
honor_continues_10_win.png 1KB
honor_continues_5_win.png 1KB
honor_continuous_win.png 1KB
honor_assist.png 1KB
honor_continuous_win_disable.png 1KB
honor_many_kills_disable.png 1KB
honor_all_heroes_disable.png 1KB
honor_continues_5_win_disable.png 1KB
item.png 1KB
honor_continues_10_win_disable.png 1KB
battle_money_icon_win.png 1KB
battle_money_icon_lose.png 1KB
play.png 1KB
honor_assist_disable.png 1KB
area.png 962B
discovery.png 914B
video.png 902B
共 158 条
- 1
- 2
资源评论
小小姑娘很大
- 粉丝: 4091
- 资源: 2338
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功