unknown
5 months ago
15 changed files with 314 additions and 40 deletions
-
8App.vue
-
2androidPrivacy.json
-
92common/js/location.js
-
6common/js/mixins.js
-
103common/js/permission.js.js
-
2config/request.js
-
8config/site.config.js
-
12manifest.json
-
8pages.json
-
5pages/indexEntry/enroll/signContract/signContract.vue
-
2pages/indexEntry/signIn/signAndOut/signAndOut.vue
-
16pages/mineEntry/personaInfo/AccountCance.vue
-
14pages/mineEntry/personaInfo/personaInfo.vue
-
42pages/tabbar/index/index.vue
-
34store/modules/user.js
@ -0,0 +1,92 @@ |
|||
import permision from '@/common/js/permission.js' |
|||
|
|||
export async function getLocation(cb) { |
|||
// #ifdef APP-PLUS
|
|||
let status = await checkPermission(); |
|||
if (status !== 1) { |
|||
return status; |
|||
} |
|||
// #endif
|
|||
|
|||
|
|||
|
|||
uni.showModal({ |
|||
content: '为了您更好的给您推荐附近的驾校数据,需要获取位置信息,app想要获取您的位权限', |
|||
confirmText: "确定", |
|||
success: function(res) { |
|||
if (res.confirm) { |
|||
doGetLocation(cb); |
|||
} else if (res.cancel) { |
|||
console.log('用户点击取消'); |
|||
} |
|||
} |
|||
}); |
|||
|
|||
|
|||
} |
|||
|
|||
/** |
|||
* 获取当前位置信息 |
|||
*/ |
|||
export const doGetLocation = (cb) => { |
|||
uni.getLocation({ |
|||
success: (res) => { |
|||
|
|||
console.log('当前位置:', res.longitude, res.latitude); |
|||
if (typeof cb == 'function') cb && typeof cb == 'function' && cb(status) |
|||
}, |
|||
fail: (err) => { |
|||
if (err.errMsg.indexOf("auth deny") >= 0) { |
|||
uni.showToast({ |
|||
title: "访问位置被拒绝", |
|||
icon: 'none' |
|||
}) |
|||
} else { |
|||
uni.showToast({ |
|||
title: err.errMsg, |
|||
icon: 'none' |
|||
}) |
|||
} |
|||
} |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 检测定位权限 |
|||
*/ |
|||
async function checkPermission() { |
|||
let status = permision.isIOS ? await permision.requestIOS('location') : |
|||
await permision.requestAndroid('android.permission.ACCESS_FINE_LOCATION'); |
|||
|
|||
if (status === null || status === 1) { |
|||
status = 1; |
|||
} else if (status === 2) { |
|||
uni.showModal({ |
|||
content: "系统定位已关闭", |
|||
showCancel: false, |
|||
success: function(res) {} |
|||
}) |
|||
} else if (status.code) { |
|||
uni.showModal({ |
|||
content: status.message |
|||
}) |
|||
} else { |
|||
uni.showModal({ |
|||
content: "为了您更好的体验App蓝牙功能,需要获取位置信息,请点击设置开启定位权限", |
|||
confirmText: "设置", |
|||
success: function(res) { |
|||
if (res.confirm) { |
|||
permision.gotoAppSetting(); |
|||
} |
|||
} |
|||
}) |
|||
} |
|||
|
|||
return status; |
|||
} |
|||
|
|||
|
|||
const location = { |
|||
getLocation |
|||
} |
|||
export default location; |
@ -0,0 +1,103 @@ |
|||
|
|||
|
|||
/// null = 未请求,1 = 已允许,0 = 拒绝|受限, 2 = 系统未开启
|
|||
|
|||
var isIOS |
|||
|
|||
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 requestIOS(permissionID) { |
|||
return new Promise((resolve, reject) => { |
|||
switch (permissionID) { |
|||
case "location": |
|||
resolve(location()); |
|||
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('已获取的权限:'); |
|||
result = 1 |
|||
} |
|||
for (var i = 0; i < resultObj.deniedPresent.length; i++) { |
|||
var deniedPresentPermission = resultObj.deniedPresent[i]; |
|||
console.log('拒绝本次申请的权限:'); |
|||
result = 0 |
|||
} |
|||
for (var i = 0; i < resultObj.deniedAlways.length; i++) { |
|||
var deniedAlwaysPermission = resultObj.deniedAlways[i]; |
|||
console.log('永久拒绝申请的权限:'); |
|||
result = -1 |
|||
} |
|||
resolve(result); |
|||
}, |
|||
function(error) { |
|||
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 |
@ -0,0 +1,16 @@ |
|||
<template> |
|||
<view class="main"> |
|||
账号注销后无法恢复 您的账号注销后 各项信息将被清空且无法恢复,请谨慎使用此功能,注销申请,请发送至邮箱helijun@jaxc.cn,我们将在收到您的申请后,尽快处理。 |
|||
</view> |
|||
</template> |
|||
|
|||
|
|||
|
|||
<style scoped lang="scss"> |
|||
.main { |
|||
font-size: 26rpx; |
|||
color: #333; |
|||
padding: 32rpx 32rpx; |
|||
line-height: 30px; |
|||
} |
|||
</style> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue