100 lines
2.3 KiB
JavaScript
100 lines
2.3 KiB
JavaScript
import moduleHelper from './module-helper';
|
|
import { formatJsonStr, getListObject, uid } from './utils';
|
|
const gameClubButtonList = {};
|
|
const typeEnum = {
|
|
0: 'text',
|
|
1: 'image',
|
|
};
|
|
const iconEnum = {
|
|
0: 'green',
|
|
1: 'white',
|
|
2: 'dark',
|
|
3: 'light',
|
|
};
|
|
const getObject = getListObject(gameClubButtonList, 'gameClubButton');
|
|
export default {
|
|
WXCreateGameClubButton(conf) {
|
|
const config = formatJsonStr(conf);
|
|
|
|
config.style = JSON.parse(config.styleRaw);
|
|
if (config.style.fontSize === 0) {
|
|
|
|
config.style.fontSize = undefined;
|
|
}
|
|
|
|
config.type = typeEnum[config.type];
|
|
|
|
config.icon = iconEnum[config.icon];
|
|
const id = uid();
|
|
gameClubButtonList[id] = wx.createGameClubButton(config);
|
|
return id;
|
|
},
|
|
WXGameClubButtonDestroy(id) {
|
|
const obj = getObject(id);
|
|
if (!obj) {
|
|
return;
|
|
}
|
|
obj.destroy();
|
|
if (gameClubButtonList) {
|
|
delete gameClubButtonList[id];
|
|
}
|
|
},
|
|
WXGameClubButtonHide(id) {
|
|
const obj = getObject(id);
|
|
if (!obj) {
|
|
return;
|
|
}
|
|
obj.hide();
|
|
},
|
|
WXGameClubButtonShow(id) {
|
|
const obj = getObject(id);
|
|
if (!obj) {
|
|
return;
|
|
}
|
|
obj.show();
|
|
},
|
|
WXGameClubButtonAddListener(id, key) {
|
|
const obj = getObject(id);
|
|
if (!obj) {
|
|
return;
|
|
}
|
|
obj[key](() => {
|
|
moduleHelper.send('OnGameClubButtonCallback', JSON.stringify({
|
|
callbackId: id,
|
|
errMsg: key,
|
|
}));
|
|
});
|
|
},
|
|
WXGameClubButtonRemoveListener(id, key) {
|
|
const obj = getObject(id);
|
|
if (!obj) {
|
|
return;
|
|
}
|
|
obj[key]();
|
|
},
|
|
|
|
WXGameClubButtonSetProperty(id, key, value) {
|
|
const obj = getObject(id);
|
|
if (!obj) {
|
|
return;
|
|
}
|
|
obj[key] = value;
|
|
},
|
|
|
|
WXGameClubStyleChangeInt(id, key, value) {
|
|
const obj = getObject(id);
|
|
if (!obj) {
|
|
return;
|
|
}
|
|
obj.style[key] = value;
|
|
},
|
|
|
|
WXGameClubStyleChangeStr(id, key, value) {
|
|
const obj = getObject(id);
|
|
if (!obj) {
|
|
return;
|
|
}
|
|
obj.style[key] = value;
|
|
},
|
|
};
|