This commit is contained in:
2026-01-29 10:43:43 +08:00
commit 4a76df3391
426 changed files with 74975 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
import request from '~/utils/request';
import type { ApiResult } from '@/api';
import type { AccessKey, AccessKeyParam } from './model';
import { PageResult } from '@/api';
import { SERVER_API_URL } from '@/config';
/**
* 查询AccessKey列表
*/
export async function pageAccessKey(params: AccessKeyParam) {
const res = await request.get<ApiResult<PageResult<AccessKey>>>(
SERVER_API_URL + '/system/access-key/page',
{ params }
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加AccessKey
*/
export async function addAccessKey(data: AccessKey) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/access-key',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改AccessKey
*/
export async function updateAccessKey(data: AccessKey) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/access-key',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除AccessKey
*/
export async function removeAccessKey(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/access-key/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,20 @@
/**
* AccessKey
*/
export interface AccessKey {
id?: number;
phone?: string;
accessKey?: string;
accessSecret?: string;
createTime?: string;
tenantId?: number;
code?: number;
}
/**
* AccessKey搜索条件
*/
export interface AccessKeyParam {
id?: number;
accessKey?: string;
}

View File

@@ -0,0 +1,11 @@
// json数据
export function appstoreType() {
return [
{ value: '0', label: '全部', text: '全部', comments: '' },
{ value: '1', label: '系统管理', text: '系统管理', comments: '' },
{ value: '2', label: '内容管理', text: '内容管理', comments: '' },
{ value: '3', label: '第三方应用', text: '第三方应用', comments: '' },
{ value: '4', label: '办公协同', text: '办公协同', comments: '' },
{ value: '5', label: '商城模块', text: '商城模块', comments: '' }
];
}

View File

@@ -0,0 +1,13 @@
/**
* 消息
*/
export interface Appstore {
// 消息id
id?: number;
// 标题
title?: string;
// 时间
time?: string;
// 状态
status?: number;
}

76
api/system/cache/index.ts vendored Normal file
View File

@@ -0,0 +1,76 @@
import request from '~/utils/request';
import type { ApiResult } from '@/api';
import type { Cache, CacheParam } from './model';
import { SERVER_API_URL } from '@/config';
/**
* 查询缓存数据
*/
export async function listCache(params?: CacheParam) {
const res = await request.get<ApiResult<Cache[]>>(
SERVER_API_URL + '/system/cache',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 获取缓存数据
* @param key
*/
export async function getCache(key: String) {
const res = await request.get<ApiResult<Cache>>(
SERVER_API_URL + '/system/cache/' + key
);
if (res.code === 0) {
return res.data;
}
}
/**
* 更新缓存数据
* @param cache
*/
export async function updateCache(cache: Cache) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/cache',
cache
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除缓存数据
* @param key
*/
export async function removeCache(key?: String) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/cache/' + key
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 更新缓存数据
* @param cache
*/
export async function updateCacheTheme(cache: Cache) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/cache/theme',
cache
);
if (res.code === 0) {
return res.message;
}
}

18
api/system/cache/model/index.ts vendored Normal file
View File

@@ -0,0 +1,18 @@
import type { PageParam } from '@/api';
/**
* 缓存管理
*/
export interface Cache {
key?: string;
content?: string;
uploadMethod?: any;
expireTime?: number; // 过期时间(秒)
}
/**
* 搜索条件
*/
export interface CacheParam extends PageParam {
key?: string;
}

157
api/system/chat/index.ts Normal file
View File

@@ -0,0 +1,157 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type {
ChatConversation,
ChatConversationParam,
ChatMessage,
ChatMessageParam
} from '@/api/system/chat/model';
import { SERVER_API_URL } from '@/config';
/**
* 查询聊天列表
*/
export async function pageChatConversation(params: ChatConversationParam) {
const res = await request.get<ApiResult<PageResult<ChatConversation>>>(
SERVER_API_URL + '/system/chat-conversation/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询聊天列表
*/
export async function pageChatMessage(params: ChatMessageParam) {
const res = await request.get<ApiResult<PageResult<ChatMessage>>>(
SERVER_API_URL + '/system/chat-message/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询日志列表
*/
export async function listChatConversation(params?: ChatConversationParam) {
const res = await request.get<ApiResult<ChatConversation[]>>(
SERVER_API_URL + '/system/chat-conversation',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加日志
*/
export async function addChatMessage(data: ChatMessage) {
const res = await request.post<ApiResult<ChatConversation>>(
SERVER_API_URL + '/system/chat-message',
data
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加日志
*/
export async function addChatConversation(data: ChatConversation) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/chat-conversation',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改日志
*/
export async function updateChatConversation(data: any) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/chat-conversation',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 绑定日志
*/
export async function bindChatConversation(data: ChatConversation) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/chat-conversation/bind',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量添加
*/
export async function addBatchChatConversation(data: ChatConversation[]) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/chat-conversation/batch',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除日志
*/
export async function removeChatConversation(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/chat-conversation/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除日志
*/
export async function removeBatchChatConversation(
data: (number | undefined)[]
) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/chat-conversation/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,49 @@
import type { PageParam } from '@/api';
import type { User } from '@/api/system/user/model';
export interface ChatConversation {
id?: number;
userId?: number;
friendId?: number;
userInfo?: User;
friendInfo?: User;
content: string;
messages: ChatMessage[];
unRead: number;
createTime?: string;
updateTime: string | number | Date;
}
export interface ChatMessage {
id?: number;
formUserId?: number;
formUserInfo?: User;
toUserInfo?: User;
toUserId?: number;
type: string;
content: string;
status?: number;
createTime?: number;
updateTime?: number;
}
/**
* 搜索条件
*/
export interface ChatConversationParam extends PageParam {
userId?: number;
status: number;
onlyFake: boolean;
keywords: string;
}
/**
* 搜索条件
*/
export interface ChatMessageParam extends PageParam {
formUserId?: number;
toUserId?: number;
type?: string;
status?: number;
keywords: string;
}

View File

@@ -0,0 +1,106 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { ChatConversation, ChatConversationParam } from './model';
/**
* 分页查询聊天消息表
*/
export async function pageChatConversation(params: ChatConversationParam) {
const res = await request.get<ApiResult<PageResult<ChatConversation>>>(
'/shop/chat-conversation/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询聊天消息表列表
*/
export async function listChatConversation(params?: ChatConversationParam) {
const res = await request.get<ApiResult<ChatConversation[]>>(
'/shop/chat-conversation',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加聊天消息表
*/
export async function addChatConversation(data: ChatConversation) {
const res = await request.post<ApiResult<unknown>>(
'/shop/chat-conversation',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改聊天消息表
*/
export async function updateChatConversation(data: ChatConversation) {
const res = await request.put<ApiResult<unknown>>(
'/shop/chat-conversation',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除聊天消息表
*/
export async function removeChatConversation(id?: number) {
const res = await request.del<ApiResult<unknown>>(
'/shop/chat-conversation/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除聊天消息表
*/
export async function removeBatchChatConversation(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
'/shop/chat-conversation/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询聊天消息表
*/
export async function getChatConversation(id: number) {
const res = await request.get<ApiResult<ChatConversation>>(
'/shop/chat-conversation/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

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

View File

@@ -0,0 +1,120 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { ChatMessage, ChatMessageParam } from './model';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询聊天消息表
*/
export async function pageChatMessage(params: ChatMessageParam) {
const res = await request.get<ApiResult<PageResult<ChatMessage>>>(
SERVER_API_URL + '/system/chat-message/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询聊天消息表列表
*/
export async function listChatMessage(params?: ChatMessageParam) {
const res = await request.get<ApiResult<ChatMessage[]>>(
SERVER_API_URL + '/system/chat-message',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加聊天消息表
*/
export async function addChatMessage(data: ChatMessage) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/chat-message',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加聊天消息表
*/
export async function addBatchChatMessage(data: ChatMessage[]) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/chat-message/batch',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改聊天消息表
*/
export async function updateChatMessage(data: ChatMessage) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/chat-message',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除聊天消息表
*/
export async function removeChatMessage(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/chat-message/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除聊天消息表
*/
export async function removeBatchChatMessage(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/chat-message/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询聊天消息表
*/
export async function getChatMessage(id: number) {
const res = await request.get<ApiResult<ChatMessage>>(
SERVER_API_URL + '/system/chat-message/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,49 @@
import type { PageParam } from '@/api';
/**
* 聊天消息表
*/
export interface ChatMessage {
// 自增ID
id?: number;
// 发送人ID
formUserId?: number;
// 接收人ID
toUserId?: number;
// 消息类型
type?: string;
// 消息内容
content?: string;
// 屏蔽接收方
sideTo?: number;
// 屏蔽发送方
sideFrom?: number;
// 是否撤回
withdraw?: number;
// 文件信息
fileInfo?: string;
toUserName?: any;
formUserName?: string;
// 批量发送
toUserIds?: any[];
// 存在联系方式
hasContact?: number;
// 状态, 0未读, 1已读
status?: number;
// 是否删除, 0否, 1是
deleted?: number;
// 租户id
tenantId?: number;
// 注册时间
createTime?: string;
// 修改时间
updateTime?: string;
}
/**
* 聊天消息表搜索条件
*/
export interface ChatMessageParam extends PageParam {
id?: number;
keywords?: string;
}

162
api/system/company/index.ts Normal file
View File

@@ -0,0 +1,162 @@
import request from '~/utils/request';
import type { ApiResult } from '@/api';
import type { Company, CompanyParam } from './model';
import type { PageResult } from '@/api';
import { SERVER_API_URL } from '@/config';
/**
* 查询企业资料
*/
export async function getCompany(params?: CompanyParam) {
const res = await request.get<ApiResult<Company>>(
SERVER_API_URL + '/system/company/profile',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询企业资料不限租户
*/
export async function getCompanyAll(companyId: number) {
const res = await request.get<ApiResult<Company>>(
SERVER_API_URL + '/system/company/profileAll/' + companyId
);
if (res.code === 0 && res.data) {
console.log(res.data);
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询Company列表
*/
export async function pageCompany(params: CompanyParam) {
const res = await request.get<ApiResult<PageResult<Company>>>(
SERVER_API_URL + '/system/company/page',
{ params }
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询Company列表不限租户
*/
export async function pageCompanyAll(params: CompanyParam) {
const res = await request.get<ApiResult<PageResult<Company>>>(
SERVER_API_URL + '/system/company/pageAll',
{ params }
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加Company
*/
export async function addCompany(data: Company) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/company',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改Company
*/
export async function updateCompany(data: Company) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/company',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改CompanyAll
*/
export async function updateCompanyAll(data: Company) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/company/updateCompanyAll',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除Company
*/
export async function removeCompany(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/company/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
// 销毁租户
export async function destructionTenant(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/company/destruction/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除Company
*/
export async function removeBatchCompany(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/company/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
SERVER_API_URL + '/system/company/existence',
{
params: { field, value, id }
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,121 @@
import type { PageParam } from '@/api';
import type {CompanyParameter} from "~/api/system/companyParameter/model";
import type {CompanyUrl} from "~/api/system/companyUrl/model";
import type {CompanyGit} from "~/api/system/companyGit/model";
/**
* 企业信息
*/
export interface Company {
companyId?: number;
type?: number;
menuId?: number;
shortName?: string;
companyName?: string;
companyType?: number;
companyTypeMultiple?: string;
appType?: string;
companyLogo?: string;
image?: string;
content?: string;
files?: any;
companyCode?: string;
domain?: string;
phone?: string;
tel?: string;
email?: string;
InvoiceHeader?: string;
startTime?: string;
expirationTime?: string;
version?: number;
versionName?: string;
versionCode?: string;
members?: number;
storage?: string;
storageMax?: string;
buys?: number;
clicks?: number;
users?: number;
departments?: number;
industryParent?: string;
industryChild?: string;
country?: string;
province?: string;
city?: string;
region?: string;
address?: string;
latitude?: string;
longitude?: string;
businessEntity?: string;
comments?: any;
authentication?: number;
industryId?: number;
industryName?: string;
status?: number;
userId?: number;
official?: boolean;
price?: number;
chargingMethod?: number;
planId?: number;
sortNumber?: number;
authoritative?: boolean;
merchantId?: number;
tenantId?: number;
tenantName?: string;
tenantCode?: string;
modules?: string;
requestUrl?: string;
socketUrl?: string;
serverUrl?: string;
modulesUrl?: string;
merchantUrl?: string;
websiteUrl?: string;
mpWeixinCode?: string;
mpAlipayCode?: string;
h5Code?: string;
androidUrl?: string;
iosUrl?: string;
avatar?: string;
nickname?: string;
code?: number;
createTime?: string;
updateTime?: string;
password?: string;
password2?: string;
collection?: boolean;
recommend?: boolean;
title?: string;
parentName?: string;
categoryName?: string;
rate?: number;
isBuy?: boolean;
installed?: boolean;
parameters?: CompanyParameter[];
links?: CompanyUrl[];
accounts?: CompanyUrl[];
gits?: CompanyGit[];
}
/**
* 企业信息搜索条件
*/
export interface CompanyParam extends PageParam {
companyId?: number;
type?: any;
official?: boolean;
shortName?: string;
companyName?: string;
domain?: string;
authoritative?: number;
authentication?: number;
industryParent?: string;
industryChild?: string;
province?: string;
city?: string;
region?: string;
version?: number;
status?: number;
recommend?: boolean;
collection?: boolean;
limit?: number;
}

View File

@@ -0,0 +1,106 @@
import request from '~/utils/request';
import type {ApiResult, PageResult} from '@/api';
import type {CompanyComment, CompanyCommentParam} from './model';
import {SERVER_API_URL} from '@/config/index';
/**
* 分页查询应用评论
*/
export async function pageCompanyComment(params: CompanyCommentParam) {
const res = await request.get<ApiResult<PageResult<CompanyComment>>>(
SERVER_API_URL + '/system/company-comment/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询应用评论列表
*/
export async function listCompanyComment(params?: CompanyCommentParam) {
const res = await request.get<ApiResult<CompanyComment[]>>(
SERVER_API_URL + '/system/company-comment',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加应用评论
*/
export async function addCompanyComment(data: CompanyComment) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-comment',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改应用评论
*/
export async function updateCompanyComment(data: CompanyComment) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-comment',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除应用评论
*/
export async function removeCompanyComment(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-comment/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除应用评论
*/
export async function removeBatchCompanyComment(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-comment/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询应用评论
*/
export async function getCompanyComment(id: number) {
const res = await request.get<ApiResult<CompanyComment>>(
SERVER_API_URL + '/system/company-comment/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,43 @@
import type { PageParam } from '@/api';
/**
* 应用评论
*/
export interface CompanyComment {
// ID
id?: number;
// 父级ID
parentId?: number;
// 用户ID
userId?: number;
// 企业ID
companyId?: number;
// 评分
rate?: number;
// 排序(数字越小越靠前)
sortNumber?: number;
// 评论内容
comments?: string;
// 状态
status?: number;
// 租户id
tenantId?: number;
// 租户名称
tenantName?: string;
// 企业
logo?: string;
// 创建时间
createTime?: string;
// 子列表
children?: CompanyComment[];
}
/**
* 应用评论搜索条件
*/
export interface CompanyCommentParam extends PageParam {
id?: number;
userId?: number;
tenantId?: number;
keywords?: string;
}

View File

@@ -0,0 +1,106 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { CompanyContent, CompanyContentParam } from './model';
import {SERVER_API_URL} from '@/config/index';
/**
* 分页查询应用详情
*/
export async function pageCompanyContent(params: CompanyContentParam) {
const res = await request.get<ApiResult<PageResult<CompanyContent>>>(
SERVER_API_URL + '/system/company-content/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询应用详情列表
*/
export async function listCompanyContent(params?: CompanyContentParam) {
const res = await request.get<ApiResult<CompanyContent[]>>(
SERVER_API_URL + '/system/company-content',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加应用详情
*/
export async function addCompanyContent(data: CompanyContent) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-content',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改应用详情
*/
export async function updateCompanyContent(data: CompanyContent) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-content',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除应用详情
*/
export async function removeCompanyContent(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-content/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除应用详情
*/
export async function removeBatchCompanyContent(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-content/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询应用详情
*/
export async function getCompanyContent(id: number) {
const res = await request.get<ApiResult<CompanyContent>>(
SERVER_API_URL + '/system/company-content/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,25 @@
import type { PageParam } from '@/api';
/**
* 应用详情
*/
export interface CompanyContent {
//
id?: number;
// 企业ID
companyId?: number;
// 详细内容
content?: string;
// 租户id
tenantId?: number;
// 创建时间
createTime?: string;
}
/**
* 应用详情搜索条件
*/
export interface CompanyContentParam 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 { CompanyGit, CompanyGitParam } from './model';
import { SERVER_API_URL } from '@/config/index';
/**
* 分页查询代码仓库
*/
export async function pageCompanyGit(params: CompanyGitParam) {
const res = await request.get<ApiResult<PageResult<CompanyGit>>>(
SERVER_API_URL + '/system/company-git/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询代码仓库列表
*/
export async function listCompanyGit(params?: CompanyGitParam) {
const res = await request.get<ApiResult<CompanyGit[]>>(
SERVER_API_URL + '/system/company-git',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加代码仓库
*/
export async function addCompanyGit(data: CompanyGit) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-git',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改代码仓库
*/
export async function updateCompanyGit(data: CompanyGit) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-git',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除代码仓库
*/
export async function removeCompanyGit(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-git/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除代码仓库
*/
export async function removeBatchCompanyGit(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-git/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询代码仓库
*/
export async function getCompanyGit(id: number) {
const res = await request.get<ApiResult<CompanyGit>>(
SERVER_API_URL + '/system/company-git/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,41 @@
import type { PageParam } from '@/api';
/**
* 代码仓库
*/
export interface CompanyGit {
// 自增ID
id?: number;
// 仓库名称
title?: string;
// 厂商 0私有仓库 1github 2gitee 3其他
brand?: string;
// 语言
language?: string;
// 企业ID
companyId?: number;
// 仓库地址
domain?: string;
// 账号
account?: string;
// 密码
password?: string;
// 仓库描述
comments?: string;
// 排序(数字越小越靠前)
sortNumber?: number;
// 状态, 0正常, 1待确认
status?: number;
// 创建时间
createTime?: string;
// 租户id
tenantId?: number;
}
/**
* 代码仓库搜索条件
*/
export interface CompanyGitParam 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 { CompanyParameter, CompanyParameterParam } from './model';
import {SERVER_API_URL} from '@/config/index';
/**
* 分页查询应用参数
*/
export async function pageCompanyParameter(params: CompanyParameterParam) {
const res = await request.get<ApiResult<PageResult<CompanyParameter>>>(
SERVER_API_URL + '/system/company-parameter/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询应用参数列表
*/
export async function listCompanyParameter(params?: CompanyParameterParam) {
const res = await request.get<ApiResult<CompanyParameter[]>>(
SERVER_API_URL + '/system/company-parameter',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加应用参数
*/
export async function addCompanyParameter(data: CompanyParameter) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-parameter',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改应用参数
*/
export async function updateCompanyParameter(data: CompanyParameter) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-parameter',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除应用参数
*/
export async function removeCompanyParameter(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-parameter/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除应用参数
*/
export async function removeBatchCompanyParameter(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-parameter/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询应用参数
*/
export async function getCompanyParameter(id: number) {
const res = await request.get<ApiResult<CompanyParameter>>(
SERVER_API_URL + '/system/company-parameter/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,33 @@
import type { PageParam } from '@/api';
/**
* 应用参数
*/
export interface CompanyParameter {
// 自增ID
id?: number;
// 参数名称
name?: string;
// 参数内容
value?: string;
// 企业ID
companyId?: number;
// 备注
comments?: string;
// 排序(数字越小越靠前)
sortNumber?: number;
// 状态, 0正常, 1待确认
status?: number;
// 创建时间
createTime?: string;
// 租户id
tenantId?: number;
}
/**
* 应用参数搜索条件
*/
export interface CompanyParameterParam 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 { CompanyUrl, CompanyUrlParam } from './model';
import {SERVER_API_URL} from '@/config/index';
/**
* 分页查询应用域名
*/
export async function pageCompanyUrl(params: CompanyUrlParam) {
const res = await request.get<ApiResult<PageResult<CompanyUrl>>>(
SERVER_API_URL + '/system/company-url/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询应用域名列表
*/
export async function listCompanyUrl(params?: CompanyUrlParam) {
const res = await request.get<ApiResult<CompanyUrl[]>>(
SERVER_API_URL + '/system/company-url',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加应用域名
*/
export async function addCompanyUrl(data: CompanyUrl) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-url',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改应用域名
*/
export async function updateCompanyUrl(data: CompanyUrl) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-url',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除应用域名
*/
export async function removeCompanyUrl(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-url/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除应用域名
*/
export async function removeBatchCompanyUrl(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/company-url/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询应用域名
*/
export async function getCompanyUrl(id: number) {
const res = await request.get<ApiResult<CompanyUrl>>(
SERVER_API_URL + '/system/company-url/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

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

View File

@@ -0,0 +1,87 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { DictData, DictDataParam } from './model';
import {SERVER_API_URL} from '@/config';
/**
* 分页查询字典数据
*/
export async function pageDictData(params: DictDataParam) {
const res = await request.get<ApiResult<PageResult<DictData>>>(
SERVER_API_URL + '/system/dict-data/page',
{ params }
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询字典数据列表
*/
export async function listDictData(params: DictDataParam) {
const res = await request.get<ApiResult<DictData[]>>(
SERVER_API_URL + '/system/dict-data',
{ params }
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加字典数据
*/
export async function addDictData(data: DictData) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/dict-data',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改字典数据
*/
export async function updateDictData(data: DictData) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/dict-data',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除字典数据
*/
export async function removeDictData(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/dict-data/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除字典数据
*/
export async function removeDictDataBatch(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/dict-data/batch',
{ data }
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,45 @@
import type { PageParam } from '@/api';
/**
* 字典数据
*/
export interface DictData {
// 字典数据id
dictDataId?: number;
// 字典id
dictId?: number;
// 字典名称
dictName?: string;
// 字典数据标识
dictDataCode?: string;
// 字典数据名称
dictDataName?: string;
// 字典标识
dictCode?: string;
// 排序号
sortNumber?: any;
// 备注
comments?: string;
// 创建时间
createTime?: string;
tenantId?: number;
label?: string;
value?: number;
}
/**
* 字典数据搜索条件
*/
export interface DictDataParam extends PageParam {
// 关键字
keywords?: string;
// 字典标识
dictCode?: string;
// 字典id
dictId?: number;
//
value?: number;
//
label?: string;
dictDataId?: number;
}

61
api/system/dict/index.ts Normal file
View File

@@ -0,0 +1,61 @@
import request from '~/utils/request';
import type { ApiResult } from '@/api';
import type { Dict, DictParam } from './model';
import { SERVER_API_URL } from '@/config';
/**
* 查询字典列表
*/
export async function listDictionaries(params?: DictParam) {
const res = await request.get<ApiResult<Dict[]>>(
SERVER_API_URL + '/system/dict',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加字典
*/
export async function addDict(data: Dict) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/dict',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改字典
*/
export async function updateDict(data: Dict) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/dict',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除字典
*/
export async function removeDict(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/dict/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,29 @@
/**
* 字典
*/
export interface Dict {
// 字典id
dictId?: number;
// 字典标识
dictCode?: string;
// 字典名称
dictName?: string;
// 排序号
sortNumber?: number;
// 备注
comments?: string;
// 创建时间
createTime?: string;
type?: number;
tenantId?: number;
}
/**
* 字典搜索条件
*/
export interface DictParam {
dictCode?: string;
dictName?: string;
type?: number;
tenantId?: number;
}

View File

@@ -0,0 +1,87 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { DictionaryData, DictionaryDataParam } from './model';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询字典数据
*/
export async function pageDictionaryData(params: DictionaryDataParam) {
const res = await request.get<ApiResult<PageResult<DictionaryData>>>(
SERVER_API_URL + '/system/dict-data/page',
{ params }
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询字典数据列表
*/
export async function listDictionaryData(params: DictionaryDataParam) {
const res = await request.get<ApiResult<DictionaryData[]>>(
SERVER_API_URL + '/system/dict-data',
{ params }
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加字典数据
*/
export async function addDictionaryData(data: DictionaryData) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/dict-data',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改字典数据
*/
export async function updateDictionaryData(data: DictionaryData) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/dict-data',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除字典数据
*/
export async function removeDictionaryData(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/dict-data/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除字典数据
*/
export async function removeDictionaryDataBatch(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/dict-data/batch',
{ data }
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,33 @@
import { PageParam } from '@/api';
/**
* 字典数据
*/
export interface DictionaryData {
// 字典数据id
dictDataId?: number;
// 字典id
dictId?: number;
// 字典数据标识
dictDataCode?: string;
// 字典数据名称
dictDataName?: string;
// 排序号
sortNumber?: string;
// 备注
comments?: string;
// 创建时间
createTime?: string;
}
/**
* 字典数据搜索条件
*/
export interface DictionaryDataParam extends PageParam {
// 关键字
keywords?: string;
// 字典标识
dictCode?: string;
// 字典id
dictId?: number;
}

View File

@@ -0,0 +1,61 @@
import request from '~/utils/request';
import type { ApiResult } from '@/api';
import type { Dictionary, DictionaryParam } from './model';
import { SERVER_API_URL } from '@/config';
/**
* 查询字典列表
*/
export async function listDictionaries(params?: DictionaryParam) {
const res = await request.get<ApiResult<Dictionary[]>>(
SERVER_API_URL + '/system/dictionary',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加字典
*/
export async function addDictionary(data: Dictionary) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/dictionary',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改字典
*/
export async function updateDictionary(data: Dictionary) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/dictionary',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除字典
*/
export async function removeDictionary(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/dictionary/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,29 @@
/**
* 字典
*/
export interface Dictionary {
// 字典id
dictId?: number;
// 字典标识
dictCode?: string;
// 字典名称
dictName?: string;
// 排序号
sortNumber?: number;
// 备注
comments?: string;
// 创建时间
createTime?: string;
type?: number;
tenantId?: number;
}
/**
* 字典搜索条件
*/
export interface DictionaryParam {
dictCode?: string;
dictName?: string;
type?: number;
tenantId?: number;
}

View File

@@ -0,0 +1,125 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Environment, EnvironmentParam } from './model/index';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询应用
*/
export async function pageEnvironment(params?: EnvironmentParam) {
const res = await request.get<ApiResult<PageResult<Environment>>>(
SERVER_API_URL + '/system/environment/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询应用列表
*/
export async function listEnvironment(params?: EnvironmentParam) {
const res = await request.get<ApiResult<Environment[]>>(
SERVER_API_URL + '/system/environment',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询应用
*/
export async function getEnvironment(id: number) {
const res = await request.get<ApiResult<Environment>>(
SERVER_API_URL + '/system/environment/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改应用
*/
export async function updateEnvironment(data: Environment) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/environment',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
// 排行榜
export async function ranking(params?: EnvironmentParam) {
const res = await request.get<ApiResult<Environment[]>>(
SERVER_API_URL + '/system/environment/ranking',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
SERVER_API_URL + '/system/environment/existence',
{
params: { field, value, id }
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
// 搜索历史
export async function searchHistory(params?: String) {
const res = await request.get<ApiResult<String[]>>(
SERVER_API_URL + '/system/environment/search-history',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 制作插件
*/
export async function createEnvironment(data: Environment) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/environment/environment',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,25 @@
import type { PageParam } from '@/api';
/**
* 插件
*/
export interface Environment {
id?: number;
environmentName?: string;
environmentCode?: string;
brand?: string;
serverIp?: string;
modulesUrl?: string;
modulesApi?: string;
sortNumber?: number;
comments?: string;
status?: number;
}
/**
* 插件搜索条件
*/
export interface EnvironmentParam extends PageParam {
id: number;
environmentName: string;
}

234
api/system/file/index.ts Normal file
View File

@@ -0,0 +1,234 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { FileRecord, FileRecordParam } from './model';
import { SERVER_API_URL } from '@/config';
import { FILE_SERVER } from '@/config';
/**
* 上传文件
*/
export async function uploadFileLocal(file: File, AppId: number) {
const formData = new FormData();
formData.append('file', file);
const res = await request.post<ApiResult<FileRecord>>(
FILE_SERVER + '/api/file/upload',
formData,
{
headers: { AppId }
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 上传文件
*/
export async function uploadFileLocalByCompany(file: File, CompanyId: number) {
const formData = new FormData();
formData.append('file', file);
const res = await request.post<ApiResult<FileRecord>>(
FILE_SERVER + '/api/file/upload',
formData,
{
headers: { CompanyId }
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 上传文件
*/
export async function uploadFile(file: File) {
const formData = new FormData();
formData.append('file', file);
const res = await request.post<ApiResult<FileRecord>>(
SERVER_API_URL + '/oss/upload',
formData
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 上传 base64 文件
* @param base64 文件数据
* @param fileName 文件名称
*/
export async function uploadBase64File(base64: string, fileName?: string) {
const formData = new FormData();
formData.append('base64', base64);
if (fileName) {
formData.append('fileName', fileName);
}
const res = await request.post<ApiResult<FileRecord>>(
SERVER_API_URL + '/file/upload/base64',
formData
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 上传证书
*/
export async function uploadCert(file: File) {
const formData = new FormData();
formData.append('file', file);
const res = await request.post<ApiResult<FileRecord>>(
SERVER_API_URL + '/file/upload',
formData
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 分页查询文件上传记录
*/
export async function pageFiles(params: FileRecordParam) {
const res = await request.get<ApiResult<PageResult<FileRecord>>>(
SERVER_API_URL + '/file/page',
{ params }
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询文件
*/
export async function getFile(id: number) {
const res = await request.get<ApiResult<FileRecord>>(
SERVER_API_URL + '/file/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除文件
*/
export async function removeFile(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/file/remove/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除文件
*/
export async function removeFiles(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/file/remove/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加文件
*/
export async function addFiles(data: FileRecord) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/file',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改文件
*/
export async function updateFiles(data: FileRecord) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/file',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 上传阿里云OSS
*/
export async function uploadOss(file: File) {
const formData = new FormData();
formData.append('file', file);
const res = await request.post<ApiResult<FileRecord>>(
SERVER_API_URL + '/oss/upload',
formData
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 上传阿里云OSS
*/
export async function uploadOssByGroupId(file: File, GroupId: string) {
const formData = new FormData();
formData.append('file', file);
const res = await request.post<ApiResult<FileRecord>>(
SERVER_API_URL + '/oss/upload',
formData,
{
headers: { GroupId }
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 上传阿里云OSS
*/
export async function uploadOssByAppId(file: File, appId: string) {
const formData = new FormData();
formData.append('file', file);
const res = await request.post<ApiResult<FileRecord>>(
SERVER_API_URL + '/oss/upload',
formData,
{
headers: { appId }
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,54 @@
import { PageParam } from '@/api';
/**
* 文件上传记录
*/
export interface FileRecord {
// id
id: number;
// 文件名称
name?: string;
// 文件存储路径
path?: string;
// 文件大小
length?: number;
// 文件类型
contentType?: string;
// 上传人id
createUserId?: number;
// 分组ID
groupId?: number;
groupName?: string;
// 上传时间
createTime?: string;
// 描述
comments?: string;
// 文件访问地址
url?: string;
// 文件缩略图访问地址
thumbnail?: string;
// 文件下载地址
downloadUrl?: string;
// 上传人账号
createUsername?: string;
// 上传人名称
createNickname?: string;
// 是否编辑状态
isUpdate?: boolean;
// 商品SKU索引
index?: any;
}
/**
* 文件上传记录查询参数
*/
export interface FileRecordParam extends PageParam {
name?: string;
path?: string;
contentType?: string;
createNickname?: string;
groupId?: number;
groupName?: string;
count?: number;
page?: number;
}

View File

@@ -0,0 +1,32 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { LoginRecord, LoginRecordParam } from './model';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询登录日志
*/
export async function pageLoginRecords(params: LoginRecordParam) {
const res = await request.get<ApiResult<PageResult<LoginRecord>>>(
SERVER_API_URL + '/system/login-record/page',
{ params }
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询登录日志列表
*/
export async function listLoginRecords(params?: LoginRecordParam) {
const res = await request.get<ApiResult<LoginRecord[]>>(
SERVER_API_URL + '/system/login-record',
{ params }
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,38 @@
import { PageParam } from '@/api';
/**
* 登录日志
*/
export interface LoginRecord {
// 登录日志id
id: number;
// 用户账号
username: string;
// 操作系统
os: string;
// 设备名称
device: string;
// 浏览器类型
browser: string;
// ip地址
ip: string;
// 操作类型, 0登录成功, 1登录失败, 2退出登录, 3续签token
loginType: number;
// 备注
comments: string;
// 操作时间
createTime: string;
// 用户昵称
nickname: string;
}
/**
* 登录日志搜索条件
*/
export interface LoginRecordParam extends PageParam {
username?: string;
nickname?: string;
createTimeStart?: string;
createTimeEnd?: string;
loginType?: number;
}

127
api/system/menu/index.ts Normal file
View File

@@ -0,0 +1,127 @@
import request from '~/utils/request';
import type { ApiResult } from '@/api';
import type { Menu, MenuParam } from './model';
import { App } from '@/api/dashboard/appstore/model';
import { SERVER_API_URL } from '@/config';
/**
* 查询菜单列表
*/
export async function listMenus(params: MenuParam) {
const res = await request.get<ApiResult<Menu[]>>(
SERVER_API_URL + '/system/menu',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加菜单
*/
export async function addMenu(data: Menu) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/menu',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改菜单
*/
export async function updateMenu(data: Menu) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/menu',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除菜单
*/
export async function removeMenu(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/menu/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 安装应用
*/
export async function installApp(data: App) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/menu/install',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 卸载应用
*/
export async function uninstallApp(data: App) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/menu/uninstall',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
// 菜单克隆
export async function clone(data: Menu) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/menu/clone',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 制作插件
*/
export async function createPlug(data: Menu) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/menu/plug',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
// 安装插件
export async function installPlug(id?: number) {
const res = await request.get<ApiResult<unknown>>(
SERVER_API_URL + '/system/menu/install/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,67 @@
/**
* 菜单
*/
export interface Menu {
// 菜单id
menuId?: number;
// 上级id, 0是顶级
parentId?: number;
// 菜单名称
title: string;
// 菜单路由地址
path: string;
// 菜单组件地址
component: string;
// 模块API
modulesUrl?: string;
// 模块ID
modules?: string;
// 菜单类型, 0菜单, 1按钮
menuType?: number;
// 排序号
sortNumber?: number;
// 权限标识
authority?: string;
// 菜单图标
icon?: string;
// 是否隐藏, 0否,1是(仅注册路由不显示左侧菜单)
hide?: number;
// 路由元信息
meta?: string;
// 创建时间
createTime?: string;
// 子菜单
children?: Menu[];
// 权限树回显选中状态, 0未选中, 1选中
checked?: boolean;
//
key?: number;
//
value?: number;
//
parentIds?: number[];
//
openType?: number;
disabled?: boolean;
//
appId?: number;
//
tenantId?: number;
tenantName?: string;
companyId?: number;
// 插件Api
plugUrl?: string;
label?: string;
}
/**
* 菜单搜索参数
*/
export interface MenuParam {
title?: string;
path?: string;
authority?: string;
parentId?: number;
menuType?: number;
hide?: number;
}

118
api/system/modules/index.ts Normal file
View File

@@ -0,0 +1,118 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Modules, ModulesParam } from './model';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询角色module
*/
export async function pageModules(params) {
const res = await request.get<ApiResult<PageResult<Modules>>>(
SERVER_API_URL + '/system/modules/page',
{ params }
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询角色列表
*/
export async function listModules(params?: ModulesParam) {
const res = await request.get<ApiResult<Modules[]>>(
SERVER_API_URL + '/system/modules',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加角色
*/
export async function addModules(data: Modules) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/modules',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改角色
*/
export async function updateModules(data: Modules) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/modules',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除角色
*/
export async function removeModules(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/modules/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除角色
*/
export async function removeModulesBath(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/modules/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 获取角色分配的菜单
*/
export async function listModulesMenus(modulesId?: number) {
const res = await request.get<ApiResult<Modules[]>>(
SERVER_API_URL + '/system/modules-menu/' + modulesId
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改角色菜单
*/
export async function updateModulesMenus(modulesId?: number, data?: number[]) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/modules-menu/' + modulesId,
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,22 @@
import type { PageParam } from '@/api';
/**
* 插件
*/
export interface Modules {
id?: number;
modules?: string;
modulesUrl?: string;
sortNumber?: number;
comments?: string;
status?: number;
}
/**
* 插件搜索条件
*/
export interface ModulesParam extends PageParam {
id: number;
modules: string;
modulesUrl?: string;
}

View File

@@ -0,0 +1,32 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { OperationRecord, OperationRecordParam } from './model';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询操作日志
*/
export async function pageOperationRecords(params: OperationRecordParam) {
const res = await request.get<ApiResult<PageResult<OperationRecord>>>(
SERVER_API_URL + '/system/operation-record/page',
{ params }
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询操作日志列表
*/
export async function listOperationRecords(params?: OperationRecordParam) {
const res = await request.get<ApiResult<OperationRecord[]>>(
SERVER_API_URL + '/system/operation-record',
{ params }
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,56 @@
import { PageParam } from '@/api';
/**
* 操作日志
*/
export interface OperationRecord {
// 操作日志id
id?: number;
// 用户id
userId?: number;
// 操作模块
module: string;
// 操作功能
description: string;
// 请求地址
url: string;
// 请求方式
requestMethod: string;
// 调用方法
method: string;
// 请求参数
params: string;
// 返回结果
result: string;
// 异常信息
error: string;
// 消耗时间, 单位毫秒
spendTime: number;
// 操作系统
os: string;
// 设备名称
device: string;
// 浏览器类型
browser: string;
// ip地址
ip: string;
// 状态, 0成功, 1异常
status: number;
// 操作时间
createTime: string;
// 用户昵称
nickname: string;
// 用户账号
username: string;
}
/**
* 操作日志搜索条件
*/
export interface OperationRecordParam extends PageParam {
username?: string;
module?: string;
createTimeStart?: string;
createTimeEnd?: string;
status?: number;
}

106
api/system/order/index.ts Normal file
View File

@@ -0,0 +1,106 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Order, OrderParam } from './model';
import { SERVER_API_URL } from '@/config/index';
/**
* 分页查询订单
*/
export async function pageOrder(params: OrderParam) {
const res = await request.get<ApiResult<PageResult<Order>>>(
SERVER_API_URL + '/system/order/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询订单列表
*/
export async function listOrder(params?: OrderParam) {
const res = await request.get<ApiResult<Order[]>>(
SERVER_API_URL + '/system/order',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加订单
*/
export async function addOrder(data: Order) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/order',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改订单
*/
export async function updateOrder(data: Order) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/order',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除订单
*/
export async function removeOrder(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/order/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除订单
*/
export async function removeBatchOrder(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/order/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询订单
*/
export async function getOrder(id: number) {
const res = await request.get<ApiResult<Order>>(
SERVER_API_URL + '/system/order/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,93 @@
import type { PageParam } from '@/api';
/**
* 订单
*/
export interface Order {
// 订单号
orderId?: number;
// 订单编号
orderNo?: string;
// 订单类型0产品 1插件
type?: number;
// 下单渠道0网站 1小程序 2其他
channel?: number;
// 微信支付订单号
transactionId?: string;
// 微信退款订单号
refundOrder?: string;
// 使用的优惠券id
couponId?: number;
// 真实姓名
realName?: string;
// 手机号码
phone?: string;
// 订单总额
totalPrice?: string;
// 减少的金额使用VIP会员折扣、优惠券抵扣、优惠券折扣后减去的价格
reducePrice?: string;
// 实际付款
payPrice?: string;
// 用于统计
price?: string;
// 价钱,用于积分赠送
money?: string;
// 退款金额
refundMoney?: string;
// 购买数量
totalNum?: number;
// 0余额支付, 1微信支付102微信Native2会员卡支付3支付宝4现金5POS机
payType?: number;
// 0未付款1已付款
payStatus?: string;
// 0未完成1已完成2已取消3取消中4退款申请中5退款被拒绝6退款成功7客户端申请退款
orderStatus?: number;
// 优惠类型0无、1抵扣优惠券、2折扣优惠券、3、VIP月卡、4VIP年卡5VIP次卡、6VIP会员卡、7IC月卡、8IC年卡、9IC次卡、10IC会员卡、11免费订单、12VIP充值卡、13IC充值卡、14VIP季卡、15IC季卡
couponType?: number;
// 优惠说明
couponDesc?: string;
// 二维码地址,保存订单号,支付成功后才生成
qrcode?: string;
// 预约详情开始时间数组
startTime?: string;
// 是否已开具发票0未开发票1已开发票2不能开具发票
isInvoice?: string;
// 发票流水号
invoiceNo?: string;
// 支付时间
payTime?: string;
// 退款时间
refundTime?: string;
// 申请退款时间
refundApplyTime?: string;
// 过期时间
expirationTime?: string;
// 对账情况0=未对账1=已对账3=已对账金额对不上4=未查询到该订单
checkBill?: number;
// 订单是否已结算(0未结算 1已结算)
isSettled?: number;
// 系统版本号 0当前版本 value=其他版本
version?: number;
// 用户id
userId?: number;
// 备注
comments?: string;
// 排序号
sortNumber?: number;
// 是否删除, 0否, 1是
deleted?: number;
// 租户id
tenantId?: number;
// 修改时间
updateTime?: string;
// 创建时间
createTime?: string;
}
/**
* 订单搜索条件
*/
export interface OrderParam extends PageParam {
orderId?: number;
keywords?: string;
}

View File

@@ -0,0 +1,106 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { OrderGoods, OrderGoodsParam } from './model';
import {SERVER_API_URL} from '@/config/setting';
/**
* 分页查询订单商品
*/
export async function pageOrderGoods(params: OrderGoodsParam) {
const res = await request.get<ApiResult<PageResult<OrderGoods>>>(
SERVER_API_URL + '/system/order-goods/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询订单商品列表
*/
export async function listOrderGoods(params?: OrderGoodsParam) {
const res = await request.get<ApiResult<OrderGoods[]>>(
SERVER_API_URL + '/system/order-goods',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加订单商品
*/
export async function addOrderGoods(data: OrderGoods) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/order-goods',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改订单商品
*/
export async function updateOrderGoods(data: OrderGoods) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/order-goods',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除订单商品
*/
export async function removeOrderGoods(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/order-goods/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除订单商品
*/
export async function removeBatchOrderGoods(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/order-goods/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询订单商品
*/
export async function getOrderGoods(id: number) {
const res = await request.get<ApiResult<OrderGoods>>(
SERVER_API_URL + '/system/order-goods/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,55 @@
import type { PageParam } from '@/api';
/**
* 订单商品
*/
export interface OrderGoods {
// 订单号
id?: number;
// 订单类型0商城 1应用插件
type?: number;
// 订单ID
orderId?: number;
// 项目ID
itemId?: number;
// 实际付款
payPrice?: string;
// 购买数量
totalNum?: number;
// 0未付款1已付款
payStatus?: string;
// 0未完成1已完成2已取消3取消中4退款申请中5退款被拒绝6退款成功7客户端申请退款
orderStatus?: number;
// 预约详情开始时间数组
startTime?: string;
// 是否已开具发票0未开发票1已开发票2不能开具发票
isInvoice?: string;
// 发票流水号
invoiceNo?: string;
// 支付时间
payTime?: string;
// 过期时间
expirationTime?: string;
// 用户id
userId?: number;
// 备注
comments?: string;
// 排序号
sortNumber?: number;
// 是否删除, 0否, 1是
deleted?: number;
// 租户id
tenantId?: number;
// 修改时间
updateTime?: string;
// 创建时间
createTime?: string;
}
/**
* 订单商品搜索条件
*/
export interface OrderGoodsParam extends PageParam {
id?: number;
keywords?: string;
}

View File

@@ -0,0 +1,73 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Organization, OrganizationParam } from './model';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询机构
*/
export async function pageOrganizations(params: OrganizationParam) {
const res = await request.get<ApiResult<PageResult<Organization>>>(
SERVER_API_URL + '/system/organization/page',
{ params }
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询机构列表
*/
export async function listOrganizations(params?: OrganizationParam) {
const res = await request.get<ApiResult<Organization[]>>(
SERVER_API_URL + '/system/organization',
{ params }
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加机构
*/
export async function addOrganization(data: Organization) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/organization',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改机构
*/
export async function updateOrganization(data: Organization) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/organization',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除机构
*/
export async function removeOrganization(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/organization/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,42 @@
import { PageParam } from '@/api';
/**
* 机构
*/
export interface Organization {
// 机构id
organizationId?: number;
// 上级id, 0是顶级
parentId?: number;
// 机构名称
organizationName?: string;
// 机构全称
organizationFullName?: string;
// 机构代码
organizationCode?: string;
// 机构类型(字典)
organizationType?: string;
// 排序号
sortNumber?: number;
// 备注
comments?: string;
// 创建时间
createTime?: string;
// 机构类型名称
organizationTypeName?: string;
//
key?: number;
//
value?: number;
//
title?: string;
children?: Organization[];
}
/**
* 机构搜索条件
*/
export interface OrganizationParam extends PageParam {
organizationName?: string;
parentId?: number;
}

View File

@@ -0,0 +1,106 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Parameter, ParameterParam } from './model';
import {SERVER_API_URL} from '@/config/index';
/**
* 分页查询应用参数
*/
export async function pageParameter(params: ParameterParam) {
const res = await request.get<ApiResult<PageResult<Parameter>>>(
SERVER_API_URL + '/system/parameter/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询应用参数列表
*/
export async function listParameter(params?: ParameterParam) {
const res = await request.get<ApiResult<Parameter[]>>(
SERVER_API_URL + '/system/parameter',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加应用参数
*/
export async function addParameter(data: Parameter) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/parameter',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改应用参数
*/
export async function updateParameter(data: Parameter) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/parameter',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除应用参数
*/
export async function removeParameter(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/parameter/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除应用参数
*/
export async function removeBatchParameter(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/parameter/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询应用参数
*/
export async function getParameter(id: number) {
const res = await request.get<ApiResult<Parameter>>(
SERVER_API_URL + '/system/parameter/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

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

121
api/system/payment/index.ts Normal file
View File

@@ -0,0 +1,121 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Payment, PaymentParam } from './model';
import { SERVER_API_URL } from '@/config';
import type { Order } from '@/api/shop/order/model';
/**
* 分页查询支付方式
*/
export async function pagePayment(params: PaymentParam) {
const res = await request.get<ApiResult<PageResult<Payment>>>(
SERVER_API_URL + '/system/payment/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询支付方式列表
*/
export async function listPayment(params?: PaymentParam) {
const res = await request.get<ApiResult<Payment[]>>(
SERVER_API_URL + '/system/payment',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加支付方式
*/
export async function addPayment(data: Payment) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/payment',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改支付方式
*/
export async function updatePayment(data: Payment) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/payment',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除支付方式
*/
export async function removePayment(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/payment/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除支付方式
*/
export async function removeBatchPayment(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/payment/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询支付方式
*/
export async function getPayment(id: number) {
const res = await request.get<ApiResult<Payment>>(
SERVER_API_URL + '/system/payment/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 生成支付二维码(微信native)
*/
export async function getNativeCode(data: Order) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/wx-native-pay/codeUrl',
data
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,55 @@
import type { PageParam } from '@/api';
/**
* 支付方式
*/
export interface Payment {
// ID
id?: number;
// 支付方式
name?: string;
// 支付类型
type?: number;
// 标识
code?: string;
// 支付图标
image?: string;
// 微信商户号类型 1普通商户2子商户
wechatType?: number;
// 应用ID
appId?: string;
// 商户号
mchId?: string;
// 设置APIv3密钥
apiKey?: string;
// 证书文件 (CERT)
apiclientCert?: string;
// 证书文件 (KEY)
apiclientKey?: string;
// 商户证书序列号
merchantSerialNumber?: string;
// 支付结果通过
notifyUrl?: string;
// 备注
comments?: string;
// 文章排序(数字越小越靠前)
sortNumber?: number;
// 状态, 0启用, 1禁用
status?: boolean;
// 是否删除, 0否, 1是
deleted?: number;
// 租户id
tenantId?: number;
// 注册时间
createTime?: string;
// 修改时间
updateTime?: string;
}
/**
* 支付方式搜索条件
*/
export interface PaymentParam extends PageParam {
id?: number;
keywords?: string;
}

125
api/system/plug/index.ts Normal file
View File

@@ -0,0 +1,125 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Plug, PlugParam } from './model/index';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询应用
*/
export async function pagePlug(params: PlugParam) {
const res = await request.get<ApiResult<PageResult<Plug>>>(
SERVER_API_URL + '/system/plug/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询应用列表
*/
export async function listPlug(params?: PlugParam) {
const res = await request.get<ApiResult<Plug[]>>(
SERVER_API_URL + '/system/plug',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询应用
*/
export async function getPlug(id: number) {
const res = await request.get<ApiResult<Plug>>(
SERVER_API_URL + '/system/plug/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改应用
*/
export async function updatePlug(data: Plug) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/plug',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
// 排行榜
export async function ranking(params?: PlugParam) {
const res = await request.get<ApiResult<Plug[]>>(
SERVER_API_URL + '/system/plug/ranking',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
SERVER_API_URL + '/system/plug/existence',
{
params: { field, value, id }
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
// 搜索历史
export async function searchHistory(params?: String) {
const res = await request.get<ApiResult<String[]>>(
SERVER_API_URL + '/system/plug/search-history',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 制作插件
*/
export async function createPlug(data: Plug) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/plug/plug',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,67 @@
import type { PageParam } from '@/api';
/**
* 插件
*/
export interface Plug {
plugId?: number;
plugName?: string;
plugCode?: string;
// 菜单id
menuId?: number;
// 上级id, 0是顶级
parentId?: number;
// 菜单名称
title?: string;
// 菜单路由地址
path?: string;
// 菜单组件地址
component?: string;
// 菜单类型, 0菜单, 1按钮
menuType?: number;
// 排序号
sortNumber?: number;
// 权限标识
authority?: string;
// 菜单图标
icon?: string;
// 是否隐藏, 0否,1是(仅注册路由不显示左侧菜单)
hide?: number;
// 路由元信息
meta?: string;
score?: number;
price?: number;
// 创建时间
createTime?: string;
// 子菜单
children?: Plug[];
// 权限树回显选中状态, 0未选中, 1选中
checked?: boolean;
shortName?: string;
comments?: string;
content?: string;
//
key?: number;
//
value?: number;
//
parentIds?: number[];
//
openType?: number;
//
userId?: number;
//
appId?: number;
status?: number;
tenantId?: number;
}
/**
* 插件搜索条件
*/
export interface PlugParam extends PageParam {
title?: string;
path?: string;
authority?: string;
parentId?: number;
}

119
api/system/role/index.ts Normal file
View File

@@ -0,0 +1,119 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Role, RoleParam } from './model';
import type { Menu } from '../menu/model';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询角色
*/
export async function pageRoles(params: RoleParam) {
const res = await request.get<ApiResult<PageResult<Role>>>(
SERVER_API_URL + '/system/role/page',
{ params }
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询角色列表
*/
export async function listRoles(params?: RoleParam) {
const res = await request.get<ApiResult<Role[]>>(
SERVER_API_URL + '/system/role',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加角色
*/
export async function addRole(data: Role) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/role',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改角色
*/
export async function updateRole(data: Role) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/role',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除角色
*/
export async function removeRole(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/role/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除角色
*/
export async function removeRoles(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/role/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 获取角色分配的菜单
*/
export async function listRoleMenus(roleId?: number) {
const res = await request.get<ApiResult<Menu[]>>(
SERVER_API_URL + '/system/role-menu/' + roleId
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改角色菜单
*/
export async function updateRoleMenus(roleId?: number, data?: number[]) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/role-menu/' + roleId,
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,27 @@
import type { PageParam } from '@/api';
/**
* 角色
*/
export interface Role {
// 角色id
roleId?: number;
// 角色标识
roleCode?: string;
// 角色名称
roleName?: string;
sortNumber?: any;
// 备注
comments?: any;
// 创建时间
createTime?: string;
}
/**
* 角色搜索条件
*/
export interface RoleParam extends PageParam {
roleName?: string;
roleCode?: string;
comments?: string;
}

126
api/system/setting/index.ts Normal file
View File

@@ -0,0 +1,126 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Setting, SettingParam } from './model';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询设置
*/
export async function pageSetting(params: SettingParam) {
const res = await request.get<ApiResult<PageResult<Setting>>>(
SERVER_API_URL + '/system/setting/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询设置列表
*/
export async function listSetting(params?: SettingParam) {
const res = await request.get<ApiResult<Setting[]>>(
SERVER_API_URL + '/system/setting',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询
*/
export async function getSetting(id: number) {
const res = await request.get<ApiResult<Setting>>(
SERVER_API_URL + '/system/setting/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加设置
*/
export async function addSetting(data: Setting) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/setting',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改设置
*/
export async function updateSetting(data: Setting) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/setting',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除设置
*/
export async function removeSetting(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/setting/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除设置
*/
export async function removeBatchSetting(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/setting/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
SERVER_API_URL + '/system/setting/existence',
{
params: { field, value, id }
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,127 @@
import type { PageParam } from '@/api';
/**
* 系统设置
*/
export interface Setting {
// 公共字段
settingId?: number;
settingKey?: string;
content?: string;
comments?: string;
tenantName?: string;
tenantId?: string | null;
// 设置信息
siteName?: string;
fullName?: string;
tenantCode?: string;
domain?: string;
remarks?: string;
icp?: string;
copyright?: string;
keyword?: string;
phone?: string;
company?: string;
address?: string;
email?: string;
support?: string;
logo?: string;
// 注册设置
roleId?: number;
openWxAuth?: number;
openWxBindPhone?: number;
openWxofficialAuth?: number;
openWxofficialBindPhone?: number;
tokenExpireTime?: number;
// 短信设置
type?: number;
accessKeyId?: string;
accessKeySecret?: string;
sign?: string;
isNoticeUser?: string;
userTemplateId?: string;
merchantTemplateId?: string;
isNoticeMerchant?: string;
merchantMobiles?: string;
// 支付设置
payMethod?: string;
signMode?: string;
alipayAppId?: string;
signType?: string;
appCertPublicKey?: string;
alipayCertPublicKey?: string;
alipayRootCert?: string;
alipayPublicKey?: string;
privateKey?: string;
decryptKey?: string;
balanceIsEnable?: boolean;
wechatIsEnable?: boolean;
alipayIsEnable?: boolean;
wechatType?: string;
mchId?: number;
wechatAppId?: string;
wechatApiKey?: string;
apiclientCert?: string;
apiclientKey?: string;
spAppId?: string;
spMchId?: string;
spApiKey?: string;
spSubAppId?: string;
spSubMchId?: string;
spApiclientCert?: string;
spApiclientKey?: string;
merchantSerialNumber?: string;
// 微信公众号/小程序设置
appId?: string;
appSecret?: string;
wxOfficialAccount?: string;
originalId?: string;
// 企业微信参数
suiteId?: string;
secret?: string;
corpId?: string;
token?: string;
encodingAESKey?: string;
// 打印设置
isOpenPrinter?: string;
printerType?: string;
printerStatus?: string;
printerUser?: string;
printerUserKey?: string;
printerCode?: string;
printerKey?: string;
printerTimes?: string;
// chatGPT
chatKey?: string;
// 清除缓存
clearCache?: string;
// 主题
theme?: string;
// 云存储
uploadMethod?: any;
fileUrl?: string;
bucketName?: string;
bucketEndpoint?: string;
bucketDomain?: string;
// accessKeyId?: string; 引用上面的
// accessKeySecret?: string; 引用上面的
}
/**
* 系统设置搜索条件
*/
export interface SettingParam extends PageParam {
settingId?: number;
settingKey?: string;
}

178
api/system/tenant/index.ts Normal file
View File

@@ -0,0 +1,178 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Tenant, TenantParam } from './model';
import { Menu } from '@/api/system/menu/model';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询租户
*/
export async function pageTenant(params: TenantParam) {
// 租户列表查询需要传一个key
// params.tenantCode = 'ZAcxbdmDQFwUKC3e';
const res = await request.get<ApiResult<PageResult<Tenant>>>(
SERVER_API_URL + '/system/tenant/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询租户资料
*/
export async function profile(params?: TenantParam) {
const res = await request.get<ApiResult<Tenant>>(
SERVER_API_URL + '/system/tenant/profile',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询租户列表
*/
export async function listTenant(params?: TenantParam) {
const res = await request.get<ApiResult<Tenant[]>>(
SERVER_API_URL + '/system/tenant',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询
*/
export async function getTenant(id: number) {
const res = await request.get<ApiResult<Tenant>>(
SERVER_API_URL + '/system/tenant/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加租户
*/
export async function addTenant(data: Tenant) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/tenant',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改租户
*/
export async function updateTenant(data: Tenant) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/tenant',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除租户
*/
export async function removeTenant(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/tenant/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除租户
*/
export async function removeBatchTenant(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/tenant/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 重置用户密码
*/
export async function updateTenantPassword(
tenantId?: number,
password = 'gxwebsoft.com'
) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/tenant/password',
{
tenantId,
password
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
SERVER_API_URL + '/system/tenant/existence',
{
params: { field, value, id }
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 租户初始化
*/
export async function initialization(roleId?: number) {
const res = await request.get<ApiResult<Menu[]>>(
SERVER_API_URL + '/system/tenant/role-menu/' + roleId
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,46 @@
import type { PageParam } from '@/api';
import { Company } from '@/api/system/company/model';
/**
* 租户
*/
export interface Tenant {
// 租户id
tenantId?: number;
// 租户名称
tenantName?: string;
// 应用ID
appId?: string;
// 应用秘钥
appSecret?: string;
// logo
logo?: string;
// 企业名称
companyName?: string;
// 关联客户ID
companyId?: string;
// 备注
comments?: string;
// 创建时间
createTime?: string;
// 状态
status?: number;
//
password?: string;
// 企业信息
company?: Company | null;
}
/**
* 租户搜索条件
*/
export interface TenantParam extends PageParam {
tenantName?: string;
appId?: string;
companyId?: number;
companyName?: string;
version?: string;
province?: string;
city?: string;
tenantCode?: string;
}

106
api/system/url/index.ts Normal file
View File

@@ -0,0 +1,106 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Url, UrlParam } from './model';
import {SERVER_API_URL} from '@/config/index';
/**
* 分页查询应用域名
*/
export async function pageUrl(params: UrlParam) {
const res = await request.get<ApiResult<PageResult<Url>>>(
SERVER_API_URL + '/system/url/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询应用域名列表
*/
export async function listUrl(params?: UrlParam) {
const res = await request.get<ApiResult<Url[]>>(
SERVER_API_URL + '/system/url',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加应用域名
*/
export async function addUrl(data: Url) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/url',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改应用域名
*/
export async function updateUrl(data: Url) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/url',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除应用域名
*/
export async function removeUrl(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/url/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除应用域名
*/
export async function removeBatchUrl(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/url/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询应用域名
*/
export async function getUrl(id: number) {
const res = await request.get<ApiResult<Url>>(
SERVER_API_URL + '/system/url/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,37 @@
import type { PageParam } from '@/api';
/**
* 应用域名
*/
export interface Url {
// 自增ID
id?: number;
// 域名类型
type?: string;
// 域名
domain?: string;
// 账号
account?: string;
// 密码
password?: string;
// 二维码
qrcode?: string;
// 备注
comments?: string;
// 排序(数字越小越靠前)
sortNumber?: number;
// 状态, 0正常, 1待确认
status?: number;
// 创建时间
createTime?: string;
// 租户id
tenantId?: number;
}
/**
* 应用域名搜索条件
*/
export interface UrlParam 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 { UserCollection, UserCollectionParam } from './model';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询我的收藏
*/
export async function pageUserCollection(params: UserCollectionParam) {
const res = await request.get<ApiResult<PageResult<UserCollection>>>(
SERVER_API_URL + '/system/user-collection/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询我的收藏列表
*/
export async function listUserCollection(params?: UserCollectionParam) {
const res = await request.get<ApiResult<UserCollection[]>>(
SERVER_API_URL + '/system/user-collection',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加我的收藏
*/
export async function addUserCollection(data: UserCollection) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/user-collection',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改我的收藏
*/
export async function updateUserCollection(data: UserCollection) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user-collection',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除我的收藏
*/
export async function removeUserCollection(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/user-collection/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除我的收藏
*/
export async function removeBatchUserCollection(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/user-collection/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询我的收藏
*/
export async function getUserCollection(id: number) {
const res = await request.get<ApiResult<UserCollection>>(
SERVER_API_URL + '/system/user-collection/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,25 @@
import type { PageParam } from '@/api';
/**
* 我的收藏
*/
export interface UserCollection {
// 主键ID
id?: number;
// 租户ID
tid?: number;
// 用户ID
userId?: number;
// 租户id
tenantId?: number;
// 注册时间
createTime?: string;
}
/**
* 我的收藏搜索条件
*/
export interface UserCollectionParam extends PageParam {
id?: number;
keywords?: string;
}

View File

@@ -0,0 +1,89 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { UserFile, UserFileParam } from './model';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询用户文件
*/
export async function pageUserFiles(params: UserFileParam) {
const res = await request.get<ApiResult<PageResult<UserFile>>>(
SERVER_API_URL + '/system/user-file/page',
{ params }
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询用户文件列表
*/
export async function listUserFiles(params: UserFileParam) {
const res = await request.get<ApiResult<UserFile[]>>(
SERVER_API_URL + '/system/user-file',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加用户文件
*/
export async function addUserFile(data: UserFile) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/user-file',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改用户文件
*/
export async function updateUserFile(data: UserFile) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user-file',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除用户文件
*/
export async function removeUserFile(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/user-file/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除用户文件
*/
export async function removeUserFiles(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/user-file/batch',
{ data }
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,39 @@
import { PageParam } from '@/api';
/**
* 用户文件
*/
export interface UserFile {
// id
id?: number;
// 用户id
userId?: number;
// 文件名称
name?: string;
// 是否是文件夹, 0否, 1是
isDirectory?: number;
// 上级id
parentId?: number;
// 文件存储路径
path?: string;
// 文件大小
length?: number;
// 文件类型
contentType?: string;
// 上传时间
createTime?: string;
// 文件访问地址
url?: string;
// 文件缩略图访问地址
thumbnail?: string;
// 文件下载地址
downloadUrl?: string;
}
/**
* 用户文件查询参数
*/
export interface UserFileParam extends PageParam {
name?: string;
parentId?: number;
}

View File

@@ -0,0 +1,120 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Group, GroupParam } from '@/api/system/user-group/model';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询仓库
*/
export async function pageGroup(params: GroupParam) {
const res = await request.get<ApiResult<PageResult<Group>>>(
SERVER_API_URL + '/system/user-group/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询仓库列表
*/
export async function listGroup(params?: GroupParam) {
const res = await request.get<ApiResult<Group[]>>(
SERVER_API_URL + '/system/user-group',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加仓库
*/
export async function addGroup(data: Group) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/user-group',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改仓库
*/
export async function updateGroup(data: Group) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user-group',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 绑定仓库
*/
export async function bindGroup(data: Group) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user-group/bind',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量添加设备
*/
export async function addBatchGroup(data: Group[]) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/user-group/batch',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除仓库
*/
export async function removeGroup(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/user-group/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除仓库
*/
export async function removeBatchGroup(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/user-group/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,23 @@
import type { PageParam } from '@/api';
export interface Group {
groupId?: number;
name?: string;
status?: number;
comments?: any;
sortNumber?: number;
deleted?: number;
tenantId?: number;
createTime?: string;
updateTime?: string;
}
/**
* 搜索条件
*/
export interface GroupParam extends PageParam {
groupId?: number;
name?: string;
status?: number;
keywords?: string;
}

236
api/system/user/index.ts Normal file
View File

@@ -0,0 +1,236 @@
import request from '~/utils/request';
import type {ApiResult, PageResult} from '@/api';
import type {User, UserParam} from './model';
import {SERVER_API_URL} from '@/config';
/**
* 分页查询用户
*/
export async function pageUsers(params: UserParam) {
const res = await request.get<ApiResult<PageResult<User>>>(
SERVER_API_URL + '/system/user/page',
{params}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询用户列表
*/
export async function listUsers(params?: UserParam) {
const res = await request.get<ApiResult<User[]>>(
SERVER_API_URL + '/system/user',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询用户列表
*/
export async function getStaffs(params?: UserParam) {
const res = await request.get<ApiResult<User[]>>(
SERVER_API_URL + '/system/user',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询用户列表
*/
export async function getCompanyList(params?: UserParam) {
const res = await request.get<ApiResult<User[]>>(
SERVER_API_URL + '/system/user',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询用户
*/
export async function getUser(id: number) {
const res = await request.get<ApiResult<User>>(
SERVER_API_URL + '/system/user/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加用户
*/
export async function addUser(data: User) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/user',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改用户
*/
export async function updateUser(data: User) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除用户
*/
export async function removeUser(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除用户
*/
export async function removeUsers(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改用户状态
*/
export async function updateUserStatus(userId?: number, status?: number) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/status',
{
userId,
status
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改推荐状态
*/
export async function updateUserRecommend(form: any) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/recommend',
form
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 重置用户密码
*/
export async function updateUserPassword(userId?: number, password = '123456') {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/password',
{
userId,
password
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 导入用户
*/
export async function importUsers(file: File) {
const formData = new FormData();
formData.append('file', file);
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/import',
formData
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 检查用户是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/existence',
{
params: {field, value, id}
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 统计用户余额
*/
export async function countUserBalance(params?: UserParam) {
const res = await request.get<ApiResult<unknown>>(
SERVER_API_URL + '/system/user/countUserBalance',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,15 @@
import type { PageParam } from '@/api';
/**
* 用户
*/
export interface Count {
balance?: string;
}
/**
* 用户搜索条件
*/
export interface UserParam extends PageParam {
organizationId?: number;
}

View File

@@ -0,0 +1,159 @@
import type { PageParam } from '@/api';
import type { Role } from '../../role/model';
import type { Menu } from '../../menu/model';
/**
* 用户
*/
export interface User {
// 账号类型
type?: number;
// 用户id
userId?: number;
// 账号
username?: string;
// 密码
password?: string;
password2?: string;
oldPassword?: string;
// 昵称
nickname?: string;
openId?: string;
sessionKey?: string;
// 别名
alias?: string;
// 头像
avatar?: string;
// 性别(字典)
sex?: string;
// 手机号
phone?: string;
// 脱敏手机号
mobile?: string;
// 邮箱
email?: string;
// 出生日期
birthday?: string;
age?: number;
// 详细地址
address?: string;
longitude?: string;
latitude?: string;
// 会员等级ID
gradeId?: number;
// 个人简介
introduction?: string;
// 机构id
organizationId?: number;
// 状态, 0正常, 1冻结
status?: number;
// 性别名称
sexName?: string;
province?: string;
city?: string;
region?: string;
// 机构名称
organizationName?: string;
// 角色列表
roles?: Role[];
roleCode?: string;
roleId?: number;
roleName?: string;
// 权限列表
authorities?: Menu[];
payTime?: string;
deliveryTime?: string;
receiptTime?: string;
merchantId?: number;
merchantName?: string;
merchantAvatar?: string;
// 可管理的商户
merchants?: string;
// 创建时间
createTime?: string;
// 租户ID
tenantId?: number;
// 租户名称
tenantName?: string;
logo?: string;
companyId?: number;
companyInfo?: any;
planId?: number;
code?: string;
smsCode?: string;
//
remember?: boolean;
balance?: number;
points?: number;
payMoney?: number;
setting?: string;
realName?: string;
companyName?: string;
gradeName?: string;
idCard?: string;
comments?: string;
recommend?: number;
system?: any;
// 头像地址
avatarUrl?: string;
// 1男2女
gender?: string;
// 国家
country?: string;
// 邮箱是否验证, 0否, 1是
emailVerified?: number;
// 注册时间
addTime?: number;
//
idcard?: string;
//
truename?: string;
// 是否超级管理员
isSuperAdmin?: boolean;
// 是否管理员1是2否
isAdmin?: boolean;
// 是否同意注册协议
isAgree?: boolean;
// 客户端ID
clientId?: string;
// 注册来源客户端 (APP、H5、小程序等)
platform?: string;
// 排序
sortNumber?: number;
deleted?: number;
// 实名认证状态
certification?: boolean;
// 实名认证类型
certificationType?: number;
}
/**
* 用户搜索条件
*/
export interface UserParam extends PageParam {
keywords?: any;
type?: any;
userId?: number;
username?: string;
password?: string;
nickname?: string;
realName?: string;
gradeId?: unknown;
gradeName?: string;
companyName?: string;
city?: string;
cityMate?: string;
sex?: string;
phone?: string;
email?: string;
code?: string;
status?: number;
organizationId?: number;
parentId?: number;
sexName?: string;
roleId?: string;
isAdmin?: number;
isSuperAdmin?: boolean;
showProfile?: boolean;
isStaff?: boolean;
}

119
api/system/version/index.ts Normal file
View File

@@ -0,0 +1,119 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { Version, VersionParam } from './model';
import type { Menu } from '../menu/model';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询角色
*/
export async function pageVersion(params: VersionParam) {
const res = await request.get<ApiResult<PageResult<Version>>>(
SERVER_API_URL + '/system/version/page',
{ params }
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询角色列表
*/
export async function listVersion(params?: VersionParam) {
const res = await request.get<ApiResult<Version[]>>(
SERVER_API_URL + '/system/version',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加角色
*/
export async function addVersion(data: Version) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/version',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改角色
*/
export async function updateVersion(data: Version) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/version',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除角色
*/
export async function removeVersion(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/version/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除角色
*/
export async function removeVersions(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/version/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 获取角色分配的菜单
*/
export async function listVersionMenus(versionId?: number) {
const res = await request.get<ApiResult<Menu[]>>(
SERVER_API_URL + '/system/version-menu/' + versionId
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改角色菜单
*/
export async function updateVersionMenus(versionId?: number, data?: number[]) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/version-menu/' + versionId,
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,26 @@
import type { PageParam } from '@/api';
export interface Version {
id?: number;
versionName?: string;
versionCode?: string;
vueDownloadUrl?: string;
androidDownloadUrl?: string;
iosDownloadUrl?: string;
updateInfo?: any;
isHard?: boolean;
isHot?: boolean;
status?: number;
comments?: string;
tenantId?: number;
createTime?: string;
}
/**
* 角色搜索条件
*/
export interface VersionParam extends PageParam {
versionName?: string;
versionCode?: string;
comments?: string;
}

View File

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

View File

@@ -0,0 +1,25 @@
import type { PageParam } from '@/api';
/**
* 网站参数
*/
export interface WebsiteField {
id?: number;
name?: string;
value?: string;
comments?: string;
userId?: number;
websiteId?: number;
status?: any;
sortNumber?: any;
createTime?: string;
}
/**
* 网站参数搜索条件
*/
export interface WebsiteFieldParam extends PageParam {
id?: number;
userId?: number;
websiteId?: number;
}

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

View File

@@ -0,0 +1,58 @@
import { WebsiteField } from '@/api/cms/website/field/model';
import { Navigation } from '@/api/cms/navigation/model';
import { Link } from '@/api/cms/link/model';
import { ArrangeCategory } from '@/api/cms/category/model';
/**
* 菜单
*/
export interface Website {
websiteId?: number;
websiteName?: string;
websiteCode?: string;
websiteIcon?: string;
websiteLogo?: string;
websiteDarkLogo?: string;
keywords?: string;
address?: string;
phone?: string;
email?: string;
websiteType?: string;
expirationTime?: string;
templateId?: string;
industryParent?: string;
industryChild?: string;
companyId?: number;
domain?: string;
icpNo?: string;
policeNo?: string;
comments?: string;
sortNumber?: number;
createTime?: string;
disabled?: boolean;
country?: string;
province?: string;
recommend?: number;
city?: string;
region?: string;
appId?: number;
fields?: WebsiteField[];
status?: number;
tenantId?: number;
tenantName?: string;
navigations?: Navigation[];
categoryList?: ArrangeCategory[];
links?: Link[];
// 配置信息
config?: any;
}
/**
* 菜单搜索参数
*/
export interface WebsiteParam {
title?: string;
path?: string;
authority?: string;
parentId?: number;
}

View File

@@ -0,0 +1,146 @@
import request from '~/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { WhiteDomain, WhiteDomainParam } from './model';
import { SERVER_API_URL } from '@/config';
/**
* 分页查询服务器白名单
*/
export async function pageWhiteDomain(params: WhiteDomainParam) {
const res = await request.get<ApiResult<PageResult<WhiteDomain>>>(
SERVER_API_URL + '/system/white-domain/page',
{
params
}
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询服务器白名单列表
*/
export async function listWhiteDomain(params?: WhiteDomainParam) {
const res = await request.get<ApiResult<WhiteDomain[]>>(
SERVER_API_URL + '/system/white-domain',
{
params
}
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加服务器白名单
*/
export async function addWhiteDomain(data: WhiteDomain) {
const res = await request.post<ApiResult<unknown>>(
SERVER_API_URL + '/system/white-domain',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改服务器白名单
*/
export async function updateWhiteDomain(data: WhiteDomain) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/white-domain',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除服务器白名单
*/
export async function removeWhiteDomain(id?: number) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/white-domain/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除服务器白名单
*/
export async function removeBatchWhiteDomain(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
SERVER_API_URL + '/system/white-domain/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改用户状态
*/
export async function updateWhiteDomainStatus(
docsId?: number,
status?: number
) {
const res = await request.put<ApiResult<unknown>>(
SERVER_API_URL + '/system/white-domain/status',
{
docsId,
status
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询服务器白名单
*/
export async function getWhiteDomain(id: number) {
const res = await request.get<ApiResult<WhiteDomain>>(
SERVER_API_URL + '/system/white-domain/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 检查IP是否存在
*/
export async function checkExistence(
field: string,
value: string,
id?: number
) {
const res = await request.get<ApiResult<unknown>>(
SERVER_API_URL + '/system/white-domain/existence',
{
params: { field, value, id }
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,27 @@
import type { PageParam } from '@/api';
/**
* 服务器白名单
*/
export interface WhiteDomain {
// 自增ID
id?: number;
// 域名
domain?: string;
// 排序
sortNumber?: number;
// 备注
comments?: string;
// 状态
status?: number;
// 创建时间
createTime?: string;
}
/**
* 服务器白名单搜索条件
*/
export interface WhiteDomainParam extends PageParam {
id?: number;
domain?: string;
}