Skip to content

路由中间件


路由中间件统一写在 middleware 目录下,同样要导出一个函数,如果路由指定了中间件,那么访问路由之前会先经过这里

import { Context, ExceptionType, Utils } from 'think-ts-lib'

// Token校验的中间件
export default (ctx: Context, next: () => void, error: ExceptionType) => {
    const token = ctx?.header?.authorization?.split('Bearer ')?.[1] || ''
    if (Utils.validateToken(token)) {
        next()
    } else {
        error('非法请求或Token过期')
    }
}
import { Context, ExceptionType, Utils } from 'think-ts-lib'

// Token校验的中间件
export default (ctx: Context, next: () => void, error: ExceptionType) => {
    const token = ctx?.header?.authorization?.split('Bearer ')?.[1] || ''
    if (Utils.validateToken(token)) {
        next()
    } else {
        error('非法请求或Token过期')
    }
}

ctx

代表上下文,可从中获取 headers request

next()

该函数代表向下执行不阻拦

error()

该函数可以阻断程序向下执行并抛出异常,可以传三个参数,第一个参数设置抛出异常的消息内容,第二个参数设置错误码,第三个参数设置状态码。默认参数如下

(
    msg: string = '请求错误',
    errorCode: number = 30000,
    statusCode: number = 400
)
(
    msg: string = '请求错误',
    errorCode: number = 30000,
    statusCode: number = 400
)

备案号:冀ICP备20015584号-2