84 lines
2.1 KiB
TypeScript
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);
|
|
},
|
|
},
|
|
});
|