开放数据域
数据的保存和读取
const test_score = {
/**必须有的字段 */
wxgame: {
score: 992,
/**时间戳 */
update_time: "1683191353",
},
// 其他自定义字段
other_key: "test",
rank: 29,
};
// 该方法可以主域调用
wx.setUserCloudStorage({
// 此处必须是array; key-value的形式
KVDataList: [{ key: "test_score", value: JSON.stringify(test_score) }],
success: res => {
console.log("suc", res);
},
fail: e => {
console.log("fail", e);
},
complete: () => {
console.log("complete");
},
});
// 该方法仅存在于开放域中
wx.getUserCloudStorage({
keyList: ["test_score"],
success: res => {
console.log("suc", res);
},
fail: () => {
console.log("fail");
},
complete: () => {
console.log("complete");
},
});
渲染代码咋写
背景一定要用游戏的,dot 的 scrollview 底层不能有东西
scroll_item 可以加图片
按钮逻辑也要用游戏的
主域给子域传递数据
子域上的监听
wx.onMessage(res => {
if (!(res && res.type === "engine")) {
console.log("do something...");
}
});
主域上的发送;
传了两次;
第二次才是下面的 postMessage
let env = window.wx || window.tt || window.swan;
if (env) {
console.log("Message posted");
const message = {
value: "MESSAGE FROM MAIN PROJECT",
};
/**message
* 要发送的消息,message 中及嵌套对象中 key 的 value 只能是 primitive value。即 number、* string、boolean、null、undefined。*/
env.getOpenDataContext().postMessage(message);
}
关于好友列表等数据
区分 group/friend/protential 等
都需要授权
权限接口调用时
未授权或已拒绝的,自动弹窗询问,同意后才可以调用
如果用户已授权,可以直接调用接口;
如果用户已拒绝授权,则不会出现弹窗,而是直接进入接口 fail 回调。
好友信息授权,scope.WxFriendInteraction