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

magento做的网站百度客服人工服务

magento做的网站,百度客服人工服务,网站做长连接,定制微信小程序多少钱关于华为应用市场上架过程中出现的【您的应用在运行时,未同步告知权限申请的使用目的,向用户索取(存储、拍照)等权限,不符合华为应用市场审核标准。】 使用方式: 1、引入 import permision from "/m…

关于华为应用市场上架过程中出现的【您的应用在运行时,未同步告知权限申请的使用目的,向用户索取(存储、拍照)等权限,不符合华为应用市场审核标准。】

使用方式:

1、引入

import permision from "@/mixin/permission.js"

2、判断

var result = await permision.premissionCheck("EXTERNAL_STORAGE")  
if(result == 1) {  // 此处处理各自业务 如:uni.chooseImage  
}

3、permission.js源码参考如下

var isIos  
// #ifdef APP-PLUS  
isIos = (plus.os.name == "iOS")  
// #endif  // 判断推送权限是否开启  
function judgeIosPermissionPush() {  var result = false;  var UIApplication = plus.ios.import("UIApplication");  var app = UIApplication.sharedApplication();  var enabledTypes = 0;  if (app.currentUserNotificationSettings) {  var settings = app.currentUserNotificationSettings();  enabledTypes = settings.plusGetAttribute("types");  console.log("enabledTypes1:" + enabledTypes);  if (enabledTypes == 0) {  console.log("推送权限没有开启");  } else {  result = true;  console.log("已经开启推送功能!")  }  plus.ios.deleteObject(settings);  } else {  enabledTypes = app.enabledRemoteNotificationTypes();  if (enabledTypes == 0) {  console.log("推送权限没有开启!");  } else {  result = true;  console.log("已经开启推送功能!")  }  console.log("enabledTypes2:" + enabledTypes);  }  plus.ios.deleteObject(app);  plus.ios.deleteObject(UIApplication);  return result;  
}  // 判断定位权限是否开启  
function judgeIosPermissionLocation() {  var result = false;  var cllocationManger = plus.ios.import("CLLocationManager");  var status = cllocationManger.authorizationStatus();  result = (status != 2)  console.log("定位权限开启:" + result);  // 以下代码判断了手机设备的定位是否关闭,推荐另行使用方法 checkSystemEnableLocation  /* var enable = cllocationManger.locationServicesEnabled();  var status = cllocationManger.authorizationStatus();  console.log("enable:" + enable);  console.log("status:" + status);  if (enable && status != 2) {  result = true;  console.log("手机定位服务已开启且已授予定位权限");  } else {  console.log("手机系统的定位没有打开或未给予定位权限");  } */  plus.ios.deleteObject(cllocationManger);  return result;  
}  // 判断麦克风权限是否开启  
function judgeIosPermissionRecord() {  var result = false;  var avaudiosession = plus.ios.import("AVAudioSession");  var avaudio = avaudiosession.sharedInstance();  var permissionStatus = avaudio.recordPermission();  console.log("permissionStatus:" + permissionStatus);  if (permissionStatus == 1684369017 || permissionStatus == 1970168948) {  console.log("麦克风权限没有开启");  } else {  result = true;  console.log("麦克风权限已经开启");  }  plus.ios.deleteObject(avaudiosession);  return result;  
}  // 判断相机权限是否开启  
function judgeIosPermissionCamera() {  var result = false;  var AVCaptureDevice = plus.ios.import("AVCaptureDevice");  var authStatus = AVCaptureDevice.authorizationStatusForMediaType('vide');  console.log("authStatus:" + authStatus);  if (authStatus == 3) {  result = true;  console.log("相机权限已经开启");  } else {  console.log("相机权限没有开启");  }  plus.ios.deleteObject(AVCaptureDevice);  return result;  
}  // 判断相册权限是否开启  
function judgeIosPermissionPhotoLibrary() {  var result = false;  var PHPhotoLibrary = plus.ios.import("PHPhotoLibrary");  var authStatus = PHPhotoLibrary.authorizationStatus();  console.log("authStatus:" + authStatus);  if (authStatus == 3) {  result = true;  console.log("相册权限已经开启");  } else {  console.log("相册权限没有开启");  }  plus.ios.deleteObject(PHPhotoLibrary);  return result;  
}  // 判断通讯录权限是否开启  
function judgeIosPermissionContact() {  var result = false;  var CNContactStore = plus.ios.import("CNContactStore");  var cnAuthStatus = CNContactStore.authorizationStatusForEntityType(0);  if (cnAuthStatus == 3) {  result = true;  console.log("通讯录权限已经开启");  } else {  console.log("通讯录权限没有开启");  }  plus.ios.deleteObject(CNContactStore);  return result;  
}  // 判断日历权限是否开启  
function judgeIosPermissionCalendar() {  var result = false;  var EKEventStore = plus.ios.import("EKEventStore");  var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(0);  if (ekAuthStatus == 3) {  result = true;  console.log("日历权限已经开启");  } else {  console.log("日历权限没有开启");  }  plus.ios.deleteObject(EKEventStore);  return result;  
}  // 判断备忘录权限是否开启  
function judgeIosPermissionMemo() {  var result = false;  var EKEventStore = plus.ios.import("EKEventStore");  var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(1);  if (ekAuthStatus == 3) {  result = true;  console.log("备忘录权限已经开启");  } else {  console.log("备忘录权限没有开启");  }  plus.ios.deleteObject(EKEventStore);  return result;  
}  // Android权限查询  
function requestAndroidPermission(permissionID) {  return new Promise((resolve, reject) => {  plus.android.requestPermissions(  permissionID.split(","),  // [permissionID], // 理论上支持多个权限同时查询,但实际上本函数封装只处理了一个权限的情况。有需要的可自行扩展封装  function(resultObj) {  var result = 0;  for (var i = 0; i < resultObj.granted.length; i++) {  var grantedPermission = resultObj.granted[i];  console.log('已获取的权限:' + grantedPermission);  result = 1  }  for (var i = 0; i < resultObj.deniedPresent.length; i++) {  var deniedPresentPermission = resultObj.deniedPresent[i];  console.log('拒绝本次申请的权限:' + deniedPresentPermission);  result = 0  }  for (var i = 0; i < resultObj.deniedAlways.length; i++) {  var deniedAlwaysPermission = resultObj.deniedAlways[i];  console.log('永久拒绝申请的权限:' + deniedAlwaysPermission);  result = -1  }  resolve(result);  // 若所需权限被拒绝,则打开APP设置界面,可以在APP设置界面打开相应权限  // if (result != 1) {  // gotoAppPermissionSetting()  // }  },  function(error) {  console.log('申请权限错误:' + error.code + " = " + error.message);  resolve({  code: error.code,  message: error.message  });  }  );  });  
}  // 使用一个方法,根据参数判断权限  
function judgeIosPermission(permissionID) {  if (permissionID == "location") {  return judgeIosPermissionLocation()  } else if (permissionID == "camera") {  return judgeIosPermissionCamera()  } else if (permissionID == "photoLibrary") {  return judgeIosPermissionPhotoLibrary()  } else if (permissionID == "record") {  return judgeIosPermissionRecord()  } else if (permissionID == "push") {  return judgeIosPermissionPush()  } else if (permissionID == "contact") {  return judgeIosPermissionContact()  } else if (permissionID == "calendar") {  return judgeIosPermissionCalendar()  } else if (permissionID == "memo") {  return judgeIosPermissionMemo()  }  return false;  
}  // 跳转到**应用**的权限页面  
function gotoAppPermissionSetting() {  if (isIos) {  var UIApplication = plus.ios.import("UIApplication");  var application2 = UIApplication.sharedApplication();  var NSURL2 = plus.ios.import("NSURL");  // var setting2 = NSURL2.URLWithString("prefs:root=LOCATION_SERVICES");       var setting2 = NSURL2.URLWithString("app-settings:");  application2.openURL(setting2);  plus.ios.deleteObject(setting2);  plus.ios.deleteObject(NSURL2);  plus.ios.deleteObject(application2);  } else {  // console.log(plus.device.vendor);  var Intent = plus.android.importClass("android.content.Intent");  var Settings = plus.android.importClass("android.provider.Settings");  var Uri = plus.android.importClass("android.net.Uri");  var mainActivity = plus.android.runtimeMainActivity();  var intent = new Intent();  intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);  var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);  intent.setData(uri);  mainActivity.startActivity(intent);  }  
}  // 检查系统的设备服务是否开启  
// var checkSystemEnableLocation = async function () {  
function checkSystemEnableLocation() {  if (isIos) {  var result = false;  var cllocationManger = plus.ios.import("CLLocationManager");  var result = cllocationManger.locationServicesEnabled();  console.log("系统定位开启:" + result);  plus.ios.deleteObject(cllocationManger);  return result;  } else {  var context = plus.android.importClass("android.content.Context");  var locationManager = plus.android.importClass("android.location.LocationManager");  var main = plus.android.runtimeMainActivity();  var mainSvr = main.getSystemService(context.LOCATION_SERVICE);  var result = mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER);  console.log("系统定位开启:" + result);  return result  }  
}  let permissionMap = {  "android": {  "CAMERA_EXTERNAL_STORAGE": {  "name": "android.permission.READ_EXTERNAL_STORAGE,android.permission.WRITE_EXTERNAL_STORAGE,android.permission.CAMERA",  "title": "相机/相册权限说明",  "content": "便于您使用该功能上传您的照片/图片/视频及用于更换头像、发布产品/需求、下载、与客服沟通等场景中读取和写入相册和文件内容"  },  "CAMERA": {  "name": "android.permission.CAMERA",  "title": "相机权限说明",  "content": "便于您使用该功能上传图片,用于与客服沟通等场景中发送拍摄图片"  },  "EXTERNAL_STORAGE": {  "name": "android.permission.READ_EXTERNAL_STORAGE,android.permission.WRITE_EXTERNAL_STORAGE",  "title": "相册权限说明",  "content": "便于您使用该功能上传您的照片/图片/视频及用于更换头像、发布产品/需求、下载、与客服沟通等场景中读取和写入相册和文件内容"  }  },  "ios": {}  
}  let view = null;  function showViewDesc(permission) {  let plat = isIos ? "ios" : "android";  view = new plus.nativeObj.View('per-modal', {  top: '0px',  left: '0px',  width: '100%',  backgroundColor: 'rgba(0,0,0,0.2)',  //opacity: '.9'     })  view.drawRect({  color: '#fff',  radius: '5px'  }, {  top: '30px',  left: '5%',  width: '90%',  height: "100px",  })  view.drawText(permissionMap[plat][permission]["title"], {  top: '40px',  left: "8%",  height: "30px"  }, {  align: "left",  color: "#000",  }, {  onClick: function(e) {  console.log(e);  }  })  view.drawText(permissionMap[plat][permission]["content"], {  top: '65px',  height: "60px",  left: "8%",  width: "84%"  }, {  whiteSpace: 'normal',  size: "14px",  align: "left",  color: "#656563"  })  view.show()  
}  function premissionCheck(permission) {  return new Promise(async (resolve, reject) => {  let plat = isIos ? "ios" : "android";  if (isIos) { // ios  // const camera = permission.judgeIosPermission("camera");//判断ios是否给予摄像头权限  // //ios相册没权限,系统会自动弹出授权框  // //let photoLibrary = permission.judgeIosPermission("photoLibrary");//判断ios是否给予相册权限  // if(camera){  //     resolve();  // }else{  //     reject('需要开启相机使用权限');  // }  resolve(1)  } else { // android  let permission_arr = permissionMap[plat][permission]["name"].split(",");  let flag = true;  for(let i = 0;i<permission_arr.length;i++) {  let status = plus.navigator.checkPermission(permission_arr[i]);  if(status == "undetermined") {  flag = false;  }  }  console.log("flag", flag)  if (flag == false) { // 未完全授权  showViewDesc(permission);  requestAndroidPermission(permissionMap[plat][permission]["name"]).then((res) => {  view.close();  if (res == -1) {  uni.showModal({  title: '提示',  content: '操作权限已被拒绝,请手动前往设置',  confirmText: "立即设置",  success: (res) => {  if (res.confirm) {  gotoAppPermissionSetting()  }  }  })  }  resolve(res)  })  } else {  resolve(1)  }  }  })  
}  module.exports = {  judgeIosPermission: judgeIosPermission,  requestAndroidPermission: requestAndroidPermission,  checkSystemEnableLocation: checkSystemEnableLocation,  gotoAppPermissionSetting: gotoAppPermissionSetting,  premissionCheck: premissionCheck  
}

http://www.mnyf.cn/news/48654.html

相关文章:

  • 如何建设自己的网站申请自己的网站
  • 网站开发 指导seo公司软件
  • 网站设置受信任百度收录快的发帖网站
  • 企业网站源码打包后台完整无限制河南制作网站公司
  • 竞价排名适合百度吗北京百度seo工作室
  • 建立个网站搜狗搜索推广
  • 网站建设内页网站一般需要怎么推广
  • 校园网站推广方案怎么做免费接单平台
  • 网站后台上传附件seo专业学校
  • asp.net网站的404错误页面seo优化工程师
  • wordpress上传后设置密码泾县网站seo优化排名
  • 外贸网站建设与推广厦门百度seo排名
  • 网站开发需要哪些文档互联网销售
  • 公众号推文制作网站专业的网络推广
  • 求网站建设和网页设计的电子书怎么自己做一个网页
  • 帮做图标的网站惠州网站seo
  • php投票网站sem推广什么意思
  • 简述网页制作步骤百度seo优化怎么做
  • 网站制作用的软件seo排名点击软件运营
  • 昆明抖音推广公司seo 推广怎么做
  • 做网站后台有前途吗网站内容编辑
  • 万网如何上传网站东莞网站建设最牛
  • 网站建设中图片怎么样关键词看片
  • 定州哪里可以做网站百度托管公司
  • 近10天的时政新闻seo培训班
  • 青岛工程建设监理公司网站营销手机都有什么功能啊
  • 做网站知乎现在什么app引流效果好
  • 应用商店wordpress网站seo优化方案项目策划书
  • e语言可以做网站吗如何营销推广自己的产品
  • 免费视频素材网站推荐搜索引擎优化的方法有哪些?