feat: 增加视频水印和防盗录

This commit is contained in:
2026-06-09 17:22:21 +08:00
parent b78ad9a854
commit a83e021cd7
911 changed files with 1102 additions and 23532 deletions

264
App.vue
View File

@@ -22,10 +22,15 @@ export default {
platform: null, // 系统
};
},
onShow: function() {
// #ifdef APP-PLUS
// screenshot.onAntiScreenshot()
// #endif
},
onLaunch: function (e) {
// 检测自动更新
// #ifdef APP-PLUS
updata();
updata();
// #endif
@@ -33,62 +38,62 @@ export default {
store.commit("setCacheData");
// #ifdef APP-PLUS
const agreed = uni.getStorageSync('privacy_agreed') || (store.state.userInfo && store.state.userInfo.id);
console.log('检测用户是否同意隐私协议', agreed)
if (agreed) {
console.log('同意隐私协议,开始调用极光推送', agreed)
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, '安卓连接状态');
})
}
//#endif
// #ifdef APP-PLUS
const agreed = uni.getStorageSync('privacy_agreed') || (store.state.userInfo && store.state.userInfo.id);
console.log('检测用户是否同意隐私协议', agreed)
if (agreed) {
console.log('同意隐私协议,开始调用极光推送', agreed)
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, '安卓连接状态');
})
}
//#endif
uni.getSystemInfo({
success(res) {
Vue.prototype.winWidth = res.screenWidth;
Vue.prototype.winHeight = res.screenHeight;
Vue.prototype.statusBarHeight = res.statusBarHeight;
Vue.prototype.statusBarHeight = res.statusBarHeight || 0;
},
});
@@ -169,84 +174,83 @@ export default {
console.log("页面销毁");
},
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);
}
}
});
}
},
// 处理通知权限
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);
}
}
});
}
},
},
};
</script>