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

html网站怎么做友链购买有效果吗

html网站怎么做,友链购买有效果吗,文件标签wordpress,网站开发基本过程配置声明权限 在module.json5配置文件中声明权限。不论是system_grant还是user_grant类型都需要声明权限,否则应用将无法获得授权。 {"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"}}]}
}

权限校验(可略)

  1. 获取调用者的身份标识:tokenId。
  2. 待校验的权限名:ohos.permission.xxx。
  3. 使用checkAccessToken接口对当前调用者进行权限校验。
    class RequestPermission {async checkAccessToken(permissions: Array<Permissions>/*权限名*/): Promise<boolean> {//获取调用者的身份标识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: Array<Permissions>): Promise<boolean> {let context = getContext(this) as common.UIAbilityContext;let atManager = abilityAccessCtrl.createAtManager();try {const data = await atManager.requestPermissionsFromUser(context, permissions);let grantStatus: Array<number> = 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: Array<Permissions>, callback:(result:boolean)=>void) {let context = getContext(this) as common.UIAbilityContext;let atManager = abilityAccessCtrl.createAtManager();try {atManager.requestPermissionsFromUser(context, permissions).then((data)=>{let grantStatus: Array<number> = 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: Array<Permissions>, 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.ritt.cn/news/24915.html

相关文章:

  • 西安中风险地区seo如何快速出排名
  • cms建站模板下载seo臻系统
  • 做简历网站'互联网广告优势
  • 有专做代金券的网站吗网络营销技巧培训
  • 平度做网站郑州网站运营
  • 有没有帮人做数学题的网站全媒体运营师报名入口
  • 在哪里打广告效果最好seo排名系统
  • 建网站一定要备案吗百度大全
  • 建设网站价钱教育培训机构有哪些
  • 宝鸡专业做网站软文广告平台
  • 广州市官网网站建设怎么样软件开发网
  • 佛山市创意动力信息科技有限公司湖南seo推广软件
  • 宜宾注册公司郑州seo哪家好
  • websocket做新闻网站武汉大学人民医院洪山院区
  • 做网站建设与推广企业网站申请流程
  • 企业建设项目哪个网站可以查seo兼职外包
  • 西安做网站优化的公司葫岛百度seo
  • 做网站vpn多大内存百度识图在线识图
  • 网站流量地址评价是什么意思优化seo方法
  • 简述企业网站建设的目的企业网站注册
  • 佛山制作网站公司网站seo收录
  • 品划网络做网站怎么做优化关键词
  • 公司网站制作方案站长工具网站排名
  • wordpress安装完之后首页是哪一个百度seo优化方法
  • 广州好蜘蛛网站建设windows优化大师卸载不掉
  • 网站制定公司安徽百度seo教程
  • 易站通这个网站怎么做游戏代理免费加盟
  • 网站开发建设费用明细关键词查网站
  • 企业网站优化方案范本网站权重一般有几个等级
  • 做外贸批发开什么网站免费有效的推广平台