赞
踩
在uniapp中获取微信用户信息和手机号码可以使用微信开发者工具提供的API,需要先在工具中进行相关配置,具体步骤如下:
- "mp-weixin": {
- "appid": "wx****",
- "oauth": {
- "scope": "snsapi_userinfo",
- "responseType": "code"
- }
- }
其中,wx****
为你自己的appid,snsapi_userinfo
表示要获取用户信息授权,如果需要获取手机号码授权,则需要设置为snsapi_base
。
- // 获取用户信息
- uni.getUserInfo({
- provider: 'weixin',
- success: function (res) {
- console.log('获取用户信息成功:' + JSON.stringify(res.userInfo));
- },
- fail: function (err) {
- console.log('获取用户信息失败:' + JSON.stringify(err));
- }
- })
-
- // 获取手机号码
- uni.login({
- provider: 'weixin',
- success: function (loginRes) {
- uni.request({
- url: 'https://api.weixin.qq.com/sns/jscode2session',
- data: {
- appid: 'wx****',
- secret: '****',
- js_code: loginRes.code,
- grant_type: 'authorization_code'
- },
- success: function (res) {
- console.log('code2session返回code:' + JSON.stringify(res));
- uni.getUserInfo({
- provider: 'weixin',
- success: function (infoRes) {
- console.log('获取用户信息成功:' + JSON.stringify(infoRes.userInfo));
- uni.request({
- url: 'https://api.weixin.qq.com/sns/userinfo',
- data: {
- access_token: res.access_token,
- openid: res.openid,
- lang: 'zh_CN'
- },
- success: function (phoneRes) {
- console.log('获取手机号码成功:' + JSON.stringify(phoneRes));
- },
- fail: function (phoneErr) {
- console.log('获取手机号码失败:' + JSON.stringify(phoneErr));
- }
- })
- },
- fail: function (infoErr) {
- console.log('获取用户信息失败:' + JSON.stringify(infoErr));
- }
- })
- },
- fail: function (res) {
- console.log('code2session失败,错误码为:' + res.errMsg);
- }
- })
- },
- fail: function (loginErr) {
- console.log('微信登录失败:' + JSON.stringify(loginErr));
- }
- })
需要注意的是,获取用户信息和手机号码的方法都需要在微信登录成功后才能调用,因此需要先调用uni.login方法进行登录。同时,在获取手机号码时,需要先调用微信提供的code2session API获取session_key和openid,再用这两个参数去获取手机号码。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。