1. 程式人生 > >微擎模組的安裝檔案manifest.xml

微擎模組的安裝檔案manifest.xml

微擎在安裝或解除安裝模組時會根據manifest.xml生成(或刪除)資料庫中相應記錄,並執行manifest.xml裡指定的指令碼。

manifest.xml檔案內容詳細介紹如下:

manifest - xmlns *(新增)* 用來為此模組XML的命令空間,此處必須填寫"http://www.we7.cc".

manifest - versionCode 用來說明當前模組適用於哪個版本的微擎, 用來保證模組的相容性. 多個支援的版本請使用逗號隔開.

manifest - application 用來定義模組的基本設定屬性 manifest - application - setting 用來說明此模組是否有針對模組的設定項, 設定項可以儲存此模組需要的配置引數(此引數針對不同的公眾號分別儲存)

manifest - application - name 模組的名稱

manifest - application - identifie 模組識別符號, 應對應模組資料夾的名稱, 微擎系統按照此識別符號查詢模組定義

manifest - application - version 模組當前版本, 此版本用於模組的版本更新

manifest - application - type *(新增)* 模組的型別,方便在左側選單中歸類與顯示, 目前分為 business(主要業務),customer(客戶關係),activity(營銷及活動),services(常用服務及工具),other(其他)

manifest - application - ability 模組功能描述, 使用簡單的語言描述模組的作用, 來吸引使用者

manifest - application - description 模組詳細描述, 詳細介紹模組的功能和使用方法

manifest - application - author 模組的作者, 留下你的大名吧

manifest - application - url 模組的釋出頁, 可以通過這個url來訪問你的模組最新情況

manifest - platform 用來定義模組用以處理公眾平臺訊息的設定項

manifest - platform - subscribes 訊息訂閱器定義(訊息訂閱器提供了一種處理公眾平臺訊息的方式, 可以接受到指定型別的訊息, 來進行分析和統計, 不能用以處理訊息返回結果. 這種處理是並行的, 同一個訊息會被每一個訂閱它的模組接收到)

manifest - platform - subscribes - message 定義需要被訂閱器訂閱的訊息型別, 這裡的訊息被 WeModuleReceiver 處理

manifest - platform - handles 訊息處理器定義(訊息處理器用於接收公眾平臺的訊息, 並返回相應的處理結果. 這種處理是互斥的, 同一個訊息只能從一個模組返回處理結果)

manifest - platform - handles - message 定義需要被處理器處理的訊息型別, 這裡的訊息被 WeModuleProcessor 處理

manifest - platform - rule *(變更)* 定義此模組是否需要規則觸發

manifest - platform - rule - embed 當前模組進行訊息處理時需要定義規則, 是否使用規則路由. (使用規則路由必須要能處理text型別訊息, handles節點中必須包含 )

manifest - bindings *(新增)* 定義此模組的封面,管理選單,微站選單及規則擴充套件選單

manifest - bindings - cover 定義模組的封面入口,封面入口為單條圖文資訊即是模組需要對使用者開放的入口地址.

manifest - bindings - cover - call 定義模組動態擴充套件選單項, 此值對應 WeModuleSite 類中的方法, 返回的值結構與entry相同, 將成為此節點的選單項.

manifest - bindings - cover - entry 模組繫結選單的定義結構. 需要定義 title - 操作的名稱, do - 模組操作入口, state - 附加的使用者引數(定義於WeModuleSite)

manifest - bindings - rule 定義規則的附加操作, 每個entry代表一個附加操作.

manifest - bindings - menu 定義模組在左側本模組選單下拉列表中的附加選單操作, 每一個entry代表一個選單操作.

manifest - bindings - home 定義模組在微站首頁的擴充套件選單項, 每一個entry代表一個微站首頁選單項.

manifest - bindings - profile 定義模組在微站個人中心的擴充套件選單項, 每一個entry代表一個微站個人中心選單項.

manifest - bindings - shortcut 定義模組在微站快捷選單的擴充套件選單項, 每一個entry代表一個微站快捷選單項.

manifest - install 安裝執行指令碼, 這裡支援兩種形式: php指令碼和sql語句. 如果安裝時只需要寫入資料庫相關內容, 可以在此直接定義sql語句. 也可以使用php檔案, 例如: install.php 代表執行模組定義目錄下的 install.php

manifest - uninstall 解除安裝執行指令碼, 參上

manifest - upgrade 升級執行指令碼, 參上

舉一個荔枝:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns="http://www.we7.cc" versionCode="0.6">     <application setting="false">         <name><![CDATA[知曉]]></name>         <identifie><![CDATA[my_test]]></identifie>         <version><![CDATA[1.0]]></version>         <type><![CDATA[business]]></type>         <ability><![CDATA[知曉]]></ability>         <description><![CDATA[知曉]]></description>         <author><![CDATA[mingquan]]></author>         <url><![CDATA[http://bbs.we7.cc/]]></url>     </application>     <platform>         <subscribes>         </subscribes>         <handles>         </handles>         <rule embed="false" />         <card embed="false" />         <supports>             <item type="wxapp" />         </supports>     </platform>     <bindings>         <menu>             <entry title="知小管理" do="zhixiao" state="" direct="false" />                      </menu>     </bindings>     <permissions>     </permissions>     <install><![CDATA[ -- ---------------------------- -- Table structure for ims_zhixiao_course -- ---------------------------- DROP TABLE IF EXISTS `ims_zhixiao_coursen`; CREATE TABLE `ims_zhixiao_course`  (   `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,   `classname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '課程名',   `englishname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '英文名',   `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '標題名稱',   `image` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '圖片連線地址',   `create_time` varchar(0) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '建立時間',   PRIMARY KEY (`id`) USING BTREE ) ENGINE = MyISAM AUTO_INCREMENT = 24 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '每日推理問題選項表' ROW_FORMAT = Dynamic;

-- ---------------------------- -- Records of ims_zhixiao_course -- ---------------------------- INSERT INTO `ims_zhixiao_course` VALUES (2, '微信小程式開發課程', 'MinTraining', '微信小程式開發系列培訓共10課時', 'http://localhost/weiqing/attachment/images/1/2018/10/cpD17ZCbTb99X2dpXBQTtp56AxQ2Tv.jpg', ''); INSERT INTO `ims_zhixiao_course` VALUES (3, '水平測試', 'WeExam', '第一屆微信小程式開發法水平測試', 'http://localhost/weiqing/attachment/images/1/2018/10/K62QS4VS45IsDSUSk44SVj562VvJju.png', ''); INSERT INTO `ims_zhixiao_course` VALUES (4, 'WeGeek大賽報名', 'WeGeek', '第一屆微信小程式開發大賽參賽報名', 'http://localhost/weiqing/attachment/images/1/2018/10/Xz3fQ3fQFMU6mNQ2qM8bduoBKOUfDm.jpg', ''); INSERT INTO `ims_zhixiao_course` VALUES (5, '', '知曉雲', '小程式開發的強力後盾提供便捷雲服務', 'http://localhost/weiqing/attachment/images/1/2018/10/cpD17ZCbTb99X2dpXBQTtp56AxQ2Tv.jpg', '');         ]]></install>     <uninstall><![CDATA[ DROP TABLE IF EXISTS `ims_mrtl_option`; DROP TABLE IF EXISTS `ims_mrtl_reason`; DROP TABLE IF EXISTS `ims_mrtl_record`;         ]]></uninstall>     <upgrade><![CDATA[]]></upgrade> </manifest>