<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 用戶登錄api接口 ## 接口文檔 ## 1.端點設計 | 接口名稱 |端點 |請求方法 | 說明 | | --- | --- | --- | --- | | 用戶注冊 |http://api.daiban.com/login | post |用戶登錄 | ## 2.參數 | 參數名稱 |是否必填 |類型 | 說明 | | --- | --- | --- | --- | | username|是 | string |用戶名(手機號)| | password|是 | string |密碼| | timestamp|是 | int|時間戳| ## 3.header 如果是APP項目 需要傳遞必要的信息 建議放到header傳遞 | 參數名稱 |是否必填 |類型 | 說明 | | --- | --- | --- | --- | | sign|是 | int|簽名| 簽名算法 需要所有的請求參數(get,post),按照參數名稱進行升序排序,然后 &符相連接 再進行md5加密! ## 4.響應 > 接口無論是否請求成功或者失敗,都需要給請求方有響應數據返回。只有這樣才可以給請求方更好的體驗,也方便接口調試。在這里我們統一用JSON格式的數據返回。返回的數據結構需要根據項目的需求來定。 #### 響應數據如下: 響應頭 ``` HTTP/1.1 200 OK Content-Type:application/json ``` 返回數據 ``` { message:"登錄成功", data:{}, errorcode:0 } ``` ## 5.錯誤碼 項目錯誤碼對照表 每一個字段至少定義一個錯誤碼 | 項目錯誤碼 | 說明 |備注 | | --- | --- | --- | | 60000|用戶名不正確| | 60001|密碼不正確| | 60002|驗證碼錯誤| | 60003|請求超時| | 60004|未知錯誤| | 60005|時間戳不正確| | 60006|參數錯誤| | 60007|簽名錯誤| | 60008|參數獲取失敗| | 60009|用戶不存在| | 60010|無權訪問|token不正確時返回 重新登錄 | 60011|登錄過期|返回 重新登錄 項目使用HTTP狀態碼 | 項目狀態碼| 說明 |備注 | | --- | --- |--- | | 200|服務器成功處理請求| | 201|服務器成功創建資源| | 400|錯誤請求服務器不理解請求的語法| | 401|未授權請求,要求身份驗證| | 403|服務器禁止,拒絕請求| | 404|服務器找不到請求的網頁| | 500|服務器內部錯誤服務器遇到錯誤,無法完成請求| ## 6.開發流程 1.打開postman 部署用戶登陸測試接口 2.thinkphp中配置登陸api接口 路由 route > //用戶登陸? > Route::post('/:ver/login',':ver.Login/login'); 3.創建api控制器Login > D:\phpstudy_pro\WWW\daiban>php think make:controller api@v1/Login --plain 4.在Login控制器中創建login方法 5.在login方法中 依賴注入Request 接受t傳過來的所有參數 6.Login控制器 繼承Common控制器 實現時間戳和簽名的認證 7.創建Login 驗證器 繼承extends BaseValidate 驗證器 8.login 方法中調用Login驗證器7 9.登陸驗證,到數據庫查詢用戶信息進行對比 5.保持驗證狀態 1.數據庫存儲 token令牌和 過期時間 2.創建公共類文件Auth token 生成方法 > ``` > md5($this->username.time().rand(100000,999999)); > ``` 3.創建中間件CheckApiLogin 簡化訪問登錄狀態保持 middleware CheckApiLogin類 > ``` > > publicfunction?handle($request,?\\Closure?$next) > ????{ > //令牌token?過期時間驗證 > ????????Auth::getInstance()->checkLogin(); > return?$next($request); > ????} > ``` 4.中間件別名配置 根目錄下 middleware.php > > ``` > <?php > //?中間件配置 >return?[ > 'alias'?=>?[ //?別名或分組 > 'checkLogin'=>\\app\\middleware\\CheckApiLogin::class, > ??? ?], > ]; > ``` 5.中間件調用 路由直接配置檢查登錄狀態 > ``` > Route::post('/:ver/test',':ver.Login/test')->middleware('checkLogin'); > ``` >
                  <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>

                              哎呀哎呀视频在线观看