220 lines
4.6 KiB
TypeScript
220 lines
4.6 KiB
TypeScript
/**
|
||
* 内容管理相关 API(素材、违禁词、关键词回复)
|
||
*/
|
||
|
||
import request from '../request'
|
||
|
||
// ==================== 素材管理 ====================
|
||
|
||
export interface MaterialListParams {
|
||
keyword?: string
|
||
limit?: string
|
||
page?: string
|
||
}
|
||
|
||
export interface ContentItem {
|
||
type: 'text' | 'image' | 'video' | 'file' | 'audio' | 'link'
|
||
data: string | LinkData
|
||
}
|
||
|
||
export interface LinkData {
|
||
title: string
|
||
url: string
|
||
cover: string
|
||
}
|
||
|
||
export interface MaterialAddRequest {
|
||
title: string
|
||
cover?: string
|
||
status: number
|
||
content: ContentItem[]
|
||
}
|
||
|
||
export interface MaterialUpdateRequest extends MaterialAddRequest {
|
||
id?: string
|
||
}
|
||
|
||
export interface MaterialSetStatusRequest {
|
||
id: string
|
||
}
|
||
|
||
/**
|
||
* 获取素材列表
|
||
*/
|
||
export function getMaterialList(params: MaterialListParams) {
|
||
return request('/v1/kefu/content/material/list', params, 'GET')
|
||
}
|
||
|
||
/**
|
||
* 添加素材
|
||
*/
|
||
export function addMaterial(data: MaterialAddRequest) {
|
||
return request('/v1/kefu/content/material/add', data, 'POST')
|
||
}
|
||
|
||
/**
|
||
* 获取素材详情
|
||
*/
|
||
export function getMaterialDetails(id: string) {
|
||
return request('/v1/kefu/content/material/details', { id }, 'GET')
|
||
}
|
||
|
||
/**
|
||
* 删除素材
|
||
*/
|
||
export function deleteMaterial(id: string) {
|
||
return request('/v1/kefu/content/material/del', { id }, 'DELETE')
|
||
}
|
||
|
||
/**
|
||
* 更新素材
|
||
*/
|
||
export function updateMaterial(data: MaterialUpdateRequest) {
|
||
return request('/v1/kefu/content/material/update', data, 'POST')
|
||
}
|
||
|
||
/**
|
||
* 修改素材状态
|
||
*/
|
||
export function setMaterialStatus(data: MaterialSetStatusRequest) {
|
||
return request('/v1/kefu/content/material/setStatus', data, 'POST')
|
||
}
|
||
|
||
// ==================== 违禁词管理 ====================
|
||
|
||
export interface SensitiveWordListParams {
|
||
keyword?: string
|
||
limit?: string
|
||
page?: string
|
||
}
|
||
|
||
export interface SensitiveWordAddRequest {
|
||
content: string
|
||
keywords: string
|
||
/**
|
||
* 操作 0不操作 1替换 2删除 3警告 4禁止发送
|
||
*/
|
||
operation: string
|
||
status: string
|
||
title: string
|
||
}
|
||
|
||
export interface SensitiveWordUpdateRequest extends SensitiveWordAddRequest {
|
||
id?: string
|
||
}
|
||
|
||
export interface SensitiveWordSetStatusRequest {
|
||
id: string
|
||
}
|
||
|
||
/**
|
||
* 获取违禁词列表
|
||
*/
|
||
export function getSensitiveWordList(params: SensitiveWordListParams) {
|
||
return request('/v1/kefu/content/sensitiveWord/list', params, 'GET')
|
||
}
|
||
|
||
/**
|
||
* 添加违禁词
|
||
*/
|
||
export function addSensitiveWord(data: SensitiveWordAddRequest) {
|
||
return request('/v1/kefu/content/sensitiveWord/add', data, 'POST')
|
||
}
|
||
|
||
/**
|
||
* 获取违禁词详情
|
||
*/
|
||
export function getSensitiveWordDetails(id: string) {
|
||
return request('/v1/kefu/content/sensitiveWord/details', { id }, 'GET')
|
||
}
|
||
|
||
/**
|
||
* 删除违禁词
|
||
*/
|
||
export function deleteSensitiveWord(id: string) {
|
||
return request('/v1/kefu/content/sensitiveWord/del', { id }, 'DELETE')
|
||
}
|
||
|
||
/**
|
||
* 更新违禁词
|
||
*/
|
||
export function updateSensitiveWord(data: SensitiveWordUpdateRequest) {
|
||
return request('/v1/kefu/content/sensitiveWord/update', data, 'POST')
|
||
}
|
||
|
||
/**
|
||
* 修改违禁词状态
|
||
*/
|
||
export function setSensitiveWordStatus(data: SensitiveWordSetStatusRequest) {
|
||
return request('/v1/kefu/content/sensitiveWord/setStatus', data, 'GET')
|
||
}
|
||
|
||
// ==================== 关键词回复管理 ====================
|
||
|
||
export interface KeywordListParams {
|
||
keyword?: string
|
||
limit?: string
|
||
page?: string
|
||
}
|
||
|
||
export interface KeywordAddRequest {
|
||
title: string
|
||
keywords: string
|
||
content: string
|
||
type: number // 匹配类型:模糊匹配、精确匹配
|
||
level: number // 优先级
|
||
replyType: number // 回复类型:文本回复、模板回复
|
||
status: string
|
||
metailGroups: any[]
|
||
}
|
||
|
||
export interface KeywordUpdateRequest extends KeywordAddRequest {
|
||
id?: number
|
||
}
|
||
|
||
export interface KeywordSetStatusRequest {
|
||
id: number
|
||
}
|
||
|
||
/**
|
||
* 获取关键词回复列表
|
||
*/
|
||
export function getKeywordList(params: KeywordListParams) {
|
||
return request('/v1/kefu/content/keywords/list', params, 'GET')
|
||
}
|
||
|
||
/**
|
||
* 添加关键词回复
|
||
*/
|
||
export function addKeyword(data: KeywordAddRequest) {
|
||
return request('/v1/kefu/content/keywords/add', data, 'POST')
|
||
}
|
||
|
||
/**
|
||
* 获取关键词回复详情
|
||
*/
|
||
export function getKeywordDetails(id: number) {
|
||
return request('/v1/kefu/content/keywords/details', { id }, 'GET')
|
||
}
|
||
|
||
/**
|
||
* 删除关键词回复
|
||
*/
|
||
export function deleteKeyword(id: number) {
|
||
return request('/v1/kefu/content/keywords/del', { id }, 'DELETE')
|
||
}
|
||
|
||
/**
|
||
* 更新关键词回复
|
||
*/
|
||
export function updateKeyword(data: KeywordUpdateRequest) {
|
||
return request('/v1/kefu/content/keywords/update', data, 'POST')
|
||
}
|
||
|
||
/**
|
||
* 修改关键词回复状态
|
||
*/
|
||
export function setKeywordStatus(data: KeywordSetStatusRequest) {
|
||
return request('/v1/kefu/content/keywords/setStatus', data, 'POST')
|
||
}
|