import LocalData from "../Template/LocalData"; import { WechatManager } from "./WXSDK"; //sdk管理器 const { ccclass, property } = cc._decorator; @ccclass export default class Sdk { private static instance: Sdk; public static getInstance(): Sdk { if (!Sdk.instance) { Sdk.instance = new Sdk(); } return Sdk.instance; } inviteID: string = null; Login(Cb: Function) { switch (cc.sys.platform) { case cc.sys.WECHAT_GAME: WechatManager.instance.Login(Cb); break; case cc.sys.BYTEDANCE_GAME: break; default: break; } } getUserInfo(btnNode: cc.Node, succeed: Function, fail: Function) { switch (cc.sys.platform) { case cc.sys.WECHAT_GAME: WechatManager.instance.initAutoSetting((res: wx.types.UserInfo) => { //succeed succeed?.(res) }, () => { //fail fail?.() }, btnNode) // WechatManager.instance.Login(); break; case cc.sys.BYTEDANCE_GAME: break; default: fail?.() break; } } getLaunchOptions() { switch (cc.sys.platform) { case cc.sys.WECHAT_GAME: if (wx.getLaunchOptionsSync().query.inviteID) { Sdk.getInstance().inviteID = wx.getLaunchOptionsSync().query.inviteID console.error('收到邀请ID' + Sdk.getInstance().inviteID); } break; case cc.sys.BYTEDANCE_GAME: break; default: break; } } //震动 Vibrate(type: VibrateType, a: wx.types.Callbacks) { if (!LocalData.getInstance().getVibrate()) { return } switch (cc.sys.platform) { case cc.sys.WECHAT_GAME: WechatManager.instance.vibrate(type, a); break; case cc.sys.BYTEDANCE_GAME: break; default: break; } } //分享 Share() { switch (cc.sys.platform) { case cc.sys.WECHAT_GAME: WechatManager.instance.share(); break; case cc.sys.BYTEDANCE_GAME: break; default: console.log('邀请了一次');//DressUp break; } } postMessage(res) { switch (cc.sys.platform) { case cc.sys.WECHAT_GAME: wx.getOpenDataContext().postMessage(res) break; case cc.sys.BYTEDANCE_GAME: break; default: console.log('postMessage了一次'); break; } } /** * * @param _value1 上班次数 * @param _value2 职位等级 */ Setkey(_value1: string, _value2: string) { switch (cc.sys.platform) { case cc.sys.WECHAT_GAME: WechatManager.instance.uploadUserData(_value1, _value2) break; case cc.sys.BYTEDANCE_GAME: break; default: console.log('Setkey');//DressUp break; } } setOpenID(_value1: string) { switch (cc.sys.platform) { case cc.sys.WECHAT_GAME: WechatManager.instance.OpenId = _value1 break; case cc.sys.BYTEDANCE_GAME: break; default: console.log('SetOpenId');//DressUp break; } } getOpenID() { switch (cc.sys.platform) { case cc.sys.WECHAT_GAME: return WechatManager.instance.OpenId case cc.sys.BYTEDANCE_GAME: break; default: console.log('SetOpenId');//DressUp break; } return null } ShouQuan() { switch (cc.sys.platform) { case cc.sys.WECHAT_GAME: break; case cc.sys.BYTEDANCE_GAME: break; default: console.log('ShouQuan');//DressUp break; } } getFuzzyLocation() { return new Promise((resolve, reject) => { switch (cc.sys.platform) { case cc.sys.WECHAT_GAME: wx.getFuzzyLocation({ type: 'wgs84', success: (res) => { const latitude = res.latitude const longitude = res.longitude // console.error('模糊定位'); // console.error(res); // console.error(latitude); // console.error(longitude); let result = { latitude: latitude, longitude: longitude, OK: true, } resolve(result); }, fail: (res) => { console.error('模糊定位失败'); // console.error(res); let result = { latitude: 0, longitude: 0, OK: false, } resolve(result); }, complete: (res) => { console.error('模糊定位完成'); }, }) break; case cc.sys.BYTEDANCE_GAME: break; default: console.log('ShouQuan');//DressUp break; } }) } } //震动类型 export enum VibrateType { Short = 0, Long = 1, } //震动类型 export enum uploadType { 上班次数 = 'Count', 职位等级 = 'Level', }