初始化万家商超用户端仓库
This commit is contained in:
92
common/utils/permissionTips.js
Normal file
92
common/utils/permissionTips.js
Normal file
@ -0,0 +1,92 @@
|
||||
function showView(permissions) {
|
||||
// #ifdef APP-PLUS
|
||||
const permissionTipsArr = [{
|
||||
"keyName": "android.permission.INTERNET",
|
||||
"title": '使用网络权限',
|
||||
"content": '与服务器进行数据交换,如同步用户数据、获取最新信息等'
|
||||
}, {
|
||||
"keyName": "android.permission.READ_EXTERNAL_STORAGE",
|
||||
"title": '读写SD卡权限',
|
||||
"content": '访问用户的媒体库,如照片相册等'
|
||||
}, {
|
||||
"keyName": "android.permission.WRITE_EXTERNAL_STORAGE",
|
||||
"title": '读写SD卡权限',
|
||||
"content": '访问用户的媒体库,如照片相册等'
|
||||
}, {
|
||||
"keyName": "android.permission.READ_PHONE_STATE",
|
||||
"title": '读取设备标识权限',
|
||||
"content": '根据设备特征提供定制化的用户体验'
|
||||
}, {
|
||||
"keyName": "android.permission.CAMERA",
|
||||
"title": '拍照权限',
|
||||
"content": '请求相机权限,使用相机,用于扫描二维码或者上传图片'
|
||||
}, {
|
||||
"keyName": "android.permission.ACCESS_COARSE_LOCATION",
|
||||
"title": '定位权限',
|
||||
"content": '根据用户位置提供附近的商家、餐厅等信息'
|
||||
}, {
|
||||
"keyName": "android.permission.ACCESS_FINE_LOCATION",
|
||||
"title": '定位权限',
|
||||
"content": '根据用户位置提供附近的商家、餐厅等信息'
|
||||
},{
|
||||
"keyName": "android.permission.CALL_PHONE",
|
||||
"title": '拨打电话权限',
|
||||
"content": '请求拨打电话权限,用于联系商家或者平台'
|
||||
}]
|
||||
const permissionTips = Array.isArray(permissionTipsArr) ? permissionTipsArr.reduce((accumulator, {
|
||||
keyName,
|
||||
title,
|
||||
content,
|
||||
}) => {
|
||||
accumulator[keyName] =
|
||||
`<div class='tips-item'><div class='title'>${title}</div><div class='center'>${content}</div></div>`;
|
||||
return accumulator;
|
||||
}, {}) : {};
|
||||
let tips = ''
|
||||
permissions.map(key => {
|
||||
if (permissionTips[key]) {
|
||||
tips += permissionTips[key]
|
||||
} else {
|
||||
console.log(key + '未配置提示语');
|
||||
}
|
||||
})
|
||||
if (!tips) return null
|
||||
const systemInfo = uni.getSystemInfoSync()
|
||||
let wvPath = '/static/permissionTips.html'
|
||||
let wv = new plus.webview.create(
|
||||
wvPath, 'permissionTips', {
|
||||
'uni-app': 'none',
|
||||
top: systemInfo.statusBarHeight,
|
||||
left: 0,
|
||||
width: systemInfo.screenWidth,
|
||||
height: systemInfo.screenHeight - systemInfo.statusBarHeight,
|
||||
background: 'transparent',
|
||||
}, {
|
||||
tips,
|
||||
}
|
||||
)
|
||||
wv.show()
|
||||
return wv
|
||||
// #endif
|
||||
return null
|
||||
}
|
||||
export function permissionListener() {
|
||||
// showView(["android.permission.CAMERA", "android.permission.ACCESS_COARSE_LOCATION", "android.permission.READ_PHONE_STATE", "android.permission.READ_EXTERNAL_STORAGE"])
|
||||
let view = null
|
||||
let createRequestPermissionListener = uni.createRequestPermissionListener();
|
||||
createRequestPermissionListener.onRequest((e) => {
|
||||
console.log('onRequest', e);
|
||||
});
|
||||
createRequestPermissionListener.onConfirm((e) => {
|
||||
console.log('onConfirm', e);
|
||||
if (view && view.close) view.close()
|
||||
if (view && view.destroy) view.destroy()
|
||||
view = showView(e)
|
||||
});
|
||||
createRequestPermissionListener.onComplete((e) => {
|
||||
if (view && view.close) view.close()
|
||||
if (view && view.destroy) view.destroy()
|
||||
view = null
|
||||
console.log('onComplete', e);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user