Explorar o código

✨ feat(api): 添加文件管理相关路由和客户端

- 在服务端注册文件路由,路径为/api/v1/files
- 在客户端API中添加文件管理相关客户端(fileClient)
- 导出FileRoutes类型定义,完善API类型系统
yourname hai 6 meses
pai
achega
4066e82b90
Modificáronse 2 ficheiros con 8 adicións e 1 borrados
  1. 5 1
      src/client/api.ts
  2. 3 0
      src/server/api.ts

+ 5 - 1
src/client/api.ts

@@ -1,6 +1,6 @@
 import { hc } from 'hono/client'
 import type {
-  AuthRoutes, UserRoutes, RoleRoutes,
+  AuthRoutes, UserRoutes, RoleRoutes, FileRoutes, 
   ClassroomDataRoutes, SubmissionRecordsRoutes,
   StockDataRoutes, StockXunlianCodesRoutes, DateNotesRoutes, AliyunRoutes
 } from '@/server/api';
@@ -18,6 +18,10 @@ export const roleClient = hc<RoleRoutes>('/', {
   fetch: axiosFetch,
 }).api.v1.roles;
 
+export const fileClient = hc<FileRoutes>('/', {
+  fetch: axiosFetch,
+}).api.v1.files;
+
 export const classroomDataClient = hc<ClassroomDataRoutes>('/', {
   fetch: axiosFetch,
 }).api.v1['classroom-data'];

+ 3 - 0
src/server/api.ts

@@ -4,6 +4,7 @@ import { errorHandler } from './utils/errorHandler'
 import usersRouter from './api/users/index'
 import authRoute from './api/auth/index'
 import rolesRoute from './api/roles/index'
+import fileRoute from './api/files/index'
 import classroomDataRoutes from './api/classroom-data/index'
 import submissionRecordsRoutes from './api/submission-records/index'
 import stockDataRoutes from './api/stock-data/index'
@@ -83,6 +84,7 @@ if(!import.meta.env.PROD){
 const userRoutes = api.route('/api/v1/users', usersRouter)
 const authRoutes = api.route('/api/v1/auth', authRoute)
 const roleRoutes = api.route('/api/v1/roles', rolesRoute)
+const fileRoutes = api.route('/api/v1/files', fileRoute)
 const classroomDataApi = api.route('/api/v1/classroom-data', classroomDataRoutes)
 const submissionRecordsApi = api.route('/api/v1/submission-records', submissionRecordsRoutes)
 const stockDataApi = api.route('/api/v1/stock-data', stockDataRoutes)
@@ -93,6 +95,7 @@ const aliyunApi = api.route('/api/v1/aliyun', aliyunRoute)
 export type AuthRoutes = typeof authRoutes
 export type UserRoutes = typeof userRoutes
 export type RoleRoutes = typeof roleRoutes
+export type FileRoutes = typeof fileRoutes
 export type ClassroomDataRoutes = typeof classroomDataApi
 export type SubmissionRecordsRoutes = typeof submissionRecordsApi
 export type StockDataRoutes = typeof stockDataApi