Files
CKB-Touchkebao/TouchVueThree/src/api/modules/content.ts

220 lines
4.6 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 内容管理相关 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')
}