用户授权

传统应用开发过程中,会需要用到各种各样的权限,360小程序的开发也不例外。为了帮助开发者更加规范、快速地获取各类权限,360小程序平台为开发者提供了丰富的权限接口,并将全部权限集划分为了三个等级,其中,Ⅰ类权限为用户信息相关权限,如头像昵称等,此类权限与用户登录强相关,且需要通过用户授权开发者才能获取;Ⅱ类权限为设备权限,如GPS定位等,仅需要通过用户授权开发者便能获取;Ⅲ类权限为一般权限,如获取设备的屏幕大小、系统型号等信息,此类权限无需用户授权即可调用接口静默获取。

这里重点介绍Ⅰ类、Ⅱ类权限,此类接口调用时:

  • 如果用户未接受或拒绝过此权限,会弹窗询问用户,用户点击同意后方可调用成功;
  • 如果用户已授权,可以直接调用接口;
  • 如果用户已拒绝授权,则不会出现弹窗,而是直接进入接口 fail 回调。请开发者兼容用户拒绝授权的场景。

当前已有权限列表:

权限类型授权名称调用方法
Ⅰ类权限头像昵称授权qh.getUserInfo
Ⅱ类权限地理位置授权qh.getLocation

Ⅰ类权限标准调用流程

用户授权 - 图1

  • qh.isLoginSync:由于Ⅰ类权限必须在用户处于登录态时才能拿到,因此,建议开发者在调用授权接口前,先通过该接口判断用户是否已登录,避免由于调用接口触发login导致的sessionkey的改变。
  • qihu.getsetting:开发者可以通过该接口预先拿到用户对当前小程序的授权状态,若发现用户此前拒绝过该授权,可以通过调用该接口引导用户将权限打开。

Ⅱ类权限标准调用流程

相较于Ⅰ类权限, Ⅱ类权限对用户登录没有依赖,因此调用流程相对来说会简单很多。 用户授权 - 图2