订阅软件
This commit is contained in:
@@ -10,7 +10,7 @@ export function releaseInfo(params: { repoId: string,releaseId: string }): Prom
|
||||
});
|
||||
}
|
||||
|
||||
// 获取用户信息
|
||||
// 获取邀请列表
|
||||
export function getInviteListData(): catchRt<any> {
|
||||
return reqCatchV2(() => request({
|
||||
url: '/api/v1/group/member/invite/list',
|
||||
@@ -20,7 +20,7 @@ export function getInviteListData(): catchRt<any> {
|
||||
}));
|
||||
}
|
||||
|
||||
// 获取用户信息
|
||||
// 处理邀请
|
||||
export function acceptInvite(params): catchRt<any> {
|
||||
return reqCatchV2(() => request({
|
||||
url: '/api/v1/group/member/invite/accept',
|
||||
@@ -30,3 +30,14 @@ export function acceptInvite(params): catchRt<any> {
|
||||
customError: true
|
||||
}));
|
||||
}
|
||||
|
||||
// 发送订阅
|
||||
export function subscribeSoftware(params): catchRt<any> {
|
||||
return reqCatchV2(() => request({
|
||||
url: '/api/v1/alert/subscribe',
|
||||
method: 'post',
|
||||
data: params,
|
||||
}, {
|
||||
customError: true
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -20,24 +20,49 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { subscribeSoftware } from '@/api/jyh';
|
||||
import { computed, ref } from 'vue';
|
||||
import { Message } from 'vue-devui';
|
||||
|
||||
const props = defineProps(['softwareData']);
|
||||
const emit = defineEmits(['close']);
|
||||
const formRef = ref(null);
|
||||
const formData = ref({
|
||||
subscribeType: '',
|
||||
subscribeText: '',
|
||||
});
|
||||
const rules = {
|
||||
subscribeType: [{ required: true, message: '请选择', trigger: 'change' }],
|
||||
};
|
||||
const sendSubscribe = async () => {
|
||||
const data = await subscribeSoftware({
|
||||
softwareId: props.softwareData.id,
|
||||
status: '1',
|
||||
alertType: {
|
||||
mobileSwitch: formData.value.subscribeType === '0',
|
||||
emailSwitch: formData.value.subscribeType === '1',
|
||||
webSwitch: formData.value.subscribeType === '2',
|
||||
}
|
||||
}).catch(err => {
|
||||
Message({
|
||||
message: err.error,
|
||||
type: 'error'
|
||||
})
|
||||
});
|
||||
if (!data?.data?.data?.data) {
|
||||
Message({
|
||||
message: data?.data?.data?.msg,
|
||||
type: 'error'
|
||||
})
|
||||
} else {
|
||||
emit('close');
|
||||
}
|
||||
}
|
||||
const confirm = () => {
|
||||
(formRef?.value as any)?.validate((isValid: boolean, invalidFields: any) => {
|
||||
if (!isValid) {
|
||||
return;
|
||||
}
|
||||
emit('close');
|
||||
sendSubscribe();
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user