第一天目标:
1、选择管理后台模板
2、选择所用到的框架
3、配置开发环境
4、建立后台需求
5、建立数据表
说实话这个工作量相对于第一天来说还是有点多的。
基本上第一天没有编码工作,所以其他内容弄的多一点!
开搞:
1、选择管理后台模板
开发后台,一般都是自己找个后台模板直接去套就好了。
真没那条件,产品画原型,然后做设计,再前端人员切图排版做页面,最后在给到开发人员开发。
做了十年开发了,基本上都是一个人干的这种,没啥好抱怨的,开搞。
后台模板选择 adminx 一个简单完美的后台,用起来体验很不错,开源免费的前端框架,可惜的是现在停止维护了。
选择的版本是:V2.2 版本
2、选择所用到的开发框架
开发语言是PHP,框架选择 ThinkPHP 6.0.9版本,也是的当前的稳定版本
说明一下
之前虽然项目中有用到TP开发项目,但是代码不是我写的,选择这个框架纯属个人做测试和学习,
并不是老手,有写的不好可以写到评论里面,最好带有正确的方法,相互交流,勿喷。
3、配置开发环境
开发环境选择的是 phpstudy 小皮面板集成工具。
MySql版本为:5.7.26
PHP版本为:7.3.4
Nginx版本为:1.15.11
配置的虚拟域名为 www.tp6.cn
Nginx伪静态配置为:
if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; }
开发完毕会更新到github上面,github地址为 https://github.com/yangphp
4、建立后台需求
管理后台需求写的比较简单,大概栏目写出来即可,具体每个栏目里面的东西个人发挥。
实际项目开发中,可能需求会比这个再具体一点,不然会导致写的乱七八糟的。
对于老手来说没必要那么具体了,每个栏目基本上都是增删查改和相关的管理功能。
后期实际开发的话,可能跟这个需求还会有点出入,毕竟计划赶不上变化。
4.1、管理员登录
账号,密码,验证码,记住密码
4.2、控制台功能
1、管理员查看个人信息
2、管理员修改密码
4.3、管理员管理
添加管理员
修改管理员
角色管理(添加角色,修改角色,删除角色)
角色权限管理
4.4、日志管理
管理员登录日志
管理员操作日志
4.5、文章管理,分类管理
文章列表
添加文章
修改文章
文章分类
添加分类
4.6、用户管理
用户列表
添加用户
用户角色管理
违规用户管理
4.7、订单管理
订单列表
订单处理
4.8、系统管理
公告管理
广告图管理
城市信息管理
系统设置
4.9、商品管理
商品列表
添加商品
商品分类管理
5、建立数据表
管理员表 yphp_admin
管理员角色表 yphp_admin_role
管理员操作日志表 yphp_admin_op_log
管理员登录日志表 yphp_admin_login
管理员菜单权限表 yphp_admin_power
文章表 yphp_news
文章分类表 yphp_news_cate
用户表 yphp_user
用户角色表 yphp_user_role
用户关系表 yphp_user_relation
用户登录日志表 yphp_user_login
用户消息表 yphp_user_msg
系统公告表 yphp_system_notice
系统广告表 yphp_system_ads
系统广告表位 yphp_system_ads_pos
系统城市信息表 yphp_system_region
系统设置表 yphp_system_setting
先这些表把,开发的时候不够用了,再补
商城相关的表放到第二期吧,不然内容太多了
商品表 yphp_goods
商品分类表 yphp_goods_cate
商品属性表 yphp_goods_attr
商品轮播图 yphp_goods_banner
商品详情图 yphp_goods_info
购物车表 yphp_goods_cart
订单表 yphp_order
订单商品表 yphp_order_goods
建表说明:
建立数据表这一块,基本上根据经验来的。
功能做的多了,看的多了,自然知道每个功能需要的数据结构是怎么样的。
还有一种比较快速的方法就是 ,多看几款比较大型的CMS系统,研究里面的功能设计,看的多了就记住了。
分享几个表结构:
1 -- 管理员表 2 CREATE TABLE `yphp_admin` ( 3 `admin_id` int(11) NOT NULL AUTO_INCREMENT, 4 `admin_name` varchar(30) NOT NULL, 5 `admin_pwd` varchar(100) NOT NULL, 6 `admin_truename` varchar(20) DEFAULT NULL, 7 `admin_mobile` varchar(11) DEFAULT NULL, 8 `admin_dept` varchar(30) DEFAULT NULL, 9 `admin_role_id` int(11) DEFAULT '0', 10 `admin_role_name` varchar(30) DEFAULT NULL, 11 `admin_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1 正常 2 限制登录 3 封禁', 12 `add_datetime` datetime NOT NULL, 13 PRIMARY KEY (`admin_id`) 14 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='管理员'; 15 16 --管理员操作日志 17 CREATE TABLE `yphp_admin_op_log` ( 18 `id` int(11) NOT NULL AUTO_INCREMENT, 19 `admin_id` int(11) DEFAULT '0', 20 `admin_name` varchar(30) DEFAULT NULL, 21 `op_url` varchar(100) DEFAULT NULL, 22 `op_param` varchar(200) DEFAULT NULL, 23 `op_controller` varchar(50) DEFAULT NULL, 24 `op_action` varchar(50) DEFAULT NULL, 25 `ip_address` varchar(20) DEFAULT NULL, 26 `add_datetime` datetime DEFAULT NULL, 27 PRIMARY KEY (`id`) 28 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='管理员操作日志'; 29 30 -- 管理员权限表 31 CREATE TABLE `yphp_admin_power` ( 32 `id` int(11) NOT NULL AUTO_INCREMENT, 33 `pname` varchar(30) NOT NULL, 34 `ptype` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1 一级菜单 2 二级菜单 3 操作', 35 `parent_id` int(11) NOT NULL DEFAULT '0', 36 `pcontroller` varchar(50) DEFAULT NULL, 37 `paction` varchar(50) DEFAULT NULL, 38 `pstatus` tinyint(1) DEFAULT '1' COMMENT '1 启用 2 关闭', 39 `add_datetime` datetime DEFAULT NULL, 40 PRIMARY KEY (`id`) 41 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='权限表'; 42 43 -- 管理员角色表 45 CREATE TABLE `yphp_admin_role` ( 46 `role_id` int(11) NOT NULL AUTO_INCREMENT, 47 `role_name` varchar(30) DEFAULT NULL, 48 `role_desc` varchar(255) DEFAULT NULL, 49 `role_powers` text, 50 PRIMARY KEY (`role_id`) 51 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='管理员角色';