当前位置:   article > 正文

uniapp 微信授权获取用户信息和手机号_uni-app h5 获取微信手机号

uni-app h5 获取微信手机号

uniapp中获取微信用户信息和手机号码可以使用微信开发者工具提供的API,需要先在工具中进行相关配置,具体步骤如下:

  1. 在微信开发者工具中打开项目,进入项目根目录下的manifest.json文件,添加如下代码:
  1. "mp-weixin": {
  2. "appid": "wx****",
  3. "oauth": {
  4. "scope": "snsapi_userinfo",
  5. "responseType": "code"
  6. }
  7. }

其中,wx****为你自己的appid,snsapi_userinfo表示要获取用户信息授权,如果需要获取手机号码授权,则需要设置为snsapi_base

  1. 在需要获取用户信息或手机号码的页面中,编写如下代码:
  1. // 获取用户信息
  2. uni.getUserInfo({
  3. provider: 'weixin',
  4. success: function (res) {
  5. console.log('获取用户信息成功:' + JSON.stringify(res.userInfo));
  6. },
  7. fail: function (err) {
  8. console.log('获取用户信息失败:' + JSON.stringify(err));
  9. }
  10. })
  11. // 获取手机号码
  12. uni.login({
  13. provider: 'weixin',
  14. success: function (loginRes) {
  15. uni.request({
  16. url: 'https://api.weixin.qq.com/sns/jscode2session',
  17. data: {
  18. appid: 'wx****',
  19. secret: '****',
  20. js_code: loginRes.code,
  21. grant_type: 'authorization_code'
  22. },
  23. success: function (res) {
  24. console.log('code2session返回code:' + JSON.stringify(res));
  25. uni.getUserInfo({
  26. provider: 'weixin',
  27. success: function (infoRes) {
  28. console.log('获取用户信息成功:' + JSON.stringify(infoRes.userInfo));
  29. uni.request({
  30. url: 'https://api.weixin.qq.com/sns/userinfo',
  31. data: {
  32. access_token: res.access_token,
  33. openid: res.openid,
  34. lang: 'zh_CN'
  35. },
  36. success: function (phoneRes) {
  37. console.log('获取手机号码成功:' + JSON.stringify(phoneRes));
  38. },
  39. fail: function (phoneErr) {
  40. console.log('获取手机号码失败:' + JSON.stringify(phoneErr));
  41. }
  42. })
  43. },
  44. fail: function (infoErr) {
  45. console.log('获取用户信息失败:' + JSON.stringify(infoErr));
  46. }
  47. })
  48. },
  49. fail: function (res) {
  50. console.log('code2session失败,错误码为:' + res.errMsg);
  51. }
  52. })
  53. },
  54. fail: function (loginErr) {
  55. console.log('微信登录失败:' + JSON.stringify(loginErr));
  56. }
  57. })

需要注意的是,获取用户信息和手机号码的方法都需要在微信登录成功后才能调用,因此需要先调用uni.login方法进行登录。同时,在获取手机号码时,需要先调用微信提供的code2session API获取session_key和openid,再用这两个参数去获取手机号码。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/740354
推荐阅读