我那个排行榜做出来就这个样子,也不知道怎么回事,子域就是得不到想要的样式。导出来的子域里什么都调用不起来,结果在微信开发工具下用canvas硬写了一个::
1、方式是先通过官方的_show命令获取所有的数据,
2、将value由字符串转为数值,组成新的数组再排序,
3、再将排列好的新列表drawIamge到canvas上,
这玩法简直是麻烦到极点了,也不知道咋回事。哪个开放数据域具体操作还有什么玄机吗?我都尝试N遍了,写了一大堆下面这些,的确是出来了个排行榜,数据也对了,但这肯定哪不对,真是头大了
//不变背景&&上面的列表头
context2.fillStyle = 'black'
console.log(w + ' ' + h)
context2.fillRect(0, ht - 30, 1000, 2300)
context.font = "18px Verdana";
context.fillStyle = 'white'
context.fillText("排名", wt + 10, ht * 5.5);
context.fillText("昵称", wt + k / 1.2, ht * 5.5);
context.fillText("闯关数", wt + k * 2, ht * 5.5);
//开始排名
let len = newArr.length;
let i = len - 1
if (i > 20) {
i = 20
}
while (i > -1) {
let dataItem = newArr[i];
let kvData = dataItem.KVDataList;
let avatarUrl = dataItem.avatarUrl;
let nickname = dataItem.nickname;
let img = wx.createImage();
img.src = "" + avatarUrl;
context.fillText(len - i, wt + 15, ht * 5.5 + ((len - i) * 30));//这是前面的序数定位
context.drawImage(img, wt + k / 1.55, (ht * 5.5 - 20) + ((len - i) * 30), 25, 25);//这是头像定位
context.fillText(nickname, wt + k / 1.2, ht * 5.5 + ((len - i) * 30));//这是昵称定位
context.fillText(kvData[0].value, wt + k * 2.2, ht * 5.5 + ((len - i) * 30));//这是后面的得分定位
i--
}
这还只是一段,全篇就是一大片。。。排行榜真这么容易见鬼吗,是子域的哪里没操作对?

左边是主域工程,右边是子域工程