当前位置: 首页 > news >正文

番禺网站开发哪家好iis7 网站防盗链

番禺网站开发哪家好,iis7 网站防盗链,企业网站制作报价,网站权重分散配置声明权限 在module.json5配置文件中声明权限。不论是system_grant还是user_grant类型都需要声明权限#xff0c;否则应用将无法获得授权。 {module : {// ...requestPermissions:[{name: ohos.permission.DISCOVER_BLUETOOTH…配置声明权限 在module.json5配置文件中声明权限。不论是system_grant还是user_grant类型都需要声明权限否则应用将无法获得授权。 {module : {// ...requestPermissions:[{name: ohos.permission.DISCOVER_BLUETOOTH,//权限名称。reason:$string:need_ble,//描述申请权限的原因。 当申请的权限为user_grant权限时此字段必填。usedScene: { //描述权限使用的场景和时机。当申请的权限为user_grant权限时此字段必填。abilities: [ //标识需要使用到该权限的Ability标签为数组形式EntryAbility],when: always//标识权限使用的时机 - inuse表示为仅允许前台使用。- always表示前后台都可使用。}},{name: ohos.permission.LOCATION,reason:$string:need_ble,usedScene: {abilities: [EntryAbility],when: always}},{name: ohos.permission.APPROXIMATELY_LOCATION,reason:$string:need_ble,usedScene: {abilities: [EntryAbility],when: always}}]} } 权限校验可略 获取调用者的身份标识tokenId。待校验的权限名ohos.permission.xxx。使用checkAccessToken接口对当前调用者进行权限校验。 class RequestPermission {async checkAccessToken(permissions: ArrayPermissions/*权限名*/): Promiseboolean {//获取调用者的身份标识let callerTokenId rpc.IPCSkeleton.getCallingTokenId();console.log(RequestPermission RpcServer: getCallingTokenId result: callerTokenId);var atManager abilityAccessCtrl.createAtManager();try {const promises permissions.map( (permission, index) {//进行权限校验return atManager.checkAccessToken(callerTokenId, permission).then((data) {console.log(RequestPermission checkAccessToken success, data-${JSON.stringify(data)});if( index permissions.length - 1 ) {return true;}}).catch((err) {console.log(RequestPermission checkAccessToken fail, err-${JSON.stringify(err)});return false;});});const results await Promise.all(promises);// 检查所有 Promise 的结果return results.every(result result);} catch(err) {console.log(RequestPermission catch err-${JSON.stringify(err)});return false;}} }export default new RequestPermission() 例有 ohos.permission.APPROXIMATELY_LOCATION,  ohos.permission.LOCATION, ohos.permission.CAMERA三个权限 已授权前两个调用结果如下 RequestPermission.checkAccessToken(permissions).then(results {console.log(RequestPermission checked successfully:, results);}).catch(error {console.error(RequestPermission check failed:, error);});打印如下I 0FEFE/JsApp: RequestPermission RpcServer: getCallingTokenId result: 537654415I 0FEFE/JsApp: RequestPermission checkAccessToken success, data--1I 0FEFE/JsApp: RequestPermission checkAccessToken success, data--1I 0FEFE/JsApp: RequestPermission checked successfully: false 向用户申请权限 class RequestPermission {async reqPermissionsFromUser(permissions: ArrayPermissions): Promiseboolean {let context getContext(this) as common.UIAbilityContext;let atManager abilityAccessCtrl.createAtManager();try {const data await atManager.requestPermissionsFromUser(context, permissions);let grantStatus: Arraynumber data.authResults;let length: number grantStatus.length;for (let i 0; i length; i) {if (grantStatus[i] ! 0) {// 如果有任何一个权限没有被授权立即返回 falsereturn false;}}// 所有权限都被授权返回 truereturn true;} catch (err) {console.error(RequestPermission requestPermissionsFromUser failed, code is ${err.code}, message is ${err.message});// 如果发生异常也返回 falsereturn false;}} } 回调版 import abilityAccessCtrl, { Permissions } from ohos.abilityAccessCtrl; import common from ohos.app.ability.common; import rpc from ohos.rpc;class RequestPermission {/**** param permissions 需要请求的权限数组* param callback 权限结果 true/false*/reqPermissionsFromUser(permissions: ArrayPermissions, callback:(result:boolean)void) {let context getContext(this) as common.UIAbilityContext;let atManager abilityAccessCtrl.createAtManager();try {atManager.requestPermissionsFromUser(context, permissions).then((data){let grantStatus: Arraynumber data.authResults;let length: number grantStatus.length;for (let i 0; i length; i) {if (grantStatus[i] ! 0) {callback(false);}}callback(true);})} catch (err) {console.error(requestPermissionsFromUser failed, code is ${err.code}, message is ${err.message});callback(false);}}/**** param permissions 需要检查的权限数组* param callback*/checkAccessToken(permissions: ArrayPermissions, callback:(result:boolean)void) {let callerTokenId rpc.IPCSkeleton.getCallingTokenId();var atManager abilityAccessCtrl.createAtManager();try {permissions.map((permission, index) {return atManager.checkAccessToken(callerTokenId, permission).then((data) {console.log(checkAccessToken success, data-${JSON.stringify(data)});if( index permissions.length - 1 ) {callback(true);}}).catch(() {callback(false);});});} catch(err) {console.log(RequestPermission catch err-${JSON.stringify(err)});callback(false,);}} }export default new RequestPermission()
http://www.zqtcl.cn/news/490785/

相关文章:

  • 网站建设开发费会计处理山东省住房和城乡建设厅二建查询
  • 市工商局网站建设情况襄阳网站seo诊断
  • 动漫做那个视频网站单网页网站如何做
  • 企业网站名是什么意思广州公共交易中心
  • 做网站那家好沈阳做网站公司哪家好
  • 现在做一个网站大概多少钱中国住房城乡建设部网站
  • 高端企业网站建设核心秦皇岛网站制作人才招聘
  • 网站制作花多少钱简历模板表格
  • 泰安专业网站开发公司网页设计师常逛网站
  • 百度收录万网空间的网站需要多久推广seo网站
  • 个体工商户可以做网站备案吗微信app下载安装官方版2023
  • 内贸在什么网站做做网站需要提供哪些信息
  • 物流网站怎么做推广网页程序开发语言
  • 静态网站跟动态网站开发的层次
  • 公司购买网站怎么做分录被k掉的网站怎么做才能有收录
  • 网页制作相关网站网络卖货平台有哪些
  • 国内网站都要备案吗快速做网站的软件
  • 遂宁市住房和城乡建设局网站自己的网站怎么做美工
  • 资阳网站建设公司中国菲律宾概念股
  • 网站优化报价wordpress 获取别名
  • 自适应网站如何做mip微信网站公司
  • 网站建设改版升级wordpress 艺术家
  • 百度怎么网站排名python做网站的开发
  • 淘宝 网站建设教程视频北京华夏建设有限公司网站
  • 网站公司的利润中国域名后缀
  • 梁山网站建设电话多语言网站建设
  • 网站建设的摘要做直播网站赚钱吗
  • 网站建设明细报价表模板永久免费云服务器无需注册
  • 扁平化网站设计方案大学生做的美食网站
  • wordpress前台打开速度20秒湖南正规竞价优化公司