天天看點

TP6管理背景實戰開發第一天

第一天目标:

1、選擇管理背景模闆

2、選擇所用到的架構

3、配置開發環境

4、建立背景需求

5、建立資料表

說實話這個工作量相對于第一天來說還是有點多的。

基本上第一天沒有編碼工作,是以其他内容弄的多一點!

開搞:

1、選擇管理背景模闆

開發背景,一般都是自己找個背景模闆直接去套就好了。

真沒那條件,産品畫原型,然後做設計,再前端人員切圖排版做頁面,最後在給到開發人員開發。

做了十年開發了,基本上都是一個人幹的這種,沒啥好抱怨的,開搞。

背景模闆選擇 adminx 一個簡單完美的背景,用起來體驗很不錯,開源免費的前端架構,可惜的是現在停止維護了。

網址:​​http://x.xuebingsi.com/​​

選擇的版本是: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='管理者角色';      

作者:yangphp