This commit is contained in:
qsh
2025-05-12 14:11:54 +08:00
parent e71c9928a2
commit f6e98e71e2
385 changed files with 45604 additions and 14 deletions

View File

@@ -0,0 +1,36 @@
import request from '@/config/axios'
// 创建
export const createCustomer = (data) => {
return request.post({ url: '/admin-api/tiku/customer/create', data, isSubmitForm: true })
}
// 分页
export const getCustomerSimpleList = (params) => {
return request.get({ url: '/admin-api/tiku/customer/list-all-simple', params })
}
// 修改
export const updateCustomer = (data) => {
return request.put({ url: '/admin-api/tiku/customer/update', data })
}
// 分页
export const getCustomerPage = (params) => {
return request.get({ url: '/admin-api/tiku/customer/page', params })
}
// 详情
export const getCustomerDetail = (id) => {
return request.get({ url: '/admin-api/tiku/customer/get', params: { id } })
}
// 删除
export const deleteCustomer = (id) => {
return request.delete({ url: '/admin-api/tiku/customer/delete', params: { id } })
}
// 获取钉钉id
export const getDingUserId = (params) => {
return request.get({ url: '/admin-api/tiku/customer/getDingTalkUserIdByMobile', params })
}

View File

@@ -0,0 +1,48 @@
import request from '@/config/axios'
export interface ConfigVO {
id: number | undefined
category: string
name: string
key: string
value: string
type: number
visible: boolean
remark: string
createTime: Date
}
// 查询参数列表
export const getConfigPage = (params: PageParam) => {
return request.get({ url: '/admin-api/infra/config/page', params })
}
// 查询参数详情
export const getConfig = (id: number) => {
return request.get({ url: '/admin-api/infra/config/get?id=' + id })
}
// 根据参数键名查询参数值
export const getConfigKey = (configKey: string) => {
return request.get({ url: '/admin-api/infra/config/get-value-by-key?key=' + configKey })
}
// 新增参数
export const createConfig = (data: ConfigVO) => {
return request.post({ url: '/admin-api/infra/config/create', data })
}
// 修改参数
export const updateConfig = (data: ConfigVO) => {
return request.put({ url: '/admin-api/infra/config/update', data })
}
// 删除参数
export const deleteConfig = (id: number) => {
return request.delete({ url: '/admin-api/infra/config/delete?id=' + id })
}
// 导出参数
export const exportConfig = (params) => {
return request.download({ url: '/admin-api/infra/config/export', params })
}

View File

@@ -0,0 +1,45 @@
import request from '@/config/axios'
export interface FilePageReqVO extends PageParam {
path?: string
type?: string
createTime?: Date[]
}
// 文件预签名地址 Response VO
export interface FilePresignedUrlRespVO {
// 文件配置编号
configId: number
// 文件上传 URL
uploadUrl: string
// 文件 URL
url: string
}
// 查询文件列表
export const getFilePage = (params: FilePageReqVO) => {
return request.get({ url: '/infra/file/page', params })
}
// 删除文件
export const deleteFile = (id: number) => {
return request.delete({ url: '/infra/file/delete?id=' + id })
}
// 获取文件预签名地址
export const getFilePresignedUrl = (path: string) => {
return request.get<FilePresignedUrlRespVO>({
url: '/infra/file/presigned-url',
params: { path }
})
}
// 创建文件
export const createFile = (data: any) => {
return request.post({ url: '/infra/file/create', data })
}
// 上传文件
export const updateFile = (data: any) => {
return request.upload({ url: '/admin-api/system/file/upload', data })
}

73
src/api/login/index.ts Normal file
View File

@@ -0,0 +1,73 @@
import request from '@/config/axios'
import { getRefreshToken } from '@/utils/auth'
import type { UserLoginVO } from './types'
export interface SmsCodeVO {
mobile: string
scene: number
}
export interface SmsLoginVO {
mobile: string
code: string
}
// 登录
export const login = (data: UserLoginVO) => {
return request.post({ url: '/admin-api/system/auth/login', data })
}
// 刷新访问令牌
export const refreshToken = () => {
return request.post({
url: '/admin-api/system/auth/refresh-token?refreshToken=' + getRefreshToken()
})
}
// 使用租户名,获得租户编号
export const getTenantIdByName = (name: string) => {
return request.get({ url: '/admin-api/system/tenant/get-id-by-name?name=' + name })
}
// 登出
export const loginOut = () => {
return request.post({ url: '/admin-api/system/auth/logout' })
}
// 获取用户权限信息
export const getInfo = (params) => {
return request.get({ url: '/admin-api/system/auth/get-permission-info', params })
}
//获取登录验证码
export const sendSmsCode = (data: SmsCodeVO) => {
return request.post({ url: '/admin-api/system/auth/send-sms-code', data })
}
// 短信验证码登录
export const smsLogin = (data: SmsLoginVO) => {
return request.post({ url: '/admin-api/system/auth/sms-login', data })
}
// 社交授权的跳转
export const socialAuthRedirect = (type: number, redirectUri: string) => {
return request.get({
url: '/admin-api/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri
})
}
// 获取验证图片以及 token
export const getCode = (data) => {
return request.postOriginal({ url: '/admin-api/system/captcha/get', data })
}
// 滑动或者点选验证
export const reqCheck = (data) => {
return request.postOriginal({ url: '/admin-api/system/captcha/check', data })
}
// 获取应用信息
export const getAppInfo = (instanceId: number) => {
return request.get({
url: '/admin-api/system/serviceInstance/getInstanceInfo?instanceId=' + instanceId
})
}

View File

@@ -0,0 +1,41 @@
import request from '@/config/axios'
// 获得授权信息
export const getAuthorize = (clientId: string) => {
return request.get({ url: '/admin-api/system/oauth2/authorize?clientId=' + clientId })
}
// 发起授权
export const authorize = (
responseType: string,
clientId: string,
redirectUri: string,
state: string,
autoApprove: boolean,
checkedScopes: string[],
uncheckedScopes: string[]
) => {
// 构建 scopes
const scopes = {}
for (const scope of checkedScopes) {
scopes[scope] = true
}
for (const scope of uncheckedScopes) {
scopes[scope] = false
}
// 发起请求
return request.post({
url: '/admin-api/system/oauth2/authorize',
headers: {
'Content-type': 'application/x-www-form-urlencoded'
},
params: {
response_type: responseType,
client_id: clientId,
redirect_uri: redirectUri,
state: state,
auto_approve: autoApprove,
scope: JSON.stringify(scopes)
}
})
}

28
src/api/login/types.ts Normal file
View File

@@ -0,0 +1,28 @@
export type UserLoginVO = {
username: string
password: string
captchaVerification: string
}
export type TokenType = {
id: number // 编号
accessToken: string // 访问令牌
refreshToken: string // 刷新令牌
userId: number // 用户编号
userType: number //用户类型
clientId: string //客户端编号
expiresTime: number //过期时间
}
export type UserVO = {
id: number
username: string
nickname: string
deptId: number
email: string
mobile: string
sex: number
avatar: string
loginIp: string
loginDate: string
}

View File

@@ -0,0 +1,5 @@
import request from '@/config/axios'
export const getSimpleAppList = async () => {
return await request.get({ url: '/admin-api/system/serviceInstance/simple-list' })
}

View File

@@ -0,0 +1,43 @@
import request from '@/config/axios'
export interface DeptVO {
id?: number
name: string
parentId: number
status: number
sort: number
leaderUserId: number
phone: string
email: string
createTime: Date
}
// 查询部门(精简)列表
export const getSimpleDeptList = async (params: any): Promise<any[]> => {
return await request.get({ url: '/admin-api/system/dept/list-all-simple', params })
}
// 查询部门列表
export const getDeptPage = async (params) => {
return await request.get({ url: '/admin-api/system/dept/list', params })
}
// 查询部门详情
export const getDept = async (id: number) => {
return await request.get({ url: '/admin-api/system/dept/get?id=' + id })
}
// 新增部门
export const createDept = async (data: DeptVO) => {
return await request.post({ url: '/admin-api/system/dept/create', data: data })
}
// 修改部门
export const updateDept = async (params: DeptVO) => {
return await request.put({ url: '/admin-api/system/dept/update', data: params })
}
// 删除部门
export const deleteDept = async (id: number) => {
return await request.delete({ url: '/admin-api/system/dept/delete?id=' + id })
}

View File

@@ -0,0 +1,54 @@
import request from '@/config/axios'
export type DictDataVO = {
id: number | undefined
sort: number | undefined
label: string
value: string
dictType: string
status: number
colorType: string
cssClass: string
remark: string
createTime: Date
}
// 查询字典数据(精简)列表
export const listSimpleDictData = () => {
return request.get({ url: '/admin-api/oa/dict-data/simple-list' })
}
// 查询字典数据列表
export const getDictDataPage = (params: PageParam) => {
return request.get({ url: '/admin-api/oa/dict-data/page', params })
}
// 查询字典数据详情
export const getDictData = (id: number) => {
return request.get({ url: '/admin-api/oa/dict-data/get?id=' + id })
}
// 新增字典数据
export const createDictData = (data: DictDataVO) => {
return request.post({ url: '/admin-api/oa/dict-data/create', data })
}
// 修改字典数据
export const updateDictData = (data: DictDataVO) => {
return request.put({ url: '/admin-api/oa/dict-data/update', data })
}
// 删除字典数据
export const deleteDictData = (id: number) => {
return request.delete({ url: '/admin-api/oa/dict-data/delete?id=' + id })
}
// 导出字典类型数据
export const exportDictData = (params) => {
return request.get({ url: '/admin-api/oa/dict-data/export', params })
}
// 获取通用字典数据
export const getGeneralSysDictData = (dictType: string) => {
return request.get({ url: '/admin-api/system/dict-data/get-by-type', params: { dictType } })
}

View File

@@ -0,0 +1,44 @@
import request from '@/config/axios'
export type DictTypeVO = {
id: number | undefined
name: string
type: string
status: number
remark: string
createTime: Date
}
// 查询字典(精简)列表
export const getSimpleDictTypeList = () => {
return request.get({ url: '/admin-api/oa/dict-type/list-all-simple' })
}
// 查询字典列表
export const getDictTypePage = (params: PageParam) => {
return request.get({ url: '/admin-api/oa/dict-type/page', params })
}
// 查询字典详情
export const getDictType = (id: number) => {
return request.get({ url: '/admin-api/oa/dict-type/get?id=' + id })
}
// 新增字典
export const createDictType = (data: DictTypeVO) => {
return request.post({ url: '/admin-api/oa/dict-type/create', data })
}
// 修改字典
export const updateDictType = (data: DictTypeVO) => {
return request.put({ url: '/admin-api/oa/dict-type/update', data })
}
// 删除字典
export const deleteDictType = (id: number) => {
return request.delete({ url: '/admin-api/oa/dict-type/delete?id=' + id })
}
// 导出字典类型
export const exportDictType = (params) => {
return request.get({ url: '/admin-api/oa/dict-type/export', params })
}

View File

@@ -0,0 +1,54 @@
import request from '@/config/axios'
export interface MenuVO {
id: number
name: string
permission: string
type: number
sort: number
parentId: number
path: string
icon: string
component: string
componentName?: string
status: number
visible: boolean
keepAlive: boolean
alwaysShow?: boolean
createTime: Date
}
// 获取服务列表
export const getServiceAppList = () => {
return request.get({ url: '/admin-api/system/service/list' })
}
// 查询菜单(精简)列表
export const getSimpleMenusList = () => {
return request.get({ url: '/admin-api/system/menu/list-all-simple' })
}
// 查询菜单列表
export const getMenuList = (params) => {
return request.get({ url: '/admin-api/system/menu/list', params })
}
// 获取菜单详情
export const getMenu = (id: number) => {
return request.get({ url: '/admin-api/system/menu/get?id=' + id })
}
// 新增菜单
export const createMenu = (data: MenuVO) => {
return request.post({ url: '/admin-api/system/menu/create', data })
}
// 修改菜单
export const updateMenu = (data: MenuVO) => {
return request.put({ url: '/admin-api/system/menu/update', data })
}
// 删除菜单
export const deleteMenu = (id: number) => {
return request.delete({ url: '/admin-api/system/menu/delete?id=' + id })
}

View File

@@ -0,0 +1,53 @@
import request from '@/config/axios'
export interface NotifyMessageVO {
id: number
userId: number
userType: number
templateId: number
templateCode: string
templateNickname: string
templateContent: string
templateType: number
templateParams: string
readStatus: boolean
readTime: Date
}
// 查询站内信消息列表
export const getNotifyMessagePage = async (params: any) => {
return await request.get({ url: '/admin-api/system/notify-message/page', params })
}
// 获得我的站内信分页
export const getMyNotifyMessagePage = async (params: any) => {
return await request.get({ url: '/admin-api/system/notify-message/my-page', params })
}
// 批量标记已读
export const updateNotifyMessageRead = async (data: any) => {
return await request.put({
url: '/admin-api/system/notify-message/update-read?',
data
})
}
// 标记所有站内信为已读
export const updateAllNotifyMessageRead = async (data: any) => {
return await request.put({ url: '/admin-api/system/notify-message/update-all-read', data })
}
// 获取当前用户的最新站内信列表
export const getUnreadNotifyMessageList = async (params: any) => {
return await request.get({ url: '/admin-api/system/notify-message/get-unread-list', params })
}
// 获得当前用户的未读站内信数量
export const getUnreadNotifyMessageCount = async (params: any) => {
return await request.get({ url: '/admin-api/system/notify-message/get-unread-count', params })
}
// 获取详情
export const getNotifyMessageDetail = async (id: number) => {
return await request.get({ url: '/admin-api/system/notify-message/get', params: { id } })
}

View File

@@ -0,0 +1,49 @@
import request from '@/config/axios'
export interface NotifyTemplateVO {
id?: number
name: string
nickname: string
code: string
content: string
type: number
params: string
status: number
remark: string
}
export interface NotifySendReqVO {
userId: number | null
templateCode: string
templateParams: Map<String, Object>
}
// 查询站内信模板列表
export const getNotifyTemplatePage = async (params: PageParam) => {
return await request.get({ url: '/system/notify-template/page', params })
}
// 查询站内信模板详情
export const getNotifyTemplate = async (id: number) => {
return await request.get({ url: '/system/notify-template/get?id=' + id })
}
// 新增站内信模板
export const createNotifyTemplate = async (data: NotifyTemplateVO) => {
return await request.post({ url: '/system/notify-template/create', data })
}
// 修改站内信模板
export const updateNotifyTemplate = async (data: NotifyTemplateVO) => {
return await request.put({ url: '/system/notify-template/update', data })
}
// 删除站内信模板
export const deleteNotifyTemplate = async (id: number) => {
return await request.delete({ url: '/system/notify-template/delete?id=' + id })
}
// 发送站内信
export const sendNotify = (data: NotifySendReqVO) => {
return request.post({ url: '/system/notify-template/send-notify', data })
}

View File

@@ -0,0 +1,42 @@
import request from '@/config/axios'
export interface PermissionAssignUserRoleReqVO {
userId: number
roleIds: number[]
}
export interface PermissionAssignRoleMenuReqVO {
roleId: number
menuIds: number[]
}
export interface PermissionAssignRoleDataScopeReqVO {
roleId: number
dataScope: number
dataScopeDeptIds: number[]
}
// 查询角色拥有的菜单权限
export const getRoleMenuList = async (roleId: number) => {
return await request.get({ url: '/admin-api/system/permission/list-role-menus?roleId=' + roleId })
}
// 赋予角色菜单权限
export const assignRoleMenu = async (data: PermissionAssignRoleMenuReqVO) => {
return await request.post({ url: '/admin-api/system/permission/assign-role-menu', data })
}
// 赋予角色数据权限
export const assignRoleDataScope = async (data: PermissionAssignRoleDataScopeReqVO) => {
return await request.post({ url: '/admin-api/system/permission/assign-role-data-scope', data })
}
// 查询用户拥有的角色数组
export const getUserRoleList = async (userId: number) => {
return await request.get({ url: '/admin-api/system/permission/list-user-roles?userId=' + userId })
}
// 赋予用户角色
export const assignUserRole = async (data: PermissionAssignUserRoleReqVO) => {
return await request.post({ url: '/admin-api/system/permission/assign-user-role', data })
}

View File

@@ -0,0 +1,53 @@
import request from '@/config/axios'
export interface RoleVO {
id: number
name: string
code: string
sort: number
status: number
type: number
dataScope: number
dataScopeDeptIds: number[]
createTime: Date
}
export interface UpdateStatusReqVO {
id: number
status: number
}
// 查询角色列表
export const getRolePage = async (params: PageParam) => {
return await request.get({ url: '/admin-api/system/role/page', params })
}
// 查询角色(精简)列表
export const getSimpleRoleList = async () => {
return await request.get({ url: '/admin-api/system/role/list-all-simple' })
}
// 查询角色详情
export const getRole = async (id: number) => {
return await request.get({ url: '/admin-api/system/role/get?id=' + id })
}
// 新增角色
export const createRole = async (data: RoleVO) => {
return await request.post({ url: '/admin-api/system/role/create', data })
}
// 修改角色
export const updateRole = async (data: RoleVO) => {
return await request.put({ url: '/admin-api/system/role/update', data })
}
// 删除角色
export const deleteRole = async (id: number) => {
return await request.delete({ url: '/admin-api/system/role/delete?id=' + id })
}
// 角色用户
export const getRoleUsers = async (params) => {
return await request.get({ url: '/admin-api/system/role/getUserByRole', params })
}

View File

@@ -0,0 +1,16 @@
import request from '@/config/axios'
// 通过key查询内容
export const getConfigByConfigKey = (params) => {
return request.get({ url: '/admin-api/crm/config/getConfigByConfigKey', params })
}
// 保存配置项
export const updateConfig = (data) => {
return request.put({ url: '/admin-api/crm/config/batchUpdateConfigValue', data })
}
// 根据模块获取配置列表
export const getConfigList = (params) => {
return request.get({ url: '/admin-api/crm/config/query', params })
}

View File

@@ -0,0 +1,76 @@
import request from '@/config/axios'
export interface UserVO {
id: number
username: string
nickname: string
deptId: number
postIds: string[]
email: string
mobile: string
sex: number
avatar: string
loginIp: string
status: number
remark: string
loginDate: Date
createTime: Date
}
// 查询用户管理列表
export const getUserPage = (params: PageParam) => {
return request.get({ url: '/admin-api/system/user/page', params })
}
// 查询用户详情
export const getUser = (id: number) => {
return request.get({ url: '/admin-api/system/user/get?id=' + id })
}
// 新增用户
export const createUser = (data: UserVO) => {
return request.post({ url: '/admin-api/system/user/create', data })
}
// 修改用户
export const updateUser = (data: UserVO) => {
return request.put({ url: '/admin-api/system/user/update', data })
}
// 删除用户
export const deleteUser = (id: number) => {
return request.delete({ url: '/admin-api/system/user/delete?id=' + id })
}
// 导出用户
export const exportUser = (params) => {
return request.download({ url: '/admin-api/system/user/export', params })
}
// 下载用户导入模板
export const importUserTemplate = () => {
return request.download({ url: '/admin-api/system/user/get-import-template' })
}
// 用户密码重置
export const resetUserPwd = (id: number, password: string) => {
const data = {
id,
password
}
return request.put({ url: '/admin-api/system/user/update-password', data: data })
}
// 用户状态修改
export const updateUserStatus = (id: number, status: number) => {
const data = {
id,
status
}
return request.put({ url: '/admin-api/system/user/update-status', data: data })
}
// 获取用户精简信息列表
export const getSimpleUserList = (): Promise<UserVO[]> => {
return request.get({ url: '/admin-api/system/user/list-all-simple' })
}

View File

@@ -0,0 +1,77 @@
import request from '@/config/axios'
export interface ProfileDept {
id: number
name: string
}
export interface ProfileRole {
id: number
name: string
}
export interface ProfilePost {
id: number
name: string
}
export interface SocialUser {
id: number
type: number
openid: string
token: string
rawTokenInfo: string
nickname: string
avatar: string
rawUserInfo: string
code: string
state: string
}
export interface ProfileVO {
id: number
username: string
nickname: string
dept: ProfileDept
roles: ProfileRole[]
posts: ProfilePost[]
socialUsers: SocialUser[]
email: string
mobile: string
sex: number
avatar: string
status: number
remark: string
loginIp: string
loginDate: Date
createTime: Date
}
export interface UserProfileUpdateReqVO {
nickname: string
email: string
mobile: string
sex: number
}
// 查询用户个人信息
export const getUserProfile = () => {
return request.get({ url: '/admin-api/system/user/profile/get' })
}
// 修改用户个人信息
export const updateUserProfile = (data: UserProfileUpdateReqVO) => {
return request.put({ url: '/admin-api/system/user/profile/update', data })
}
// 用户密码重置
export const updateUserPassword = (oldPassword: string, newPassword: string) => {
return request.put({
url: '/admin-api/system/user/profile/update-password',
data: {
oldPassword: oldPassword,
newPassword: newPassword
}
})
}
// 用户头像上传
export const uploadAvatar = (data) => {
return request.upload({ url: '/admin-api/system/user/profile/update-avatar', data: data })
}

View File

@@ -0,0 +1,31 @@
import request from '@/config/axios'
// 社交绑定,使用 code 授权码
export const socialBind = (type, code, state) => {
return request.post({
url: '/admin-api/system/social-user/bind',
data: {
type,
code,
state
}
})
}
// 取消社交绑定
export const socialUnbind = (type, openid) => {
return request.delete({
url: '/admin-api/system/social-user/unbind',
data: {
type,
openid
}
})
}
// 社交授权的跳转
export const socialAuthRedirect = (type, redirectUri) => {
return request.get({
url: '/admin-api/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri
})
}