231 lines
6.1 KiB
Vue
231 lines
6.1 KiB
Vue
![]() |
<template>
|
|||
|
<view>
|
|||
|
<nav-bar title="APP权限判断和跳转到系统设置"></nav-bar>
|
|||
|
<!-- 公共组件-每个页面必须引入 -->
|
|||
|
<public-module></public-module>
|
|||
|
<view class="table_box">
|
|||
|
<view class="table_title">SDK说明</view>
|
|||
|
<view class="table_content"><text @click="onJumpWebview('https://ext.dcloud.net.cn/plugin?id=594')">根据官方SDK修改:https://ext.dcloud.net.cn/plugin?id=594</text></view>
|
|||
|
<view class="table_head">
|
|||
|
<text>permissionID</text>
|
|||
|
<text>说明</text>
|
|||
|
</view>
|
|||
|
<view class="table_content">
|
|||
|
<text>location</text>
|
|||
|
<text>位置权限</text>
|
|||
|
</view>
|
|||
|
<view class="table_content">
|
|||
|
<text>camera</text>
|
|||
|
<text>摄像头权限</text>
|
|||
|
</view>
|
|||
|
<view class="table_content">
|
|||
|
<text>photoLibrary</text>
|
|||
|
<text>相册权限</text>
|
|||
|
</view>
|
|||
|
<view class="table_content">
|
|||
|
<text>record</text>
|
|||
|
<text>麦克风权限</text>
|
|||
|
</view>
|
|||
|
<view class="table_content">
|
|||
|
<text>push</text>
|
|||
|
<text>推送权限</text>
|
|||
|
</view>
|
|||
|
<view class="table_content">
|
|||
|
<text>contact</text>
|
|||
|
<text>通讯录</text>
|
|||
|
</view>
|
|||
|
<view class="table_content">
|
|||
|
<text>calendar</text>
|
|||
|
<text>日历</text>
|
|||
|
</view>
|
|||
|
<view class="table_content">
|
|||
|
<text>memo</text>
|
|||
|
<text>备忘录</text>
|
|||
|
</view>
|
|||
|
<view class="table_content">
|
|||
|
<text>call_phone</text>
|
|||
|
<text>拨打电话</text>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="input_form_box">
|
|||
|
<view class="input_box btm_line">
|
|||
|
<view class="name">获取位置权限</view>
|
|||
|
<view class="select_info" @click="getDevicePermission('location')">
|
|||
|
<view class="select">点击获取</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="input_box btm_line">
|
|||
|
<view class="name">获取摄像头权限</view>
|
|||
|
<view class="select_info" @click="getDevicePermission('camera')">
|
|||
|
<view class="select">点击获取</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="input_box btm_line">
|
|||
|
<view class="name">获取相册权限</view>
|
|||
|
<view class="select_info" @click="getDevicePermission('photoLibrary')">
|
|||
|
<view class="select">点击获取</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="input_box btm_line">
|
|||
|
<view class="name">获取麦克风权限</view>
|
|||
|
<view class="select_info" @click="getDevicePermission('record')">
|
|||
|
<view class="select">点击获取</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="input_box btm_line">
|
|||
|
<view class="name">获取推送权限</view>
|
|||
|
<view class="select_info" @click="getDevicePermission('push')">
|
|||
|
<view class="select">点击获取</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="input_box btm_line">
|
|||
|
<view class="name">获取通讯录权限</view>
|
|||
|
<view class="select_info" @click="getDevicePermission('contact')">
|
|||
|
<view class="select">点击获取</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="input_box btm_line">
|
|||
|
<view class="name">获取日历权限</view>
|
|||
|
<view class="select_info" @click="getDevicePermission('calendar')">
|
|||
|
<view class="select">点击获取</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="input_box btm_line">
|
|||
|
<view class="name">获取备忘录权限</view>
|
|||
|
<view class="select_info" @click="getDevicePermission('memo')">
|
|||
|
<view class="select">点击获取</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="input_box btm_line">
|
|||
|
<view class="name">获取拨打电话权限</view>
|
|||
|
<view class="select_info" @click="getDevicePermission('call_phone')">
|
|||
|
<view class="select">点击获取</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="input_form_box">
|
|||
|
<view class="input_box btm_line">
|
|||
|
<view class="name">跳转到手机应用设置页面</view>
|
|||
|
<view class="select_info" @click="onJumpSystemSettings">
|
|||
|
<view class="select">点击跳转</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="input_box btm_line">
|
|||
|
<view class="name">检查系统的设备服务是否开启</view>
|
|||
|
<view class="select_info" @click="onExamination">
|
|||
|
<view class="select">点击获取</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
// #ifdef APP-PLUS
|
|||
|
import { judgePermission, gotoAppPermissionSetting, checkSystemEnableLocation } from '@/plugins/permission';
|
|||
|
// #endif
|
|||
|
export default {
|
|||
|
data() {
|
|||
|
return {
|
|||
|
|
|||
|
};
|
|||
|
},
|
|||
|
//方法
|
|||
|
methods: {
|
|||
|
// 获取权限
|
|||
|
getDevicePermission(permissionID){
|
|||
|
/*
|
|||
|
*permissionID:
|
|||
|
* location => 位置
|
|||
|
* camera => 摄像头
|
|||
|
* photoLibrary => 相册
|
|||
|
* record => 麦克风
|
|||
|
* push => 推送
|
|||
|
* contact => 通讯录
|
|||
|
* calendar => 日历
|
|||
|
* memo => 备忘录
|
|||
|
* call_phone => 拨打电话
|
|||
|
*/
|
|||
|
// #ifdef APP-PLUS
|
|||
|
judgePermission(permissionID, function(res){
|
|||
|
console.log(res);
|
|||
|
if (res === 1) {
|
|||
|
uni.showToast({
|
|||
|
title:"已获取到权限",
|
|||
|
icon:"none"
|
|||
|
});
|
|||
|
}else if(res === 0){
|
|||
|
uni.showToast({
|
|||
|
title:"正在获取权限,会弹窗提示",
|
|||
|
icon:"none"
|
|||
|
});
|
|||
|
}else if(res === -1){
|
|||
|
uni.showToast({
|
|||
|
title:"用户已拒绝权限,会弹窗提示用户到【系统设置】里面开启权限",
|
|||
|
icon:"none"
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
// #endif
|
|||
|
// #ifndef APP-PLUS
|
|||
|
uni.showToast({
|
|||
|
title:"请在APP环境使用",
|
|||
|
icon:"none"
|
|||
|
});
|
|||
|
// #endif
|
|||
|
},
|
|||
|
// 跳转到应用设置
|
|||
|
onJumpSystemSettings(){
|
|||
|
// #ifdef APP-PLUS
|
|||
|
gotoAppPermissionSetting();
|
|||
|
// #endif
|
|||
|
// #ifndef APP-PLUS
|
|||
|
uni.showToast({
|
|||
|
title:"请在APP环境使用",
|
|||
|
icon:"none"
|
|||
|
});
|
|||
|
// #endif
|
|||
|
},
|
|||
|
// 检查系统的设备服务是否开启
|
|||
|
onExamination(){
|
|||
|
// #ifdef APP-PLUS
|
|||
|
if(checkSystemEnableLocation()){
|
|||
|
uni.showToast({
|
|||
|
title:"已开启设备服务权限",
|
|||
|
icon:"none"
|
|||
|
});
|
|||
|
}else{
|
|||
|
uni.showToast({
|
|||
|
title:"未开启设备服务权限",
|
|||
|
icon:"none"
|
|||
|
});
|
|||
|
}
|
|||
|
// #endif
|
|||
|
// #ifndef APP-PLUS
|
|||
|
uni.showToast({
|
|||
|
title:"请在APP环境使用",
|
|||
|
icon:"none"
|
|||
|
});
|
|||
|
// #endif
|
|||
|
},
|
|||
|
onJumpWebview(url){
|
|||
|
// #ifdef H5
|
|||
|
window.open(url);
|
|||
|
// #endif
|
|||
|
// #ifndef H5
|
|||
|
this.$store.commit("setWebViewUrl", url);
|
|||
|
uni.navigateTo({
|
|||
|
url: '/pages/template/webView'
|
|||
|
});
|
|||
|
// #endif
|
|||
|
}
|
|||
|
}
|
|||
|
};
|
|||
|
</script>
|
|||
|
<style lang="scss" scoped>
|
|||
|
@import '@/style/mixin.scss';
|
|||
|
.input_form_box {
|
|||
|
margin-bottom: 20rpx;
|
|||
|
}
|
|||
|
</style>
|