feat: 用户登录注册, 工具收藏

This commit is contained in:
osiris
2024-02-29 18:07:26 +08:00
parent 7456b9a35f
commit e2676f9ec8
14 changed files with 872 additions and 57 deletions
+13 -3
View File
@@ -5,11 +5,13 @@ import type {
ToolsReqData,
ToolsResponseData,
ToolCateResponseData,
ToolRecommendResponseData
ToolRecommendResponseData,
ToolCollectResponseData,
CollectReqData,
GetToolCollectResponseData
} from './type'
//项目用户相关的请求地址
enum API {
//获取tools
GET_TOOLS = '/tools',
@@ -17,6 +19,10 @@ enum API {
GET_TOOL_CATES = '/tool/cates',
//获取推荐
GET_TOOL_RECOMMEND = '/tool/recommends',
//收藏工具
COLLECT = '/tool/collects',
//我的收藏
GET_TOOL_COLLECTS = '/get/tool/collects',
}
//获取tools
export const getTools = (data: ToolsReqData) => request.get<any, ToolsResponseData>(API.GET_TOOLS, {
@@ -25,4 +31,8 @@ export const getTools = (data: ToolsReqData) => request.get<any, ToolsResponseDa
//获取tool cate
export const getToolCate = () => request.get<any, ToolCateResponseData>(API.GET_TOOL_CATES)
//获取推荐
export const getToolRecommend = () => request.get<any, ToolRecommendResponseData>(API.GET_TOOL_RECOMMEND)
export const getToolRecommend = () => request.get<any, ToolRecommendResponseData>(API.GET_TOOL_RECOMMEND)
//收藏工具
export const toolCollect = (data: CollectReqData) => request.post<any, ToolCollectResponseData>(API.COLLECT + '/' + data.toolId)
//我的收藏
export const getToolCollect = () => request.get<any, GetToolCollectResponseData>(API.GET_TOOL_COLLECTS)
+14 -1
View File
@@ -2,7 +2,8 @@ import { ResponseData } from "../common"
export interface ToolsReqData {
cateId: number,
title: string
title: string,
route: string,
}
//tools
@@ -26,6 +27,10 @@ export interface ToolCate {
list: ToolsInfo[]
}
export interface CollectReqData {
toolId: number
}
//tools list response
export interface ToolsResponseData extends ResponseData {
data: ToolsInfo[]
@@ -41,4 +46,12 @@ export interface ToolRecommendResponseData extends ResponseData {
data: ToolsInfo[]
}
//tools collect response
export interface ToolCollectResponseData extends ResponseData {
}
//get collect response
export interface GetToolCollectResponseData extends ResponseData {
}
+53
View File
@@ -0,0 +1,53 @@
import request from '@/utils/request'
import type {
LoginReqData,
LoginResponseData,
LogoutResponseData,
RegisterReqData,
RegisterResponseData,
SendCodeEmailResponseData,
sendCodeEmailReq,
UserInfoResponseData,
ForgetReqData,
ForgetResponseData
} from './type'
//项目用户相关的请求地址
enum API {
//login
LOGIN = '/login',
//logout
LOGOUT = '/logout',
//register
REGISTER = '/register',
//forget
FORGET = '/forget/password',
//注册 - 发送邮箱验证码
SEND_CODE_EMAIL = '/send/register/code',
//忘记密码 - 发送邮箱验证码
SEND_FORGET_CODE_EMAIL = '/send/forget/password/code',
//获取用户信息
USER_INFO = '/user/info'
}
//login
export const login = (data: LoginReqData) => request.post<any, LoginResponseData>(API.LOGIN, data)
//logout
export const logout = () => request.post<any, LogoutResponseData>(API.LOGOUT)
//register
export const register = (data: RegisterReqData) => request.post<any, RegisterResponseData>(API.REGISTER, data)
//forget
export const forget = (data: ForgetReqData) => request.post<any, ForgetResponseData>(API.FORGET, data)
//register - send code
export const sendCodeEmail = (data: sendCodeEmailReq) => request.post<any, SendCodeEmailResponseData>(API.SEND_CODE_EMAIL, data)
//forget - send code
export const sendForgetCodeEmail = (data: sendCodeEmailReq) => request.post<any, SendCodeEmailResponseData>(API.SEND_FORGET_CODE_EMAIL, data)
//获取用户信息
export const userInfo = () => request.get<any, UserInfoResponseData>(API.USER_INFO)
+49
View File
@@ -0,0 +1,49 @@
import { ResponseData } from "../common"
export interface LoginReqData {
email: string,
password: string
}
export interface RegisterReqData {
email: string,
code: string,
password: string,
password_confirmation: string
}
export interface ForgetReqData {
email: string,
code: string,
password: string,
password_confirmation: string
}
export interface sendCodeEmailReq {
email: string
}
export interface LoginResponseData extends ResponseData {
}
export interface LogoutResponseData extends ResponseData {
}
export interface RegisterResponseData extends ResponseData {
}
export interface ForgetResponseData extends ResponseData {
}
export interface SendCodeEmailResponseData extends ResponseData {
}
export interface UserInfoResponseData extends ResponseData {
}