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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC=2,3] 需要用戶登錄的網站基本上都離不開 Session,ThinkJS 里默認支持多種類型的 Session,如:`file`,`db`,`redis`?等。 ## 支持的 Session 類型 * `base`?內存方式 * `file`?文件類型 * `db`?數據庫類型 * `redis`?Redis 類型 #### db Session 使用?`db`?類型的 Session 需要創建對應的數據表,可以用下面的 SQL 語句創建: ~~~ DROP TABLE IF EXISTS `think_session`; CREATE TABLE `think_session` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `cookie` varchar(255) NOT NULL DEFAULT "", `data` text, `expire` bigint(11) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `cookie` (`cookie`), KEY `expire` (`expire`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ~~~ 需要將?`think_`?改為 db 配置中的數據表前綴。 #### redis Session 使用?`redis`?類型的 Session 需要配置 Redis,具體見?[配置](https://thinkjs.org/zh-CN/doc/2.0/config.html#redis)。 ## Session 配置 Session 默認配置如下,可以在?`src/common/config/session.js`?中進行修改: ~~~ export default { type: "file", name: "thinkjs", //對應 cookie 的名稱 path: runtimePrefix + "/session", // file 類型下緩存文件的目錄 secret: "", //Session 對應的 cookie 是否需要加密 timeout: 24 * 3600, //過期時間,默認為一天 cookie: { //Session 對應的 cookie 配置項 length: 32 } }; ~~~ 關于 Cookie 的配置請見?[配置](https://thinkjs.org/zh-CN/doc/2.0/config.html#cookie)。 ## Session 讀寫 Controller 或 Logic 里可以通過下面的方式讀寫 Session: #### 讀取 Session ~~~ export default class extends think.controller.base { * indexAction(){ //獲取session let value = yield this.session("userInfo"); } } ~~~ #### 設置 Session ~~~ export default class extends think.controller.base { * indexAction(){ //設置 session yield this.session("userInfo", data); } } ~~~ #### 清除 Session ~~~ export default class extends think.controller.base { * indexAction(){ //清除當前用戶的 session yield this.session(); } } ~~~ * * * http 對象上可以通過?`http.session`?方法讀寫 Session,具體請見?[API -> http](https://thinkjs.org/zh-CN/doc/2.0/api_http.html#httpsessionname-value)。 ## 擴展 Session 可以通過下面的命令創建 Session Adapter: ~~~ thinkjs adapter session/foo ~~~ 會創建文件?`src/common/adapter/session/foo.js`,需要實現下面的方法: ~~~ export default class extends think.adapter.session { /** * init * @param {Object} options [] * @return {} [] */ init(options){ } /** * 獲取 Session * @param {String} name [] * @return {Promise} [] */ get(name){ } /** * 設置 Session * @param {String} name [] * @param {Mixed} value [] */ set(name, value){ } /** * 刪除 Session * @param {String} name [] * @return {Promise} [] */ delete(name){ } /** * 更新 Session * @return {Promise} [] */ flush(){ } /** * 清除過期的 Session * @return {Promise} [] */ gc(){ } } ~~~ 框架里的 Session 實現請見?[https://github.com/75team/thinkjs/tree/master/src/adapter/session](https://github.com/75team/thinkjs/tree/master/src/adapter/session)。 ## 使用第三方 Session Adapter 如何使用第三方的緩存 Adapter 請參見?[Adapter -> 介紹](https://thinkjs.org/zh-CN/doc/2.0/adapter_intro.html#使用第三方-adapter)。
                  <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>

                              哎呀哎呀视频在线观看