参考链接:https://doc.fastadmin.net/docs/index.html
虚拟域名要在安装项目数据库以前配置。
强烈建议使用命令行安装,因为采用命令行安装的方式可以和 FastAdmin 随时保持更新同步。使用命令行安装要准备好 Git、Node.js、Composer、Bower 环境。
cnpm install bower -g
php -r "copy('https://install.phpcomposer.com/installer','composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
echo @php "%~dp0composer.phar" %*>composer.bat
composer config -g repo.packagist composer https://packagist.phpcomposer.com
git clone https://gitee.com/karson/fastadmin.git
composer install
bower install
如果 bower install
执行失败,则重试运行。
前提:数据库中已有按规则创建的数据表(在生成CRUD时会根据字段属性、字段注释、表注释自动生成语言包、组件和排版)。具体规则见下面数据库说明。
php think crud -t test
php think crud -t test_log -c testlog
php think crud -t test --relation=category --relation=admin --relationforeignkey=category_id --relationforeignkey=admin_id
php think menu -c test
php think crud -t test -u 1
php think crud -t test -u 1 --force=true
php think menu -c all-controller
php think crud -t test -d 1
php think menu -c test -d 1
查看CRUD一键生成的参数:php think crud --help
,查看权限菜单的参数:php think menu --help
fa_leesign
。fa_leesign
。php think addon -a myaddon -c create
php think addon -a myaddon -c refresh
php think addon -a myaddon -c install
php think addon -a myaddon -c uninstall --force=true
php think addon -a myaddon -c enable
php think addon -a myaddon -c disable
FastAdmin项目目录
├── addons //插件存放目录
├── application //应用目录
│ ├── admin //后台管理应用模块
│ ├── api //API应用模块
│ ├── common //通用应用模块
│ ├── extra //扩展配置目录
│ ├── index //前台应用模块
│ ├── build.php
│ ├── command.php //命令行配置
│ ├── common.php //通用辅助函数
│ ├── config.php //基础配置
│ ├── database.php //数据库配置
│ ├── route.php //路由配置
│ ├── tags.php //行为配置
├── extend
│ └── fast //FastAdmin扩展辅助类目录
├── public
│ ├── assets
│ │ ├── build //打包JS、CSS的资源目录
│ │ ├── css //CSS样式目录
│ │ ├── fonts //字体目录
│ │ ├── img
│ │ ├── js
│ │ │ ├── backend
│ │ │ └── frontend //后台功能模块JS文件存放目录
│ │ ├── libs //Bower资源包位置
│ │ └── less //Less资源目录
│ └── uploads //上传文件目录
│ ├── index.php //应用入口主文件
│ ├── install.php //FastAdmin安装引导
│ ├── admin.php //后台入口文件,强烈建议修改
│ ├── robots.txt
│ └── router.php
├── runtime //缓存目录
├── thinkphp //ThinkPHP5框架核心目录
├── vendor //Compposer资源包位置
├── .bowerrc //Bower目录配置文件
├── LICENSE
├── README.md
├── bower.json //Bower前端包配置
├── build.php
├── composer.json //Composer包配置
└── think
├── application
│ └── admin
│ ├── controller
│ │ └── Test.php //控制器类
│ ├── lang
│ │ ├── zh-cn
│ │ │ └── test.php //功能语言包,按需加载
│ │ └── zh-cn.php //后台语言包,默认加载
│ ├── model
│ │ └── Test.php //模型类
│ ├── validate
│ │ └── Test.php //验证器类
│ └── view
│ └── test
│ ├── index.html //列表视图
│ ├── add.html //添加视图
│ └── edit.html //编辑视图
└── public
└── assets
└── js
└── backend
└── test.js //功能模块JS文件
application/common/controller/Api.php //API接口基类控制器
application/common/controller/Backend.php //后台基类控制器
application/common/controller/Frontend.php //前台基类控制器,功能和 Backend.php 类似
application/admin/library/traits/Backend.php
。application/admin/library/traits/Backend.php
中对应的方法复制到当前控制器,然后进行修改。CREATE TABLE `fa_test` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`admin_id` int(10) NOT NULL DEFAULT '0' COMMENT '管理员ID',
`category_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '分类ID(单选)',
`category_ids` varchar(100) NOT NULL COMMENT '分类ID(多选)',
`week` enum('monday','tuesday','wednesday') NOT NULL COMMENT '星期(单选):monday=星期一,tuesday=星期二,wednesday=星期三',
`flag` set('hot','index','recommend') NOT NULL DEFAULT '' COMMENT '标志(多选):hot=热门,index=首页,recommend=推荐',
`genderdata` enum('male','female') NOT NULL DEFAULT 'male' COMMENT '性别(单选):male=男,female=女',
`hobbydata` set('music','reading','swimming') NOT NULL COMMENT '爱好(多选):music=音乐,reading=读书,swimming=游泳',
`title` varchar(50) NOT NULL DEFAULT '' COMMENT '标题',
`content` text NOT NULL COMMENT '内容',
`image` varchar(100) NOT NULL DEFAULT '' COMMENT '图片',
`images` varchar(1500) NOT NULL DEFAULT '' COMMENT '图片组',
`attachfile` varchar(100) NOT NULL DEFAULT '' COMMENT '附件',
`keywords` varchar(100) NOT NULL DEFAULT '' COMMENT '关键字',
`description` varchar(255) NOT NULL DEFAULT '' COMMENT '描述',
`city` varchar(100) NOT NULL DEFAULT '' COMMENT '省市',
`price` float(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '价格',
`views` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '点击',
`startdate` date DEFAULT NULL COMMENT '开始日期',
`activitytime` datetime DEFAULT NULL COMMENT '活动时间(datetime)',
`year` year(4) DEFAULT NULL COMMENT '年',
`times` time DEFAULT NULL COMMENT '时间',
`refreshtime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '刷新时间(int)',
`createtime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
`updatetime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
`weigh` int(10) NOT NULL DEFAULT '0' COMMENT '权重',
`switch` tinyint(1) NOT NULL DEFAULT '0' COMMENT '开关',
`status` enum('normal','hidden') NOT NULL DEFAULT 'normal' COMMENT '状态',
`state` enum('0','1','2') NOT NULL DEFAULT '1' COMMENT '状态值:0=禁用,1=正常,2=推荐',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='测试表'
类型 | 备注 | 类型说明 |
---|---|---|
int | 整形 | 自动生成type为number的文本框,步长为1 |
enum | 枚举型 | 自动生成单选下拉列表框 |
set | set型 | 自动生成多选下拉列表框 |
float | 浮点型 | 自动生成type为number的文本框,步长根据小数点位数生成 |
text | 文本型 | 自动生成textarea文本框 |
datetime | 日期时间 | 自动生成日期时间的组件 |
date | 日期型 | 自动生成日期型的组件 |
timestamp | 时间戳 | 自动生成日期时间的组件 |
字段 | 字段名称 | 字段类型 | 字段说明 |
---|---|---|---|
category_id | 分类ID | int | 将生成选择分类的下拉框,分类类型根据去掉前缀的表名,单选 |
category_ids | 多选分类ID | varchar | 将生成选择分类的下拉框,分类类型根据去掉前缀的表名,多选 |
weigh | 权重 | int | 后台的排序字段,如果存在该字段将出现排序按钮,可上下拖动进行排序 |
createtime | 创建时间 | int | 记录添加时间字段,不需要手动维护 |
updatetime | 更新时间 | int | 记录更新时间的字段,不需要手动维护 |
结尾字符 | 示例 | 类型要求 | 字段说明 |
---|---|---|---|
time | refreshtime | int | 识别为日期时间型数据,自动创建选择时间的组件 |
image | smallimage | varchar | 识别为图片文件,自动生成可上传图片的组件,单图 |
images | smallimages | varchar | 识别为图片文件,自动生成可上传图片的组件,多图 |
file | attachfile | varchar | 识别为普通文件,自动生成可上传文件的组件,单文件 |
files | attachfiles | varchar | 识别为普通文件,自动生成可上传文件的组件,多文件 |
avatar | miniavatar | varchar | 识别为头像,自动生成可上传图片的组件,单图 |
avatars | miniavatars | varchar | 识别为头像,自动生成可上传图片的组件,多图 |
content | maincontent | text | 识别为内容,自动生成富文本编辑器(需安装富文本插件) |
_id | user_id | int/varchar | 识别为关联字段,自动生成可自动完成的文本框,单选 |
_ids | user_ids | varchar | 识别为关联字段,自动生成可自动完成的文本框,多选 |
list | timelist | enum | 识别为列表字段,自动生成单选下拉列表 |
list | timelist | set | 识别为列表字段,自动生成多选下拉列表 |
data | hobbydata | enum | 识别为选项字段,自动生成单选框 |
data | hobbydata | set | 识别为选项字段,自动生成复选框 |
switch | siteswitch | tinyint | 识别为开头字段,自动生成开头组件 |
字段 | 注释内容 | 字段类型 | 字段说明 |
---|---|---|---|
status | 状态 | int | 将生成普通语言包和普通文本框 |
status | 状态 | int | 将生成普通语言包和普通文本框 |
status | 状态 | enum(‘0’,’1’,’2’) | 将生成普通语言包和单选下拉列表 |
status | 状态:0=隐藏,1=正常,2=推荐 | enum(‘0’,’1’,’2’) | 将生成多个语言包和单选下拉列表,且列表中的值显示为对应的文字 |
php think min -m all -r all
(已修改 application\admin\command\Min.php 的 $nodeExec 值),打包完后找不到 build 目录。