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