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;
```