@@ -2,8 +2,9 @@ import fs from "fs";
22import path from "path" ;
33
44import { apiName } from "config/api" ;
5- import { fail , success , wrapperMiddlewareRequest } from "server/middleware/apiHandler" ;
5+ import { catchMiddlewareHandler , compose , defaultRunRequestMiddleware , fail , success , wrapperMiddlewareRequest } from "server/middleware/apiHandler" ;
66import { ServerError } from "server/utils/error" ;
7+ import { getIsStaticGenerate } from "utils/env" ;
78
89import type { Request , Response , NextFunction } from "express" ;
910
@@ -16,21 +17,24 @@ const getFileExist = (resolvePath: string) => {
1617 } ) ;
1718} ;
1819
19- const getI18nFile = wrapperMiddlewareRequest ( {
20- requestHandler : async function getI18nFile ( { req, res } ) {
21- const { lang } = req . query ;
22- const relativePath = path . resolve ( process . cwd ( ) , "lang" , `${ lang } .json` ) ;
23- const isExist = await getFileExist ( relativePath ) ;
24- if ( isExist ) {
25- const content = await fs . promises . readFile ( relativePath , { encoding : "utf-8" } ) ;
26- success ( { res, resDate : { data : { [ lang as string ] : JSON . parse ( content ) } } } ) ;
27- } else {
28- throw new ServerError ( `${ lang } 语言文件不存在` , 404 ) ;
29- }
20+ const getI18nFile = wrapperMiddlewareRequest (
21+ {
22+ requestHandler : async function getI18nFile ( { req, res } ) {
23+ const { lang } = req . query ;
24+ const relativePath = path . resolve ( process . cwd ( ) , "lang" , `${ lang } .json` ) ;
25+ const isExist = await getFileExist ( relativePath ) ;
26+ if ( isExist ) {
27+ const content = await fs . promises . readFile ( relativePath , { encoding : "utf-8" } ) ;
28+ success ( { res, resDate : { data : { [ lang as string ] : JSON . parse ( content ) } } } ) ;
29+ } else {
30+ throw new ServerError ( `${ lang } 语言文件不存在` , 404 ) ;
31+ }
32+ } ,
33+ cacheConfig : { needCache : true } ,
34+ paramsConfig : { fromQuery : [ "lang" ] } ,
3035 } ,
31- cacheConfig : { needCache : true } ,
32- paramsConfig : { fromQuery : [ "lang" ] } ,
33- } ) ;
36+ getIsStaticGenerate ( ) ? compose ( catchMiddlewareHandler , defaultRunRequestMiddleware ) : undefined
37+ ) ;
3438
3539const actionObject : { [ props : string ] : typeof getI18nFile } = {
3640 [ apiName . lang ] : getI18nFile ,
0 commit comments