全部
常见问题
产品动态
精选推荐

二开,华为应用商店APP关于需要权限访问说明。

管理 管理 编辑 删除

新建authorizeUtils.ts文件

内容:

const checkIsIos = async () => {

   return new Promise((resolve => {

       uni.getSystemInfo({

           success: function (res) {

               resolve(res.platform === "ios")

           }

       });

   }))

}


const contentData: { [key: string]: { title: string, describe: string } } = {

   'android.permission.ACCESS_FINE_LOCATION': {

       title: "定位权限说明",

       describe: "便于您使用该功能在地图快速获取到您的收货地址信息,请您确认授权,否则无法使用该功能"

   },

   "android.permission.READ_EXTERNAL_STORAGE": {

       title: "相册权限说明",

       describe: "使徒家居对存储空间/照片/相机/摄像头权限申请说明:便于您使用该功能上传您的照片/图片/视频及用于更换头像、意见反馈、保存相册、发布商品/分享、下载与客服沟通等场景中读取和写入相册和文件内容,请您确认授权,否则无法使用该功能"

   },

   "android.permission.CAMERA": {

       title: "拍摄权限说明",

       describe: "使徒家居对存储空间/照片/相机/摄像头权限申请说明:便于您使用该功能上传您的照片/图片/视频及用于更换头像、意见反馈、保存相册、发布商品/分享、下载与客服沟通等场景中读取和写入相册和文件内容,请您确认授权,否则无法使用该功能"

   },

   "android.permission.CALL_PHONE": {

       title: "拨打电话权限说明",

       describe: "便于您使用该功能拨打客服电话,请您确认授权,否则无法使用该功能"

   },

}


const manualAuthContentData: { [key: string]: string } = {

   'android.permission.ACCESS_FINE_LOCATION': "获取定位权限失败,请手动打开授权或检查系统定位开关",

   "android.permission.READ_EXTERNAL_STORAGE": "获取相册权限失败,请手动打开授权",

   "android.permission.CAMERA": "获取拍摄权限失败,请手动打开授权",

   "android.permission.CALL_PHONE": "获取拨打电话权限失败,请手动打开授权",

}


export default class authorizeUtils {

   /**

    * 授权前告知用户使用意图

    * @param content

    * @returns

    */

   static showAuthTipModal = async (authorize: string) => {

       // #ifdef H5

       if (1 === 1) {

           return true

       }

       // #endif

       // ios端在manifest.json配置权限使用说明,以下权限判断仅在安卓端可用

       let isIos = await checkIsIos()

       if (isIos) return true

       let compat: any = plus.android.importClass('androidx.core.content.ContextCompat')

       let context = plus.android.runtimeMainActivity()

       let result = compat.checkSelfPermission(context, authorize)

       console.log("result===", result);

       if (result === 0) return true

       // // 如果已经授权直接返回

       return new Promise((resolve) => {

           uni.showModal({

               title: contentData[authorize].title,

               content: contentData[authorize].describe,

               success: (res) => {

                   resolve(!!res.confirm)

               },

               fail: () => {


               }

           })

       })

   }


   /**

    * 用户拒绝授权提示手动授权

    */

   static showManualAuth = async (authorize: string) => {

       let isIos = await checkIsIos()

       if (isIos) return true

       uni.showModal({

           title: '提示',

           content: manualAuthContentData[authorize],

           confirmText: "去设置",

           success: (res) => {

               if (res.confirm) {

                   uni.openAppAuthorizeSetting({

                       success(res) {

                           console.log(res);

                       }

                   });

               }

               if (res.cancel) {

                   console.log('用户点击取消');

               }

           }

       });

   }

}



2、然后在需要调用组件的部分来使用权限说明弹窗


实例

先 在<script> 里面 import authorizeUtils from '@/utils/authorizeUtils.ts';

然后在 上传文件里面增加调用


/**

* 上传文件

*

*/

uploadpic: async function() {

   let authFlag = await authorizeUtils.showAuthTipModal("android.permission.READ_EXTERNAL_STORAGE");

   if (authFlag) {

       let that = this;

       this.canvasStatus = true

       that.$util.uploadImageChange('upload/image', (res) => {

           let userInfo = that.switchUserInfo[that.userIndex];

           that.userInfo.avatar = res.data.url;

           that.switchUserInfo[that.userIndex] = userInfo;

           that.$set(that, 'switchUserInfo', that.switchUserInfo);

           this.canvasStatus = false

       }, (res) => {

           this.canvasStatus = false

       }, (res) => {

           this.canvasWidth = res.w

           this.canvasHeight = res.h

       });

   } else {

       // 处理权限未授予的情况

   }

},



请登录后查看

APOSTLE 黄俊平 最后编辑于2024-06-12 11:18:39

快捷回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
回复从新到旧

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest==1? '取消推荐': '推荐'}}
{{item.floor}}#
{{item.user_info.title}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

作者 管理员 企业

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}   {{itemc.ip_address}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
回复
回复
786
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

APOSTLE 黄俊平 作者
二开联系vx 921122840

回答

67

发布

12

经验

1133

快速安全登录

使用微信扫码登录
{{item.label}} {{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
加精
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 开源下载 CRMEB官方论坛 帮助文档
返回顶部 返回顶部
CRMEB客服