一、在微信平台上申请appid、appsecret。
二、app --》 manifest.json--》SDK配置(填写申请好的appid和appsecret)
三、在登录页,点击微信登录按钮,若绑定微信,则免账号密码登录直接跳转到首页;若未绑定,则弹出未绑定微信。- // 微信授权登录对象var aweixin=null; // 调用plus.oauth.getServices获取保存// 当前环境支持的所有授权登录对象var auths = {};mui.plusReady(function() { // 获取鉴权服务 getService();})// 获取登录授权认证服务列表,单独保存微信登录授权对象// 5+APP在plusready事件中调用,uni-app在vue页面的onLoad中调用function getService(){ plus.oauth.getServices(function(services){ for(var i=0;i{ wxLogin()//调用自定义的登录接口 }).catch(res=>{ plus.nativeUI.closeWaiting(); }) }else{ wxLogin()//调用自定义的登录接口 }});
复制代码 四、用账号密码登进首页时,判断是否绑定微信,若为绑定微信,则提示让其绑定微信。
五、微信绑定和解绑。- // 微信授权登录对象// 调用plus.oauth.getServices获取保存var aweixin=null; // 当前环境支持的所有授权登录对象var auths = {};mui.plusReady(function(){ // 获取鉴权服务 getService()});//wx绑定function weixinBind(){ plus.nativeUI.showWaiting("正在绑定中...",{padlock: true}); if(!aweixin.authResult){ authorize().then(res=>{ wxBind(1,aweixin.authResult.openid) }).catch(res=>{ plus.nativeUI.closeWaiting(); }) }else{ wxBind(1,aweixin.authResult.openid) }};//wx解绑function weixinUnBind(){ plus.nativeUI.showWaiting("正在解绑中...",{padlock: true}); wxBind(2,"")}// 获取登录授权认证服务列表,单独保存微信登录授权对象// 5+APP在plusready事件中调用,uni-app在vue页面的onLoad中调用function getService(){ plus.oauth.getServices(function(services){ for(var i=0;i{ resolve(res); }); }, function(e){ // plus.nativeUI.alert("授权失败:"+JSON.stringify(e)); plus.nativeUI.closeWaiting(); reject(e); }, {scope:'snsapi_userinfo',state:'authorize test'}); })}// 获取微信登录授权对象后可进行登录认证操作function authLogin(){ return new Promise(function (resolve, reject) { if(!aweixin){ plus.nativeUI.alert("当前环境不支持微信登录"); return; } if(!aweixin.authResult){ aweixin.login(function(e){ // plus.nativeUI.alert("登录认证成功!"+JSON.stringify(e)); resolve(e); }, function(e){ reject(e); } ); }else{ // plus.nativeUI.alert("已经登录认证!"); } })}
复制代码
免责声明:本文内容部分来源于网络,出于网络分享目的,如对您的权益版权有异议我们将予以删除,谢谢合作! |
|