多应用+插件架构,代码干净,支持一键云编译,码云点赞13K star,4.8-4.12 预售价格198元 广告
* * * * * #### !!因为时间不是很充裕。项目基本做到哪里就写哪里,请体谅一下。可以跟着项目步骤做,后期有时间再对项目结构进行规划。 * * * * * 项目一开始,我们先创建一些数据表 /* **后台菜单的展示表***/ DROP TABLE IF EXISTS `ke_menu`; CREATE TABLE `ke_menu` ( `id` int(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '文档ID', `name` varchar(10) NOT NULL DEFAULT '' COMMENT '名称', `icon` varchar(30) DEFAULT '' COMMENT '图标', `url` char(255) NOT NULL DEFAULT '' COMMENT '菜单链接', `pid` int(8) unsigned NOT NULL DEFAULT '0' COMMENT '上级分类ID', `sort` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '排序(同级)', `hide` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否隐藏', `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '菜单状态', PRIMARY KEY (`id`), ) ENGINE=MyISAM AUTO_INCREMENT DEFAULT 0 CHARSET=utf8; * * * * * 表的结构 `ke_auth_access` CREATE TABLE `ke_auth_access` ( `uid` bigint(8) UNSIGNED NOT NULL COMMENT '用户组id', `group_id` mediumint(8) UNSIGNED NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户组关联'; -- --- 表的结构 `ke_auth_extend` CREATE TABLE `ke_auth_extend` ( `group_id` mediumint(10) UNSIGNED NOT NULL COMMENT '用户id', `extend_id` varchar(300) NOT NULL COMMENT '扩展表中数据的id', `type` tinyint(1) UNSIGNED NOT NULL COMMENT '扩展类型标识 1:栏目分类权限;2:模型权限' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户组与分类的对应关系表'; -- -------------------------------------------------------- 表的结构 `ke_auth_group` CREATE TABLE `ke_auth_group` ( `id` mediumint(8) UNSIGNED NOT NULL COMMENT '用户组id', `title` varchar(20) NOT NULL DEFAULT '' COMMENT '用户组id', `module` varchar(20) NOT NULL DEFAULT '' COMMENT '用户组模块', `type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '组类型', `description` varchar(80) NOT NULL DEFAULT '' COMMENT '文本描述', `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '用户组状态-1:正常-0:禁止', `rules` varchar(500) NOT NULL DEFAULT '' COMMENT '用户组拥有的多个规则id,用‘,’隔开' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='权限用户组'; -- ------- 表的结构 `ke_auth_group_access` CREATE TABLE `ke_auth_group_access` ( `uid` bigint(10) UNSIGNED NOT NULL COMMENT '用户id', `group_id` mediumint(8) UNSIGNED NOT NULL COMMENT '用户组id' ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -------------------------------------------------------- 表的结构 `ke_auth_rule` CREATE TABLE `ke_auth_rule` ( `id` mediumint(8) UNSIGNED NOT NULL COMMENT '规则id,自增主键', `module` varchar(20) NOT NULL COMMENT '规则所属module', `type` tinyint(2) NOT NULL DEFAULT '1' COMMENT '1-url;2-主菜单', `name` char(80) NOT NULL DEFAULT '' COMMENT '规则唯一英文标识', `title` char(20) NOT NULL DEFAULT '' COMMENT '规则中文描述', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否有效(0:无效,1:有效)', `condition` varchar(300) NOT NULL DEFAULT '' COMMENT '规则附加条件' ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -------------------------------------------------------- 表的结构 `ke_cate` CREATE TABLE `ke_cate` ( `id` mediumint(10) NOT NULL, `catename` varchar(40) NOT NULL, `pid` int(10) NOT NULL DEFAULT '0', `sort` mediumint(8) NOT NULL DEFAULT '1' COMMENT '排序序号' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- 表的结构 `ke_config` CREATE TABLE `ke_config` ( `id` mediumint(8) UNSIGNED NOT NULL COMMENT '配置项id', `name` varchar(60) NOT NULL COMMENT '中文名称', `name_url` varchar(30) DEFAULT NULL COMMENT '页面索引', `value` text NOT NULL COMMENT '默认值', `multi_value` varchar(255) NOT NULL COMMENT '可选值', `data_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1:输入框2:单选 3复选 4:下拉菜单 5:文本域 6:附件', `conf_type` tinyint(1) NOT NULL COMMENT '1:基本信息 2:联系方式 3:SEO设置 ' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='系统配置表'; -- ------ 表的结构 `ke_users` CREATE TABLE `ke_users` ( `id` bigint(20) NOT NULL, `uid` varchar(128) NOT NULL COMMENT '系统唯一标识符', `username` varchar(60) DEFAULT NULL, `nickname` varchar(50) NOT NULL DEFAULT '无昵称', `password` varchar(64) NOT NULL, `email` varchar(100) DEFAULT NULL, `mobile` varchar(11) NOT NULL, `regdate` int(10) NOT NULL DEFAULT '0', `regip` char(15) NOT NULL DEFAULT '0', `status` tinyint(2) NOT NULL DEFAULT '1' COMMENT '1正常,2禁用,-1删除', `last_login` int(11) DEFAULT NULL COMMENT '最后登录时间', `qq_openid` varchar(255) DEFAULT NULL COMMENT 'qqopenid', `taobao_openid` varchar(255) DEFAULT NULL COMMENT '淘宝openid', `score` int(11) DEFAULT '0' COMMENT '积分' ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 对于这个用户表的建立,我有一些看法。如果是一个大型的系统,表的功能是分的非常细致的。如果是一个大型的商城系统,他的划分必然是:管理员分权限组;用户分几个表;商家分表;进货商再分。每个表功能都很细,再给他们关联起来。数据库也分库,分开放。 如果是一个给中小企业使用的数据库,他的划分就没有那么细致,基本上都只放到一个users表中,再给users做权限控制。这样的开发速度快。我个人觉得这样其实是不太好的,又说不出哪里不好。基本上开源商城都是用一个users表做权限的,tpShop,wstmart,mini,ecshop等。表的数据多了,一定会影响前后台的性能。 下一节我将介绍一些插件。