"use strict"; cc._RF.push(module, '3c969Lx/WlKgr1czlVvLIix', 'WechatManager'); // scripts/WechatManager.ts "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WechatManager = void 0; // wxAPI: https://developers.weixin.qq.com/minigame/dev/api/ // import { _decorator, screen} from 'cc'; var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; var WechatManager = /** @class */ (function () { function WechatManager() { // 头像回调 this._avatarCallBack = null; } Object.defineProperty(WechatManager, "instance", { get: function () { if (this._instance) { return this._instance; } this._instance = new WechatManager(); return this._instance; }, enumerable: false, configurable: true }); // 获取标记权限 WechatManager.prototype.initAutoSetting = function (callBack) { var _this = this; this._avatarCallBack = callBack; // 避开ts语法检测 // const wx = window['wx']; // 获取请求过的权限标记 var object = { // 成功回调 success: function (res) { // 是否授权用户信息 var autoSetting = res.authSetting; if (autoSetting["scope.userInfo"]) { // 已授权 _this.getUserInfo(); } else { // 未授权 _this.creatUserInfoButton(); } }, // 失败回调 fail: function () { console.log("wx.getSetting获取用户配置失败"); }, // 结束回调(调用成功,失败都会执行) complete: function () { console.log("wx.getSetting获取用户配置结束"); } }; wx.getSetting(object); }; // 创建用户授权按钮(仅用于登录页面, 如果用户拒绝授权,则一直显示) WechatManager.prototype.creatUserInfoButton = function (isFull) { var _this = this; if (isFull === void 0) { isFull = false; } var sysInfo = wx.getSystemInfoSync(); var width = sysInfo.screenWidth; var height = sysInfo.screenHeight; // const wx = window['wx']; var object = { type: 'text', text: '', style: { left: 0, top: 0, width: width, height: height, backgroundColor: '#00000000', color: '#ffffff', fontSize: 20, textAlign: "center", lineHeight: height, } }; // 创建用户授权按钮(仅用于登录页面, 如果用户拒绝授权,则一直显示) // private creatUserInfoButton(isFull: boolean = false) { // // const wx = window['wx']; // let object: any = { // // 按钮类型: text可设置背景色和文本 image仅能设置背景贴图 // type: "text", // // 按钮文本,仅对type为text有效 // text: "授权", // // 按钮样式 // style: { // left: 70, // top: 60, // width: 100, // height: 40, // backgroundColor: "#66CC00", // color: "#FFFFFF", // textAlign: 'center', // lineHeight: 40, // fontSize: 20, // }, // }; var button = wx.createUserInfoButton(object); // 监听用户信息按钮点击事件 button.onTap(function (res) { if (res && res.userInfo) { console.log("用户同意授权"); _this._userInfo = res.userInfo; if (_this._avatarCallBack) { _this._avatarCallBack(_this._userInfo.avatarUrl); } // 授权成功后,才销毁按钮 button.destroy(); } else { console.log("用户拒绝授权"); } }); }; // 获取用户信息,需要获取scope.userInfo的授权,也就是getSettings的接口调用 WechatManager.prototype.getUserInfo = function () { var _this = this; var wx = window['wx']; var object = { success: function (res) { console.log("通过 getUserInfo 获取的数据:", res); if (res) { _this._userInfo = res.userInfo; if (_this._avatarCallBack) { _this._avatarCallBack(_this._userInfo.avatarUrl); } } }, fail: function () { console.log("getUserInfo获取信息失败"); }, complete: function () { }, }; wx.getUserInfo(object); }; WechatManager._instance = null; return WechatManager; }()); exports.WechatManager = WechatManager; cc._RF.pop();