可信代码库-订阅操作添加预警手机号和预警邮件地址

This commit is contained in:
付民康
2025-06-19 16:01:49 +08:00
parent c6afe5b3df
commit e06e12ec06
2 changed files with 63 additions and 6 deletions

View File

@@ -40,12 +40,12 @@
<!-- <span>API接口</span>--> <!-- <span>API接口</span>-->
<!-- </div>--> <!-- </div>-->
<!-- </d-button>--> <!-- </d-button>-->
<!-- <d-button class="jyh-button1" variant="solid" @click="handleLogin('login')">--> <d-button class="jyh-button1" variant="solid" @click="handleHelp">
<!-- <div class="flex flex-center">--> <div class="flex flex-center">
<!-- <img style="height: 15px;margin-right: 8px" width="16" :src="icon_helper" />--> <img style="height: 15px;margin-right: 8px" width="16" :src="icon_helper" />
<!-- <span>帮助文档</span>--> <span>帮助文档</span>
<!-- </div>--> </div>
<!-- </d-button>--> </d-button>
<template v-if="!isLogin"> <template v-if="!isLogin">
<d-button @click="handleLogin('register')" class="min-w-[64px]">注册</d-button> <d-button @click="handleLogin('register')" class="min-w-[64px]">注册</d-button>
@@ -126,6 +126,23 @@ const gotoAIHome = (row) => {
router.push({ name: 'aihome' }); router.push({ name: 'aihome' });
}; };
const handleHelp = () => {
// 方法功能:跳转到帮助页面
try {
// 使用 window.location.href 实现页面跳转
// window.location.href = 'http://222.20.126.208:4399/';
// 或者使用 window.open 打开新标签页
window.open('http://222.20.126.208:4399/', '_blank');
console.log('正在跳转到帮助页面');
} catch (error) {
console.error('跳转失败:', error);
// 可以在此处添加错误提示(如使用 Message 组件)
// Message.error('跳转帮助页面失败,请手动访问该链接');
}
};
/* store 用户信息 */ /* store 用户信息 */
/* @test 后面将清除 */ /* @test 后面将清除 */

View File

@@ -6,6 +6,16 @@
<d-form-item field="subscribeType" label="通知方式"> <d-form-item field="subscribeType" label="通知方式">
<d-checkbox-group name="subscribeType" v-model="formData.subscribeType" :options="subscribeTypeOptions" direction="row"></d-checkbox-group> <d-checkbox-group name="subscribeType" v-model="formData.subscribeType" :options="subscribeTypeOptions" direction="row"></d-checkbox-group>
</d-form-item> </d-form-item>
<!-- 预警手机号 - 当选择短信时显示 -->
<d-form-item field="warningMobile" label="预警手机号" v-if="showWarningMobile">
<d-input v-model="formData.warningMobile" placeholder="请输入接收短信的手机号" />
</d-form-item>
<!-- 预警邮箱 - 当选择邮件时显示 -->
<d-form-item field="warningEmail" label="预警邮箱" v-if="showWarningEmail">
<d-input v-model="formData.warningEmail" placeholder="请输入接收邮件的邮箱" />
</d-form-item>
</d-form> </d-form>
</div> </div>
<div class="subscribe-operation mt-5"> <div class="subscribe-operation mt-5">
@@ -19,6 +29,7 @@
import { subscribeSoftware } from '@/api/jyh'; import { subscribeSoftware } from '@/api/jyh';
import { computed, ref } from 'vue'; import { computed, ref } from 'vue';
import { Message } from 'vue-devui'; import { Message } from 'vue-devui';
import { useAccountStore } from '@/stores/user';
const subscribeTypeOptions = [ const subscribeTypeOptions = [
{ name: '短信', value: 'mobileSwitch', id: 1 }, { name: '短信', value: 'mobileSwitch', id: 1 },
{ name: '邮件', value: 'emailSwitch', id: 2 }, { name: '邮件', value: 'emailSwitch', id: 2 },
@@ -26,13 +37,40 @@ const subscribeTypeOptions = [
]; ];
const props = defineProps(['softwareData']); const props = defineProps(['softwareData']);
const emit = defineEmits(['close','closeSub']); const emit = defineEmits(['close','closeSub']);
const userInfo = useAccountStore();
const {accountInfo} = userInfo;
debugger
const formRef = ref(null); const formRef = ref(null);
const formData = ref({ const formData = ref({
subscribeType: [], subscribeType: [],
warningMobile: accountInfo.warningMobile||'',
warningEmail: accountInfo.warningEmail||'',
}); });
const rules = { const rules = {
subscribeType: [{ type: 'array', required: true, message: '请至少选择一种通知方式', trigger: 'change' }], subscribeType: [{ type: 'array', required: true, message: '请至少选择一种通知方式', trigger: 'change' }],
warningMobile: [
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的11位手机号码', trigger: 'blur' },
{ required: true, message: '请输入预警手机号', trigger: 'blur' }
],
warningEmail: [
{ type: 'email', message: '请输入正确的邮箱格式', trigger: 'blur' },
{ required: true, message: '请输入预警邮箱', trigger: 'blur' }
]
}; };
// 计算属性 - 控制输入框显示
const showWarningMobile = computed(() => {
return formData.value.subscribeType.some(item => item.value === 'mobileSwitch');
});
const showWarningEmail = computed(() => {
return formData.value.subscribeType.some(item => item.value === 'emailSwitch');
});
const sendSubscribe = async () => { const sendSubscribe = async () => {
let alertType = {}; let alertType = {};
formData.value.subscribeType.forEach(item => { formData.value.subscribeType.forEach(item => {
@@ -42,6 +80,8 @@ const sendSubscribe = async () => {
softwareId: props.softwareData.id, softwareId: props.softwareData.id,
status: '1', status: '1',
alertType, alertType,
warningMobile: formData.value.warningMobile,
warningEmail: formData.value.warningEmail
}).catch(err => { }).catch(err => {
Message({ Message({
message: err.error, message: err.error,