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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 插件開發流程 下面以支付寶支付插件的開發流程進行講解 1. 設計插件名稱,例如支付寶支付插件名稱alipay. 2. 添加插件目錄,插件目錄在addon文件夾下面,也就是addon/alipay. 3. 設計插件logo,插件logo統一命名為icon.png,為統一樣式插件logo推薦使用66*66的png圖像,將圖像放在alipay文件夾下面,也就是addon/alipay/icon.png。 4. 創建插件的配置文件,首先創建配置文件夾config,也就是addon/config;其次創建基礎配置文件diy_view.php,event.php,info.php,menu_shop.php。下面針對這幾個文件的書寫做一下說明。 5. diy_view.php 模板與鏈接配置文件,里面有三項配置 template:模板配置,如果當前插件有自定義的配置頁面需要整體化配置可以在這里配置。 util:自定義組件配置,如果當前插件需要在自定義頁面中進行配置展示,可以開發,比如拼團需要在首頁顯示拼團專區等等。 link:接設置,如果當前插件需要通過其他頁面進行快捷跳轉就要注冊對應的鏈接 ,這樣配置對應鏈接就可以顯示,例如拼團專區的鏈接需要其他頁面跳轉 下面是拼團插件的配置: ``` return [ 'template' => [ ], 'util' => [ [ 'name' => 'PINTUAN_LIST', 'title' => '拼團', 'type' => 'OTHER', 'controller' => 'Pintuan', 'value' => '{"sources" : "default", "categoryId" : 0, "goodsCount" : "6", "goodsId": [], "style": 1, "backgroundColor": "", "padding": 10, "list": {"imageUrl": "","title": "拼團專區"}, "listMore": {"imageUrl": "","title": "好友都在拼"}, "titleTextColor": "#000", "defaultTitleTextColor": "#000", "moreTextColor": "#858585", "defaultMoreTextColor": "#858585"}', 'sort' => '10000', 'support_diy_view' => '', 'max_count' => 0 ] ], 'link' => [ [ 'name' => 'PINTUAN', 'title' => '拼團', 'parent' => 'MARKETING_LINK', 'wap_url' => '', 'web_url' => '', 'sort' => 0, 'child_list' => [ [ 'name' => 'PINTUAN_PREFECTURE', 'title' => '拼團專區', 'parent' => '', 'wap_url' => '/promotionpages/pintuan/list/list', 'web_url' => '', 'sort' => 0 ], [ 'name' => 'MY_PINTUAN', 'title' => '我的拼團', 'parent' => '', 'wap_url' => '/promotionpages/pintuan/my_spell/my_spell', 'web_url' => '', 'sort' => 0 ], ] ] ], ]; ``` 注意如果沒有配置也要配置相應的空數組 ``` return [ 'template' => [ ], 'util' => [ ], 'link' => [ ], ]; ``` 6. event.php 事件配置文件,監聽事件會在系統啟動后自動加載,同時存入緩存,系統更新或者安裝插件時進行刷新,插件功能有自身內部功能與對外處理或者實現的功能,對內完成的功能可以通過插件本身的菜單或者api接口進行實現,比如拼團,內部功能就行拼團推廣,建立團隊,創建拼團訂單等,實現的功能就是支付之后判斷是否成團等等。支付寶支付,內部功能是支付寶支付配置相關,實現的功能就是支付方式展示,支付,支付的同步回調,支付的異步回調。而事件就是實現對應的方法,早期系統命名為鉤子。下面說明支付寶支付注冊的事件 ``` return [ 'bind' => [ ], 'listen' => [ //支付異步回調 'PayNotify' => [ 'addon\alipay\event\PayNotify' ], //支付方式,后臺查詢 'PayType' => [ 'addon\alipay\event\PayType' ], //支付,前臺應用 'Pay' => [ 'addon\alipay\event\Pay' ], //支付,關閉支付 'PayClose' => [ 'addon\alipay\event\PayClose' ], //支付,原路退款 'PayRefund' => [ 'addon\alipay\event\PayRefund' ], //支付,轉賬 'PayTransfer' => [ 'addon\alipay\event\PayTransfer' ], //支付,轉賬方式 'TransferType' => [ 'addon\alipay\event\TransferType' ] ], 'subscribe' => [ ], ]; ``` ``` 默認文件書寫: return [ 'bind' => [ ], 'listen' => [ ], 'subscribe' => [ ], ]; ``` 通過上述配置顯示支付寶支付實現了支付回調,支付方式查詢,支付方法,支付退款,支付關閉,支付轉賬功能,這樣系統設計人員會針對不同體系的功能設計相應的事件接口,對應的支付插件開發人員只要實現對應的支付事件就可以,不用了解系統內部調用。注意每一個事件的實現都是注冊相應的類文件,類文件放在對應插件的event目錄,例如支付寶支付實現的類都放在addon/alipay/event。 7. info.php 插件基礎配置文件,例如支付寶支付 ``` return [ 'name' => 'alipay', 'title' => '支付寶支付', 'description' => '支付寶支付功能', 'type' => 'system', //插件類型 system :系統插件(自動安裝), promotion:營銷插件 tool:工具插件 'status' => 1, 'author' => '', 'version' => '1.0.9', 'version_no' => '202007130001', 'content' => '', ]; ``` 說明:name代表插件名稱與插件目錄一致,title代表插件中文名稱,description代表插件簡介,type代表插件類型,author代表作者,version代表插件版本編碼,version_no代表插件序列號,插件升級會按照序列號判斷,content代表插件說明。 8. menu_shop.php 店鋪后端功能菜單配置文件 name:菜單關鍵字(注意不能重復) title:菜單中文名稱 url:菜單鏈接(解析之前) parent:菜單上級關鍵字(注意只對配置菜單是根菜單有效) is_show:是否進行展示(選擇展示會展示在頁面菜單,反之不顯示),默認1 is_control:是否控制(選擇控制會控制菜單權限,反之不控制),默認1 is_icon:是否使用矢量圖,根據頁面進行配置,矢量圖的選擇效果是根據矢量,不是圖片 picture:菜單未被選擇圖片 picture_select:菜單被選擇后的圖片 sort:菜單排序號 child_list:子項菜單數組 下面是拼團插件菜單: ``` return [ [ 'name' => 'PROMOTION_PINTUAN', 'title' => '拼團', 'url' => 'pintuan://shop/pintuan/lists', 'parent' => 'PROMOTION_CENTER', 'is_show' => 0, 'sort' => 100, 'child_list' => [ [ 'name' => 'PROMOTION_PINTUAN_LIST', 'title' => '拼團列表', 'url' => 'pintuan://shop/pintuan/lists', 'is_show' => 1, ], [ 'name' => 'PROMOTION_PINTUAN_ADD', 'title' => '添加活動', 'url' => 'pintuan://shop/pintuan/add', 'sort' => 1, 'is_show' => 0 ], [ 'name' => 'PROMOTION_PINTUAN_EDIT', 'title' => '編輯活動', 'url' => 'pintuan://shop/pintuan/edit', 'sort' => 1, 'is_show' => 0 ], [ 'name' => 'PROMOTION_PINTUAN_DETAIL', 'title' => '活動詳情', 'url' => 'pintuan://shop/pintuan/detail', 'sort' => 1, 'is_show' => 0 ], [ 'name' => 'PROMOTION_PINTUAN_DELETE', 'title' => '刪除活動', 'url' => 'pintuan://shop/pintuan/delete', 'sort' => 1, 'is_show' => 0 ], [ 'name' => 'PROMOTION_PINTUAN_INVALID', 'title' => '結束活動', 'url' => 'pintuan://shop/pintuan/invalid', 'sort' => 1, 'is_show' => 0 ], [ 'name' => 'PROMOTION_PINTUAN_GROUP_ORDER', 'title' => '拼團組訂單列表', 'url' => 'pintuan://shop/pintuan/groupOrder', 'sort' => 1, 'is_show' => 0 ], [ 'name' => 'PROMOTION_PINTUAN_GROUP', 'title' => '開團團隊', 'url' => 'pintuan://shop/pintuan/group', 'parent' => 'PROMOTION_PINTUAN', 'is_show' => 1, 'child_list' => [ ] ], ] ], ]; ``` 9. 插件的安裝與卸載事件,有了插件配置相關文件下一步就是插件的安裝與卸載,安裝與卸載文件在event目錄下面 ,安裝事件文件event/Install.php , event/UnInstall.php 下面查看支付寶支付相關的安裝與配置,注意安裝與卸載文件的命名空間 ![](https://img.kancloud.cn/d6/4e/d64ebfe23b9620694360fc784e100669_1364x566.png) ![](https://img.kancloud.cn/bb/55/bb55c82ad0cc5e593e70b22c2301eed1_1692x698.png) ![](https://img.kancloud.cn/6f/18/6f181d7619d023f150f7bf513304b95e_1087x541.png) 10. 開發插件需要實現的功能 ![](https://img.kancloud.cn/b9/36/b936298a39cf6290023410c2bac850cf_474x185.png) 插件model層用于實現插件對應功能的業務邏輯 插件shop端控制器實現插件后臺功能頁面 model層開發書寫方式與基礎書寫方式相同,注意命名空間 ![](https://img.kancloud.cn/6b/15/6b15d4e5d2de89b02eaa1de9bcc245b1_1676x441.png) 插件shop端控制器書寫方式與基礎書寫方式相同,注意控制器命名空間與模板文件 ![](https://img.kancloud.cn/65/f9/65f9673cd97b094d9a8482aa708421d1_1728x609.png)![](https://img.kancloud.cn/44/f6/44f6ef12f4aa57ddfcd9591796f9b41d_1916x664.png) 11. 開發插件需要實現的事件,比如開發支付功能需要實現查詢支付方式,支付,同步回調,異步回調等等功能 注冊事件需要放在插件config目錄下面的event 例如支付寶支付插件 ![](https://img.kancloud.cn/05/94/0594022b48f126b23801b9a8fc0d423c_1903x757.png) ![](https://img.kancloud.cn/a5/75/a5752b7b4d57e80832273a0f410a44bd_685x561.png)
                  <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>

                              哎呀哎呀视频在线观看