upPermissionModule 权限模块

模块概述

权限模块为 H5 页面提供对获取不同系统权限如定位权限,录音权限等的申请。


方法列表

  • requestPermission(老版申请App的指定权限,该方法不再建议使用,请尽快升级requestPermissionV2)
  • requestPermissionV2(新版申请App的指定权限,等待用户设置权限回调后返回结果)
  • queryPermission(查询App的指定权限 )
  • querySystemPermission(查询指定系统功能是否开启)
  • openSystemPermission(打开指定系统功能的开关)

公共数据

  • 所有数据均以 JSON 结构返回,由代码,信息和数据三部分组成
    {
      "retCode": "000000", //接口状态标识码
      "retInfo": "执行成功",//接口信息说明
      "retData": null //业务数据
    }
    
    失败结果
    {
      "retCode": "000001", //接口状态标识码
      "retInfo": "非法参数错误(打印入参)或模块返回的其他错误信息",//接口信息说明
      "retData": null //业务数据
    }
    

其他见具体定义:返回数据通用


模块变更记录

  • V3.2.0
    • 新增模块upPermissionModule
  • V3.6.0 -新增方法
    - querySystemPermission(查询指定系统功能是否开启)
    - openSystemPermission(打开指定系统功能的开关)
    
  • V4.0.1
    • 新增方法requestPermissionV2

方法说明

  • requestPermission(老版申请App的指定权限)

    requestPermission({params})
适用性
容器 Nebula
支持情况
APP版本 6.12.0及以上
params 输入参数:
属性名 数据类型 是否必填 说明
permissions Array[String] 需要申请的权限标识集合:具体支持的权限标识:
location - 定位;
camera - 拍照/录像/相机
storage - 本地存储
microphone - 麦克风
bluetooth - 蓝牙
错误返回 retCode说明:

按照通用

正确返回 retData说明:
属性名 数据类型 说明
retData Array[Object] 权限查询结果列表,数组中每个结果说明如下
属性名 数据类型 说明
name String 权限标识
granted Boolean 权限是否赋予: true: 有权限;false:无权限
示例

调用方式

uplusapi.upPermissionModule.requestPermission({permissions:['location']}).then(
  (result) =>console.log('result',result),
  (error) =>console.log('error',error)
);

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数requestPermissionOldForPlugin成功",
  "retData": [
    {
      "name": "location",
      "granted": false
    }
  ]
}
  • requestPermissionV2(新版申请App的指定权限)

    requestPermissionV2({params})
适用性
容器 Nebula
支持情况
APP版本 6.12.0及以上
params 输入参数:
属性名 数据类型 是否必填 说明
permissions Array[String] 需要申请的权限标识集合:具体支持的权限标识:
location - 定位;
camera - 拍照/录像/相机
storage - 本地存储
microphone - 麦克风
bluetooth - 蓝牙
错误返回 retCode说明:

按照通用

正确返回 retData说明:
属性名 数据类型 说明
retData Array[Object] 权限查询结果列表,数组中每个结果说明如下
属性名 数据类型 说明
name String 权限标识
granted Boolean 权限是否赋予: true: 有权限;false:无权限
示例

调用方式

uplusapi.upPermissionModule.requestPermissionV2({permissions:['location']}).then(
  (result) =>console.log('result',result),
  (error) =>console.log('error',error)
);

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数requestPermissionForPlugin成功",
  "retData": [
    {
      "name": "location",
      "granted": false
    }
  ]
}
  • queryPermission(查询App的指定权限)

    queryPermission({params})
适用性
容器 Nebula
支持情况
APP版本 6.12.0及以上
params 输入参数:
属性名 数据类型 是否必填 说明
permissions Array[String] 需要申请的权限标识集合:具体支持的权限标识:
location - 定位;
camera - 拍照/录像/相机
storage - 本地存储
microphone - 麦克风
bluetooth - 蓝牙
错误返回 retCode说明:

按照通用

正确返回 retData说明:
属性名 数据类型 说明
retData Array[Object] 权限查询结果列表,数组中每个结果说明如下
属性名 数据类型 说明
name String 权限标识
granted Boolean 权限是否赋予: true: 有权限;false:无权限
示例

调用方式

uplusapi.upPermissionModule.queryPermission({
  permissions: ['camera','storage']
}).then(res => console.log(res)).catch(err => console.log(err));

获取成功返回结果

{
  "retCode": "000000",
  "retInfo": "调用函数queryPermissionForPlugin成功",
  "retData": [
    {
      "name": "location",
      "granted": false
    },
    {
      "name":"storage",
      "granted":false
    }
  ]
}
  • querySystemPermission(查询指定系统功能是否开启)

    querySystemPermission({params}) 说明:iOS系统在使用该接口前,请先调用queryPermission方法以确保App获取到相应的权限授权。 如果App未授权调用该方法,肯能会因为未授权的原因导致返回结果出现不准确。
适用性
容器 Nebula
支持情况
APP版本 6.12.0及以上
params 输入参数:
属性名 数据类型 是否必填 说明
permissions Array[String] 需要查询的权限/开关标识集合:具体支持的权限标识:
iOS: bluetooth - 蓝牙,location - 定位;
Android: bluetooth - 蓝牙,location - 定位,wifi - 无线网络;
错误返回 retCode说明:

按照通用

正确返回 retData说明:
属性名 数据类型 说明
retData Array[Object] 权限查询结果列表,数组中每个结果说明如下
属性名 数据类型 说明
name String 权限标识
granted Boolean 权限是否赋予: true: 有权限;false:无权限
示例

调用方式

uplusapi.upPermissionModule.querySystemPermission({
  permissions: ['bluetooth']
}).then(res => console.log(res)).catch(err => console.log(err));

获取成功返回结果

{
  "retData":  [
    {
      "name": "bluetooth",
      "granted": false
    }
  ],
  "retCode": "000000",
  "retInfo": "调用函数querySystemPermissionForPlugin成功"
}
  • openSystemPermission(打开指定系统功能的开关)

    openSystemPermission({params}) 说明:如果系统权限已打开,则直接返回成功。如果权限未打开:安卓:弹出开启权限弹框或者跳转到设置页。 iOS:如果控制中心蓝牙未打开,提示:‘海尔智家’,想要使用蓝牙进行新连接,您可以在‘设置’中允许新连接。点击设置, 跳转到设置中的蓝牙开关页,点击‘允许新连接’可以开启蓝牙。如果设置中的蓝牙开关未打开:提示:打开蓝牙允许‘海尔智家’连接配件。 点击设置,跳转到设置中的蓝牙开关页,点击开关开启蓝牙。
适用性
容器 Nebula
支持情况
APP版本 6.12.0及以上
params 输入参数:
属性名 数据类型 是否必填 说明
permission String 需要查询的权限/开关标识:具体支持的权限标识:
bluetooth - 蓝牙;
错误返回 retCode说明:

按照通用

正确返回 retData说明:
属性名 数据类型 说明
retData Boolean 权限查询结果
示例

调用方式

uplusapi.upPermissionModule.openSystemPermission({
  permission: 'bluetooth'
}).then(res => console.log(res)).catch(err => console.log(err));

获取成功返回结果

{
  "retData":  false,
  "retCode": "000000",
  "retInfo": "调用函数openSystemPermissionForPlugin成功"
}

results matching ""

    No results matching ""