feat(core): 初始化项目基础架构和CMS功能模块
- 添加Docker相关配置文件(.dockerignore, .env.example, .gitignore) - 实现服务端API代理功能,支持文件、模块和服务器API转发 - 创建文章详情页、栏目文章列表页和单页内容展示页面 - 集成Ant Design Vue组件库并实现SSR样式提取功能 - 定义API响应数据结构类型和应用布局组件 - 开发开发者应用中心和文章管理页面 - 实现CMS导航菜单获取和多租户切换功能
This commit is contained in:
157
app/api/system/chat/index.ts
Normal file
157
app/api/system/chat/index.ts
Normal file
@@ -0,0 +1,157 @@
|
||||
import request from '@/utils/request';
|
||||
import type { ApiResult, PageResult } from '@/api';
|
||||
import type {
|
||||
ChatConversation,
|
||||
ChatConversationParam,
|
||||
ChatMessage,
|
||||
ChatMessageParam
|
||||
} from '@/api/system/chat/model';
|
||||
import { SERVER_API_URL } from '@/config/setting';
|
||||
|
||||
/**
|
||||
* 查询聊天列表
|
||||
*/
|
||||
export async function pageChatConversation(params: ChatConversationParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ChatConversation>>>(
|
||||
SERVER_API_URL + '/system/chat-conversation/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询聊天列表
|
||||
*/
|
||||
export async function pageChatMessage(params: ChatMessageParam) {
|
||||
const res = await request.get<ApiResult<PageResult<ChatMessage>>>(
|
||||
SERVER_API_URL + '/system/chat-message/page',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
/**
|
||||
* 查询日志列表
|
||||
*/
|
||||
export async function listChatConversation(params?: ChatConversationParam) {
|
||||
const res = await request.get<ApiResult<ChatConversation[]>>(
|
||||
SERVER_API_URL + '/system/chat-conversation',
|
||||
{
|
||||
params
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0 && res.data.data) {
|
||||
return res.data.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加日志
|
||||
*/
|
||||
export async function addChatMessage(data: ChatMessage) {
|
||||
const res = await request.post<ApiResult<ChatConversation>>(
|
||||
SERVER_API_URL + '/system/chat-message',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加日志
|
||||
*/
|
||||
export async function addChatConversation(data: ChatConversation) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
SERVER_API_URL + '/system/chat-conversation',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改日志
|
||||
*/
|
||||
export async function updateChatConversation(data: any) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
SERVER_API_URL + '/system/chat-conversation',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定日志
|
||||
*/
|
||||
export async function bindChatConversation(data: ChatConversation) {
|
||||
const res = await request.put<ApiResult<unknown>>(
|
||||
SERVER_API_URL + '/system/chat-conversation/bind',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量添加
|
||||
*/
|
||||
export async function addBatchChatConversation(data: ChatConversation[]) {
|
||||
const res = await request.post<ApiResult<unknown>>(
|
||||
SERVER_API_URL + '/system/chat-conversation/batch',
|
||||
data
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除日志
|
||||
*/
|
||||
export async function removeChatConversation(id?: number) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
SERVER_API_URL + '/system/chat-conversation/' + id
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除日志
|
||||
*/
|
||||
export async function removeBatchChatConversation(
|
||||
data: (number | undefined)[]
|
||||
) {
|
||||
const res = await request.delete<ApiResult<unknown>>(
|
||||
SERVER_API_URL + '/system/chat-conversation/batch',
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
if (res.data.code === 0) {
|
||||
return res.data.message;
|
||||
}
|
||||
return Promise.reject(new Error(res.data.message));
|
||||
}
|
||||
49
app/api/system/chat/model/index.ts
Normal file
49
app/api/system/chat/model/index.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
import type { PageParam } from '@/api';
|
||||
import type { User } from '@/api/system/user/model';
|
||||
|
||||
export interface ChatConversation {
|
||||
id?: number;
|
||||
userId?: number;
|
||||
friendId?: number;
|
||||
userInfo?: User;
|
||||
friendInfo?: User;
|
||||
content: string;
|
||||
messages: ChatMessage[];
|
||||
unRead: number;
|
||||
createTime?: string;
|
||||
updateTime: string | number | Date;
|
||||
}
|
||||
|
||||
export interface ChatMessage {
|
||||
id?: number;
|
||||
formUserId?: number;
|
||||
formUserInfo?: User;
|
||||
toUserInfo?: User;
|
||||
toUserId?: number;
|
||||
type: string;
|
||||
content: string;
|
||||
status?: number;
|
||||
createTime?: number;
|
||||
updateTime?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 搜索条件
|
||||
*/
|
||||
export interface ChatConversationParam extends PageParam {
|
||||
userId?: number;
|
||||
status: number;
|
||||
onlyFake: boolean;
|
||||
keywords: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 搜索条件
|
||||
*/
|
||||
export interface ChatMessageParam extends PageParam {
|
||||
formUserId?: number;
|
||||
toUserId?: number;
|
||||
type?: string;
|
||||
status?: number;
|
||||
keywords: string;
|
||||
}
|
||||
Reference in New Issue
Block a user