tijiao
This commit is contained in:
443
App.vue
443
App.vue
@@ -1,175 +1,310 @@
|
||||
<script>
|
||||
import { iap } from "@/utils/myIapCheck.js";
|
||||
import store from "@/store/index.js";
|
||||
import socket from "@/config/socket";
|
||||
// #ifdef H5
|
||||
import { h5Login } from "@/config/html5Utils";
|
||||
// #endif
|
||||
// #ifdef APP-PLUS
|
||||
import updata from "@/uni_modules/uni-upgrade-center-app/utils/check-update";
|
||||
// #endif
|
||||
Vue.prototype.$apkUrl = "https://a.app.qq.com/o/simple.jsp?pkgname=com.cn.taimed" // 应用宝
|
||||
import Vue from "vue";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
platform: null, // 系统
|
||||
appRegisterMap: undefined,
|
||||
};
|
||||
},
|
||||
onLaunch: function() {
|
||||
// #ifdef APP-PLUS
|
||||
updata();
|
||||
plus.screen.lockOrientation("portrait-primary");
|
||||
// 检测自动更新
|
||||
|
||||
|
||||
// #endif
|
||||
uni.setStorageSync("isJump", null);
|
||||
// 禁止横屏
|
||||
|
||||
uni.getSystemInfo({
|
||||
success(res) {
|
||||
Vue.prototype.winWidth = res.screenWidth;
|
||||
Vue.prototype.winHeight = res.screenHeight;
|
||||
Vue.prototype.statusBarHeight = res.statusBarHeight;
|
||||
},
|
||||
});
|
||||
|
||||
// #ifdef APP-PLUS
|
||||
var jpushModule = uni.requireNativePlugin("JG-JPush");
|
||||
var audioObj = uni.getBackgroundAudioManager();
|
||||
// #endif
|
||||
import {
|
||||
iap
|
||||
} from "@/utils/myIapCheck.js";
|
||||
import store from "@/store/index.js";
|
||||
import socket from "@/config/socket";
|
||||
// #ifdef H5
|
||||
import {
|
||||
h5Login
|
||||
} from "@/config/html5Utils";
|
||||
// #endif
|
||||
// #ifdef APP-PLUS
|
||||
import updata from "@/uni_modules/uni-upgrade-center-app/utils/check-update";
|
||||
// #endif
|
||||
Vue.prototype.$apkUrl = "https://a.app.qq.com/o/simple.jsp?pkgname=com.cn.taimed" // 应用宝
|
||||
import Vue from "vue";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
platform: null, // 系统
|
||||
appRegisterMap: undefined,
|
||||
};
|
||||
},
|
||||
onLaunch: function() {
|
||||
// #ifdef APP-PLUS
|
||||
updata();
|
||||
plus.screen.lockOrientation("portrait-primary");
|
||||
// 检测自动更新
|
||||
|
||||
//取出缓存数据
|
||||
store.commit("setCacheData");
|
||||
// #ifdef MP-WEIXIN
|
||||
if (store.state.userInfo.token) {
|
||||
socket.init();
|
||||
}
|
||||
// #endif
|
||||
// #ifdef H5
|
||||
if (store.state.userInfo.token) {
|
||||
socket.init();
|
||||
} else {
|
||||
h5Login("force", () => {
|
||||
socket.init();
|
||||
});
|
||||
}
|
||||
// #endif
|
||||
// #ifdef APP-PLUS
|
||||
if (store.state.userInfo.token) {
|
||||
socket.init();
|
||||
}
|
||||
// #endif
|
||||
},
|
||||
onShow: function(e) {
|
||||
// #ifdef APP-PLUS
|
||||
plus.screen.lockOrientation("portrait-primary");
|
||||
// 检测是否有未关闭苹果内购订单
|
||||
iap.getChannels()
|
||||
// #endif
|
||||
// #ifdef MP-WEIXIN
|
||||
//获取二维码携带的参数
|
||||
let scene = decodeURIComponent(e.query.scene);
|
||||
scene = scene.split("&");
|
||||
let data = {
|
||||
//场景值
|
||||
scene: e.scene,
|
||||
};
|
||||
scene.forEach((item) => {
|
||||
let arr = item.split("=");
|
||||
if (arr.length == 2) {
|
||||
data[arr[0]] = arr[1];
|
||||
}
|
||||
});
|
||||
store.commit("setChatScenesInfo", Object.assign(e.query, data));
|
||||
// #endif
|
||||
},methods: {
|
||||
|
||||
// #endif
|
||||
uni.setStorageSync("isJump", null);
|
||||
// 禁止横屏
|
||||
|
||||
uni.getSystemInfo({
|
||||
success(res) {
|
||||
Vue.prototype.winWidth = res.screenWidth;
|
||||
Vue.prototype.winHeight = res.screenHeight;
|
||||
Vue.prototype.statusBarHeight = res.statusBarHeight;
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
//取出缓存数据
|
||||
store.commit("setCacheData");
|
||||
// #ifdef MP-WEIXIN
|
||||
if (store.state.userInfo.token) {
|
||||
socket.init();
|
||||
}
|
||||
// #endif
|
||||
// #ifdef H5
|
||||
if (store.state.userInfo.token) {
|
||||
socket.init();
|
||||
} else {
|
||||
h5Login("force", () => {
|
||||
socket.init();
|
||||
});
|
||||
}
|
||||
// #endif
|
||||
// #ifdef APP-PLUS
|
||||
if (store.state.userInfo.token) {
|
||||
socket.init();
|
||||
}
|
||||
// #endif
|
||||
},
|
||||
onShow: function(e) {
|
||||
// #ifdef APP-PLUS
|
||||
plus.screen.lockOrientation("portrait-primary");
|
||||
// 检测是否有未关闭苹果内购订单
|
||||
iap.getChannels()
|
||||
// #endif
|
||||
// #ifdef MP-WEIXIN
|
||||
//获取二维码携带的参数
|
||||
let scene = decodeURIComponent(e.query.scene);
|
||||
scene = scene.split("&");
|
||||
let data = {
|
||||
//场景值
|
||||
scene: e.scene,
|
||||
};
|
||||
scene.forEach((item) => {
|
||||
let arr = item.split("=");
|
||||
if (arr.length == 2) {
|
||||
data[arr[0]] = arr[1];
|
||||
}
|
||||
});
|
||||
store.commit("setChatScenesInfo", Object.assign(e.query, data));
|
||||
// #endif
|
||||
},
|
||||
methods: {
|
||||
// 处理通知权限
|
||||
getRegistrationID() { //获取registerID
|
||||
jpushModule.getRegistrationID(result => {
|
||||
let registerID = result.registerID
|
||||
console.log(registerID)
|
||||
this.registrationID = registerID
|
||||
uni.setStorageSync("registerID", registerID)
|
||||
})
|
||||
},
|
||||
getNotificationEnabled() {
|
||||
if (uni.getSystemInfoSync().platform == "ios") {
|
||||
jpushModule.requestNotificationAuthorization((result) => {
|
||||
let status = result.status
|
||||
if (status < 2) {
|
||||
this.noticMsgTool()
|
||||
}
|
||||
})
|
||||
} else {
|
||||
jpushModule.isNotificationEnabled((result) => { //判断android是否打开权限
|
||||
if (result.code == 0) { //如果为0则表示 未打开通知权限
|
||||
this.noticMsgTool()
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
noticMsgTool() {
|
||||
if (uni.getSystemInfoSync().platform == "ios") {
|
||||
//苹果打开对应的通知栏
|
||||
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);
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
//android打开对应的通知栏
|
||||
var main = plus.android.runtimeMainActivity();
|
||||
var pkName = main.getPackageName();
|
||||
var uid = main.getApplicationInfo().plusGetAttribute("uid");
|
||||
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");
|
||||
//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);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
onLaunch() {
|
||||
// #ifdef APP-PLUS
|
||||
jpushModule.initJPushService();
|
||||
jpushModule.setLoggerEnable(true);
|
||||
plus.screen.lockOrientation("portrait-primary");
|
||||
// 设置别名
|
||||
jpushModule.setAlias({
|
||||
'alias': this.lxzl.getUserInfo().userId + '',
|
||||
'sequence': 1
|
||||
})
|
||||
//监听 极光推送连接状态
|
||||
this.getNotificationEnabled();
|
||||
jpushModule.addConnectEventListener(result => {
|
||||
let connectEnable = result.connectEnable
|
||||
uni.$emit('connectStatusChange', connectEnable)
|
||||
});
|
||||
jpushModule.addNotificationListener(result => { //极光推送的消息通知回调
|
||||
jpushModule.setBadge(0);
|
||||
plus.runtime.setBadgeNumber(0);
|
||||
let notificationEventType = result.notificationEventType
|
||||
let woopId = result.extras && result.extras.dataType === 'woop' && result.extras.value;
|
||||
console.log("通知", result, notificationEventType)
|
||||
// 点击事件
|
||||
if (notificationEventType == 'notificationOpened') {
|
||||
uni.navigateTo({
|
||||
url: '/pages/taskDetail/taskDetail?' + 'woopId=' + woopId
|
||||
});
|
||||
}
|
||||
});
|
||||
uni.$on('connectStatusChange', (connectStatus) => {
|
||||
var connectStr = ''
|
||||
if (connectStatus == true) {
|
||||
connectStr = '已连接'
|
||||
// this.getRegistrationID()
|
||||
} else {
|
||||
connectStr = '未连接'
|
||||
}
|
||||
console.log('监听到了连接状态变化 --- ', connectStr)
|
||||
this.connectStatus = connectStr
|
||||
})
|
||||
jpushModule.isPushStopped(res => {
|
||||
// code 0已停止推送 1未停止推送
|
||||
const {
|
||||
code
|
||||
} = res
|
||||
console.log(res, '安卓连接状态');
|
||||
})
|
||||
|
||||
onHide: function() {
|
||||
console.log('App Hide')
|
||||
},
|
||||
//页面销毁
|
||||
destroyed() {
|
||||
store.commit("setUserInfo", {
|
||||
playFlag: true,
|
||||
});
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
onHide: function() {
|
||||
console.log('App Hide')
|
||||
},
|
||||
//页面销毁
|
||||
destroyed() {
|
||||
store.commit("setUserInfo", {
|
||||
playFlag: true,
|
||||
});
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import "@/uni_modules/uview-ui/index.scss";
|
||||
@import "@/uni_modules/uni-scss/index.scss";
|
||||
/* #ifndef APP-PLUS-NVUE */
|
||||
/* uni.css - 通用组件、模板样式库,可以当作一套ui库应用 */
|
||||
@import "@/static/uni.css";
|
||||
@import "@/static/customicons.css";
|
||||
@import "@/static/common.scss";
|
||||
@import "@/uni_modules/uview-ui/index.scss";
|
||||
@import "@/uni_modules/uni-scss/index.scss";
|
||||
/* #ifndef APP-PLUS-NVUE */
|
||||
/* uni.css - 通用组件、模板样式库,可以当作一套ui库应用 */
|
||||
@import "@/static/uni.css";
|
||||
@import "@/static/customicons.css";
|
||||
@import "@/static/common.scss";
|
||||
|
||||
/* H5 兼容 pc 所需 */
|
||||
/* #ifdef H5 */
|
||||
@media screen and (min-width: 768px) {
|
||||
body {
|
||||
overflow-y: scroll;
|
||||
}
|
||||
}
|
||||
/deep/uni-page-body {
|
||||
background-color: $themeBgColor;
|
||||
min-height: 100% !important;
|
||||
height: 100% !important;
|
||||
}
|
||||
/* H5 兼容 pc 所需 */
|
||||
/* #ifdef H5 */
|
||||
@media screen and (min-width: 768px) {
|
||||
body {
|
||||
overflow-y: scroll;
|
||||
}
|
||||
}
|
||||
|
||||
.uni-top-window uni-tabbar .uni-tabbar {
|
||||
background-color: #fff !important;
|
||||
}
|
||||
/deep/uni-page-body {
|
||||
background-color: $themeBgColor;
|
||||
min-height: 100% !important;
|
||||
height: 100% !important;
|
||||
}
|
||||
|
||||
.uni-app--showleftwindow .hideOnPc {
|
||||
display: none !important;
|
||||
}
|
||||
.uni-top-window uni-tabbar .uni-tabbar {
|
||||
background-color: #fff !important;
|
||||
}
|
||||
|
||||
/* #endif */
|
||||
.uni-app--showleftwindow .hideOnPc {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* 以下样式用于 hello uni-app 演示所需 */
|
||||
page {
|
||||
height: 100%;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
/* #endif */
|
||||
|
||||
.fix-pc-padding {
|
||||
padding: 0 50px;
|
||||
}
|
||||
/* 以下样式用于 hello uni-app 演示所需 */
|
||||
page {
|
||||
height: 100%;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.uni-header-logo {
|
||||
padding: 30rpx;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
.fix-pc-padding {
|
||||
padding: 0 50px;
|
||||
}
|
||||
|
||||
.uni-header-image {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
.uni-header-logo {
|
||||
padding: 30rpx;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
|
||||
.uni-hello-text {
|
||||
color: #7a7e83;
|
||||
}
|
||||
.uni-header-image {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.uni-hello-addfile {
|
||||
text-align: center;
|
||||
line-height: 300rpx;
|
||||
background: #fff;
|
||||
padding: 50rpx;
|
||||
margin-top: 10px;
|
||||
font-size: 38rpx;
|
||||
color: #808080;
|
||||
}
|
||||
.uni-hello-text {
|
||||
color: #7a7e83;
|
||||
}
|
||||
|
||||
/* #endif*/
|
||||
.uni-hello-addfile {
|
||||
text-align: center;
|
||||
line-height: 300rpx;
|
||||
background: #fff;
|
||||
padding: 50rpx;
|
||||
margin-top: 10px;
|
||||
font-size: 38rpx;
|
||||
color: #808080;
|
||||
}
|
||||
|
||||
/deep/ .uni-tabbar__label {
|
||||
font-size: 12px !important; /* 修改 tabBar 文字大小 */
|
||||
}
|
||||
</style>
|
||||
/* #endif*/
|
||||
|
||||
/deep/ .uni-tabbar__label {
|
||||
font-size: 12px !important;
|
||||
/* 修改 tabBar 文字大小 */
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user