Merge remote-tracking branch 'origin/feature/0625_账户管理' into feature/v1.3_营销资产中台

This commit is contained in:
rd
2025-06-27 09:32:07 +08:00
60 changed files with 3021 additions and 23 deletions

View File

@ -0,0 +1,97 @@
/*
* @Author: RenXiaoDong
* @Date: 2025-06-25 17:34:56
*/
import Http from '@/api';
// 媒体账号标签-列表
export const fetchAccountTags = (params = {}) => {
return Http.get('/v1/media-account-tags/list', params);
};
// 媒体账号分组-列表
export const fetchAccountGroups = (params = {}) => {
return Http.get('/v1/media-account-groups/list', params);
};
// 媒体运营人员分组-列表
export const fetchAccountOperators = (params = {}) => {
return Http.get('/v1/media-account-operators/list', params);
};
// 媒体账号-分页
export const getMediaAccounts = (params = {}) => {
return Http.get('/v1/media-accounts', params);
};
// 媒体账号-添加
export const postMediaAccounts = (params = {}) => {
return Http.post('/v1/media-accounts', params);
};
// 媒体账号-详情
export const getMediaAccountsDetail = (id: string) => {
return Http.get(`/v1/media-accounts/${id}`);
};
// 媒体账号-修改
export const putMediaAccounts = (id: string) => {
return Http.put(`/v1/media-accounts/${id}`);
};
// 媒体账号-删除
export const deleteMediaAccount = (id: string) => {
return Http.delete(`/v1/media-accounts/${id}`);
};
// 媒体账号-获取模板地址
export const getTemplateUrl = (params = {}) => {
return Http.get('/v1/media-accounts/template', params);
};
// 媒体账号分组-分页
export const getGroupList = (params = {}) => {
return Http.get('/v1/media-account-groups/list', params);
};
// 媒体账号分组 -添加
export const postAccountGroups = (params = {}) => {
return Http.post('/v1/media-account-groups', params);
};
// 媒体账号分组-编辑
export const putGroup = (params = {}) => {
const { id, ...rest } = params as { id: string; [key: string]: any };
return Http.put(`/v1/media-account-groups/${id}`, rest);
};
// 媒体账号分组-删除
export const deleteGroup = (id: string) => {
return Http.delete(`/v1/media-account-groups/${id}`);
};
// 媒体账号标签-列表
export const getTagsList = (params = {}) => {
return Http.get('/v1/media-account-tags/list', params);
};
// 媒体账号标签-添加
export const postAccountTags = (params = {}) => {
return Http.post('/v1/media-account-tags', params);
};
// 媒体账号标签-修改
export const putTag = (params = {}) => {
const { id, ...rest } = params as { id: string; [key: string]: any };
return Http.put(`/v1/media-account-tags/${id}`, rest);
};
// 媒体账号标签-删除
export const deleteTag = (id: string) => {
return Http.delete(`/v1/media-account-tags/${id}`);
};
// 媒体账号-批量删除
export const batchDeleteMediaAccounts = (params = {}) => {
return Http.delete(`/v1/media-accounts/batch`, params);
};

View File

@ -8,21 +8,20 @@
import axios from 'axios';
import type { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
import { handleUserLogout } from '@/utils/user';
import { handleUserLogout, goUserLogin } from '@/utils/user';
import { useEnterpriseStore } from '@/stores/modules/enterprise';
import pinia from '@/stores';
const contentType = 'application/json';
const requestTimeout = 30000;
const HttpStatusCode = {
OK: 200,
BadRequest: 400, // 请求参数错误
Unauthorized: 401, // token 无效或过期
NotFound: 404,
InternalServerError: 500,
};
import { useEnterpriseStore } from '@/stores/modules/enterprise';
import pinia from '@/stores';
enum HttpStatusCode {
OK = 200,
BadRequest = 400, // 请求参数错误
Unauthorized = 401, // token 无效或过期
NotFound = 404,
InternalServerError = 500,
}
//* 导出Request类可以用来自定义传递配置来创建实例
export class Request {
@ -70,9 +69,15 @@ export class Request {
}
},
(err: any) => {
const message = err.response?.data?.message ?? err.message;
AMessage.error(message);
// 这里用来处理http常见错误进行全局提示
const { message, code } = err.response?.data ?? {};
AMessage.error(message ?? err.message);
switch (code) {
case HttpStatusCode.Unauthorized:
goUserLogin();
break;
}
return Promise.reject(err.response);
},
);