LayaAir之小游戏授权
发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,一 : 修改wx.d.ts①,加入按钮(接口)/** * 按钮 */interface UserInfoButton { destroy(): void; hide(): void; onTap
一 : 修改wx.d.ts
①,加入按钮(接口)
/** * 按钮 */interface UserInfoButton { destroy(): void; hide(): void; onTap(callback: (res) => void): void; offTap(callback: () => void): void; show(): void;}
如下图所示:
②,加入createUserInfoButton方法 , 在 wx模块中:
/** * 获取用户的当前设置。 */ export function getSetting(object: _getSettingObject): void;
二:使用
①,构建按钮攻玩家点击授权
private createUser(): UserInfoButton{ let button:UserInfoButton=wx.createUserInfoButton({type:'text',text:'',style:{width:640,height:1136,backgroundColr:'#ff0000',color:'#ff0000',textAlign:'center',fontSize:16,borderRadius:4}}); button.onTap((res)=>{ this.wxAuthorization( button ); }) return button; }
②,授权方法
private wxAuthorization : Function = ( $button? : UserInfoButton ) : void => { wx.getSetting({ success:(result: _getSettingSuccessObject) : void =>{ if( result.authSetting['scope.userInfo'] ){//已经授权了 if( $button ){ $button.hide(); $button.offTap; } //获取微信玩家信息 wx.getUserInfo({ withCredentials: true, lang: "zh_CN", success: (result: _getUserInfoSuccessObject) : void => { console.log(`玩家信息 : `); console.log( result.userInfo ); model.WC_UserInfo_VO.Instance.UserInfo = result; //创建转发功能(!important) const $general : small_lib.IAopConfigFile = config.AOPConfigManager.Instance.getFile( config.Type_File_Config._General_); const $shere_conf : NodeList|Node = $general.getInfoByFlag( "share" ); this.showShareMenu($general.getValue( $shere_conf , "title" ) , $general.getValue( $shere_conf , "png" )); this._isWait_count ++; this.enter2Game(); }, fail: () : void => { console.warn(`微信获取玩家信息失败!(授权)`); }, complete: () : void => { } }); }else{//授权失败 this.createUser(); } }, fail: () : void => { this.createUser(); }, complete: () : void =>{ } }); }
三:补充
①,转发功能
/** * 创建转发功能 */ private showShareMenu : Function = ( $title : string , $img : string ) : void => { console.log(`分享参数 : ${$title} / ${$img}`); let $self = this; wx.showShareMenu({ withShareTicket: true, success: () => { console.log(`显示分享按钮成功!`); wx.onShareAppMessage(() : any => { return { title: $title, imageUrl: $img } }); }, fail: () : void => { console.warn(`显示分享按钮失败!`); }, complete: () : void => {}, }); }