You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
	
	
		
		
			
	
    
		
			
				
					
						                                                                                                                                                                                                                                                      | 
						 | 
						/// null = 未请求,1 = 已允许,0 = 拒绝|受限, 2 = 系统未开启
var isIOS;
function album() {  var result = 0;  var PHPhotoLibrary = plus.ios.import('PHPhotoLibrary');  var authStatus = PHPhotoLibrary.authorizationStatus();  if (authStatus === 0) {    result = null;  } else if (authStatus == 3) {    result = 1;  } else {    result = 0;  }  plus.ios.deleteObject(PHPhotoLibrary);  return result;}
function camera() {  var result = 0;  var AVCaptureDevice = plus.ios.import('AVCaptureDevice');  var authStatus = AVCaptureDevice.authorizationStatusForMediaType('vide');  if (authStatus === 0) {    result = null;  } else if (authStatus == 3) {    result = 1;  } else {    result = 0;  }  plus.ios.deleteObject(AVCaptureDevice);  return result;}
function location() {  var result = 0;  var cllocationManger = plus.ios.import('CLLocationManager');  var enable = cllocationManger.locationServicesEnabled();  var status = cllocationManger.authorizationStatus();  if (!enable) {    result = 2;  } else if (status === 0) {    result = null;  } else if (status === 3 || status === 4) {    result = 1;  } else {    result = 0;  }  plus.ios.deleteObject(cllocationManger);  return result;}
function push() {  var result = 0;  var UIApplication = plus.ios.import('UIApplication');  var app = UIApplication.sharedApplication();  var enabledTypes = 0;  if (app.currentUserNotificationSettings) {    var settings = app.currentUserNotificationSettings();    enabledTypes = settings.plusGetAttribute('types');    if (enabledTypes == 0) {      result = 0;      console.log('推送权限没有开启');    } else {      result = 1;      console.log('已经开启推送功能!');    }    plus.ios.deleteObject(settings);  } else {    enabledTypes = app.enabledRemoteNotificationTypes();    if (enabledTypes == 0) {      result = 3;      console.log('推送权限没有开启!');    } else {      result = 4;      console.log('已经开启推送功能!');    }  }  plus.ios.deleteObject(app);  plus.ios.deleteObject(UIApplication);  return result;}
function contact() {  var result = 0;  var CNContactStore = plus.ios.import('CNContactStore');  var cnAuthStatus = CNContactStore.authorizationStatusForEntityType(0);  if (cnAuthStatus === 0) {    result = null;  } else if (cnAuthStatus == 3) {    result = 1;  } else {    result = 0;  }  plus.ios.deleteObject(CNContactStore);  return result;}
function record() {  var result = null;  var avaudiosession = plus.ios.import('AVAudioSession');  var avaudio = avaudiosession.sharedInstance();  var status = avaudio.recordPermission();  console.log('permissionStatus:' + status);  if (status === 1970168948) {    result = null;  } else if (status === 1735552628) {    result = 1;  } else {    result = 0;  }  plus.ios.deleteObject(avaudiosession);  return result;}
function calendar() {  var result = null;  var EKEventStore = plus.ios.import('EKEventStore');  var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(0);  if (ekAuthStatus == 3) {    result = 1;    console.log('日历权限已经开启');  } else {    console.log('日历权限没有开启');  }  plus.ios.deleteObject(EKEventStore);  return result;}
function memo() {  var result = null;  var EKEventStore = plus.ios.import('EKEventStore');  var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(1);  if (ekAuthStatus == 3) {    result = 1;    console.log('备忘录权限已经开启');  } else {    console.log('备忘录权限没有开启');  }  plus.ios.deleteObject(EKEventStore);  return result;}
function requestIOS(permissionID) {  return new Promise((resolve, reject) => {    switch (permissionID) {      case 'push':        resolve(push());        break;      case 'location':        resolve(location());        break;      case 'record':        resolve(record());        break;      case 'camera':        resolve(camera());        break;      case 'album':        resolve(album());        break;      case 'contact':        resolve(contact());        break;      case 'calendar':        resolve(calendar());        break;      case 'memo':        resolve(memo());        break;      default:        resolve(0);        break;    }  });}
function requestAndroid(permissionID) {  return new Promise((resolve, reject) => {    plus.android.requestPermissions(      [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);      },      function (error) {        console.log('result error: ' + error.message);        resolve({          code: error.code,          message: error.message,        });      },    );  });}
function gotoAppPermissionSetting() {  if (permission.isIOS) {    var UIApplication = plus.ios.import('UIApplication');    var application2 = UIApplication.sharedApplication();    var NSURL2 = plus.ios.import('NSURL');    var setting2 = NSURL2.URLWithString('app-settings:');    application2.openURL(setting2);    plus.ios.deleteObject(setting2);    plus.ios.deleteObject(NSURL2);    plus.ios.deleteObject(application2);  } else {    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);  }}
const permission = {  get isIOS() {    return typeof isIOS === 'boolean'      ? isIOS      : (isIOS = uni.getSystemInfoSync().platform === 'ios');  },  requestIOS: requestIOS,  requestAndroid: requestAndroid,  gotoAppSetting: gotoAppPermissionSetting,};
export default permission;
  |