初始化

This commit is contained in:
2025-01-27 23:24:42 +08:00
parent c8a96306c4
commit 6ae8339299
421 changed files with 35687 additions and 0 deletions

140
api/cms/ad/index.ts Normal file
View File

@@ -0,0 +1,140 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Ad, AdParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询广告位
*/
export async function pageAd(params: AdParam) {
const res = await request.get<ApiResult<PageResult<Ad>>>(
MODULES_API_URL + '/cms/ad/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询广告位列表
*/
export async function listAd(params?: AdParam) {
const res = await request.get<ApiResult<Ad[]>>(MODULES_API_URL + '/cms/ad', {
params
});
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加广告位
*/
export async function addAd(data: Ad) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/ad',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改广告位
*/
export async function updateAd(data: Ad) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/ad',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除广告位
*/
export async function removeAd(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/ad/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除广告位
*/
export async function removeBatchAd(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/ad/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改用户状态
*/
export async function updateAdStatus(adId?: number, status?: number) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/ad/status',
{
adId,
status
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询广告位
*/
export async function getAd(id: number) {
const res = await request.get<ApiResult<Ad>>(
MODULES_API_URL + '/cms/ad/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/ad/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

42
api/cms/ad/model/index.ts Normal file
View File

@@ -0,0 +1,42 @@
import type { PageParam } from '@/api';
/**
* 广告位
*/
export interface Ad {
adId?: number;
name?: string;
adType?: string;
type?: string;
width?: string;
height?: string;
path?: string;
images?: string;
userId?: number;
sortNumber?: number;
comments?: string;
status?: number;
createTime?: string;
updateTime?: string;
}
/**
* 图片列表
*/
export interface AdItem {
uid?: number;
url?: string;
path?: string;
status?: string;
}
/**
* 广告位搜索条件
*/
export interface AdParam extends PageParam {
adId?: string;
name?: number;
type?: number;
adType?: string;
userId?: number;
}

143
api/cms/article/index.ts Normal file
View File

@@ -0,0 +1,143 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Article, ArticleParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询文章
*/
export async function pageArticle(params: ArticleParam) {
const res = await request.get<ApiResult<PageResult<Article>>>(
MODULES_API_URL + '/cms/article/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询文章列表
*/
export async function listArticle(params?: ArticleParam) {
const res = await request.get<ApiResult<Article[]>>(
MODULES_API_URL + '/cms/article',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加文章
*/
export async function addArticle(data: Article) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/article',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改文章
*/
export async function updateArticle(data: Article) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/article',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除文章
*/
export async function removeArticle(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/article/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除文章
*/
export async function removeBatchArticle(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/article/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改用户状态
*/
export async function updateArticleStatus(articleId?: number, status?: number) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/article/status',
{
articleId,
status
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询文章
*/
export async function getArticle(id: number) {
const res = await request.get<ApiResult<Article>>(
MODULES_API_URL + '/cms/article/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/article/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,98 @@
import type { PageParam } from '@/api';
/**
* 文章
*/
export interface Article {
// 文章id
articleId?: number;
// 文章标题
title?: string;
// 分类类型
type?: number;
// 展现方式
showType?: any;
// 文章类型
categoryId?: number;
// 文章分类
categoryName?: string;
// 父级分类
parentId?: number;
// 父级分类名称
parentName?: string;
// 父级分类路径
parentPath?: string;
// 封面图
image?: string;
// 附件
files?: string;
// 附件
fileList?: string[];
// 缩列图
thumbnail?: string;
// 视频地址
video?: string;
// 上传的文件类型
accept?: string;
// 来源
source?: string;
// 文章内容
content?: string;
// 虚拟阅读量
virtualViews?: number;
// 实际阅读量
actualViews?: number;
// 浏览权限
permission?: number;
// 访问密码
password?: string;
// 访问密码(客户端传)
password2?: string;
// 用户ID
userId?: number;
// 用户昵称
nickname?: string;
// 账号
username?: string;
// 用户头像
avatar?: string;
// 作者
author?: string;
// 所属门店ID
shopId?: number;
//
likes?: number;
// 排序
sortNumber?: any;
// 备注
comments?: any;
// 状态
status?: number;
// 创建时间
createTime?: string;
// 更新时间
updateTime?: string;
// 租户ID
tenantId?: number;
// 租户名称
tenantName?: string;
// 租户logo
logo?: string;
}
/**
* 文章搜索条件
*/
export interface ArticleParam extends PageParam {
title?: string;
articleId?: number;
categoryId?: number;
status?: string;
sortNumber?: string;
createTime?: string;
username?: string;
nickname?: string;
userId?: number;
// 商户编号
merchantCode?: string;
}

126
api/cms/category/index.ts Normal file
View File

@@ -0,0 +1,126 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { ArticleCategory, ArticleCategoryParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询文章分类
*/
export async function pageArticleCategory(params: ArticleCategoryParam) {
const res = await request.get<ApiResult<PageResult<ArticleCategory>>>(
MODULES_API_URL + '/cms/article-category/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询文章分类列表
*/
export async function listArticleCategory(params?: ArticleCategoryParam) {
const res = await request.get<ApiResult<ArticleCategory[]>>(
MODULES_API_URL + '/cms/article-category',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询文章分类
*/
export async function getArticleCategory(id: number) {
const res = await request.get<ApiResult<ArticleCategory>>(
MODULES_API_URL + '/cms/article-category/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加文章分类
*/
export async function addArticleCategory(data: ArticleCategory) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/article-category',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改文章分类
*/
export async function updateArticleCategory(data: ArticleCategory) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/article-category',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除文章分类
*/
export async function removeArticleCategory(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/article-category/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除文章分类
*/
export async function removeBatchArticleCategory(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/article-category/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/article-category/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,82 @@
import type { PageParam } from '@/api';
/**
* 文章分类
*/
export interface ArticleCategory {
// 文章分类id
categoryId?: number;
// 文章分类名称
categoryName?: string;
// 分类类型 0列表 1页面 2链接
type?: number;
// 文章分类
title?: string;
// 文章分类图片
image?: string;
// 路由/链接
path?: string;
// 组件路径
component?: string;
// 页面ID
pageId?: number;
// 页面名称
pageName?: string;
// 上级分类
parentId?: number;
// 上级分类名称
parentName?: string;
// 封面图
avatar?: string;
// 用户ID
userId?: string;
// 所属门店ID
shopId?: string;
// 排序
sortNumber?: number;
// 备注
comments?: string;
// 状态
status?: number;
// 是否显示在首页
showIndex?: number;
// 是否推荐
recommend?: number;
// 创建时间
createTime?: string;
// 更新时间
updateTime?: string;
key?: number;
value?: number;
// 子菜单
children?: ArticleCategory[];
tempPath?: string;
disabled?: boolean;
tenantId?: number;
}
/**
* 整理分类用于网站导航栏
*/
export interface ArrangeCategory {
categoryId?: number;
type?: number;
title?: string;
parentId?: number;
avatar?: string;
path?: string;
component?: string;
pageId?: number;
sortNumber?: number;
comments?: string;
status?: number;
children?: ArrangeCategory[];
}
/**
* 文章分类搜索条件
*/
export interface ArticleCategoryParam extends PageParam {
title?: string;
categoryId?: number;
}

View File

@@ -0,0 +1,106 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { CmsArticleComment, CmsArticleCommentParam } from './model';
import { MODULES_API_URL } from '@/config/index';
/**
* 分页查询文章评论表
*/
export async function pageCmsArticleComment(params: CmsArticleCommentParam) {
const res = await request.get<ApiResult<PageResult<CmsArticleComment>>>(
MODULES_API_URL + '/cms/cms-article-comment/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询文章评论表列表
*/
export async function listCmsArticleComment(params?: CmsArticleCommentParam) {
const res = await request.get<ApiResult<CmsArticleComment[]>>(
MODULES_API_URL + '/cms/cms-article-comment',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加文章评论表
*/
export async function addCmsArticleComment(data: CmsArticleComment) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-article-comment',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改文章评论表
*/
export async function updateCmsArticleComment(data: CmsArticleComment) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-article-comment',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除文章评论表
*/
export async function removeCmsArticleComment(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-article-comment/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除文章评论表
*/
export async function removeBatchCmsArticleComment(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-article-comment/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询文章评论表
*/
export async function getCmsArticleComment(id: number) {
const res = await request.get<ApiResult<CmsArticleComment>>(
MODULES_API_URL + '/cms/cms-article-comment/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,47 @@
import type { PageParam } from '@/api';
/**
* 文章评论表
*/
export interface CmsArticleComment {
// 评价ID
commentId?: number;
// 文章ID
articleId?: number;
// 评分 (10好评 20中评 30差评)
score?: number;
// 评价内容
content?: string;
// 是否为图片评价
isPicture?: number;
// 评论者ID
userId?: number;
// 被评价者ID
toUserId?: number;
// 回复的评论ID
replyCommentId?: number;
// 回复者ID
replyUserId?: number;
// 排序(数字越小越靠前)
sortNumber?: number;
// 备注
comments?: string;
// 状态, 0未读, 1已读
status?: number;
// 是否删除, 0否, 1是
deleted?: number;
// 租户id
tenantId?: number;
// 创建时间
createTime?: string;
// 修改时间
updateTime?: string;
}
/**
* 文章评论表搜索条件
*/
export interface CmsArticleCommentParam extends PageParam {
commentId?: number;
keywords?: string;
}

117
api/cms/cmsProduct/index.ts Normal file
View File

@@ -0,0 +1,117 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { CmsProduct, CmsProductParam } from './model';
import { SERVER_API_URL } from '~/config';
import type { ArticleParam } from "@/api/cms/article/model";
/**
* 分页查询产品
*/
export async function pageCmsProduct(params: CmsProductParam) {
const res = await request.get<ApiResult<PageResult<CmsProduct>>>(
SERVER_API_URL + '/cms/cms-product/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询产品列表
*/
export async function listCmsProduct(params?: CmsProductParam) {
const res = await request.get<ApiResult<CmsProduct[]>>(
SERVER_API_URL + '/cms/cms-product',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加产品
*/
export async function addCmsProduct(data: CmsProduct) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/cms/cms-product',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改产品
*/
export async function updateCmsProduct(data: CmsProduct) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/cms/cms-product',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除产品
*/
export async function removeCmsProduct(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
SERVER_API_URL + '/cms/cms-product/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除产品
*/
export async function removeBatchCmsProduct(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
SERVER_API_URL + '/cms/cms-product/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询产品
*/
export async function getCmsProduct(id: number) {
const res = await request.get<ApiResult<CmsProduct>>(
SERVER_API_URL + '/cms/cms-product/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
export async function getCount(params: ArticleParam) {
const res = await request.get(SERVER_API_URL + '/cms/cms-product/data', {
params
});
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,105 @@
import type {PageParam} from '@/api';
import type {CmsProductParameter} from "~/api/cms/cmsProductParameter/model";
import type {CmsProductUrl} from "~/api/cms/cmsProductUrl/model";
/**
* 产品
*/
export interface CmsProduct {
// 自增ID
productId?: number;
// 类型 0软件产品 1实物商品 2虚拟商品
type?: number;
// 产品编码
code?: string;
// 产品标题
title?: string;
// 封面图
image?: string;
// 产品详情
content?: string;
// 父级分类ID
parentId?: number;
// 产品分类ID
categoryId?: number;
// 产品规格 0单规格 1多规格
specs?: number;
// 货架
position?: string;
// 单位名称 (个)
unitName?: string;
// 进货价格
price?: number;
// 销售价格
salePrice?: number;
// 库存计算方式(10下单减库存 20付款减库存)
deductStockType?: number;
// 轮播图
files?: any;
// 销量
sales?: number;
// 库存
stock?: number;
// 安装次数
install?: number;
// 消费赚取积分
gainIntegral?: string;
// 计费方式
durationMethod?: number;
// 推荐
recommend?: number;
// 商户ID
merchantId?: number;
merchantName: undefined,
merchantAvatar: undefined,
merchantComments: undefined,
// 状态0未上架1上架
isShow?: string;
// 状态, 0上架 1待上架 2待审核 3审核不通过
status?: number;
// 备注
comments?: string;
// 排序号
sortNumber?: number;
// 用户ID
userId?: number;
// 是否删除, 0否, 1是
deleted?: number;
// 租户id
tenantId?: number;
// 创建时间
createTime?: string;
// 修改时间
updateTime?: string;
// 父级分类名称
parentName?: string;
// 父级分类路径
parentPath?: string;
// 分类名称
categoryName?: string;
// 评分
rate?: string;
// 是否已购买
isBuy?: boolean;
// 是否已安装插件
installed?: boolean;
// 产品参数
parameters?: CmsProductParameter[];
// 产品链接
links?: CmsProductUrl[];
// 插件入口
path?: string;
// 标签
tag?: string;
// 菜单ID
menuId?: number;
}
/**
* 产品搜索条件
*/
export interface CmsProductParam extends PageParam {
productId?: number;
status?: number;
keywords?: string;
}

View File

@@ -0,0 +1,106 @@
import request from '@/utils/request';
import type {ApiResult, PageResult} from '@/api';
import type {CmsProductComment, CmsProductCommentParam} from './model';
import {SERVER_API_URL} from '@/config/index';
/**
* 分页查询产品评论
*/
export async function pageCmsProductComment(params: CmsProductCommentParam) {
const res = await request.get<ApiResult<PageResult<CmsProductComment>>>(
SERVER_API_URL + '/cms/cms-product-comment/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询产品评论列表
*/
export async function listCmsProductComment(params?: CmsProductCommentParam) {
const res = await request.get<ApiResult<CmsProductComment[]>>(
SERVER_API_URL + '/cms/cms-product-comment',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加产品评论
*/
export async function addCmsProductComment(data: CmsProductComment) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/cms/cms-product-comment',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改产品评论
*/
export async function updateCmsProductComment(data: CmsProductComment) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/cms/cms-product-comment',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除产品评论
*/
export async function removeCmsProductComment(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
SERVER_API_URL + '/cms/cms-product-comment/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除产品评论
*/
export async function removeBatchCmsProductComment(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
SERVER_API_URL + '/cms/cms-product-comment/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询产品评论
*/
export async function getCmsProductComment(id: number) {
const res = await request.get<ApiResult<CmsProductComment>>(
SERVER_API_URL + '/cms/cms-product-comment/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,41 @@
import type { PageParam } from '@/api';
/**
* 产品评论
*/
export interface CmsProductComment {
// ID
id?: number;
// 产品ID
productId?: number;
// 用户ID
userId?: number;
// 用户头像
avatar?: string;
// 用户昵称
nickname?: string;
image?: string;
// 排序(数字越小越靠前)
sortNumber?: number;
// 评论内容
comments?: string;
// 评分
rate?: number;
// 状态
status?: number;
// 租户id
tenantId?: number;
// 创建时间
createTime?: string;
// 子列表
children?: CmsProductComment[];
}
/**
* 产品评论搜索条件
*/
export interface CmsProductCommentParam extends PageParam {
id?: number;
userId?: number;
keywords?: string;
}

View File

@@ -0,0 +1,106 @@
import request from '@/utils/request';
import type {ApiResult, PageResult} from '@/api';
import type {CmsProductParameter, CmsProductParameterParam} from './model';
import {SERVER_API_URL} from '@/config';
/**
* 分页查询产品参数
*/
export async function pageCmsProductParameter(params: CmsProductParameterParam) {
const res = await request.get<ApiResult<PageResult<CmsProductParameter>>>(
SERVER_API_URL + '/cms/cms-product-parameter/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询产品参数列表
*/
export async function listCmsProductParameter(params?: CmsProductParameterParam) {
const res = await request.get<ApiResult<CmsProductParameter[]>>(
SERVER_API_URL + '/cms/cms-product-parameter',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加产品参数
*/
export async function addCmsProductParameter(data: CmsProductParameter) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/cms/cms-product-parameter',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改产品参数
*/
export async function updateCmsProductParameter(data: CmsProductParameter) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/cms/cms-product-parameter',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除产品参数
*/
export async function removeCmsProductParameter(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
SERVER_API_URL + '/cms/cms-product-parameter/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除产品参数
*/
export async function removeBatchCmsProductParameter(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
SERVER_API_URL + '/cms/cms-product-parameter/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询产品参数
*/
export async function getCmsProductParameter(id: number) {
const res = await request.get<ApiResult<CmsProductParameter>>(
SERVER_API_URL + '/cms/cms-product-parameter/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,33 @@
import type { PageParam } from '@/api';
/**
* 产品参数
*/
export interface CmsProductParameter {
// 自增ID
id?: number;
// 产品ID
productId?: number;
// 参数名称
name?: string;
// 参数内容
value?: string;
// 备注
comments?: string;
// 排序(数字越小越靠前)
sortNumber?: number;
// 状态, 0正常, 1待确认
status?: number;
// 创建时间
createTime?: string;
// 租户id
tenantId?: number;
}
/**
* 产品参数搜索条件
*/
export interface CmsProductParameterParam extends PageParam {
id?: number;
keywords?: string;
}

View File

@@ -0,0 +1,106 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { CmsProductSpec, CmsProductSpecParam } from './model';
import { MODULES_API_URL } from '@/config';
/**
* 分页查询规格
*/
export async function pageCmsProductSpec(params: CmsProductSpecParam) {
const res = await request.get<ApiResult<PageResult<CmsProductSpec>>>(
MODULES_API_URL + '/cms/cms-product-spec/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询规格列表
*/
export async function listCmsProductSpec(params?: CmsProductSpecParam) {
const res = await request.get<ApiResult<CmsProductSpec[]>>(
MODULES_API_URL + '/cms/cms-product-spec',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加规格
*/
export async function addCmsProductSpec(data: CmsProductSpec) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-product-spec',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改规格
*/
export async function updateCmsProductSpec(data: CmsProductSpec) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-product-spec',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除规格
*/
export async function removeCmsProductSpec(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-product-spec/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除规格
*/
export async function removeBatchCmsProductSpec(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-product-spec/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询规格
*/
export async function getCmsProductSpec(id: number) {
const res = await request.get<ApiResult<CmsProductSpec>>(
MODULES_API_URL + '/cms/cms-product-spec/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,35 @@
import type { PageParam } from '@/api';
/**
* 规格
*/
export interface CmsProductSpec {
// 规格ID
specId?: number;
// 规格名称
specName?: string;
// 规格值
specValue?: string;
// 创建用户
userId?: number;
// 更新者
updater?: number;
// 备注
comments?: string;
// 状态, 0正常, 1待修,2异常已修3异常未修
status?: number;
// 排序号
sortNumber?: number;
// 租户id
tenantId?: number;
// 创建时间
createTime?: string;
}
/**
* 规格搜索条件
*/
export interface CmsProductSpecParam extends PageParam {
specId?: number;
keywords?: string;
}

View File

@@ -0,0 +1,106 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { CmsProductSpecValue, CmsProductSpecValueParam } from './model';
import { MODULES_API_URL } from '@/config';
/**
* 分页查询规格值
*/
export async function pageCmsProductSpecValue(params: CmsProductSpecValueParam) {
const res = await request.get<ApiResult<PageResult<CmsProductSpecValue>>>(
MODULES_API_URL + '/cms/cms-product-spec-value/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询规格值列表
*/
export async function listCmsProductSpecValue(params?: CmsProductSpecValueParam) {
const res = await request.get<ApiResult<CmsProductSpecValue[]>>(
MODULES_API_URL + '/cms/cms-product-spec-value',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加规格值
*/
export async function addCmsProductSpecValue(data: CmsProductSpecValue) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-product-spec-value',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改规格值
*/
export async function updateCmsProductSpecValue(data: CmsProductSpecValue) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-product-spec-value',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除规格值
*/
export async function removeCmsProductSpecValue(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-product-spec-value/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除规格值
*/
export async function removeBatchCmsProductSpecValue(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-product-spec-value/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询规格值
*/
export async function getCmsProductSpecValue(id: number) {
const res = await request.get<ApiResult<CmsProductSpecValue>>(
MODULES_API_URL + '/cms/cms-product-spec-value/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,29 @@
import type { PageParam } from '@/api';
/**
* 规格值
*/
export interface CmsProductSpecValue {
// 规格值ID
specValueId?: number;
// 规格组ID
specId?: number;
// 规格值
specValue?: string;
// 备注
comments?: string;
// 排序号
sortNumber?: number;
// 租户id
tenantId?: number;
// 创建时间
createTime?: string;
}
/**
* 规格值搜索条件
*/
export interface CmsProductSpecValueParam extends PageParam {
specValueId?: number;
keywords?: string;
}

View File

@@ -0,0 +1,106 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { CmsProductUrl, CmsProductUrlParam } from './model';
import { MODULES_API_URL } from '@/config';
/**
* 分页查询域名
*/
export async function pageCmsProductUrl(params: CmsProductUrlParam) {
const res = await request.get<ApiResult<PageResult<CmsProductUrl>>>(
MODULES_API_URL + '/cms/cms-product-url/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询域名列表
*/
export async function listCmsProductUrl(params?: CmsProductUrlParam) {
const res = await request.get<ApiResult<CmsProductUrl[]>>(
MODULES_API_URL + '/cms/cms-product-url',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加域名
*/
export async function addCmsProductUrl(data: CmsProductUrl) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-product-url',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改域名
*/
export async function updateCmsProductUrl(data: CmsProductUrl) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-product-url',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除域名
*/
export async function removeCmsProductUrl(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-product-url/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除域名
*/
export async function removeBatchCmsProductUrl(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-product-url/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询域名
*/
export async function getCmsProductUrl(id: number) {
const res = await request.get<ApiResult<CmsProductUrl>>(
MODULES_API_URL + '/cms/cms-product-url/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,41 @@
import type { PageParam } from '@/api';
/**
* 域名
*/
export interface CmsProductUrl {
// 自增ID
id?: number;
// 产品ID
productId?: number;
// 域名类型
type?: string;
// 域名
domain?: string;
// 二维码
qrcode?: string;
// 账号
account?: string;
// 密码
password?: string;
// 商户ID
merchantId?: number;
// 备注
comments?: string;
// 排序(数字越小越靠前)
sortNumber?: number;
// 状态, 0正常, 1待确认
status?: number;
// 创建时间
createTime?: string;
// 租户id
tenantId?: number;
}
/**
* 域名搜索条件
*/
export interface CmsProductUrlParam extends PageParam {
id?: number;
keywords?: string;
}

143
api/cms/design/index.ts Normal file
View File

@@ -0,0 +1,143 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Design, DesignParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询页面设计
*/
export async function pageDesign(params: DesignParam) {
const res = await request.get<ApiResult<PageResult<Design>>>(
MODULES_API_URL + '/cms/design/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询页面设计列表
*/
export async function listDesign(params?: DesignParam) {
const res = await request.get<ApiResult<Design[]>>(
MODULES_API_URL + '/cms/design',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加页面设计
*/
export async function addDesign(data: Design) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/design',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改页面设计
*/
export async function updateDesign(data: Design) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/design',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除页面设计
*/
export async function removeDesign(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/design/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除页面设计
*/
export async function removeBatchDesign(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/design/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改用户状态
*/
export async function updateDesignStatus(designId?: number, status?: number) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/design/status',
{
designId,
status
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询页面设计
*/
export async function getDesign(id: number) {
const res = await request.get<ApiResult<Design>>(
MODULES_API_URL + '/cms/design/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/design/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,55 @@
import type { PageParam } from '@/api';
/**
* 页面
*/
export interface Design {
pageId?: number;
name?: string;
keywords?: string;
description?: string;
path?: string;
component?: string;
photo?: string;
content?: string;
// 类型
type?: string;
// 宽
width?: string;
// 高
height?: string;
// 页面样式
style?: string;
// 附件
images?: string;
// 用户ID
userId?: number;
// 设为首页
home?: number;
// 排序
sortNumber?: number;
// 备注
comments?: string;
// 状态
status?: number;
// 创建时间
createTime?: string;
// 更新时间
updateTime?: string;
// 页面布局
layout?: string;
backgroundColor?: string;
demoUrl?: string;
buyUrl?: string;
docUrl?: string;
}
/**
* 页面搜索条件
*/
export interface DesignParam extends PageParam {
pageId?: string;
name?: number;
type?: number;
userId?: number;
}

143
api/cms/docs-book/index.ts Normal file
View File

@@ -0,0 +1,143 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { DocsBook, DocsBookParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询书籍
*/
export async function pageDocsBook(params: DocsBookParam) {
const res = await request.get<ApiResult<PageResult<DocsBook>>>(
MODULES_API_URL + '/cms/docs-book/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询书籍列表
*/
export async function listDocsBook(params?: DocsBookParam) {
const res = await request.get<ApiResult<DocsBook[]>>(
MODULES_API_URL + '/cms/docs-book',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加书籍
*/
export async function addDocsBook(data: DocsBook) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs-book',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改书籍
*/
export async function updateDocsBook(data: DocsBook) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs-book',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除书籍
*/
export async function removeDocsBook(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs-book/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除书籍
*/
export async function removeBatchDocsBook(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs-book/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改用户状态
*/
export async function updateDocsBookStatus(docsId?: number, status?: number) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs-book/status',
{
docsId,
status
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询书籍
*/
export async function getDocsBook(id: number) {
const res = await request.get<ApiResult<DocsBook>>(
MODULES_API_URL + '/cms/docs-book/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs-book/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,31 @@
import type { PageParam } from '@/api';
/**
* 书籍内容
*/
export interface DocsBook {
// 自增ID
bookId?: number;
// 名称
name?: string;
// 书籍标识
code?: string;
// 封面图
photo?: string;
// 排序
sortNumber?: number;
// 备注
comments?: string;
// 状态
status?: number;
// 创建时间
createTime?: string;
}
/**
* 书籍搜索条件
*/
export interface DocsBookParam extends PageParam {
bookId?: number;
docsId?: number;
}

View File

@@ -0,0 +1,146 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { DocsContent, DocsContentParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询文档
*/
export async function pageDocsContent(params: DocsContentParam) {
const res = await request.get<ApiResult<PageResult<DocsContent>>>(
MODULES_API_URL + '/cms/docs-content/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询文档列表
*/
export async function listDocsContent(params?: DocsContentParam) {
const res = await request.get<ApiResult<DocsContent[]>>(
MODULES_API_URL + '/cms/docs-content',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加文档
*/
export async function addDocsContent(data: DocsContent) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs-content',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改文档
*/
export async function updateDocsContent(data: DocsContent) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs-content',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除文档
*/
export async function removeDocsContent(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs-content/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除文档
*/
export async function removeBatchDocsContent(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs-content/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改用户状态
*/
export async function updateDocsContentStatus(
docsId?: number,
status?: number
) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs-content/status',
{
docsId,
status
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询文档
*/
export async function getDocsContent(id: number) {
const res = await request.get<ApiResult<DocsContent>>(
MODULES_API_URL + '/cms/docs-content/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs-content/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,36 @@
import type { PageParam } from '@/api';
/**
* 文档内容
*/
export interface DocsContent {
// 自增ID
id?: number;
// 文档内容id
docsId?: number;
// 文档内容
content?: string;
// 排序
sortNumber?: number;
// 备注
comments?: string;
// 状态
status?: number;
// 创建时间
createTime?: string;
// 更新时间
updateTime?: string;
//
key?: number;
//
value?: number;
}
/**
* 文档内容搜索条件
*/
export interface DocsContentParam extends PageParam {
id?: number;
docsId?: number;
content?: string;
}

143
api/cms/docs/index.ts Normal file
View File

@@ -0,0 +1,143 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Docs, DocsParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询文档
*/
export async function pageDocs(params: DocsParam) {
const res = await request.get<ApiResult<PageResult<Docs>>>(
MODULES_API_URL + '/cms/docs/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询文档列表
*/
export async function listDocs(params?: DocsParam) {
const res = await request.get<ApiResult<Docs[]>>(
MODULES_API_URL + '/cms/docs',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加文档
*/
export async function addDocs(data: Docs) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改文档
*/
export async function updateDocs(data: Docs) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除文档
*/
export async function removeDocs(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除文档
*/
export async function removeBatchDocs(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改用户状态
*/
export async function updateDocsStatus(docsId?: number, status?: number) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs/status',
{
docsId,
status
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询文档
*/
export async function getDocs(id: number) {
const res = await request.get<ApiResult<Docs>>(
MODULES_API_URL + '/cms/docs/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/docs/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,64 @@
import type { PageParam } from '@/api';
/**
* 文档
*/
export interface Docs {
// 文档id
docsId?: number;
// 书籍ID
bookId?: number;
// 书籍标识
code?: string;
// 文档标题
title?: string;
// 上级分类
parentId?: number;
// 上级分类名称
parentName?: string;
// 文档内容
content?: string;
// 虚拟阅读量
virtualViews?: string;
// 实际阅读量
actualViews?: string;
// 用户ID
userId?: string;
// 用户昵称
nickname?: string;
// 账号
username?: string;
// 用户头像
userAvatar?: string;
// 所属门店ID
shopId?: string;
// 排序
sortNumber?: number;
// 备注
comments?: string;
// 状态
status?: number;
// 创建时间
createTime?: string;
// 更新时间
updateTime?: string;
key?: number;
value?: number;
isUpdate?: boolean;
}
/**
* 文档搜索条件
*/
export interface DocsParam extends PageParam {
bookId?: number;
code?: string;
title?: string;
docsId?: number;
categoryId?: string;
status?: string;
sortNumber?: string;
createTime?: string;
username?: string;
nickname?: string;
}

153
api/cms/domain/index.ts Normal file
View File

@@ -0,0 +1,153 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Domain, DomainParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询网站域名
*/
export async function pageDomain(params: DomainParam) {
const res = await request.get<ApiResult<PageResult<Domain>>>(
MODULES_API_URL + '/cms/domain/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询网站域名列表
*/
export async function listDomain(params?: DomainParam) {
const res = await request.get<ApiResult<Domain[]>>(
MODULES_API_URL + '/cms/domain',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加网站域名
*/
export async function addDomain(data: Domain) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/domain',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改网站域名
*/
export async function updateDomain(data: Domain) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/domain',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除网站域名
*/
export async function removeDomain(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/domain/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除网站域名
*/
export async function removeBatchDomain(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/domain/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改用户状态
*/
export async function updateDomainStatus(docsId?: number, status?: number) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/domain/status',
{
docsId,
status
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询网站域名
*/
export async function getDomain(id: number) {
const res = await request.get<ApiResult<Domain>>(
MODULES_API_URL + '/cms/domain/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/domain/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
export async function resolvable(id: number) {
const res = await request.get<ApiResult<Domain>>(
MODULES_API_URL + '/cms/domain/resolvable/' + id
);
if (res.data.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,33 @@
import type { PageParam } from '@/api';
/**
* 网站域名
*/
export interface Domain {
// 自增ID
id?: number;
// 域名
domain?: string;
// 主机记录
hostName?: string;
// 主机记录值
hostValue?: string;
// 排序
sortNumber?: number;
// 备注
comments?: string;
// 状态
status?: number;
// 创建时间
createTime?: string;
// 租户ID
tenantId?: number;
}
/**
* 网站域名搜索条件
*/
export interface DomainParam extends PageParam {
id?: number;
domain?: string;
}

View File

@@ -0,0 +1,126 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { FormRecord, FormRecordParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询表单设计
*/
export async function pageFormRecord(params: FormRecordParam) {
const res = await request.get<ApiResult<PageResult<FormRecord>>>(
MODULES_API_URL + '/cms/form-record/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询表单设计列表
*/
export async function listFormRecord(params?: FormRecordParam) {
const res = await request.get<ApiResult<FormRecord[]>>(
MODULES_API_URL + '/cms/form-record',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加表单设计
*/
export async function addFormRecord(data: FormRecord) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/form-record',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改表单设计
*/
export async function updateFormRecord(data: FormRecord) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/form-record',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除表单设计
*/
export async function removeFormRecord(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/form-record/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除表单设计
*/
export async function removeBatchFormRecord(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/form-record/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询表单设计
*/
export async function getFormRecord(id: number) {
const res = await request.get<ApiResult<FormRecord>>(
MODULES_API_URL + '/cms/form-record/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/form-record/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,28 @@
import type { PageParam } from '@/api';
/**
* 表单数据
*/
export interface FormRecord {
formRecordId?: number;
formId?: number;
name?: string;
formData?: string;
formObj?: Object;
userId?: number;
sortNumber?: number;
comments?: string;
status?: number;
createTime?: string;
layout?: string;
}
/**
* 搜索条件
*/
export interface FormRecordParam extends PageParam {
formRecordId?: string;
formId?: number;
phone?: string;
name?: number;
}

143
api/cms/form/index.ts Normal file
View File

@@ -0,0 +1,143 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Form, FormParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询表单设计
*/
export async function pageForm(params: FormParam) {
const res = await request.get<ApiResult<PageResult<Form>>>(
MODULES_API_URL + '/cms/form/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询表单设计列表
*/
export async function listForm(params?: FormParam) {
const res = await request.get<ApiResult<Form[]>>(
MODULES_API_URL + '/cms/form',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加表单设计
*/
export async function addForm(data: Form) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/form',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改表单设计
*/
export async function updateForm(data: Form) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/form',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除表单设计
*/
export async function removeForm(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/form/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除表单设计
*/
export async function removeBatchForm(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/form/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改用户状态
*/
export async function updateFormStatus(formId?: number, status?: number) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/form/status',
{
formId,
status
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询表单设计
*/
export async function getForm(id: number) {
const res = await request.get<ApiResult<Form>>(
MODULES_API_URL + '/cms/form/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/form/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,33 @@
import type { PageParam } from '@/api';
/**
* 表单设计
*/
export interface Form {
formId?: number;
name?: string;
photo?: string;
background?: string;
video?: string;
submitNumber?: number;
layout?: string;
userId?: number;
sortNumber?: number;
comments?: string;
status?: number;
createTime?: string;
hidePhoto?: any;
hideBackground?: number;
hideVideo?: number;
opacity?: number;
data?: any[];
clearCache?: number;
}
/**
* 搜索条件
*/
export interface FormParam extends PageParam {
formId?: number;
name?: number;
}

113
api/cms/link/index.ts Normal file
View File

@@ -0,0 +1,113 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Link, LinkParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询链接
*/
export async function pageLink(params: LinkParam) {
const res = await request.get<ApiResult<PageResult<Link>>>(
MODULES_API_URL + '/oa/link/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询链接列表
*/
export async function listLink(params?: LinkParam) {
const res = await request.get<ApiResult<Link[]>>(
MODULES_API_URL + '/oa/link',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加链接
*/
export async function addLink(data: Link) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/oa/link',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改链接
*/
export async function updateLink(data: Link) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/oa/link',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除链接
*/
export async function removeLink(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/oa/link/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除链接
*/
export async function removeBatchLink(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/oa/link/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/oa/link/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,29 @@
import type { PageParam } from '@/api';
/**
* 链接
*/
export interface Link {
id?: number;
name?: string;
icon?: string;
url?: string;
linkType?: string;
appId?: number;
userId?: number;
comments?: string;
recommend?: number;
sortNumber?: number;
deleted?: number;
status?: number;
createTime?: number;
}
/**
* 链接搜索条件
*/
export interface LinkParam extends PageParam {
id?: number;
linkType?: string;
name?: string;
}

106
api/cms/mp-menu/index.ts Normal file
View File

@@ -0,0 +1,106 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { MpMenu, MpMenuParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询小程序端菜单
*/
export async function pageMpMenu(params: MpMenuParam) {
const res = await request.get<ApiResult<PageResult<MpMenu>>>(
MODULES_API_URL + '/cms/mp-menu/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询小程序端菜单列表
*/
export async function listMpMenu(params?: MpMenuParam) {
const res = await request.get<ApiResult<MpMenu[]>>(
MODULES_API_URL + '/cms/mp-menu',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加小程序端菜单
*/
export async function addMpMenu(data: MpMenu) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-menu',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改小程序端菜单
*/
export async function updateMpMenu(data: MpMenu) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-menu',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除小程序端菜单
*/
export async function removeMpMenu(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-menu/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除小程序端菜单
*/
export async function removeBatchMpMenu(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-menu/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询小程序端菜单
*/
export async function getMpMenu(id: number) {
const res = await request.get<ApiResult<MpMenu>>(
MODULES_API_URL + '/cms/mp-menu/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,85 @@
import type { PageParam } from '@/api';
/**
* 小程序端菜单
*/
export interface MpMenu {
// ID
menuId?: number;
// 上级id, 0是顶级
parentId?: number;
// 菜单名称
title?: string;
// 类型 0自定义 1单页内容2外部链接
type?: number;
// 是否微信小程序菜单
isMpWeixin?: boolean;
// 菜单路由地址
path?: string;
// 菜单组件地址, 目录可为空
component?: string;
// 打开位置
target?: string;
// 菜单图标
icon?: string;
// 图标颜色
color?: string;
// 上传图标
avatar?: string;
// 所在行
rows?: number;
// 是否隐藏, 0否, 1是(仅注册路由不显示在左侧菜单)
hide?: number;
// 位置 0不限 1顶部 2底部
position?: number;
// 菜单侧栏选中的path
active?: string;
// 其它路由元信息
meta?: string;
// 绑定的页面
pageId?: number;
// 绑定的文章分类ID
articleCategoryId?: number;
// 绑定的文章ID
articleId?: number;
// 绑定的表单ID
formId?: number;
// 绑定的书籍标识
bookCode?: string;
// 绑定的商品分类ID
goodsCategoryId?: number;
// 绑定的商品ID
goodsId?: number;
// 用户ID
userId?: number;
// 是否管理人员可见
adminShow?: number;
// 设为首页
home?: number;
// 排序(数字越小越靠前)
sortNumber?: number;
// 备注
comments?: string;
// 状态, 0正常, 1冻结
status?: number;
// 租户id
tenantId?: number;
// 注册时间
createTime?: string;
// 子菜单
children?: MpMenu[];
pageName?: string;
groupName?: string;
}
/**
* 小程序端菜单搜索条件
*/
export interface MpMenuParam extends PageParam {
parentId?: number;
menuId?: number;
pageId?: number;
subpackage?: string;
type?: number;
keywords?: string;
}

103
api/cms/mp/index.ts Normal file
View File

@@ -0,0 +1,103 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Mp, MpParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询小程序信息
*/
export async function pageMp(params: MpParam) {
const res = await request.get<ApiResult<PageResult<Mp>>>(
MODULES_API_URL + '/cms/mp/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询小程序信息列表
*/
export async function listMp(params?: MpParam) {
const res = await request.get<ApiResult<Mp[]>>(MODULES_API_URL + '/cms/mp', {
params
});
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加小程序信息
*/
export async function addMp(data: Mp) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改小程序信息
*/
export async function updateMp(data: Mp) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除小程序信息
*/
export async function removeMp(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除小程序信息
*/
export async function removeBatchMp(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询小程序信息
*/
export async function getMp(id: number) {
const res = await request.get<ApiResult<Mp>>(
MODULES_API_URL + '/cms/mp/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

62
api/cms/mp/model/index.ts Normal file
View File

@@ -0,0 +1,62 @@
import type { PageParam } from '@/api';
/**
* 小程序信息
*/
export interface Mp {
// ID
mpId?: number;
// 小程序ID
appId?: string;
// 小程序密钥
appSecret?: string;
// 是否主账号
type?: number;
// 小程序名称
mpName?: string;
// 小程序简称
shortName?: string;
// 头像
avatar?: string;
// 小程序码
mpQrcode?: string;
// 微信认证
authentication?: number;
// 主体信息
companyName?: string;
// 小程序备案
icpNo?: string;
// 登录邮箱
email?: string;
// 登录密码
password?: string;
// 原始ID
ghId?: string;
// 入口页面
mainPath?: string;
// 过期时间
expirationTime?: string;
// 排序(数字越小越靠前)
sortNumber?: number;
// 介绍
comments?: string;
// 用户ID
userId?: number;
// 状态, 0正常, 1冻结
status?: number;
// 是否删除, 0否, 1是
deleted?: number;
// 租户id
tenantId?: number;
// 注册时间
createTime?: string;
}
/**
* 小程序信息搜索条件
*/
export interface MpParam extends PageParam {
mpId?: number;
type?: number;
keywords?: string;
}

106
api/cms/mpAd/index.ts Normal file
View File

@@ -0,0 +1,106 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { MpAd, MpAdParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询小程序广告位
*/
export async function pageMpAd(params: MpAdParam) {
const res = await request.get<ApiResult<PageResult<MpAd>>>(
MODULES_API_URL + '/cms/mp-ad/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询小程序广告位列表
*/
export async function listMpAd(params?: MpAdParam) {
const res = await request.get<ApiResult<MpAd[]>>(
MODULES_API_URL + '/cms/mp-ad',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加小程序广告位
*/
export async function addMpAd(data: MpAd) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-ad',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改小程序广告位
*/
export async function updateMpAd(data: MpAd) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-ad',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除小程序广告位
*/
export async function removeMpAd(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-ad/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除小程序广告位
*/
export async function removeBatchMpAd(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-ad/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询小程序广告位
*/
export async function getMpAd(id: number) {
const res = await request.get<ApiResult<MpAd>>(
MODULES_API_URL + '/cms/mp-ad/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,47 @@
import type { PageParam } from '@/api';
/**
* 小程序广告位
*/
export interface MpAd {
// ID
adId?: number;
// 页面ID
pageId?: number;
// 页面名称
pageName?: string;
// 广告类型
adType?: string;
// 广告位名称
name?: string;
// 宽
width?: string;
// 高
height?: string;
// 广告图片
images?: string;
// 路由/链接地址
path?: string;
// 用户ID
userId?: number;
// 排序(数字越小越靠前)
sortNumber?: number;
// 备注
comments?: string;
// 状态, 0正常, 1冻结
status?: number;
// 是否删除, 0否, 1是
deleted?: number;
// 租户id
tenantId?: number;
// 注册时间
createTime?: string;
}
/**
* 小程序广告位搜索条件
*/
export interface MpAdParam extends PageParam {
adId?: number;
keywords?: string;
}

132
api/cms/mpField/index.ts Normal file
View File

@@ -0,0 +1,132 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { MpField, MpFieldParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询小程序配置
*/
export async function pageMpField(params: MpFieldParam) {
const res = await request.get<ApiResult<PageResult<MpField>>>(
MODULES_API_URL + '/cms/mp-field/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询小程序配置列表
*/
export async function listMpField(params?: MpFieldParam) {
const res = await request.get<ApiResult<MpField[]>>(
MODULES_API_URL + '/cms/mp-field',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加小程序配置
*/
export async function addMpField(data: MpField) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-field',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改小程序配置
*/
export async function updateMpField(data: MpField) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-field',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除小程序配置
*/
export async function removeMpField(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-field/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除小程序配置
*/
export async function removeBatchMpField(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-field/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询小程序配置
*/
export async function getMpField(id: number) {
const res = await request.get<ApiResult<MpField>>(
MODULES_API_URL + '/cms/mp-field/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 清除缓存
*/
export async function removeMpInfoCache(key?: string) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-field/clearMpInfo/' + key
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 恢复项目参数
*/
export async function undeleteMpField(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-field/undelete/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,37 @@
import type { PageParam } from '@/api';
/**
* 小程序配置
*/
export interface MpField {
// 自增ID
id?: number;
// 类型0文本 1图片 2其他
type?: number;
// 名称
name?: string;
// 备注
comments?: string;
// 名称
value?: string;
// 页面ID
pageId?: number;
// 页面名称
pageName?: string;
// 排序(数字越小越靠前)
sortNumber?: number;
// 是否删除, 0否, 1是
deleted?: number;
// 租户id
tenantId?: number;
// 注册时间
createTime?: string;
}
/**
* 小程序配置搜索条件
*/
export interface MpFieldParam extends PageParam {
id?: number;
keywords?: string;
}

106
api/cms/mpPages/index.ts Normal file
View File

@@ -0,0 +1,106 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { MpPages, MpPagesParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询小程序页面
*/
export async function pageMpPages(params: MpPagesParam) {
const res = await request.get<ApiResult<PageResult<MpPages>>>(
MODULES_API_URL + '/cms/mp-pages/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询小程序页面列表
*/
export async function listMpPages(params?: MpPagesParam) {
const res = await request.get<ApiResult<MpPages[]>>(
MODULES_API_URL + '/cms/mp-pages',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加小程序页面
*/
export async function addMpPages(data: MpPages) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-pages',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改小程序页面
*/
export async function updateMpPages(data: MpPages) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-pages',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除小程序页面
*/
export async function removeMpPages(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-pages/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除小程序页面
*/
export async function removeBatchMpPages(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/mp-pages/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询小程序页面
*/
export async function getMpPages(id: number) {
const res = await request.get<ApiResult<MpPages>>(
MODULES_API_URL + '/cms/mp-pages/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,52 @@
import type { PageParam } from '@/api';
/**
* 小程序页面
*/
export interface MpPages {
// ID
id?: number;
// 上级id, 0是顶级
parentId?: number;
// 页面名称
title?: string;
// 页面路径
path?: string;
// 设为首页
home?: number;
// 分包
subpackage?: string;
// 图标
icon?: string;
// (优先级高于图标)
iconPath?: string;
// (优先级高于图标)
selectedIconPath?: string;
// 排序(数字越小越靠前)
sortNumber?: number;
// 备注
comments?: string;
// 用户ID
userId?: number;
// 状态, 0正常, 1冻结
status?: number;
// 是否删除, 0否, 1是
deleted?: number;
// 租户id
tenantId?: number;
// 注册时间
createTime?: string;
// 子页面
children?: MpPages[];
}
/**
* 小程序页面搜索条件
*/
export interface MpPagesParam extends PageParam {
id?: number;
title?: string;
path?: string;
subpackage?: string;
keywords?: string;
}

173
api/cms/navigation/index.ts Normal file
View File

@@ -0,0 +1,173 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Navigation, NavigationParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询导航
*/
export async function pageNavigation(params: NavigationParam) {
const res = await request.get<ApiResult<PageResult<Navigation>>>(
MODULES_API_URL + '/cms/navigation/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询导航列表
*/
export async function listNavigation(params?: NavigationParam) {
const res = await request.get<ApiResult<Navigation[]>>(
MODULES_API_URL + '/cms/navigation',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加导航
*/
export async function addNavigation(data: Navigation) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/navigation',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改导航
*/
export async function updateNavigation(data: Navigation) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/navigation',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除导航
*/
export async function removeNavigation(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/navigation/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除导航
*/
export async function removeBatchNavigation(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/navigation/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改用户状态
*/
export async function updateNavigationStatus(navigationId?: number, status?: number) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/navigation/status',
{
navigationId,
status
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询导航
*/
export async function getNavigation(id: number) {
const res = await request.get<ApiResult<Navigation>>(
MODULES_API_URL + '/cms/navigation/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/navigation/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 树形结构
* @param params
*/
export async function treeNavigation(params?: NavigationParam) {
const res = await request.get<ApiResult<Navigation[]>>(
MODULES_API_URL + '/cms/navigation/tree',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据path查询导航
*/
export async function getNavigationByPath(path: string) {
const res = await request.get<ApiResult<Navigation>>(
MODULES_API_URL + '/cms/navigation/getNavigationByPath/' + path
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,59 @@
import type {Design} from "~/api/cms/design/model";
/**
* 菜单
*/
export interface Navigation{
navigationId?: number;
parentId?: number;
title?: string;
path?: string;
icon?: string;
component?: string;
type?: number;
sortNumber?: number;
hide?: number;
permission?: number;
password?: string;
home?: number;
position?: number;
meta?: string;
children?: Navigation[];
disabled?: boolean;
tenantId?: number;
comments?: string;
status?: number;
pageId?: number;
articleCategoryId?: number;
articleId?: number;
goodsCategoryId?: number;
goodsId?: number;
bookCode?: string;
formId?: number;
pageName?: string;
createTime?: string;
isMpWeixin?: boolean;
target?: string;
layout?: string;
design?: Design;
// 用于面包肖屑
parentName?: string;
parentPath?: string;
parentStatus?: number;
categoryName?: string;
categoryPath?: string;
currentTitle?: string;
style?: string;
label?: string;
value?: number;
}
/**
* 菜单搜索参数
*/
export interface NavigationParam {
title?: string;
path?: string;
authority?: string;
parentId?: number;
}

View File

@@ -0,0 +1,159 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type {
WebsiteField,
WebsiteFieldParam
} from '@/api/cms/website/field/model';
import { MODULES_API_URL } from '~/config';
/**
* 分页查询项目参数
*/
export async function pageWebsiteField(params: WebsiteFieldParam) {
const res = await request.get<ApiResult<PageResult<WebsiteField>>>(
MODULES_API_URL + '/cms/website-field/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询项目参数列表
*/
export async function listWebsiteField(params?: WebsiteFieldParam) {
const res = await request.get<ApiResult<WebsiteField[]>>(
MODULES_API_URL + '/cms/website-field',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询项目参数
*/
export async function getWebsiteField(id: number) {
const res = await request.get<ApiResult<WebsiteField>>(
MODULES_API_URL + '/cms/website-field/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加项目参数
*/
export async function addWebsiteField(data: WebsiteField) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website-field',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改项目参数
*/
export async function updateWebsiteField(data: WebsiteField) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website-field',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除项目参数
*/
export async function removeWebsiteField(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website-field/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除项目参数
*/
export async function removeBatchWebsiteField(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website-field/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website-field/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 恢复项目参数
*/
export async function undeleteWebsiteField(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website-field/undelete/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询网站参数(对象形式)
*/
export async function getSiteConfig(params: WebsiteFieldParam) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website-field/config',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,45 @@
import type { PageParam } from '@/api';
/**
* 网站参数
*/
export interface WebsiteField {
id?: number;
name?: string;
value?: string;
comments?: string;
userId?: number;
type?: number;
status?: any;
sortNumber?: any;
createTime?: string;
deleted?: number;
}
// 约定的网站参数名称
export interface WebsiteParam {
// 网站名称
site_logo?: string;
// 登录页面标题
login_name?: string;
// 登录页面的背景图片
login_bg_img?: string;
}
// 约定的小程序参数名称
export interface MpWeixinParam {
// 小程序LOGO
site_logo?: string;
// 我的页面顶部背景图片
mp_user_top?: string;
}
/**
* 网站参数搜索条件
*/
export interface WebsiteFieldParam extends PageParam {
id?: number;
userId?: number;
name?: string;
websiteId?: number;
}

169
api/cms/website/index.ts Normal file
View File

@@ -0,0 +1,169 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Website, WebsiteParam } from './model';
import { MODULES_API_URL } from '~/config';
/**
* 获取网站信息
*/
export async function getSiteInfo() {
const res = await request.get<ApiResult<Website>>(
MODULES_API_URL + '/cms/website/getSiteInfo'
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 清除缓存
*/
export async function removeSiteInfoCache(key?: string) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website/clearSiteInfo/' + key
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 分页查询网站
*/
export async function pageWebsite(params: WebsiteParam) {
const res = await request.get<ApiResult<PageResult<Website>>>(
MODULES_API_URL + '/cms/website/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询网站列表
*/
export async function listWebsite(params?: WebsiteParam) {
const res = await request.get<ApiResult<Website[]>>(
MODULES_API_URL + '/cms/website',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加网站
*/
export async function addWebsite(data: Website) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改网站
*/
export async function updateWebsite(data: Website) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除网站
*/
export async function removeWebsite(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除网站
*/
export async function removeBatchWebsite(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改用户状态
*/
export async function updateWebsiteStatus(websiteId?: number, status?: number) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website/status',
{
websiteId,
status
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询网站
*/
export async function getWebsite(id: number) {
const res = await request.get<ApiResult<Website>>(
MODULES_API_URL + '/cms/website/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
MODULES_API_URL + '/cms/website/existence',
{
params: { field, value, id }
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}

View File

@@ -0,0 +1,79 @@
import type { WebsiteField } from '@/api/cms/website/field/model';
import type {Navigation} from "@/api/cms/navigation/model";
import type {ArrangeCategory} from "@/api/cms/category/model";
import type {Link} from "~/api/cms/link/model";
import type {User} from "~/api/system/user/model";
/**
* 菜单
*/
export interface Website {
websiteId?: number;
websiteName?: string;
websiteCode?: string;
websiteIcon?: string;
websiteLogo?: string;
websiteDarkLogo?: string;
websiteType?: string;
styles?: string;
keywords?: string;
address?: string;
phone?: string;
email?: string;
version?: number;
expirationTime?: string;
templateId?: string;
industryParent?: string;
industryChild?: string;
companyId?: number;
prefix?: string;
domain?: string;
adminUrl?: string;
icpNo?: string;
policeNo?: string;
comments?: string;
sortNumber?: number;
createTime?: string;
disabled?: boolean;
country?: string;
province?: string;
city?: string;
region?: string;
appId?: number;
fields?: WebsiteField[];
// 状态码
status?: number;
// 状态名称
statusName?: string;
// 状态图标
statusIcon?: string;
// 状态说明
statusText?: string;
// 关闭原因
statusClose?: string;
// 跳转按钮文本
statusBtnText?: string;
// 跳转地址
statusUrl?: string;
tenantId?: number;
tenantName?: string;
navigations?: Navigation[];
categoryList?: ArrangeCategory[];
links?: Link[];
// 配置信息
config?: any;
topNavs?: Navigation[];
bottomNavs?: Navigation[];
loginUser?: User;
}
/**
* 菜单搜索参数
*/
export interface WebsiteParam {
title?: string;
path?: string;
authority?: string;
parentId?: number;
domain?: string;
}