使用的微信开放接口

wx.getSetting: 获取用户的当前设置( res.authSetting[scope] 获取授权信息 )。
wx.openSetting: 调起客户端小程序设置界面,返回用户设置的操作结果。
wx.authorize: 提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。但在缓存生效期间只会弹窗一次。
wx.showModal: 检测到未授权时弹窗提示用户。
wx.chooseAddress && wx.chooseInvoiceTitle: 调起响应的用户授权。

app.js

  1. App({
  2. /**
  3. * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
  4. */
  5. onLaunch: function () {
  6. console.log("onLaunch");
  7. },
  8. /**
  9. * 当小程序启动,或从后台进入前台显示,会触发 onShow
  10. */
  11. onShow: function (options) {
  12. console.log("onShow");
  13. console.log(options);
  14. },
  15. /**
  16. * 当小程序从前台进入后台,会触发 onHide
  17. */
  18. onHide: function () {
  19. console.log("onHide");
  20. },
  21. /**
  22. * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
  23. */
  24. onError: function (msg) {
  25. console.log("onError");
  26. },
  27. /**
  28. * 全局变量
  29. */
  30. globalData: {},
  31. /**
  32. * 授权
  33. * scope.userInfo wx.getUserInfo 用户信息
  34. scope.userLocation wx.getLocation, wx.chooseLocation 地理位置
  35. scope.address wx.chooseAddress 通讯地址
  36. scope.invoiceTitle wx.chooseInvoiceTitle 发票抬头
  37. scope.werun wx.getWeRunData 微信运动步数
  38. scope.record wx.startRecord 录音功能
  39. scope.writePhotosAlbum wx.saveImageToPhotosAlbum, wx.saveVideoToPhotosAlbum 保存到相册
  40. scope.camera 摄像头
  41. */
  42. checkAuthorize(scope) {
  43. wx.getSetting({
  44. success: (res) => {
  45. console.log(res.authSetting[scope])
  46. if (!res.authSetting[scope]) {
  47. wx.showModal({
  48. title: '用户未授权',
  49. content: '拒绝授权将不能体验小程序完整功能,点击确定开启授权',
  50. success: (res) => {
  51. console.log(res)
  52. if (res.confirm) {
  53. wx.openSetting({})
  54. }
  55. }
  56. })
  57. }
  58. }
  59. })
  60. }
  61. })

index.wxml

  1. <!--pages/index.wxml-->
  2. <button bindtap="testAddress">测试地址授权</button>
  3. <button bindtap="TestWeRunData">测试发票抬头授权</button>

index.js

  1. const app = getApp();
  2. Page({
  3. testAddress() {
  4. wx.chooseAddress({
  5. success: (res) => {
  6. console.log(res)
  7. },
  8. fail: (error) => {
  9. console.log(error);
  10. app.checkAuthorize('scope.address')
  11. }
  12. })
  13. },
  14. TestWeRunData() {
  15. wx.chooseInvoiceTitle({
  16. success: (res) => {
  17. console.log(res)
  18. },
  19. fail: (error) => {
  20. console.log(error);
  21. app.checkAuthorize('scope.address')
  22. }
  23. })
  24. }
  25. })

分类: 小程序

标签:   小程序