1. 程式人生 > >微擎模塊的安裝文件manifest.xml

微擎模塊的安裝文件manifest.xml

exists 語句 manifest cat ner arc 路由 enc binding

微擎在安裝或卸載模塊時會根據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`;
        ]]></uninstall>
    <upgrade><![CDATA[]]></upgrade>
</manifest>


原文:https://blog.csdn.net/weixin_36521716/article/details/82980575

微擎模塊的安裝文件manifest.xml