<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ### 創建 Controller MVC 模型中,控制器是用戶請求的邏輯處理部分。比如:將用戶相關的操作都放在`news.js`里,每一個操作就是里面一個 Action。 項目中的 controller 需要繼承`think.Controller`類,這樣能使用一些內置的方法。當然項目中可以創建一些通用的基類,然后實際的 controller 都繼承自這個基類。 項目創建時會自動創建了一個名為`base.js`的基類,其他 controller 繼承該類即可。 ### 創建News控制器 創建文件 /src/controller/api/portal/news.js 輸入以下內容 ~~~ const Base = require("../../base.js"); import Mock from "mockjs"; module.exports = class extends Base { async getListAction(map = { page: 1, pageSize: 10 }) { let { page, pageSize } = map; let mockOptions = { count: 200, totalPages: 20, pageSize: pageSize, currentPage: page, "data|20": [ { "id|+1": 1, // 屬性 id 是一個自增數,起始值為 1,每次增 1 title: "@ctitle(10,30)", cover: "@image('300x200', '#50B347')", create_at: "@date()", abstract: "@cparagraph(3,50)", }, ], }; let data = await Mock.mock(mockOptions); return this.success(data); } async getDetailAction(id) { //模擬一段Markdown文本,實際從該數據庫中讀取或者從文件中讀取 let markdown = await Mock.mock({ description: "@cparagraph(100)", }); const html = think.service("marked").markdownToHtml(markdown.description); let mockOptions = { id: 1, // 屬性 id 是一個自增數,起始值為 1,每次增 1 title: "異步處理", create_at: "@date()", cover: "@image('1024x200', '#50B347')", abstract: "@cparagraph(100)", description: html, author: "@cname()", "category_label|1": ["團隊動態", "行業報告"], }; let data = await Mock.mock(mockOptions); return this.success(data); } }; ~~~ ### 能力提升 1、實現從數據庫中讀取新聞列表和新聞詳情 ``` module.exports = class extends think.Controller { __before() { } // http://127.0.0.1:8360/api/portal/news/getDetail?id=1 async getDetailAction() { let id = this.get('id'); let map = { id }; let field = "id,title,author,cover_image,abstract,description,create_at"; let data = await this.model("portal_news").field(field).where(map).find(); think.logger.debug(data); return this.success(data); } // http://127.0.0.1:8360/api/portal/news/getList async getListAction() { let id = this.get('id'); let page = this.get('page') || 1; let pageSize = this.get('pageSize') || 10; let map = {}; let field = "id,title,author,cover_image,abstract,description,create_at"; //SELECT `id`,`title`,`author`,`cover_image`,`abstract`,`description`,`create_at` FROM `think_portal_news` WHERE ( `id` = '1' ) ORDER BY sort desc LIMIT 0,10 let data = await this.model("portal_news").field(field).where(map).order("sort desc").page(page, pageSize).countSelect(); think.logger.debug(data); return this.success(data); } }; ```
                  <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>

                              哎呀哎呀视频在线观看