微擎模块开发之manifest.xml

微擎使用 manifest.xml 来描述模块的主要功能和配置参数,这个xml文件被定义为如下结构。

特别注意:千万别复制,因为这只是文档说明,可用的manifest文件请到开发者中心下载

< ?xm<x>l version="1.0" encoding="utf-8"?>
<manifest xm<x>lns="http://www.w7.cc" versionCode="">
	//是否支持云参数设置
	<application setting="false">
		//模块名
		<name><![CDATA[专题页面]]></name>
		//模块标识
		<identifie><![CDATA[we7_diyspecial]]></identifie>
		//模块版本
		<version><![CDATA[1.6.5]]></version>
		//模块类型
		<type><![CDATA[activity]]></type>
		//模块简介
		<ability><![CDATA[紧跟时代步伐,拥抱HTML5,做出属于我们自己的H5营销推广页面。]]></ability>
		//模块介绍
		<desc<x>ription><![CDATA[可制作两种类型的场景页:长单页场景、多页场景。一个专题页面只能制作一种类型的场景页。即一个专题页面,要么是长单页场景,要么是多页场景。]]></desc<x>ription>
		//模块作者
		<author><![CDATA[微擎团队]]></author>
		<url><![CDATA[]]></url>
	</application>

	//公众平台消息处理选项 这里来定义公众平台消息相关处理
	<platform>
		//订阅的消息类型
		<subscribes>
		</subscribes>
		<handles>
			//订阅类型
			<message type="location" ></message>
		</handles>
		//是否支持关键字回复
		<rule em<x>bed="false" />
		<card em<x>bed="false" />
		<supports>
			//支持类型:
			//	app----------------------公众号
			//	wxapp-------------------微信小程序
			//	aliapp-------------------支付宝小程序
			//	webapp-----------------PC
			//	android-----------------APP(安卓)
			//	ios-----------------------APP(苹果)
			//	xzapp-------------------熊掌号
			//	baiduapp---------------百度小程序
			//	toutiaoapp-------------头条小程序
			//	system_welcome----系统首页
			<item type="app" ></item>
		</supports>
	</platform>
	<bindings>
		<menu>
			//非多级菜单还按之前的规则
			//do 为进入的方法
			//direct 模块是否可直接访问不受登录限制。1:可以;0:不可以
			//icon 菜单图标(只支持bootstrap图标)
			//state 自定义链接参数
			//displayorder 菜单显示顺序
			<entry title="专题管理" do="index" direct="" icon="" state="" displayorder="1"></entry>
			//有multilevel属性且值为true则为一级菜单,其子菜单必须要有parent属性,且parent属性值为对应一级菜单的do属性值
			//一级菜单无链接,其点击效果为展开子菜单
			//二级菜单所在行必须在所属一级菜单所在行后面,否则无效
			//二级菜单不支持图标
			<entry title="一级菜单-1" do="numone" multilevel="true" icon="" displayorder="2" ></entry>
			<entry title="二级菜单-1-1" do="menuone" parent="numone" displayorder="1" ></entry>
			<entry title="二级菜单-1-2" do="menutwo" parent="numone" displayorder="2" ></entry>
			<entry title="一级菜单-2" do="numtwo" multilevel="true" icon="" displayorder="3" ></entry>
			<entry title="二级菜单-2-1" do="menuthree" parent="numtwo" displayorder="1" ></entry>
			<entry title="二级菜单-2-2" do="menufour" parent="numtwo" displayorder="2" ></entry>
		</menu>
	</bindings>
	<permissions>
	</permissions>
	<install><![CDATA[install.php]]></install>
	<uninstall><![CDATA[uninstall.php]]></uninstall>
	<upgrade><![CDATA[upgrade.php]]></upgrade>
</manifest>

注解

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 //升级执行脚本, 参上