laravel-admin实战做个简单的客户管理——数据库/项目准备

    |     2020年12月11日   |   学习偶记   |     评论已关闭   |    722

20年是个特殊的年份,所以时间很多,不留神一年就过去了,马上就要到21年了,想利用最后一个月学习点新东西,我向来是主张学以致用,所以写了这一系列文章。

我的php知识背景:

熟悉php,框架熟悉CI3.X,看了3天laravel5.X视频。所以本文只适合不太懂laravel的phper学习,我会在文章中写一些laravel的知识碎片。如果想跟着我一步一步来做,建议先在本地安装了laravel和laravel-admin,并且可以跑通,进入到laravel-admin后台。

本文建议先学习laravel的命令行,和数据迁移的相关知识。【网上很多视频】 

项目环境:

laravel版本:7.29.3  【已经安装好laravel,用php artisan –version查看】

laravel-admin版本:1.8.11 【用 php artisan admin 查看】

laravel-debugbar:安装教程【可以不用装】

laravel-ide-helper:安装及项目地址【可以不用装】

项目功能:

一个SEO的后台管理程序。鉴于本程序可能会被商用,所以只写有关用户管理部分的文章,不过仅仅这一个部分,估计也能够将laravel-admin的基本用法概括。

项目数据描述:

用户表【用户可以前端注册,也可以后台管理】


CREATE TABLE front_customers (
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
user_name varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '客户登录名',
user_type enum('email','wechat','mobile') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'mobile' COMMENT '类型:邮箱/手机号/微信',
password varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户密码,初始值为企业邮箱',
user_ip varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '客户最后一次登录ip',
login_cnt int(11) NOT NULL DEFAULT '0' COMMENT '客户登录次数',
amount decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '账户金额',
consumed decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '已消费金额',
remember_token varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
created_at timestamp NULL DEFAULT NULL,
updated_at timestamp NULL DEFAULT NULL,
PRIMARY KEY (id),
UNIQUE KEY front_customers_user_name_unique (user_name)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

用户站点表


CREATE TABLE front_sites (
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
front_customers_id bigint(20) unsigned NOT NULL,
site_name varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '站点名称',
site_logo varchar(250) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '站点logo',
created_at timestamp NULL DEFAULT NULL,
updated_at timestamp NULL DEFAULT NULL,
PRIMARY KEY (id),
UNIQUE KEY front_sites_site_name_unique (site_name),
KEY front_sites_front_customers_id_foreign (front_customers_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

用户域名表


CREATE TABLE front_domains (
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
front_customers_id bigint(20) unsigned NOT NULL,
front_sites_id bigint(20) unsigned NOT NULL,
site_domain varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '域名',
created_at timestamp NULL DEFAULT NULL,
updated_at timestamp NULL DEFAULT NULL,
PRIMARY KEY (id),
UNIQUE KEY front_domains_site_domain_unique (site_domain),
KEY front_domains_front_customers_id_foreign (front_customers_id),
KEY front_domains_front_sites_id_foreign (front_sites_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

用户关键词表


CREATE TABLE front_keys (
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
front_sites_id bigint(20) unsigned NOT NULL,
front_customers_id bigint(20) unsigned NOT NULL,
front_domains_id bigint(20) unsigned NOT NULL,
site_keys varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '关键词',
act_count int(10) unsigned NOT NULL DEFAULT '0' COMMENT '操作次数',
weight smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '操作权重',
consumed decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '已花费金额',
seo_type enum('baidu_pc','baidu_mobile','360_pc','360_mobile','sogou_pc','sogou_mobile','shenma') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'baidu_pc' COMMENT '默认类型:百度PC排名',
collect_count int(10) unsigned NOT NULL DEFAULT '0' COMMENT '收录量',
pages smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '第几页',
rank smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '第几条',
title varchar(250) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标题',
page_url varchar(250) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标题链接',
xiongzhang varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '熊掌号ID',
crawl_time varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '抓取时间',
created_at timestamp NULL DEFAULT NULL,
updated_at timestamp NULL DEFAULT NULL,
PRIMARY KEY (id),
KEY front_keys_front_sites_id_foreign (front_sites_id),
KEY front_keys_front_customers_id_foreign (front_customers_id),
KEY front_keys_front_domains_id_foreign (front_domains_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

PS:以上表都是使用数据迁移方式(php artisan make:migration)生成。

学习建议:

  • 学会安装laravel ,以及laravel-admin 
  • 学会使用laravel命令行使用
  • 学会数据迁移【预计2-3个小时】简单使用

噢!评论已关闭。