授权

需授权接口列表

接口描述
qh.getUserInfo用户信息
qh.getLocation地理位置

此类接口调用时需注意

  • 如果用户未接受或拒绝过此权限,会弹窗询问用户,用户点击同意后方可调用接口;
  • 如果用户之前已经同意授权,则不会出现弹窗,可直接调用接口;
  • 如果用户之前已经拒绝,则再次调用也不会弹窗,会执行 fail 回调。请开发者兼容用户拒绝授权的场景。

qh.authorize

解释: 提前向用户发起授权请求。

方法参数:Object object

object参数说明

参数名类型必填默认值说明
scopeString-部分接口需要经过用户授权同意才能调用。将这些接口按使用范围分成多个 scope ,用户选择对 scope 来进行授权,当授权给一个 scope 之后,其对应的所有接口都可以直接使用,详见 scope 列表。
successFunction-接口调用成功的回调函数
failFunction-接口调用失败的回调函数
completeFunction-接口调用结束的回调函数(调用成功、失败都会执行)

scope 列表

scope对应接口描述
scope.userInfoqh.getUserInfo用户信息
scope.userLocationqh.getLocation地理位置

示例

  • 在 html 文件中
  1. <div>
  2. <se-button v-for="item in items" :id="item.id" @click="btnClick" type="primary" >{{item.name}}</se-button>
  3. </div>
  • 在 js 文件中
  1. Page({
  2. data() {
  3. return {
  4. items: [{
  5. name: '授权获取用户信息',
  6. id: 'scope.userInfo'
  7. }, {
  8. name: '授权获取位置信息',
  9. id: 'scope.userLocation'
  10. }]
  11. }
  12. },
  13. methods: {
  14. btnClick(e) {
  15. let scope = e.currentTarget.id;
  16. qh.authorize({
  17. scope,
  18. success: res => {
  19. qh.showToast({
  20. title: '授权成功'
  21. });
  22. },
  23. fail: err => {
  24. qh.showToast({
  25. title: '授权失败'
  26. });
  27. console.log('authorize fail', err);
  28. }
  29. });
  30. }
  31. },
  32. });

说明: 授权操作为异步操作,完成前请不要多次调用。