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

智慧团建网站怎么转团关系网站建设易尔通

智慧团建网站怎么转团关系,网站建设易尔通,包头seo排名,上海工程公司关于华为应用市场上架过程中出现的【您的应用在运行时,未同步告知权限申请的使用目的,向用户索取(存储、拍照)等权限,不符合华为应用市场审核标准。】 使用方式: 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.yayakq.cn/news/234168/

相关文章:

  • php网站开发实例项目wordpress 微信同步
  • 浙江建设工程造价信息网站品牌网站建设只询大蝌蚪
  • 网站首页页面设计模板微信商城怎么开
  • seo网站建设流程wordpress插件重写
  • 帝国网站网站手机版怎么做建筑方案设计深度要求
  • 视频模板在线制作网站域名解析官网
  • 网站新闻发布后前台不显示无锡高端网站设计制作
  • 在猪八戒上做网站要注意什么页面设计美观的作用
  • 网站变灰施工企业有哪些
  • 南宁网站搭建用ps做网站页面的大小
  • 甘肃网站备案审核时间东莞网站设计在哪里
  • 怎么做网站静态布局seo关键词排名实用软件
  • 深圳营销建网站公司专业的网站开发团队
  • 深圳最好的网站开发公司电话新东方教育培训机构官网
  • 邢台公司做网站多少钱网页设计师主要是做什么
  • 网站开发vs平台的功能福建建设执业资格网站报名系统
  • 站长工具高清吗百度58同城找工作
  • 企业建站都有什么网站网站注册界面设计
  • 科讯怎么建设网站app制作定制外包22
  • 高端网站设计 上海阿里云备案网站建设方案书模板
  • 做视频网站流量费高吗做网站学完html
  • 咸宁网站建设公司代码编辑器做热点什么网站好
  • 郑州网站优化服务wordpress+免费模版
  • 如何帮人做网站如何把代码放在网站首页教程
  • 广州cms模板建站外贸购物网站制作
  • 市北区大型网站建设wordpress 手动更新
  • 专门网站建设wordpress 自定义函数
  • vps搭建网站es网站建设
  • 芒果tv网站建设的目标国家企业信息公开网查询系统
  • 做公众号需要网站网站建站服务公司