uni-app 介绍
uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架。
适用平台:Android、iOS、微信小程序。实现了一套代码,同时发布到Android、iOS、微信小程序。
参考官方:https://uniapp.dcloud.io/
APP微信授权
检测服务商
检测手机上是否安装微信、QQ、新浪微博等。
uni.getProvider({ service: 'oauth', success: function (res) { console.log(res.provider); }});
授权登录
获取openid,(unionid)等uni.login({ provider: 'weixin', success: function (loginRes) { console.log(JSON.stringify(loginRes)); }});
获取用户信息
uni.getUserInfo({ provider: 'weixin', success: function(infoRes) { console.log('-------获取微信用户所有-----') console.log(JSON.stringify(infoRes.userInfo)); }});
示例代码
<!-- #ifdef APP-PLUS --><button class="" @click="appLogin">APP微信授权登录</button><!-- #endif --> appLogin: function() { uni.getProvider({ service: 'oauth', success: function(res) { console.log(res.provider); //支持微信、qq和微博等 if (~res.provider.indexOf('weixin')) { uni.login({ provider: 'weixin', success: function(loginRes) { console.log('-------获取openid(unionid)-----'); console.log(JSON.stringify(loginRes)); // 获取用户信息 uni.getUserInfo({ provider: 'weixin', success: function(infoRes) { console.log('-------获取微信用户所有-----'); console.log(JSON.stringify(infoRes.userInfo)); } }); } }); } } });},
小程序微信授权
获取用户基本信息
为优化用户体验,使用 wx.getUserInfo 接口直接弹出授权框的开发方式将逐步不再支持。从2018年4月30日开始,小程序与小游戏的体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败。正式版暂不受影响。开发者可使用以下方式获取或展示用户信息。
小程序使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息。
参考官方:https://developers.weixin.qq.com/miniprogram/dev/component/button.html
示例代码:
<!-- #ifdef MP-WEIXIN --><button class="" open-type="getUserInfo" @getuserinfo="wxGetUserInfo" withCredentials="true">微信授权获取用户信息</button><!-- #endif -->wxGetUserInfo:function(res){ if (!res.detail.iv) { uni.showToast({ title: "您取消了授权,登录失败", icon: "none" }); return false; } console.log('-------用户授权,并获取用户基本信息和加密数据------') console.log(res.detail);},
新闻热点
疑难解答