feat(shop): 新增聊天会话与消息模块API新增了聊天会话(ShopChatConversation)和聊天消息(ShopChatMessage)两个模块的完整API接口及数据模型,包括分页查询、列表查询、新增、修改、删除、批量删除及根据ID查询等功能。feat(system): 扩展用户模型并重构API调用方式

为用户模型添加推荐人ID字段(refereeId),并在用户相关API中引入SERVER_API_URL常量以统一管理接口前缀,优化调用结构。

feat(dealer): 优化经销商邀请注册流程将经销商申请页面调整为邀请注册模式,增强微信手机号获取、头像上传及昵称校验逻辑,完善邀请关系绑定机制,并更新页面标题提示信息。
```
This commit is contained in:
2025-09-22 23:58:54 +08:00
parent 656d9e649e
commit 13b56cd7f8
21 changed files with 1632 additions and 251 deletions

View File

@@ -0,0 +1,101 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { ShopChatConversation, ShopChatConversationParam } from './model';
/**
* 分页查询聊天会话表
*/
export async function pageShopChatConversation(params: ShopChatConversationParam) {
const res = await request.get<ApiResult<PageResult<ShopChatConversation>>>(
'/shop/shop-chat-conversation/page',
params
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询聊天会话表列表
*/
export async function listShopChatConversation(params?: ShopChatConversationParam) {
const res = await request.get<ApiResult<ShopChatConversation[]>>(
'/shop/shop-chat-conversation',
params
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加聊天会话表
*/
export async function addShopChatConversation(data: ShopChatConversation) {
const res = await request.post<ApiResult<unknown>>(
'/shop/shop-chat-conversation',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改聊天会话表
*/
export async function updateShopChatConversation(data: ShopChatConversation) {
const res = await request.put<ApiResult<unknown>>(
'/shop/shop-chat-conversation',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除聊天会话表
*/
export async function removeShopChatConversation(id?: number) {
const res = await request.del<ApiResult<unknown>>(
'/shop/shop-chat-conversation/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除聊天会话表
*/
export async function removeShopBatchChatConversation(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
'/shop/shop-chat-conversation/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询聊天会话表
*/
export async function getShopChatConversation(id: number) {
const res = await request.get<ApiResult<ShopChatConversation>>(
'/shop/shop-chat-conversation/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,37 @@
import type { PageParam } from '@/api';
/**
* 聊天消息表
*/
export interface ShopChatConversation {
// 自增ID
id?: number;
// 用户ID
userId?: number;
// 好友ID
friendId?: number;
// 消息类型
type?: number;
// 消息内容
content?: string;
// 未读消息
unRead?: number;
// 状态, 0未读, 1已读
status?: number;
// 是否删除, 0否, 1是
deleted?: number;
// 租户id
tenantId?: number;
// 注册时间
createTime?: string;
// 修改时间
updateTime?: string;
}
/**
* 聊天消息表搜索条件
*/
export interface ShopChatConversationParam extends PageParam {
id?: number;
keywords?: string;
}