auth-web/src/store/system/emailUsers.ts

84 lines
2.1 KiB
TypeScript

import { defineStore } from 'pinia';
import { fetchAddEmailUsers, fetchDeleteEmailUsers, fetchGetEmailUsersList, fetchUpdateEmailUsers, fetchUpdateEmailUserStatus } from '@/api/v1/emailUsers';
import { pageSizes } from '@/enums/baseConstant';
import { storeMessage } from '@/utils/message';
import { storePagination } from '@/store/useStorePagination';
/**
* 邮箱用户发送配置 Store
*/
export const useEmailUsersStore = defineStore('emailUsersStore', {
state() {
return {
// 邮箱用户发送配置列表
datalist: [],
// 查询表单
form: {
// 邮箱
email: undefined,
// 使用邮件模板
emailTemplate: undefined,
// Host地址
host: undefined,
// 端口号
port: undefined,
// 邮箱协议
smtpAgreement: undefined,
},
// 分页查询结果
pagination: {
currentPage: 1,
pageSize: 150,
total: 100,
pageSizes,
},
// 加载
loading: false,
};
},
getters: {},
actions: {
/**
* * 获取邮箱用户发送配置
*/
async getEmailUsersList() {
// 整理请求参数
const data = { ...this.pagination, ...this.form };
delete data.pageSizes;
delete data.total;
delete data.background;
// 获取邮箱用户发送配置列表
const result = await fetchGetEmailUsersList(data);
// 公共页面函数hook
const pagination = storePagination.bind(this);
return pagination(result);
},
/** 添加邮箱用户发送配置 */
async addEmailUsers(data: any) {
const result = await fetchAddEmailUsers(data);
return storeMessage(result);
},
/** 修改邮箱用户发送配置 */
async updateEmailUsers(data: any) {
const result = await fetchUpdateEmailUsers(data);
return storeMessage(result);
},
/** 更新邮箱用户状态 */
async updateEmailUserStatus(data: any) {
const result = await fetchUpdateEmailUserStatus(data);
return storeMessage(result);
},
/** 删除邮箱用户发送配置 */
async deleteEmailUsers(data: any) {
const result = await fetchDeleteEmailUsers(data);
return storeMessage(result);
},
},
});