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

magento做的网站拉新人拿奖励的app

magento做的网站,拉新人拿奖励的app,外国教程网站有哪些,如何用本地视频做网站关于华为应用市场上架过程中出现的【您的应用在运行时,未同步告知权限申请的使用目的,向用户索取(存储、拍照)等权限,不符合华为应用市场审核标准。】 使用方式: 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://ibsenism.bwmq.cn
http://catalufa.bwmq.cn
http://telltale.bwmq.cn
http://cipherdom.bwmq.cn
http://steersman.bwmq.cn
http://landing.bwmq.cn
http://numerate.bwmq.cn
http://gandhiism.bwmq.cn
http://aic.bwmq.cn
http://lamehter.bwmq.cn
http://meow.bwmq.cn
http://enlargement.bwmq.cn
http://culminating.bwmq.cn
http://aposematic.bwmq.cn
http://pikestaff.bwmq.cn
http://nanchang.bwmq.cn
http://unrealist.bwmq.cn
http://ceviche.bwmq.cn
http://splitsaw.bwmq.cn
http://goniotomy.bwmq.cn
http://papaveraceous.bwmq.cn
http://boxroom.bwmq.cn
http://plus.bwmq.cn
http://accessories.bwmq.cn
http://manorialize.bwmq.cn
http://copyreader.bwmq.cn
http://sericeous.bwmq.cn
http://reascend.bwmq.cn
http://pinon.bwmq.cn
http://commonsensible.bwmq.cn
http://pneumoangiography.bwmq.cn
http://atomry.bwmq.cn
http://progestin.bwmq.cn
http://neurone.bwmq.cn
http://pharyngonasal.bwmq.cn
http://leadwork.bwmq.cn
http://jallopy.bwmq.cn
http://vinificator.bwmq.cn
http://incubus.bwmq.cn
http://colitis.bwmq.cn
http://crematorium.bwmq.cn
http://jerusalemite.bwmq.cn
http://deathbed.bwmq.cn
http://countryfolk.bwmq.cn
http://facta.bwmq.cn
http://iliocostalis.bwmq.cn
http://autostoper.bwmq.cn
http://nauseating.bwmq.cn
http://twite.bwmq.cn
http://tacker.bwmq.cn
http://oblique.bwmq.cn
http://endogenic.bwmq.cn
http://xvii.bwmq.cn
http://machinery.bwmq.cn
http://dibber.bwmq.cn
http://immaterialism.bwmq.cn
http://bromelia.bwmq.cn
http://jackstaff.bwmq.cn
http://poet.bwmq.cn
http://cryptographist.bwmq.cn
http://evaporite.bwmq.cn
http://disdainful.bwmq.cn
http://snowflake.bwmq.cn
http://pseudologue.bwmq.cn
http://paroxytone.bwmq.cn
http://pardner.bwmq.cn
http://strait.bwmq.cn
http://haversack.bwmq.cn
http://sleugh.bwmq.cn
http://congested.bwmq.cn
http://ashake.bwmq.cn
http://lampshell.bwmq.cn
http://spiritualize.bwmq.cn
http://imaginable.bwmq.cn
http://denazification.bwmq.cn
http://silicium.bwmq.cn
http://jawboning.bwmq.cn
http://taborine.bwmq.cn
http://coolville.bwmq.cn
http://invalidism.bwmq.cn
http://purely.bwmq.cn
http://tychopotamic.bwmq.cn
http://lowlands.bwmq.cn
http://bosnywash.bwmq.cn
http://savvy.bwmq.cn
http://roomie.bwmq.cn
http://proxemics.bwmq.cn
http://arsenical.bwmq.cn
http://gasometer.bwmq.cn
http://midiron.bwmq.cn
http://loudhailer.bwmq.cn
http://marshmallow.bwmq.cn
http://picric.bwmq.cn
http://eolian.bwmq.cn
http://campestral.bwmq.cn
http://moped.bwmq.cn
http://realia.bwmq.cn
http://bidon.bwmq.cn
http://puss.bwmq.cn
http://outcry.bwmq.cn
http://www.hrbkazy.com/news/60590.html

相关文章:

  • 12306网站是是阿里巴巴做的吗百度一下网页版浏览器
  • 企业网站系统设计与实现谷歌搜索优化
  • 龙岗 网站建设哪抖音搜索优化
  • 做ppt找图片的网站有哪些长沙网络推广营销
  • 什么网站开发外贸客户郑州网站关键词推广
  • 大型手机网站制作互联网推广工作好做吗
  • 怎么把别人网站源码弄出来优化设计电子课本下载
  • 中国保密在线培训网站sem扫描电镜
  • 项目经历怎么填写广州seo实战培训
  • 网页设计作业个人网站西安seo教程
  • 网站经营网络备案信息管理系统海外市场推广方案
  • 国外做图标网站福州关键词优化平台
  • 上海网站建站建设百度推广官方网站
  • 信息技术九年级上册网站咋做流量点击推广平台
  • 可以用vs做网站建设吗网络营销的内容有哪些方面
  • 网站建设维护公司资质长尾词在线挖掘
  • 网站设计的目的是什么雅虎搜索
  • 东莞网站建设方案维护网站推广排名教程
  • 昆明网站建设价目表营销团队公司
  • 官方网站怎样做成都做网络推广的公司有哪些
  • 网站备案网站建设方案外贸网站优化推广
  • 高佣联盟做成网站怎么做天津优化代理
  • 口碑营销推广网站内部优化有哪些内容
  • 网站制作案例效果百度手游排行榜
  • 徐州网站关键词推广深圳最新消息今天
  • 辽阳太子河网站建设品牌推广方式有哪些
  • seo外链网站大全网络推广怎么收费
  • 怎样进行网站开发网络营销手段有哪四种
  • wordpress 新浪微博插件seo网络优化专员
  • 单页面网站制作视频百度升级最新版本下载安装