123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- <script setup>
- import { onLoad, onShow, onHide, onLaunch, onReady } from "@dcloudio/uni-app";
- import { defineComponent, getCurrentInstance, inject, nextTick, onMounted, watchEffect, ref } from "vue";
- import config from "./config";
- import JKeyListen from "@/utils/keyListen.js";
- const { proxy } = getCurrentInstance();
- function initApp() {
- proxy.$settingStore.initThemeColor();
- proxy.$settingStore.systemHeightTop();
- uni.hideTabBar();
-
- plus.screen.lockOrientation("portrait-primary");
- proxy.$settingStore.pushListener();
-
-
- }
- function setPermissions() {
-
- if (plus.os.name == "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");
-
- if (NotificationManagerCompat == null) {
- NotificationManagerCompat = plus.android.importClass("androidx.core.app.NotificationManagerCompat");
- }
- var areNotificationsEnabled = NotificationManagerCompat.from(main).areNotificationsEnabled();
-
- if (!areNotificationsEnabled) {
- uni.showModal({
- title: "通知权限开启提醒",
- content: "您还没有开启通知权限,无法接受到消息通知,请前往设置!",
- showCancel: false,
- confirmText: "去设置",
- success: function (res) {
- if (res.confirm) {
- var Intent = plus.android.importClass("android.content.Intent");
- var Build = plus.android.importClass("android.os.Build");
-
- 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) {
-
- var intent = new Intent("android.settings.APP_NOTIFICATION_SETTINGS");
- intent.putExtra("app_package", pkName);
- intent.putExtra("app_uid", uid);
- } else {
-
- intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
- var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);
- intent.setData(uri);
- }
-
- main.startActivity(intent);
- }
- },
- });
- }
- } else if (plus.os.name == "iOS") {
-
- var isOn = undefined;
- var types = 0;
- var app = plus.ios.invoke("UIApplication", "sharedApplication");
- var settings = plus.ios.invoke(app, "currentUserNotificationSettings");
- if (settings) {
- types = settings.plusGetAttribute("types");
- plus.ios.deleteObject(settings);
- } else {
- types = plus.ios.invoke(app, "enabledRemoteNotificationTypes");
- }
- plus.ios.deleteObject(app);
- isOn = 0 != types;
- if (isOn == false) {
- uni.showModal({
- title: "通知权限开启提醒",
- content: "您还没有开启通知权限,无法接受到消息通知,请前往设置!",
- showCancel: false,
- confirmText: "去设置",
- success: function (res) {
- if (res.confirm) {
- var app = plus.ios.invoke("UIApplication", "sharedApplication");
- var setting = plus.ios.invoke("NSURL", "URLWithString:", "app-settings:");
- plus.ios.invoke(app, "openURL:", setting);
- plus.ios.deleteObject(setting);
- plus.ios.deleteObject(app);
- }
- },
- });
- }
- }
-
- }
- watchEffect(() => {
-
- if (uni.getStorageSync("serveUrl")) {
- config.baseUrl = "http://" + uni.getStorageSync("serveUrl") + "/prod-api";
- }
-
- });
- onLaunch(() => {
- console.log("App Launch");
- initApp();
- });
- onReady(() => {});
- onShow(() => {
- console.log("App Show");
- });
- onHide(() => {
- console.log("App Hide");
- });
- </script>
- <style lang="scss">
- @import "@/static/scss/index.scss";
- </style>
- <style lang="scss">
- @import "@/uni_modules/uview-plus/index.scss";
- uni-page-body,
- uni-page-refresh {
- height: 100%;
- }
- //默认返回按钮样式
- :deep(.uni-page-head-btn) {
- background-color: rgba(0, 0, 0, 0) !important;
- }
- //默认头部导航title样式
- :deep(.uni-page-head__title) {
- font-size: $uni-font-size-lg;
- font-weight: bold;
- }
- </style>
|