微信小程序后台框架微擎

微擎在安装或卸载模块时会根据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>

 

版权声明:本文为xuanjiange原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xuanjiange/p/10754892.html