【微信排行榜】,用生成的模板无法显示的bug(cc 3.6版本)。

将自动生成的模板中的数据修改为拉取微信KVData数据,无法显示。
拉取后调用draw()也无法绘制,还是空的。
求做过的大神指点一下。

方便给个简单的 demo 看看?

demo 中的template.js 文件log的数据总是很奇怪,和dataDemo中的log的不一样,如下图template中log的数据:
image
openDataContext.zip (130.5 KB)

openDataContext.zip (128.8 KB)
试试?

哈哈,同步是可以的,异步不行。我搞定了。

新的问题:
调试的时候是直接显示排行榜的,可以显示了。但是真正用的时候,往往是按需显示。这时候就有个问题,先加载排行榜数据,显示私域节点,就无法显示,会报错。
index.js 如下
const style = require(’./render/style’)

const Layout = require(’./engine’).default

const dataDemo = require(’./render/dataDemo’);

// const template = require(’./render/template’);

let __env = GameGlobal.wx || GameGlobal.tt || GameGlobal.swan;

let sharedCanvas = __env.getSharedCanvas();

let sharedContext = sharedCanvas.getContext(‘2d’);

export function draw() {

const template = require(’./render/template’)

Layout.clear();

Layout.init(template, style);

Layout.layout(sharedContext);

}

export function updateViewPort(data) {

Layout.updateViewPort({

x: data.x,

y: data.y,

width: data.width,

height: data.height,

});

}

__env.onMessage(data => {

console.log(‘data’,data);

if(data.type === ‘engine’ && data.event === ‘viewport’ ){

updateViewPort(data);

draw();

}

if (data.event === ‘getRankData’) {

dataDemo.getFriendRankData()

}

});

报错如下:
image
引擎内报错代码如下

搞定了,是样式导致的报错,无语。