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.
 
 
 

205 lines
6.2 KiB

<template>
<view class="container">
<view id="mapContrainer" style="width: 100wh; height: 100vh; background-color: red;"></view>
<view class="intro">本项目已包含uni ui组件无需import和注册可直接使用在代码区键入字母u即可通过代码助手列出所有可用组件光标置于组件名称处按F1即可查看组件文档</view>
<text class="intro">详见</text>
<!-- <navigator url="/pages/gisUpload/gisUpload" hover-class="navigator-hover" style="margin-bottom: 20upx;">
<button type="default">地图上报gis</button>
</navigator> -->
<navigator url="/pages/form/form" hover-class="navigator-hover" style="margin-bottom: 20upx;">
<button type="default">form组件</button>
</navigator>
<navigator url="/pages/form1/form1" hover-class="navigator-hover" style="margin-bottom: 20upx;">
<button type="default">form原生组件</button>
</navigator>
<button @click="onShowNotify" type="default" style="margin-bottom: 20upx;">常驻通知保活</button>
<button @click="onAutoStart" type="default" style="margin-bottom: 20upx;">设置自启动后台运行</button>
<button @click="goIgnoreBattery" type="default">电池优化设置</button>
</view>
</template>
<script>
export default {
data() {
return {
keepAlive: null
}
},
onLoad() {
var map = new jsmapbase.JSMap({
container:'mapContainer',
mapServerURL:'./data/map'
});
console.log(map)
map.openMapById('0001');
this.keepAlive = uni.requireNativePlugin('Ba-KeepAliveSuit')
this.getPermis()
setTimeout(() => {
this.onKeep();
}, 5000);
setTimeout(() => {
this.onShowNotify();
}, 10000);
},
methods: {
getPermis() {
// // console.log("我是安卓", plus.android);
// var main = plus.android.runtimeMainActivity();
// var pkName = main.getPackageName();
// var uid = main.getApplicationInfo().plusGetAttribute("uid");
// var NotificationManagerCompat = plus.android.importClass(
// "android.support.v4.app.NotificationManagerCompat"
// );
// //android.support.v4升级为androidx
// if (NotificationManagerCompat == null) {
// NotificationManagerCompat = plus.android.importClass(
// "androidx.core.app.NotificationManagerCompat"
// );
// }
// var areNotificationsEnabled =
// NotificationManagerCompat.from(main).areNotificationsEnabled();
// // 未开通‘允许通知’权限,则弹窗提醒开通,并点击确认后,跳转到系统设置页面进行设置
// if (!areNotificationsEnabled) {
// uni.showModal({
// title: '提示',
// content: '请先打开APP通知权限',
// showCancel: false,
// success: () => {
// if (res.confirm) {
// var Intent = plus.android.importClass("android.content.Intent");
// var Build = plus.android.importClass("android.os.Build");
// //android 8.0引导
// if (Build.VERSION.SDK_INT >= 26) { //判断安卓系统版本
// var intent = new Intent("android.settings.APP_NOTIFICATION_SETTINGS");
// intent.putExtra("android.provider.extra.APP_PACKAGE", pkName);
// } else if (Build.VERSION.SDK_INT >= 21) { //判断安卓系统版本
// //android 5.0-7.0
// var intent = new Intent("android.settings.APP_NOTIFICATION_SETTINGS");
// intent.putExtra("app_package", pkName);
// intent.putExtra("app_uid", uid);
// } else {
// //(<21)其他--跳转到该应用管理的详情页
// intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
// var uri = Uri.fromParts(
// "package",
// mainActivity.getPackageName(),
// null
// );
// intent.setData(uri);
// }
// // 跳转到该应用的系统通知设置页
// main.startActivity(intent);
// }
// }
// })
// }
},
onKeep() { //通用保活
this.keepAlive.onKeep({
//channelId: "Ba-KeepAlive",
//channelName: "Ba-KeepAlive",
title: "测试",
content: "常驻通知描述",
},
(res) => {
console.log(res);
uni.showToast({
title: res.msg,
icon: "none",
duration: 3000
})
});
},
onAutoStart() { //去设置自启动、后台运行
this.keepAlive.onAutoStart(
(res) => {
console.log(res);
uni.showToast({
title: res.msg,
icon: "none",
duration: 3000
})
});
},
requestIgnoreBattery() { //申请加入电池优化白名单
this.keepAlive.requestIgnoreBattery(
res => {
console.log(res);
uni.showToast({
title: res.msg,
icon: "none",
duration: 3000
})
});
},
goIgnoreBattery() { //跳转到电池优化设置页
this.keepAlive.goIgnoreBattery(
res => {
console.log(res);
uni.showToast({
title: res.msg,
icon: "none",
duration: 3000
})
});
},
isIgnoringBattery() { //是否加入电池优化白名单
this.keepAlive.isIgnoringBattery(
res => {
console.log(res);
// if (res.data) {
// this.msgList.unshift(JSON.stringify(res.data))
// this.msgList.unshift(dateUtil.now())
// }
uni.showToast({
title: res.msg,
icon: "none",
duration: 3000
})
});
},
onShowNotify() { //常驻通知保活
this.keepAlive.onShowNotify({
//channelId: "Ba-KeepAlive",
//channelName: "Ba-KeepAlive",
ID: 99,
title: "一楼202室无线入侵",
content: "一楼202室无线入侵报警",
},
(res) => {
console.log(res);
uni.showToast({
title: res.msg,
icon: "none",
duration: 3000
})
});
},
onCancelNotify() { //取消常驻通知保活
this.keepAlive.onCancelNotify({
//channelId: "Ba-KeepAlive",
//channelName: "Ba-KeepAlive",
//ID:99
//title: "测试",
//content: "常驻通知描述",
},
(res) => {
console.log(res);
uni.showToast({
title: res.msg,
icon: "none",
duration: 3000
})
});
},
}
}
</script>
<style>
.container {
padding: 20px;
font-size: 14px;
line-height: 24px;
}
</style>