1. 确定需要开发的插件类型
应用:独立开发的系统,比如点餐系统,旅游系统等。一般命名 开发商主题_插件名称 比如:css_cms
通用插件:不限定使用的系统,
专用插件:针对独立开发的应用的辅助插件,比如针对商城应用开发拼团,砍价等
2. 确定插件名称,插件名称的设定比较重要,设定之后是不能进行修改的,在创建插件时会与官方名称进行比对检测,防止冲突,一旦冲突会导致开发的插件无法在官方应用市场上架,当然如果不上架到官方应用市场也没关系。
3. 设计数据表,确定要开发的模块就要考虑设计数据表了,设计数据表注意。数据表前缀要与插件名称一致,防止安装时与其他开发者开发的插件数据表冲突。
下面以简单cms中文章管理模块讲述插件开发:
1. 插件名称 lgs_cms 其中lgs是作为开发商开发插件的前缀,cms是开发插件的名称。插件类型是应用
2. 设计数据表,本次设计考虑两个表,一个是文章表,一个是文章分类表 。注意表编码统一是utf8mb4, utf8mb4_general_ci。注意数据表命名:
例如文章表:ns(整体数据表前缀)_lgs(开发商前缀,防止冲突用,与插件名称一致)_cms(插件功能命名,与插件名称一致)_article(表功能名称)
```
CREATE TABLE `ns_lgs_cms_article` (
`id` int(0) NOT NULL AUTO_INCREMENT COMMENT '文章id',
`category_id` int(0) NOT NULL COMMENT '文章分类',
`site_id` int(0) NOT NULL DEFAULT 0 COMMENT '站点ID',
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文章标题',
`intro` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '简介',
`summary` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文章摘要',
`image` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文章图片',
`author` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '作者',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '文章内容',
`visit` int(0) NOT NULL DEFAULT 0 COMMENT '实际浏览量',
`visit_virtual` int(0) NOT NULL DEFAULT 0 COMMENT '初始浏览量',
`is_show` tinyint(0) NOT NULL DEFAULT 1 COMMENT '是否显示:1-是.0-否',
`sort` int(0) NOT NULL DEFAULT 0 COMMENT '排序',
`create_time` int(0) NOT NULL DEFAULT 0 COMMENT '创建时间',
`update_time` int(0) NOT NULL DEFAULT 0 COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `IDX_article_category_id`(`category_id`) USING BTREE,
INDEX `IDX_article_create_time`(`create_time`) USING BTREE,
INDEX `IDX_article_is_show`(`is_show`) USING BTREE,
INDEX `IDX_article_site_id`(`site_id`) USING BTREE,
INDEX `IDX_ns_article_sort`(`sort`) USING BTREE
) ENGINE = InnoDB AVG_ROW_LENGTH = 5461 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文章表' ROW_FORMAT = Dynamic;
CREATE TABLE `ns_lgs_cms_article_category` (
`category_id` int(0) NOT NULL AUTO_INCREMENT COMMENT '文章分类id',
`site_id` int(0) NOT NULL DEFAULT 0 COMMENT '站点ID',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '分类名称',
`sort` int(0) NOT NULL DEFAULT 0 COMMENT '排序',
`is_show` tinyint(0) NOT NULL DEFAULT 1 COMMENT '是否显示:1-是;0-否',
`create_time` int(0) NOT NULL DEFAULT 0 COMMENT '创建时间',
`update_time` int(0) NOT NULL DEFAULT 0 COMMENT '更新时间',
PRIMARY KEY (`category_id`) USING BTREE,
INDEX `create_time`(`create_time`) USING BTREE,
INDEX `is_show`(`is_show`) USING BTREE,
INDEX `site_id`(`site_id`) USING BTREE,
INDEX `sort`(`sort`) USING BTREE
) ENGINE = InnoDB AVG_ROW_LENGTH = 8192 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文章分类表' ROW_FORMAT = Dynamic;
```