分享

微擎模块开发manifest.xml文件详解

 qianghuiyong 2021-01-02

微擎在安装或卸载模块时会根据manifest.xml生成(或删除)数据库中相应记录,并执行manifest.xml里指定的脚本。

  1. <application setting='true'>
  2. <name><![CDATA[壹应用]]></name>
  3. <identifie><![CDATA[jq_first]]></identifie>
  4. <version><![CDATA[1.4]]></version>
  5. <ability><![CDATA[第一个应用]]></ability>
  6. <type><![CDATA[other]]></type>
  7. <description><![CDATA[第一个应用]]></description>
  8. <author><![CDATA[zhiqiang]]></author>
  9. <url><![CDATA[]]></url>
  10. <setting><![CDATA[]]></setting>
  11. </application>
  12. <platform>
  13.     <!--定义此模块需要订阅的事件-->
  14.     <subscribes>
  15.         <message type='text' />
  16.         <message type='image' />
  17.         <message type='voice' />
  18.         <message type='video' />
  19.         <message type='shortvideo' />
  20.         <message type='location' />
  21.         <message type='link' />
  22.         <message type='subscribe' />
  23.         <message type='unsubscribe' />
  24.         <message type='qr' />
  25.         <message type='trace' />
  26.         <message type='click' />
  27.         <message type='view' />
  28.         <message type='merchant_order' />
  29.     </subscribes>
  30.     <!--定义此模块需要处理的事件-->
  31.     <handles>
  32.         <message type='text' />
  33.         <message type='image' />
  34.         <message type='voice' />
  35.         <message type='video' />
  36.         <message type='shortvideo' />
  37.         <message type='location' />
  38.         <message type='link' />
  39.         <message type='subscribe' />
  40.         <message type='qr' />
  41.         <message type='trace' />
  42.         <message type='click' />
  43.         <message type='merchant_order' />
  44.     </handles>
  45.     <!--定义此模块是否需要规则触发-->
  46.     <rule embed='false' />
  47.     <card embed='false' />
  48.     </platform>
  49. <bindings>
  50. <rule>
  51. <entry title='应用入口' do='enter' state='' direct='false' />
  52. </rule>
  53. <menu>
  54. <entry title='基本设置' do='setting' state='' direct='false' />
  55. </menu>
  56. <system_welcome>
  57. <entry title='壹应用' do='first' state='' direct='false' />
  58. </system_welcome>
  59. </bindings>
  60. <install><![CDATA[]]></install>
  61. <uninstall><![CDATA[]]></uninstall>
  62. <upgrade><![CDATA[]]></upgrade>

manifest.xml文件内容详细介绍如下:

manifest - xmlns *(新增)*

用来为此模块XML的命令空间,此处必须填写'[http://www.](http://www./)'.

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

升级执行脚本, 参上

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多