Refactor code structure and remove redundant changes
This commit is contained in:
202
api/channel/index.ts
Normal file
202
api/channel/index.ts
Normal file
@ -0,0 +1,202 @@
|
||||
import { get, post, Delete, put } from '@/utils/axios'
|
||||
import {
|
||||
TpageReq,
|
||||
TpageRes,
|
||||
TcreateReq,
|
||||
TlistRes,
|
||||
TGetChannelPostsRes,
|
||||
PageResultPostsCommentRespVO,
|
||||
sendSingleChatReq,
|
||||
PageResultSessionRespVO,
|
||||
PageResultMessageRespVO,
|
||||
ChannelRespVO,
|
||||
MemberUserRespDTO,
|
||||
SingleMessageVo,
|
||||
} from './types'
|
||||
|
||||
/**
|
||||
* 获得频道帖子分页
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const page = (params: TpageReq) => {
|
||||
return get<IResponse<TpageRes>>({
|
||||
url: '/prod-api/app-api/business/posts/page',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建帖子
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const create = (params: TcreateReq) => {
|
||||
return post<IResponse<number>>({
|
||||
url: '/prod-api/app-api/business/posts/create',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获得论坛频道列表
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const list = () => {
|
||||
return get<IResponse<TlistRes[]>>({
|
||||
url: '/prod-api/app-api/business/channel/list',
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获得论坛频道列表
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const getChannelPosts = (params: { id: number }) => {
|
||||
return get<IResponse<TGetChannelPostsRes[]>>({
|
||||
url: '/prod-api/app-api/business/posts/get',
|
||||
params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 删除频道帖子
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const postsDelete = (params: { id: number }) => {
|
||||
return Delete<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/business/posts/delete',
|
||||
params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获取帖子详情
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const getChannelDetail = (params: { id: string }) => {
|
||||
return get<IResponse<TGetChannelPostsRes>>({
|
||||
url: '/prod-api/app-api/business/posts/get',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取帖子评论列表
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const postscommentpage = (params: { postsId: string; pageNo: number; pageSize: number }) => {
|
||||
return get<IResponse<PageResultPostsCommentRespVO>>({
|
||||
url: '/prod-api/app-api/business/posts-comment/page',
|
||||
params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 创建帖子评论
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const createPostsComment = (params: { postsId: string; content: string; commentId?: string }) => {
|
||||
return post<IResponse<number>>({
|
||||
url: '/prod-api/app-api/business/posts-comment/create',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送单聊信息
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const sendSingleChat = (params: sendSingleChatReq) => {
|
||||
return post<IResponse<any>>({
|
||||
url: '/prod-api/app-api/mqtt/message/send/single',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送客服消息
|
||||
*/
|
||||
export const sendKefuMessage = (params: SingleMessageVo) => {
|
||||
return post<IResponse<any>>({
|
||||
url: '/prod-api/app-api/mqtt/message/send/kefu',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得消息记录分页
|
||||
*/
|
||||
export const getMessagePage = (params: { pageNo: number; pageSize: number; fromId?: number; msgType?: number; topic: string }) => {
|
||||
return get<IResponse<PageResultMessageRespVO>>({
|
||||
url: '/prod-api/app-api/mqtt/message/page',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 会话列表
|
||||
*/
|
||||
export const conversationList = () => {
|
||||
return get<IResponse<PageResultSessionRespVO[]>>({
|
||||
url: '/prod-api/app-api/mqtt/session/list',
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取聊天记录
|
||||
*/
|
||||
export const getChatDetail = (params: { sessionId: number; pageNo: number; pageSize: number }) => {
|
||||
return get<IResponse<PageResultMessageRespVO>>({
|
||||
url: '/prod-api/app-api/mqtt/message/pageBySession',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 清空未读信息
|
||||
*/
|
||||
export const clearUnreadMessage = (params: { id: number }) => {
|
||||
return put<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/mqtt/session/clear',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得论坛频道
|
||||
*/
|
||||
export const getChannelLunTanDetail = (params: { id: string }) => {
|
||||
return get<IResponse<ChannelRespVO>>({
|
||||
url: '/prod-api/app-api/business/channel/get',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建论坛关注
|
||||
*/
|
||||
export const createChannelFollow = (params: { channelId: string }) => {
|
||||
return post<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/business/channel-follow/create',
|
||||
data: params,
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除论坛关注
|
||||
*/
|
||||
export const deleteChannelFollow = (params: { channelId: string }) => {
|
||||
return Delete<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/business/channel-follow/delete',
|
||||
params,
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据群组ID获取群组成员
|
||||
*/
|
||||
export const getGroupMembers = (params: { channelId: string }) => {
|
||||
return get<IResponse<MemberUserRespDTO[]>>({
|
||||
url: `/prod-api/app-api/mqtt/session/users/${params.channelId}`,
|
||||
})
|
||||
}
|
||||
223
api/channel/types.ts
Normal file
223
api/channel/types.ts
Normal file
@ -0,0 +1,223 @@
|
||||
export interface TpageReq {
|
||||
pageNo: number
|
||||
pageSize: number
|
||||
}
|
||||
|
||||
export interface TpageRes {
|
||||
total: number
|
||||
list: {
|
||||
postsId: number
|
||||
channelId: number
|
||||
postsTitle: string
|
||||
postsCover: string
|
||||
postsContent: string
|
||||
postsTags: string
|
||||
projectDicId: number
|
||||
browseNum: number
|
||||
likeNum: number
|
||||
createTime: string
|
||||
creator: string
|
||||
creatorName: string
|
||||
creatorAvatar: string
|
||||
commentNum: number
|
||||
}[]
|
||||
}
|
||||
|
||||
export interface TcreateReq {
|
||||
// channelId: number | undefined
|
||||
postsTitle: string
|
||||
postsCover?: string
|
||||
postsContent: string
|
||||
postsTags: string
|
||||
projectDicId: number | undefined
|
||||
channelId?: string
|
||||
}
|
||||
|
||||
export interface TlistRes {
|
||||
createTime: string
|
||||
updateTime: string
|
||||
creator: string
|
||||
updater: string
|
||||
deleted: boolean
|
||||
channelId: number
|
||||
channelTitle: string
|
||||
channelTopic: string
|
||||
channelIcon: string
|
||||
status: number
|
||||
chinnelProfile: string
|
||||
projectDicId: number
|
||||
}
|
||||
|
||||
export interface TGetChannelPostsRes {
|
||||
postsId: number
|
||||
channelId: number
|
||||
postsTitle: string
|
||||
postsCover: string
|
||||
postsContent: string
|
||||
postsTags: string
|
||||
projectDicId: number
|
||||
browseNum: number
|
||||
likeNum: number
|
||||
createTime: string
|
||||
creator: string
|
||||
creatorName: string
|
||||
creatorAvatar: string
|
||||
commentNum: number
|
||||
}
|
||||
|
||||
export interface PageResultPostsCommentRespVO {
|
||||
list: {
|
||||
commentId: number
|
||||
postsId: number
|
||||
content: string
|
||||
quoteUser: string
|
||||
quoteContent: string
|
||||
createTime: string
|
||||
creator: string
|
||||
creatorName: string
|
||||
creatorAvatar: string
|
||||
}[]
|
||||
total: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 聊天消息
|
||||
*/
|
||||
export interface chatMessagesReq {
|
||||
msgType: number
|
||||
content: string
|
||||
toId: number
|
||||
userId: number
|
||||
createTime: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 消息类型 消息类型 0:文本 1:图片 2:视频 3:文件
|
||||
*/
|
||||
export type msgType = 0 | 1 | 2 | 3
|
||||
|
||||
/**
|
||||
* 发送单聊信息
|
||||
*/
|
||||
export interface sendSingleChatReq {
|
||||
/** 消息类型 0:文本 1:图片 2:视频 3:文件,示例值(11854) */
|
||||
msgType: msgType
|
||||
/** 内容,示例值(11854) */
|
||||
content: string
|
||||
/** 对方userId,示例值(11854) */
|
||||
toId: number
|
||||
/** 客户端ID,示例值(11854) */
|
||||
userId: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 会话列表
|
||||
*/
|
||||
export interface PageResultSessionRespVO {
|
||||
sessionId: number
|
||||
sessionCode: string
|
||||
sessionType: string
|
||||
fromId: number
|
||||
fromTitle: string
|
||||
name: string
|
||||
fromUser: {
|
||||
id: number
|
||||
nickname: string
|
||||
status: number
|
||||
avatar: string
|
||||
mobile: string
|
||||
createTime: string
|
||||
levelId: number
|
||||
point: number
|
||||
}
|
||||
toId: number
|
||||
toTitle: string
|
||||
toUser: {
|
||||
id: number
|
||||
nickname: string
|
||||
status: number
|
||||
avatar: string
|
||||
mobile: string
|
||||
createTime: string
|
||||
levelId: number
|
||||
point: number
|
||||
}
|
||||
lastMsg: any
|
||||
unreadCount: number
|
||||
createTime: string
|
||||
updateTime: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 聊天记录
|
||||
*/
|
||||
export interface PageResultMessageRespVO {
|
||||
list: {
|
||||
msgId?: number
|
||||
sessionId?: number
|
||||
fromId?: number
|
||||
fromUser?: {
|
||||
id: number
|
||||
nickname: string
|
||||
status: number
|
||||
avatar: string
|
||||
mobile: string
|
||||
createTime: string
|
||||
levelId: number
|
||||
point: number
|
||||
}
|
||||
toId?: number | string
|
||||
toUser?: {
|
||||
id: number
|
||||
nickname: string
|
||||
status: number
|
||||
avatar: string
|
||||
mobile: string
|
||||
createTime: string
|
||||
levelId: number
|
||||
point: number
|
||||
}
|
||||
msgType: number
|
||||
content: string
|
||||
ext?: string
|
||||
createTime: string
|
||||
}[]
|
||||
total: number
|
||||
}
|
||||
|
||||
export interface ChannelRespVO {
|
||||
channelId: string
|
||||
channelTitle: string
|
||||
channelIcon: string
|
||||
status: number
|
||||
channelProfile: string
|
||||
followCount: number
|
||||
hotTags: any[]
|
||||
projectDicId: number
|
||||
createTime: string
|
||||
isFollow: boolean
|
||||
chatUserCount: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 群组成员
|
||||
*/
|
||||
export interface MemberUserRespDTO {
|
||||
id: number
|
||||
nickname: string
|
||||
status: number
|
||||
avatar: string
|
||||
mobile: string
|
||||
createTime: string
|
||||
levelId: number
|
||||
point: number
|
||||
}
|
||||
|
||||
export interface SingleMessageVo {
|
||||
userId: number
|
||||
toId?: number
|
||||
content: string
|
||||
msgType: number
|
||||
sessionId?: string
|
||||
createTime?: string
|
||||
}
|
||||
82
api/common/index.ts
Normal file
82
api/common/index.ts
Normal file
@ -0,0 +1,82 @@
|
||||
import { post, get } from '@/utils/axios'
|
||||
import type { AppMemberUserInfoRespVO, NotifyMessageRespVO, fileCreateReqVO } from '@/api/common/types'
|
||||
|
||||
/**
|
||||
* 获取省份地区
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const tree = (params: { id?: number | string }) => {
|
||||
return get<IResponse<any[]>>({
|
||||
url: '/prod-api/app-api/system/area/tree',
|
||||
params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 上传附件
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const upload = (uploadUrl = '/prod-api/app-api/infra/file/upload', params: any) => {
|
||||
return post<IResponse<any>>({
|
||||
url: uploadUrl,
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 上传附件
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const uploadV2 = (uploadUrl = '/prod-api/app-api/infra/file/presigned-url', params: any) => {
|
||||
return get<IResponse<any>>({
|
||||
url: uploadUrl,
|
||||
params: params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建文件
|
||||
*/
|
||||
export const creatFile = (params: fileCreateReqVO) => {
|
||||
return post<IResponse<any>>({
|
||||
url: '/prod-api/app-api/infra/file/create',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户信息
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const getUserInfo = () => {
|
||||
return get<IResponse<AppMemberUserInfoRespVO>>({
|
||||
url: '/prod-api/app-api/member/user/get',
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送验证码
|
||||
* templateCode:"user-sms-login",description:"会员用户 - 手机号登陆")
|
||||
* MEMBER_LOGIN( scene:1,description:"会员用户 - 修改手机")
|
||||
* MEMBER_UPDATE_MOBILE( scene:2,templateCode: "user-update-mobile",MEMBER UPDATE PASSWORD
|
||||
* ( scene: 3,templateCode:"user-update-password", description:"会员用户 - 修改密码"),
|
||||
* MEMBER_RESET_PASSWORD( scene:4,templateCode:"user-reset-password",description:"会员用户 - 忘记密码"),
|
||||
ADMIN_MEMBER_LOGIN( scene: 21, templateCode: "admin-sms-login", description:"后台用户 -手机号登录")
|
||||
description:"后台用户 -手机号注册"),
|
||||
ADMIN_MEMBER REGISTER( scene: 22,templateCode:"admin-sms-register",
|
||||
ADMIN _MEMBER RESET PASSWORD( scene: 23,templateCode:"admin-reset-password", description:"后台用户 - 忘记密码");
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const sendSms = (params: { mobile: string; scene: number }) => {
|
||||
return post<IResponse<any>>({
|
||||
url: '/prod-api/app-api/member/auth/send-sms-code',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获得站内信
|
||||
*/
|
||||
export const getMessage = (params: { id: number }) => {
|
||||
return get<IResponse<NotifyMessageRespVO>>({
|
||||
url: '/prod-api/app-api/system/notify-message/get',
|
||||
params,
|
||||
})
|
||||
}
|
||||
97
api/common/types.ts
Normal file
97
api/common/types.ts
Normal file
@ -0,0 +1,97 @@
|
||||
//权限请求入参
|
||||
export interface IGetPermissionsReq {
|
||||
menuId: string | number
|
||||
}
|
||||
//权限请求出参
|
||||
export interface IPermissions {
|
||||
createTime: string
|
||||
embed: string
|
||||
hidden: string
|
||||
icon: string
|
||||
id: string
|
||||
keepAlive: boolean
|
||||
menuName: string
|
||||
menuOrder: number
|
||||
menuPermission: string
|
||||
menuRemark: string | null
|
||||
menuUrl: string
|
||||
pageUrl: string
|
||||
parentId: string
|
||||
}
|
||||
//列表设置用户习惯查询请求入参
|
||||
export interface IListsetReq {
|
||||
/** 用户习惯,json字符串 */
|
||||
habit: string
|
||||
/** 页面类型,为列表取的唯一标识 */
|
||||
pageType: string
|
||||
/** 当前登录用户id */
|
||||
userId: string
|
||||
/** 主键ID */
|
||||
id?: number | string
|
||||
}
|
||||
//列表设置用户习惯编辑请求入参
|
||||
export interface IEditListsetReq {
|
||||
/** 用户习惯,json字符串 */
|
||||
habit: string
|
||||
/** 页面类型,为列表取的唯一标识 */
|
||||
pageType: string
|
||||
/** 主键ID */
|
||||
id?: number | string
|
||||
}
|
||||
|
||||
export interface FilePreviewRespVO {
|
||||
id: number
|
||||
fileId: number
|
||||
path: string
|
||||
name: string
|
||||
previewUrl: string
|
||||
type: string
|
||||
size: number
|
||||
createTime: string
|
||||
md5: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得基本信息
|
||||
*/
|
||||
export interface AppMemberUserInfoRespVO {
|
||||
id: number
|
||||
nickname: string
|
||||
avatar: string
|
||||
mobile: string
|
||||
sex: number
|
||||
point: number
|
||||
experience: number
|
||||
level: {
|
||||
id: number
|
||||
name: string
|
||||
level: number
|
||||
icon: string
|
||||
}
|
||||
brokerageEnabled: boolean
|
||||
vipLevel: number // 会员等级
|
||||
}
|
||||
|
||||
export interface NotifyMessageRespVO {
|
||||
id: number
|
||||
userId: number
|
||||
userType: string
|
||||
templateId: number
|
||||
templateCode: string
|
||||
templateNickname: string
|
||||
templateContent: string
|
||||
templateType: number
|
||||
templateParams: any
|
||||
readStatus: boolean
|
||||
readTime: string
|
||||
createTime: string
|
||||
}
|
||||
|
||||
export interface fileCreateReqVO {
|
||||
configId: number
|
||||
path: string
|
||||
name: string
|
||||
url: string
|
||||
type?: string
|
||||
size: number
|
||||
}
|
||||
118
api/drawe-detail/index.ts
Normal file
118
api/drawe-detail/index.ts
Normal file
@ -0,0 +1,118 @@
|
||||
import { get, post, Delete } from '@/utils/axios'
|
||||
import { ProjectRespVO, PageResultProjectCommentResVO, ProjectDrawPageRespVO, UserExtendSimpleRespDTO, ProjectDrawMemberRespVO } from './types'
|
||||
|
||||
/**
|
||||
* 获取图纸详情
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const getDetail = (params: { id?: number | string }) => {
|
||||
return get<IResponse<ProjectRespVO>>({
|
||||
url: '/prod-api/app-api/business/app/project-draw/preview',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取评论列表
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const getCommentList = (params: { relationId?: number | string; pageNum?: number; pageSize?: number }) => {
|
||||
return get<IResponse<PageResultProjectCommentResVO>>({
|
||||
url: '/prod-api/app-api/business/app/project-comment/page',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 发表评论
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const createComment = (params: { relationId?: number | string; content?: string; projectId?: number | string }) => {
|
||||
return post<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/business/app/project-comment/create',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 当前类型top数据
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const getRelationRecommend = (params: { type?: number | string; projectType?: number | string }) => {
|
||||
return get<IResponse<ProjectDrawPageRespVO[]>>({
|
||||
url: '/prod-api/app-api/business/app/project-draw/top-list',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 举报
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const report = (params: { id?: number | string; title?: string; comments?: string; files?: any; projectId: any; drawId: any }) => {
|
||||
return post<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/business/project-report/create',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取图纸发布人信息
|
||||
* @return {Promise}
|
||||
*/
|
||||
export const getUserInfo = (params: { id?: number | string }) => {
|
||||
return get<IResponse<UserExtendSimpleRespDTO>>({
|
||||
url: '/prod-api/app-api/business/app/project-draw/preview-user-info',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 当前用户的主要作品内容
|
||||
*/
|
||||
export const getMainWork = (params: { id?: number | string; limit: number; memberId?: number | string }) => {
|
||||
return get<IResponse<ProjectDrawMemberRespVO[]>>({
|
||||
url: '/prod-api/app-api/business/app/project-draw/preview-user-projects',
|
||||
params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 创建内容信息
|
||||
*/
|
||||
export const createContent = (params: { projectId: any; drawId: any }) => {
|
||||
return post<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/business/project-member-favorites/create',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建用户项目、工具箱下载
|
||||
*/
|
||||
export const createUserProject = (params: { relationId: any; type: any }) => {
|
||||
return post<IResponse<string>>({
|
||||
url: '/prod-api/app-api/business/project-member-file/create',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 删除项目订单用户收藏信息
|
||||
*/
|
||||
export const deleteProject = (params: { id: any }) => {
|
||||
return Delete<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/business/project-member-favorites/delete',
|
||||
data: params,
|
||||
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除工具箱信息
|
||||
*/
|
||||
export const deleteTool = (params: { id: any }) => {
|
||||
return Delete<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/business/project-resource/delete',
|
||||
data: params,
|
||||
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
||||
})
|
||||
}
|
||||
149
api/drawe-detail/types.ts
Normal file
149
api/drawe-detail/types.ts
Normal file
@ -0,0 +1,149 @@
|
||||
export interface ProjectRespVO {
|
||||
id: number
|
||||
title: string
|
||||
description: string
|
||||
ownedUserId: string
|
||||
status: number
|
||||
createTime: string
|
||||
isDomestic: number
|
||||
ownedUserIdInfo?: any
|
||||
area: string
|
||||
country: string
|
||||
province: string
|
||||
city: string
|
||||
county: string
|
||||
address: string
|
||||
editions: string
|
||||
labels: string[]
|
||||
type: number
|
||||
projectId: number
|
||||
projectType: string[]
|
||||
formatType: string[]
|
||||
source: number
|
||||
editType: boolean
|
||||
points: number
|
||||
downloadId: string
|
||||
files: OtherFiles[]
|
||||
coverImages: CoverImages[]
|
||||
renderings: Renderings[]
|
||||
otherFiles: OtherFiles[]
|
||||
checked: boolean
|
||||
recommend: boolean
|
||||
hotPoint: number
|
||||
editTypeName: string
|
||||
editionsName: string
|
||||
projectTypeName: string
|
||||
favoriteId?: string
|
||||
relationDraws: RelationDraws[]
|
||||
filesInfo: {
|
||||
fileSize: string
|
||||
count: number
|
||||
}
|
||||
}
|
||||
|
||||
interface RelationDraws {
|
||||
id: number
|
||||
projectId: number
|
||||
title: string
|
||||
description: string
|
||||
ownedUserId: string
|
||||
type: number
|
||||
points: number
|
||||
coverImages: CoverImages[]
|
||||
ownedUserIdInfo?: any
|
||||
recommend: boolean
|
||||
hotPoint: number
|
||||
commentsPoint: number
|
||||
previewPoint: number
|
||||
}
|
||||
|
||||
interface Renderings {
|
||||
id: number
|
||||
title: string
|
||||
relationId: number
|
||||
type: number
|
||||
url: string
|
||||
}
|
||||
|
||||
interface CoverImages {
|
||||
id: number
|
||||
title: string
|
||||
relationId: number
|
||||
type: number
|
||||
url: string
|
||||
}
|
||||
interface OtherFiles {
|
||||
id: number
|
||||
title: string
|
||||
relationId: number
|
||||
type: number
|
||||
url: string
|
||||
size: number
|
||||
}
|
||||
|
||||
export interface PageResultProjectCommentResVO {
|
||||
list: ProjectCommentResVO[]
|
||||
total: number
|
||||
}
|
||||
|
||||
interface ProjectCommentResVO {
|
||||
id: number
|
||||
projectId: number
|
||||
relationId: number
|
||||
content: string
|
||||
url: string
|
||||
creator: number
|
||||
creatorInfo: {
|
||||
avatar: string
|
||||
name: string
|
||||
nickName: string
|
||||
createTime: string
|
||||
}
|
||||
}
|
||||
|
||||
export interface ProjectDrawPageRespVO {
|
||||
id: number
|
||||
projectId: number
|
||||
title: string
|
||||
description: string
|
||||
ownedUserId: string
|
||||
editions?: string[]
|
||||
type: number
|
||||
createTime: string
|
||||
projectType: string[]
|
||||
status: number
|
||||
recommend: boolean
|
||||
points: number
|
||||
iconUrl: string
|
||||
hotPoint: number
|
||||
commentsPoint: number
|
||||
previewPoint: number
|
||||
}
|
||||
|
||||
export interface UserExtendSimpleRespDTO {
|
||||
id: number
|
||||
avatar: string
|
||||
memberId: number
|
||||
nickname: string
|
||||
isDomestic: number
|
||||
area: string
|
||||
country: string
|
||||
province: string
|
||||
city: string
|
||||
county: string
|
||||
labels: string[]
|
||||
description: string
|
||||
files: any[]
|
||||
fansCount: number
|
||||
projectCount: number
|
||||
}
|
||||
|
||||
export interface ProjectDrawMemberRespVO {
|
||||
id: number
|
||||
projectId: number
|
||||
title: string
|
||||
description: string
|
||||
ownedUserId: string
|
||||
type: number
|
||||
createTime: string
|
||||
}
|
||||
110
api/home/index.ts
Normal file
110
api/home/index.ts
Normal file
@ -0,0 +1,110 @@
|
||||
import { get } from '@/utils/axios'
|
||||
import {
|
||||
ThotTopReq,
|
||||
ProjectDrawPageRespVO,
|
||||
ProjectDictNodeVO,
|
||||
ProjectDrawStatisticAppRespVO,
|
||||
ProjectTrendingScoreUserInfoVO,
|
||||
PageResultIndexSettingRespVO,
|
||||
} from './type'
|
||||
|
||||
/**
|
||||
* 获取热门信息的top信息
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const hotTop = (params: ThotTopReq) => {
|
||||
return get<IResponse<ProjectDrawPageRespVO[]>>({
|
||||
url: '/prod-api/app-api/business/app/project-draw/hot-top',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取推荐信息的top信息
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const recommendTop = (params: ThotTopReq) => {
|
||||
return get<IResponse<ProjectDrawPageRespVO[]>>({
|
||||
url: '/prod-api/app-api/business/app/project-draw/recommend-top',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取最新图纸信息
|
||||
*/
|
||||
export const newDraw = (params: { type: number; limit: number }) => {
|
||||
return get<IResponse<ProjectDrawPageRespVO[]>>({
|
||||
url: '/prod-api/app-api/business/project/index/draw-new',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 首页-热点标签
|
||||
*/
|
||||
export const hotTag = (params: { type: number; limit: number; size: number }) => {
|
||||
return get<IResponse<ProjectDictNodeVO[]>>({
|
||||
url: '/prod-api/app-api/business/project/index/index-hot-tab',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 首页-标签
|
||||
*/
|
||||
export const tag = () => {
|
||||
return get<IResponse<ProjectDictNodeVO[]>>({
|
||||
url: '/prod-api/app-api/business/project/index/index-tab',
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取top数据
|
||||
*/
|
||||
export const top = (params: { type: number; limit: number }) => {
|
||||
return get<IResponse<ProjectDrawStatisticAppRespVO[]>>({
|
||||
url: '/prod-api/app-api/business/project/index/top',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户top数据
|
||||
*/
|
||||
export const userTop = (params: { type?: number }) => {
|
||||
return get<IResponse<ProjectTrendingScoreUserInfoVO[]>>({
|
||||
url: '/prod-api/app-api/business/project/index/user-top',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置首页设置信息分页
|
||||
*/
|
||||
export const settinngPage = (params: { pageNo?: number; pageSize: number; type: number; status: number; innerType?: number }) => {
|
||||
return get<IResponse<PageResultIndexSettingRespVO>>({
|
||||
url: '/prod-api/admin-api/system/index-setting/page',
|
||||
params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获得首页设置信息分页
|
||||
*/
|
||||
export const getSettingPage = (params: { type: number }) => {
|
||||
return get<IResponse<PageResultIndexSettingRespVO[]>>({
|
||||
url: '/prod-api/app-api/system/index-setting/list',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 首页-标签2
|
||||
*/
|
||||
export const tab2 = () => {
|
||||
return get<IResponse<ProjectDictNodeVO[]>>({
|
||||
url: '/prod-api/app-api/business/project/index/index-tab2',
|
||||
})
|
||||
}
|
||||
107
api/home/type.ts
Normal file
107
api/home/type.ts
Normal file
@ -0,0 +1,107 @@
|
||||
export interface ThotTopReq {
|
||||
/** 类型: 1 图纸 2 文本 3 模型 */
|
||||
type: number
|
||||
/** 项目分类 */
|
||||
projectType: string
|
||||
/** 是否国内 0 国外 1 国内 */
|
||||
isDomestic: number
|
||||
projectTypeTop?: string
|
||||
}
|
||||
export interface ProjectDrawPageRespVO {
|
||||
/** 主键 */
|
||||
id: number
|
||||
/** 项目id */
|
||||
projectId: number
|
||||
/** 标题 */
|
||||
title: string
|
||||
/** 版本 */
|
||||
editions: any[]
|
||||
/** 类型: 1 图纸 2 文本 3 模型 */
|
||||
type: number
|
||||
/** 创建时间 */
|
||||
createTime: string
|
||||
/** 项目分类 */
|
||||
projectType: any[]
|
||||
/** 状态 */
|
||||
status: number
|
||||
/** 是否推荐 */
|
||||
recommend: boolean
|
||||
/** 金币 */
|
||||
points: number
|
||||
/** 封面图片 */
|
||||
iconUrl: string
|
||||
/** 热度 */
|
||||
hotPoint: number
|
||||
/** 描述 */
|
||||
description: string
|
||||
}
|
||||
|
||||
export interface ProjectDictNodeVO {
|
||||
id?: string
|
||||
parentId?: string
|
||||
name?: string
|
||||
isChildren?: true
|
||||
sort?: number
|
||||
level?: number
|
||||
children?: {
|
||||
id?: string
|
||||
parentId?: string
|
||||
name?: string
|
||||
isChildren?: true
|
||||
sort?: number
|
||||
level?: number
|
||||
children?: any[]
|
||||
parent?: any
|
||||
type?: number
|
||||
checked?: true
|
||||
}[]
|
||||
|
||||
parent?: any
|
||||
type?: number
|
||||
checked?: true
|
||||
}
|
||||
|
||||
export interface ProjectDrawStatisticAppRespVO {
|
||||
pairs?: {
|
||||
id: string
|
||||
name: string
|
||||
}[]
|
||||
projectType?: number | any[]
|
||||
projectTypeName?: string
|
||||
count?: number
|
||||
type?: number
|
||||
title?: string
|
||||
}
|
||||
|
||||
export interface ProjectTrendingScoreUserInfoVO {
|
||||
avatar: string
|
||||
memberId: number
|
||||
nickname: string
|
||||
isDomestic: number
|
||||
area: string
|
||||
country: string
|
||||
province: string
|
||||
city: string
|
||||
county: string
|
||||
labels: any[]
|
||||
description: string
|
||||
files: any
|
||||
fansCount: number
|
||||
projectCount: number
|
||||
ownUserId: number
|
||||
projectType: string
|
||||
score: number
|
||||
}
|
||||
|
||||
export interface PageResultIndexSettingRespVO {
|
||||
id: number
|
||||
name: string
|
||||
url: string
|
||||
sort: number
|
||||
type: number
|
||||
innerType: number
|
||||
rowType: number
|
||||
content: string
|
||||
status: number
|
||||
createTime: string
|
||||
}
|
||||
69
api/login/index.ts
Normal file
69
api/login/index.ts
Normal file
@ -0,0 +1,69 @@
|
||||
import { post, put } from '@/utils/axios'
|
||||
import { LoginParams, LoginResponseData, AppAuthLoginRespVO } from './types'
|
||||
|
||||
/**
|
||||
* 新建图纸
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const login = (params: LoginParams) => {
|
||||
return post<IResponse<LoginResponseData>>({
|
||||
url: '/prod-api/app-api/member/auth/login',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送手机验证码
|
||||
*/
|
||||
export const sendCode = (params: { mobile: string }) => {
|
||||
return post<IResponse<any>>({
|
||||
url: '/prod-api/app-api/member/auth/send-sms-code',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 使用手机 + 验证码登录
|
||||
*/
|
||||
export const loginByMobile = (params: { mobile: string; code: string; socialCode?: string; socialType?: string; socialState?: string }) => {
|
||||
return post<IResponse<AppAuthLoginRespVO>>({
|
||||
url: '/prod-api/app-api/member/auth/sms-login',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送邮箱验证码
|
||||
*/
|
||||
export const sendEmailCode = (params: { email: string }) => {
|
||||
return post<IResponse<any>>({
|
||||
url: '/prod-api/app-api/member/auth/send-email-code',
|
||||
data: params,
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用邮箱 + 验证码登录
|
||||
*/
|
||||
export const loginByEmail = (params: { email: string; code: string }) => {
|
||||
return post<IResponse<AppAuthLoginRespVO>>({
|
||||
url: '/prod-api/app-api/member/auth/verify-code',
|
||||
data: params,
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置密码
|
||||
*/
|
||||
export const resetPassoword = (params: { password: string; code: string }) => {
|
||||
return put<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/member/user/update-password',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
21
api/login/types.ts
Normal file
21
api/login/types.ts
Normal file
@ -0,0 +1,21 @@
|
||||
export interface LoginParams {
|
||||
mobile: string
|
||||
password: string
|
||||
socialCode?: string
|
||||
}
|
||||
|
||||
export interface LoginResponseData {
|
||||
userId: number
|
||||
accessToken: string
|
||||
refreshToken: string
|
||||
expiresTime: number
|
||||
openid: string
|
||||
}
|
||||
|
||||
export interface AppAuthLoginRespVO {
|
||||
userId: number
|
||||
accessToken: string
|
||||
refreshToken: string
|
||||
expiresTime: string
|
||||
openid: string
|
||||
}
|
||||
96
api/pay/index.ts
Normal file
96
api/pay/index.ts
Normal file
@ -0,0 +1,96 @@
|
||||
import { get, post } from '@/utils/axios'
|
||||
import { AppPayWalletPackageRespVO, PayOrderSubmitReqVO, PayOrderRespVO, PageResultAppPayWalletRechargeRespVO } from './types'
|
||||
|
||||
/**
|
||||
* 获得VIP列表
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const listVip = () => {
|
||||
return get<IResponse<AppPayWalletPackageRespVO[]>>({
|
||||
url: '/prod-api/app-api/pay/wallet-recharge-package/list-vip',
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交支付订单
|
||||
*/
|
||||
export const submitPayOrder = (data: PayOrderSubmitReqVO) => {
|
||||
return post<
|
||||
IResponse<{
|
||||
displayContent: string
|
||||
displayMode: string
|
||||
orderId: number
|
||||
status: number
|
||||
}>
|
||||
>({
|
||||
url: '/prod-api/app-api/pay/order/submit',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建示例订单
|
||||
*/
|
||||
export const createOrder = (params: { spuId: number }) => {
|
||||
return post<IResponse<string>>({
|
||||
url: '/prod-api/app-api/pay/demo-order/create',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得钱包充值套餐列表
|
||||
*/
|
||||
export const listWalletRechargePackage = () => {
|
||||
return get<IResponse<AppPayWalletPackageRespVO[]>>({
|
||||
url: '/prod-api/app-api/pay/wallet-recharge-package/list',
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取支付状态
|
||||
*/
|
||||
export const getPayStatus = (params: { id: number }) => {
|
||||
return get<IResponse<PayOrderRespVO>>({
|
||||
url: '/prod-api/app-api/pay/order/get',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过code获取token
|
||||
*/
|
||||
export const getTokenByCode = (params: { type: number; code: string; state: string }) => {
|
||||
return post<IResponse<string>>({
|
||||
url: '/prod-api/app-api/member/social-user/bind',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 社交快捷登录,使用 code 授权码
|
||||
*/
|
||||
export const socialLoginByCode = (params: { type: number; code: string; state: string }) => {
|
||||
return post<
|
||||
IResponse<{
|
||||
accessToken: string
|
||||
refreshToken: string
|
||||
userId: string
|
||||
expiresTime: number
|
||||
openid: string
|
||||
}>
|
||||
>({
|
||||
url: '/prod-api/app-api/member/auth/social-login',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得钱包充值记录分页
|
||||
*/
|
||||
export const getWalletRechargeRecordPage = (params: { pageNo: number; pageSize: number }) => {
|
||||
return get<IResponse<PageResultAppPayWalletRechargeRespVO>>({
|
||||
url: '/prod-api/app-api/pay/wallet-transaction/page',
|
||||
params,
|
||||
})
|
||||
}
|
||||
63
api/pay/types.ts
Normal file
63
api/pay/types.ts
Normal file
@ -0,0 +1,63 @@
|
||||
export interface AppPayWalletPackageRespVO {
|
||||
id: number
|
||||
name: string
|
||||
payPrice: number
|
||||
bonusPrice: number
|
||||
type: number
|
||||
brokerageRate: number
|
||||
profile: string
|
||||
remark: string
|
||||
btnloading: boolean
|
||||
qrCodeUrl: string
|
||||
level: number
|
||||
}
|
||||
|
||||
export interface PayOrderSubmitReqVO {
|
||||
id: number
|
||||
memberId: string
|
||||
channelCode: string
|
||||
channelExtras?: any
|
||||
displayMode?: string
|
||||
returnUrl?: string
|
||||
}
|
||||
|
||||
export interface PayOrderRespVO {
|
||||
appId: number
|
||||
channelId: number
|
||||
channelCode: string
|
||||
merchantOrderId: string
|
||||
subject: string
|
||||
body: string
|
||||
notifyUrl: string
|
||||
price: number
|
||||
channelFeeRate: number
|
||||
channelFeePrice: number
|
||||
status: number
|
||||
userIp: string
|
||||
expireTime: string
|
||||
successTime: string
|
||||
extensionId: number
|
||||
no: string
|
||||
refundPrice: number
|
||||
channelUserId: string
|
||||
channelOrderNo: string
|
||||
id: number
|
||||
createTime: string
|
||||
}
|
||||
|
||||
export interface PageResultAppPayWalletRechargeRespVO {
|
||||
list: AppPayWalletRechargeRespVO[]
|
||||
total: number
|
||||
}
|
||||
export interface AppPayWalletRechargeRespVO {
|
||||
id: number
|
||||
totalPrice: number
|
||||
payPrice: number
|
||||
bonusPrice: number
|
||||
payChannelCode: string
|
||||
payChannelName: string
|
||||
payOrderId: number
|
||||
payOrderChannelOrderNo: string
|
||||
payTime: string
|
||||
refundStatus: number
|
||||
}
|
||||
202
api/personal-center/index.ts
Normal file
202
api/personal-center/index.ts
Normal file
@ -0,0 +1,202 @@
|
||||
import { get, post, put, Delete } from '@/utils/axios'
|
||||
import {
|
||||
UserExtendSaveReqVO,
|
||||
UserExtendRespVO,
|
||||
UserAuthInfoRespVO,
|
||||
PageResultProjectHistoryResVO,
|
||||
PageResultMemberPointRecordRespVO,
|
||||
UserStatisticsLineRespVO,
|
||||
UserStatisticsBarRespVO,
|
||||
UserStatisticsCountRespVO,
|
||||
PageResultProjectMemberFavoritesRespVO,
|
||||
} from './types'
|
||||
|
||||
/**
|
||||
* 获取用户信息
|
||||
* @returns
|
||||
*/
|
||||
export const getUserInfo = () => {
|
||||
return get<IResponse<UserExtendRespVO>>({
|
||||
url: '/prod-api/app-api/member/user-extend/get',
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建用户信息
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const userExtend = (params: UserExtendSaveReqVO) => {
|
||||
return post<IResponse<number>>({
|
||||
url: '/prod-api/app-api/member/user-extend/create',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新用户信息
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const updateUserExtend = (params: UserExtendSaveReqVO) => {
|
||||
return put<IResponse<number>>({
|
||||
url: '/prod-api/app-api/member/user-extend/update',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获取用户信息
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const getUserAuthInfo = () => {
|
||||
return get<IResponse<UserAuthInfoRespVO>>({
|
||||
url: '/prod-api/app-api/member/user-auth-info/get',
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 创建用户信息
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const createUserAuthInfo = (params: UserAuthInfoRespVO) => {
|
||||
return post<IResponse<number>>({
|
||||
url: '/prod-api/app-api/member/user-auth-info/create',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 更新用户信息
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const updateUserAuthInfo = (params: UserAuthInfoRespVO) => {
|
||||
return put<IResponse<number>>({
|
||||
url: '/prod-api/app-api/member/user-auth-info/update',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得内容信息分页
|
||||
*/
|
||||
export const getContentPage = (params: { type: number }) => {
|
||||
return get<IResponse<PageResultProjectHistoryResVO>>({
|
||||
url: '/prod-api/app-api/business/project-history/page',
|
||||
params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获得用户项目工具箱下载分页
|
||||
*/
|
||||
export const getUserToolBoxPage = (params: { pageNum: number; pageSize: number; type?: number }) => {
|
||||
return get<IResponse<PageResultProjectHistoryResVO>>({
|
||||
url: '/prod-api/app-api/business/project-member-file/page',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 签到
|
||||
*/
|
||||
export const signIn = () => {
|
||||
return post<
|
||||
IResponse<{
|
||||
day: number
|
||||
point: number
|
||||
experience: number
|
||||
createTime: string
|
||||
}>
|
||||
>({
|
||||
url: '/prod-api/app-api/member/sign-in/record/create',
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获得用户积分记录分页
|
||||
*/
|
||||
export const getUserPointPage = (params: { pageNo: number; pageSize: number }) => {
|
||||
return get<IResponse<PageResultMemberPointRecordRespVO>>({
|
||||
url: '/prod-api/app-api/member/point/record/page',
|
||||
params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 近期收益和近期活跃
|
||||
*/
|
||||
export const getRecentIncomeAndActive = (params: { type: number; limit: number }) => {
|
||||
return get<IResponse<UserStatisticsLineRespVO>>({
|
||||
url: '/prod-api/app-api/member/statistics/line',
|
||||
params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
*
|
||||
资源下载分布
|
||||
*/
|
||||
export const getResourceDistribution = (params: { type: number; limit: number }) => {
|
||||
return get<IResponse<UserStatisticsBarRespVO>>({
|
||||
url: '/prod-api/app-api/member/statistics/bar',
|
||||
params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 我的数据统计 包括我的金币 我的关注 我的发布等等
|
||||
*/
|
||||
export const getUserStatistics = () => {
|
||||
return get<IResponse<UserStatisticsCountRespVO>>({
|
||||
url: '/prod-api/app-api/member/statistics/count',
|
||||
params: {},
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded ',
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得项目订单用户收藏信息分页
|
||||
*/
|
||||
export const getUserFavoritePage = (params: { pageNo: number; pageSize: number; userId: any; type: number }) => {
|
||||
return get<IResponse<PageResultProjectMemberFavoritesRespVO>>({
|
||||
url: '/prod-api/app-api/business/project-member-favorites/page',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/***
|
||||
* 自己发布的-内容信息分页
|
||||
*/
|
||||
export const getOwnContentPage = (params: { pageNo: number; pageSize: number; type: number }) => {
|
||||
return get<IResponse<PageResultProjectMemberFavoritesRespVO>>({
|
||||
url: '/prod-api/app-api/business/app/project-draw/my-page',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 下架
|
||||
*/
|
||||
export const offShelf = (params: { id: number }) => {
|
||||
return put<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/business/app/project-draw/down',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除资源
|
||||
*/
|
||||
export const deleteResource = (params: { id: number }) => {
|
||||
return Delete<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/business/app/project-draw/delete',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得信息拓展
|
||||
*/
|
||||
export const getUserExtend = () => {
|
||||
return get<IResponse<UserExtendRespVO>>({
|
||||
url: '/prod-api/app-api/member/user-extend/get',
|
||||
})
|
||||
}
|
||||
173
api/personal-center/types.ts
Normal file
173
api/personal-center/types.ts
Normal file
@ -0,0 +1,173 @@
|
||||
export interface UserExtendSaveReqVO {
|
||||
phone?: string
|
||||
username?: string
|
||||
avatar?: string
|
||||
id?: number
|
||||
memberId?: number
|
||||
status?: number
|
||||
trueName?: string
|
||||
email?: string
|
||||
isDomestic?: number
|
||||
area?: string
|
||||
country?: string
|
||||
province?: string
|
||||
city?: string
|
||||
county?: string
|
||||
labels?: string[]
|
||||
description?: string
|
||||
authStatus?: number
|
||||
nickname?: string
|
||||
files: {
|
||||
id: number
|
||||
memberId: number
|
||||
relationId: number
|
||||
title: string
|
||||
type: number
|
||||
url: string
|
||||
sort: number
|
||||
fileId: number
|
||||
}[]
|
||||
}
|
||||
|
||||
export interface UserExtendRespVO {
|
||||
id: number
|
||||
memberId: number
|
||||
status: number
|
||||
nickname: string
|
||||
mobile: string
|
||||
email: string
|
||||
isDomestic: number
|
||||
area: string
|
||||
country: string
|
||||
province: string
|
||||
city: string
|
||||
county: string
|
||||
labels: string[]
|
||||
description: string
|
||||
authStatus: number
|
||||
createTime: string
|
||||
files: {
|
||||
id: number
|
||||
memberId: number
|
||||
relationId: number
|
||||
title: string
|
||||
type: number
|
||||
url: string
|
||||
createTime: string
|
||||
sort: number
|
||||
fileId: number
|
||||
}[]
|
||||
userAuthInfo: {
|
||||
id: number
|
||||
memberId: number
|
||||
status: number
|
||||
trueName: string
|
||||
idNo: string
|
||||
createTime: string
|
||||
files: {
|
||||
id: number
|
||||
memberId: number
|
||||
relationId: number
|
||||
title: string
|
||||
type: number
|
||||
url: string
|
||||
createTime: string
|
||||
sort: number
|
||||
fileId: number
|
||||
}[]
|
||||
}
|
||||
unionWechat: boolean
|
||||
unionQq: boolean
|
||||
avatar: string
|
||||
}
|
||||
|
||||
export interface UserAuthInfoRespVO {
|
||||
id?: number
|
||||
memberId?: number
|
||||
status?: number
|
||||
trueName?: string
|
||||
idNo?: string
|
||||
createTime?: string
|
||||
files: {
|
||||
id: number
|
||||
memberId: number
|
||||
relationId: number
|
||||
title: string
|
||||
type: number
|
||||
url: string
|
||||
createTime: string
|
||||
sort: number
|
||||
fileId: number
|
||||
}[]
|
||||
}
|
||||
|
||||
export interface ProjectHistoryResVO {
|
||||
id: number
|
||||
projectId: number
|
||||
relationId: number
|
||||
type: number
|
||||
title: string
|
||||
content: string
|
||||
url: string
|
||||
}
|
||||
|
||||
export interface PageResultProjectHistoryResVO {
|
||||
list: ProjectHistoryResVO[]
|
||||
total: number
|
||||
}
|
||||
|
||||
export interface PageResultMemberPointRecordRespVO {
|
||||
list: {
|
||||
id: number
|
||||
userId: number
|
||||
nickname: string
|
||||
bizId: string
|
||||
bizType: number
|
||||
title: string
|
||||
description: string
|
||||
point: number
|
||||
totalPoint: number
|
||||
createTime: string
|
||||
}[]
|
||||
total: number
|
||||
}
|
||||
|
||||
export interface UserStatisticsLineRespVO {
|
||||
data: any[]
|
||||
checkedXAxis: string
|
||||
xaxis: any[]
|
||||
}
|
||||
|
||||
export interface UserStatisticsBarRespVO {
|
||||
series: {
|
||||
data: any[]
|
||||
}[]
|
||||
xaxis: any[]
|
||||
}
|
||||
export interface UserStatisticsCountRespVO {
|
||||
pointCount: number
|
||||
followCount: number
|
||||
fansCount: number
|
||||
projectCount: number
|
||||
downloadCount: number
|
||||
currencyCount: number
|
||||
previewCount: number
|
||||
revenueCount: number
|
||||
}
|
||||
|
||||
export interface PageResultProjectMemberFavoritesRespVO {
|
||||
list: {
|
||||
id: number
|
||||
userId: number
|
||||
projectId: number
|
||||
drawId: number
|
||||
createTime: string
|
||||
title: string
|
||||
description: string
|
||||
iconUrl: string
|
||||
recommend: true
|
||||
hotPoint: number
|
||||
ownedUserId: string
|
||||
}[]
|
||||
total: number
|
||||
}
|
||||
24
api/toolbox/index.ts
Normal file
24
api/toolbox/index.ts
Normal file
@ -0,0 +1,24 @@
|
||||
import { post, get } from '@/utils/axios'
|
||||
import { TcreateReq, TpageReq, TpageRes } from './types'
|
||||
|
||||
/**
|
||||
* 新建工具箱
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const create = (params: TcreateReq) => {
|
||||
return post<IResponse<number>>({
|
||||
url: '/prod-api/app-api/business/app/project-resource/create',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
/***
|
||||
* 获得内容信息分页
|
||||
*/
|
||||
export const page = (params: TpageReq) => {
|
||||
return get<IResponse<TpageRes>>({
|
||||
url: '/prod-api/app-api/business/app/project-resource/page',
|
||||
params,
|
||||
})
|
||||
}
|
||||
61
api/toolbox/types.ts
Normal file
61
api/toolbox/types.ts
Normal file
@ -0,0 +1,61 @@
|
||||
export interface TcreateReq {
|
||||
id?: number
|
||||
title: string
|
||||
description: string
|
||||
labels: string[]
|
||||
createAddress?: string
|
||||
createIp?: string
|
||||
projectType: number[]
|
||||
files: {
|
||||
id: number
|
||||
title: string
|
||||
fileId: number
|
||||
drawId: number
|
||||
type: number
|
||||
url: string
|
||||
sort: number
|
||||
}[]
|
||||
coverImages: {
|
||||
id: number
|
||||
title: string
|
||||
fileId: number
|
||||
drawId: number
|
||||
type: number
|
||||
url: string
|
||||
sort: number
|
||||
}[]
|
||||
points: number
|
||||
}
|
||||
|
||||
export interface TpageReq {
|
||||
pageNum: number
|
||||
pageSize: number
|
||||
title?: string
|
||||
ownedUserId?: string
|
||||
labels?: string[]
|
||||
status?: number
|
||||
recommend?: boolean
|
||||
}
|
||||
|
||||
export interface TpageRes {
|
||||
list: TpageItem[]
|
||||
total: number
|
||||
}
|
||||
|
||||
export interface TpageItem {
|
||||
id: number
|
||||
title: string
|
||||
createTime: string
|
||||
labels: string[]
|
||||
status: number
|
||||
recommend: boolean
|
||||
points: number
|
||||
iconUrl: string
|
||||
hotPoint: number
|
||||
description: string
|
||||
previewPoint: number
|
||||
previewUrl: string
|
||||
previewImageUrl: string
|
||||
commentsPoint: number
|
||||
ownedUserId: string
|
||||
}
|
||||
88
api/upnew/index.ts
Normal file
88
api/upnew/index.ts
Normal file
@ -0,0 +1,88 @@
|
||||
import { post, get } from '@/utils/axios'
|
||||
import { TcreateReq, pageReq, pageRes, recommendTopReq, recommendTopRes, parentRes, ProjectDictNodeVO } from './types'
|
||||
|
||||
/**
|
||||
* 新建图纸
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const create = (params: TcreateReq) => {
|
||||
return post<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/business/app/project/create',
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获取具有上下级的字典信息
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const parent = (params: { type: string | number; parentId: number }) => {
|
||||
return get<IResponse<parentRes[]>>({
|
||||
url: '/prod-api/app-api/business/app/dict/parent',
|
||||
params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获取具有上下级的字典信息
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const indexTabs = () => {
|
||||
return get<IResponse<parentRes[]>>({
|
||||
url: '/prod-api/app-api/business/project/index/index-tab3',
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 模糊查询获取标签内容
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const keywords = (params: { type: string | number; keywords: string }) => {
|
||||
return get<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/business/app/dict/label-keywords',
|
||||
params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获取格式类型字典信息
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const labels = (params: { type: string | number }) => {
|
||||
return get<IResponse<boolean>>({
|
||||
url: '/prod-api/app-api/business/app/dict/labels',
|
||||
params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获得项目表内容信息分页
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const page = (params: pageReq) => {
|
||||
return get<IResponse<pageRes>>({
|
||||
url: '/prod-api/app-api/business/app/project-draw/page',
|
||||
params,
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 获得项目表内容信息分页
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const recommendTop = (params: recommendTopReq) => {
|
||||
return get<IResponse<recommendTopRes[]>>({
|
||||
url: '/prod-api/app-api/business/app/project-draw/recommend-top',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 首页-标签
|
||||
*/
|
||||
export const homeLabel = () => {
|
||||
return get<IResponse<ProjectDictNodeVO[]>>({
|
||||
url: '/prod-api/app-api/business/app/dict/index-tab',
|
||||
})
|
||||
}
|
||||
160
api/upnew/types.ts
Normal file
160
api/upnew/types.ts
Normal file
@ -0,0 +1,160 @@
|
||||
// 定义 files 数组中每个元素的类型
|
||||
export interface FileItem {
|
||||
id: number
|
||||
title: string
|
||||
drawId: number
|
||||
type: number
|
||||
url: string
|
||||
sort: number
|
||||
}
|
||||
|
||||
// 定义整个 JSON 对象的类型
|
||||
export interface TcreateReq {
|
||||
activeName: string
|
||||
id: number | string
|
||||
type: any[]
|
||||
isDomestic: number | string
|
||||
province: string // 省份编码
|
||||
city: string // 城市编码
|
||||
county: string // 区县编码
|
||||
draws: TcreateDrawsReq[]
|
||||
}
|
||||
|
||||
export interface TcreateDrawsReq {
|
||||
id: number | string
|
||||
projectId: number | string
|
||||
title: string
|
||||
description: string
|
||||
ownedUserId: string
|
||||
editions: string
|
||||
labels: any[]
|
||||
type: number
|
||||
source: number | string
|
||||
editType: boolean | string
|
||||
status: any
|
||||
createAddress: string
|
||||
createIp: string
|
||||
files: FileItem[]
|
||||
province: string // 省份编码
|
||||
city: string // 城市编码
|
||||
county: string // 区县编码
|
||||
points: number | undefined // 金币
|
||||
projectType: any[] // 项目类型
|
||||
formatType: any[] // 格式类型
|
||||
coverImages: any[] // 封面图片
|
||||
otherFiles: any[] // 附件信息
|
||||
renderings: any[] // 效果图
|
||||
}
|
||||
|
||||
export interface pageReq {
|
||||
pageNo?: number
|
||||
pageSize?: number
|
||||
projectId?: number | string
|
||||
title?: string
|
||||
ownedUserId?: string
|
||||
editions?: string
|
||||
labels?: any[]
|
||||
type?: number // 类型: 1 图纸 2 文本 3 模型
|
||||
source?: number | string
|
||||
editType?: boolean | string
|
||||
status?: any
|
||||
createAddress?: string
|
||||
createIp?: string
|
||||
projectType?: string
|
||||
}
|
||||
export interface pageRes {
|
||||
list: {
|
||||
id?: number
|
||||
projectId?: number
|
||||
title?: string
|
||||
editions?: string[]
|
||||
ownedUserIdInfo?: any
|
||||
type?: number
|
||||
createTime?: string
|
||||
projectType?: string[]
|
||||
status?: number
|
||||
recommend?: boolean
|
||||
points?: number
|
||||
iconUrl?: string
|
||||
previewPoint?: number
|
||||
commentsPoint?: number
|
||||
hotPoint?: number
|
||||
}[]
|
||||
total: number
|
||||
}
|
||||
|
||||
export interface recommendTopReq {
|
||||
/** 类型: 1 图纸 2 文本 3 模型 */
|
||||
type: number
|
||||
/** 项目分类 */
|
||||
projectType: number
|
||||
/** 是否国内 0 国外 1 国内 */
|
||||
isDomestic: number
|
||||
}
|
||||
export interface recommendTopRes {
|
||||
/** 主键 */
|
||||
id: number
|
||||
/** 项目id */
|
||||
projectId: number
|
||||
/** 标题 */
|
||||
title: string
|
||||
/** 版本 */
|
||||
editions: any[]
|
||||
/** 类型: 1 图纸 2 文本 3 模型 */
|
||||
type: number
|
||||
/** 创建时间 */
|
||||
createTime: string
|
||||
/** 项目分类 */
|
||||
projectType: any[]
|
||||
/** 状态 */
|
||||
status: number
|
||||
/** 是否推荐 */
|
||||
recommend: boolean
|
||||
/** 金币 */
|
||||
points: number
|
||||
/** 封面图片 */
|
||||
iconUrl: string
|
||||
/** 热度 */
|
||||
hotPoint: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取具有上下级的字典信息
|
||||
*/
|
||||
export interface parentRes {
|
||||
/** 主键 */
|
||||
id: number
|
||||
/** 名称 */
|
||||
name: string
|
||||
/** 父级id */
|
||||
parentId: number
|
||||
/** 类型 */
|
||||
type: number
|
||||
/** 是否子级 */
|
||||
isChildren: boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* 首页-标签
|
||||
*/
|
||||
export interface ProjectDictNodeVO {
|
||||
id: string
|
||||
parentId: string
|
||||
name: string
|
||||
isChildren: boolean
|
||||
sort: number
|
||||
children: {
|
||||
id: string
|
||||
parentId: string
|
||||
name: string
|
||||
isChildren: boolean
|
||||
sort: number
|
||||
children: {
|
||||
id: string
|
||||
parentId: string
|
||||
name: string
|
||||
isChildren: boolean
|
||||
sort: number
|
||||
}[]
|
||||
}[]
|
||||
}
|
||||
Reference in New Issue
Block a user