This commit is contained in:
2025-09-04 14:02:09 +08:00
parent 0d0bf4bb3a
commit 3daf6c32b5
2 changed files with 638 additions and 334 deletions

145
App.vue
View File

@@ -1,9 +1,17 @@
<script> <script>
import { iap } from "@/utils/myIapCheck.js"; // #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 store from "@/store/index.js";
import socket from "@/config/socket"; import socket from "@/config/socket";
// #ifdef H5 // #ifdef H5
import { h5Login } from "@/config/html5Utils"; import {
h5Login
} from "@/config/html5Utils";
// #endif // #endif
// #ifdef APP-PLUS // #ifdef APP-PLUS
import updata from "@/uni_modules/uni-upgrade-center-app/utils/check-update"; import updata from "@/uni_modules/uni-upgrade-center-app/utils/check-update";
@@ -81,8 +89,134 @@ export default {
}); });
store.commit("setChatScenesInfo", Object.assign(e.query, data)); store.commit("setChatScenesInfo", Object.assign(e.query, data));
// #endif // #endif
},methods: { },
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() { onHide: function() {
@@ -113,6 +247,7 @@ export default {
overflow-y: scroll; overflow-y: scroll;
} }
} }
/deep/uni-page-body { /deep/uni-page-body {
background-color: $themeBgColor; background-color: $themeBgColor;
min-height: 100% !important; min-height: 100% !important;
@@ -169,7 +304,7 @@ page {
/* #endif*/ /* #endif*/
/deep/ .uni-tabbar__label { /deep/ .uni-tabbar__label {
font-size: 12px !important; /* 修改 tabBar 文字大小 */ font-size: 12px !important;
/* 修改 tabBar 文字大小 */
} }
</style> </style>

View File

@@ -131,7 +131,176 @@
} }
} }
}, },
"nativePlugins" : {} "nativePlugins": {
"JG-JCore": {
"JPUSH_APPKEY_ANDROID": "215f72f1b85f4028404addb3",
"JPUSH_APPKEY_IOS": "215f72f1b85f4028404addb3",
"JPUSH_CHANNEL_ANDROID": "",
"JPUSH_CHANNEL_IOS": "",
"__plugin_info__": {
"name": "极光推送 JCore 官方 SDK",
"description": "极光推送 JCore 官方 SDK HBuilder 插件版本",
"platforms": "Android,iOS",
"url": "https://ext.dcloud.net.cn/plugin?id=4028",
"android_package_name": "com.cn.taimed",
"ios_bundle_id": "",
"isCloud": true,
"bought": 1,
"pid": "4028",
"parameters": {
"JPUSH_APPKEY_ANDROID": {
"des": "[Android]极光portal配置应用信息时分配的AppKey",
"key": "215f72f1b85f4028404addb3",
"value": ""
},
"JPUSH_APPKEY_IOS": {
"des": "[iOS]极光portal配置应用信息时分配的AppKey",
"key": "215f72f1b85f4028404addb3",
"value": ""
},
"JPUSH_CHANNEL_ANDROID": {
"des": "[Android]用于统计分发渠道不需要可填默认值developer-default",
"key": "JPUSH_CHANNEL",
"value": ""
},
"JPUSH_CHANNEL_IOS": {
"des": "[iOS]用于统计分发渠道不需要可填默认值developer-default",
"key": "JCore:CHANNEL",
"value": ""
}
}
}
},
"JG-JPush": {
"JPUSH_ADVERTISINGID_IOS": "",
"JPUSH_DEFAULTINITJPUSH_IOS": "",
"JPUSH_GOOGLE_API_KEY": "",
"JPUSH_GOOGLE_APP_ID": "",
"JPUSH_GOOGLE_PROJECT_ID": "",
"JPUSH_GOOGLE_PROJECT_NUMBER": "",
"JPUSH_GOOGLE_STORAGE_BUCKET": "",
"JPUSH_HONOR_APPID": "",
"JPUSH_HUAWEI_APPID": "",
"JPUSH_ISPRODUCTION_IOS": "",
"JPUSH_MEIZU_APPID": "",
"JPUSH_MEIZU_APPKEY": "",
"JPUSH_OPPO_APPID": "",
"JPUSH_OPPO_APPKEY": "",
"JPUSH_OPPO_APPSECRET": "",
"JPUSH_VIVO_APPID": "",
"JPUSH_VIVO_APPKEY": "",
"JPUSH_XIAOMI_APPID": "MI-2882303761520418671",
"JPUSH_XIAOMI_APPKEY": "MI-5912041882671",
"__plugin_info__": {
"name": "极光推送 JPush 官方 SDK",
"description": "极光推送JPush官方SDK HBuilder插件版本",
"platforms": "Android,iOS",
"url": "https://ext.dcloud.net.cn/plugin?id=4035",
"android_package_name": "com.cn.taimed",
"ios_bundle_id": "",
"isCloud": true,
"bought": 1,
"pid": "4035",
"parameters": {
"JPUSH_ADVERTISINGID_IOS": {
"des": "[iOS]广告标识符IDFA如果不需要使用IDFA可不填",
"key": "JPush:ADVERTISINGID",
"value": ""
},
"JPUSH_DEFAULTINITJPUSH_IOS": {
"des": "[iOS]是否默认初始化是填true不是填false或者不填",
"key": "JPush:DEFAULTINITJPUSH",
"value": ""
},
"JPUSH_GOOGLE_API_KEY": {
"des": "厂商google api_key,示例:g-12346578",
"key": "google_api_key",
"value": ""
},
"JPUSH_GOOGLE_APP_ID": {
"des": "厂商google mobilesdk_app_id,示例g-12346578",
"key": "google_app_id",
"value": ""
},
"JPUSH_GOOGLE_PROJECT_ID": {
"des": "厂商google project_id ,示例g-12346578",
"key": "project_id",
"value": ""
},
"JPUSH_GOOGLE_PROJECT_NUMBER": {
"des": "厂商google project_number,示例g-12346578",
"key": "gcm_defaultSenderId",
"value": ""
},
"JPUSH_GOOGLE_STORAGE_BUCKET": {
"des": "厂商google storage_bucket,示例g-12346578",
"key": "google_storage_bucket",
"value": ""
},
"JPUSH_HONOR_APPID": {
"des": "厂商HONOR-appId,示例12346578",
"key": "com.hihonor.push.app_id",
"value": ""
},
"JPUSH_HUAWEI_APPID": {
"des": "厂商HUAWEI-appId,示例appid=12346578",
"key": "com.huawei.hms.client.appid",
"value": ""
},
"JPUSH_ISPRODUCTION_IOS": {
"des": "[iOS]是否是生产环境是填true不是填false或者不填",
"key": "JPush:ISPRODUCTION",
"value": ""
},
"JPUSH_MEIZU_APPID": {
"des": "厂商MEIZU-appId,示例MZ-12345678",
"key": "MEIZU_APPID",
"value": ""
},
"JPUSH_MEIZU_APPKEY": {
"des": "厂商MEIZU-appKey,示例MZ-12345678",
"key": "MEIZU_APPKEY",
"value": ""
},
"JPUSH_OPPO_APPID": {
"des": "厂商OPPO-appId,示例OP-12345678",
"key": "OPPO_APPID",
"value": ""
},
"JPUSH_OPPO_APPKEY": {
"des": "厂商OPPO-appkey,示例OP-12345678",
"key": "OPPO_APPKEY",
"value": ""
},
"JPUSH_OPPO_APPSECRET": {
"des": "厂商OPPO-appSecret,示例OP-12345678",
"key": "OPPO_APPSECRET",
"value": ""
},
"JPUSH_VIVO_APPID": {
"des": "厂商VIVO-appId,示例12345678",
"key": "com.vivo.push.app_id",
"value": ""
},
"JPUSH_VIVO_APPKEY": {
"des": "厂商VIVO-appkey,示例12345678",
"key": "com.vivo.push.api_key",
"value": ""
},
"JPUSH_XIAOMI_APPID": {
"des": "厂商XIAOMI-appId,示例MI-12345678",
"key": "XIAOMI_APPID",
"value": ""
},
"JPUSH_XIAOMI_APPKEY": {
"des": "厂商XIAOMI-appKey,示例MI-12345678",
"key": "XIAOMI_APPKEY",
"value": ""
}
}
}
}
}
}, },
/* */ /* */
"quickapp": {}, "quickapp": {},