<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ### 路由中間件定義 <br> 路由中間件統一寫在 ``middleware`` 目錄下,同樣要導出一個函數,如果路由指定了中間件,那么訪問路由之前會先進過這里 ``` // 路由中間件 const checkLogin = (ctx,next,error) => { const token = ctx.header?.authorization?.split('Bearer ')[1] || '' if(ctx.validateToken(token)){ next() }else{ error('非法請求,或Token過期') } } module.exports = checkLogin ``` > ``ctx`` 代表上下文,可從中獲取 ``headers`` ``request``等 ``` const checkLogin = async (ctx,next,error) => { let userInfo = await ctx.RDb().get(ctx.header.token || '') if(userInfo){ next() }else{ error('非法請求,或Token過期') } } module.exports = checkLogin ``` <br> > ``ctx`` 里目前還掛載了如下方法 * ctx.validateToken() // JWT校驗函數,需傳入一個TOKEN * ctx.Db() // 數據庫操作函數,用法和控制器里相同 * ctx.RDb() // Redis操作函數,用法和控制器里相同 * ctx.EDb() // ElasticSearch操作函數,用法和控制器里相同 * ctx.MDb() // MongoDB操作函數,用法和控制器里相同 * ctx.Log4j() // 日志輸出函數,用法和控制器里相同 <br> > ``next()`` 函數代表向下執行不阻攔 > ``error()`` 函數可以阻斷程序向下執行并拋出異常,可以傳三個參數,第一個參數設置拋出異常的消息內容,第二個參數設置錯誤碼,第三個參數設置狀態碼。默認參數如下 ``` (msg = '請求錯誤',errorCode = 30000,statusCode = 400) ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看