基于 Dcat admin
开发的通用后台管理系统。内置了会员模块、会员资金模块、系统设置模块、广告设置模块、文章模块、公告模块、日志记录模块等。
并且内置了登录、会员信息、文章、支付等项目通用API。
- 本项目使用
laravel 10
框架,最低php
版本为8.1
,推荐使用php 8.2
版本; - 需要开启以下 php 扩展:
- redis
- fileinfo
- 克隆项目
- 进入项目根目录下,输入一下代码:
composer install
- 如果出现了兼容性错误,则使用以下命令:
composer install --ignore-platform-reqs
- 如果使用的宝塔,需要将宝塔的以下禁用函数解除禁用:
proc_open
putenv
config/admin.php 文件
:此文件本身为 Dcat Admin 的配置文件,在此基础上,添加了对后台新增功能的配置选项(具体配置项说在各功能的介绍中);developer_mode
:开发者模式,如果关闭了开发者模式,后台管理系统将会隐藏一些功能(这些功能一般为可能会影响项目运行的功能);
- 应用管理
- 轮播图管理:用于项目首页轮播图;可添加多个轮播图,其中跳转链接功能开启可通过 config/admin.php 控制;可在 config/admin.php 中控制此模块是否开启;
- 广告管理:用于项目中各个模块的内容管理,如果提示语、宣传图等;可添加广告位(相当于分类),广告位下,可添加广告,广告的内容为文字、图片、富文本三选一;公告数据的图片可通过 config/admin.php 控制;广告位和广告在开发阶段都可以设置此行数据是否可修改、删除;
- 公告管理:用于项目中公告内容的管理;可通过 config/admin.php 设置当前项目的公告模式,可选模式有:单文本、单富文本、多富文本;单条模式下无法删除;可在 config/admin.php 中控制此模块是否开启;
- 系统设置:用于项目中各功能的配置;可添加设置分类,设置分类下,可添加设置项,设置项的类型可选择,普通文本、下拉选框、单选项、开关;设置分类目前没有修改、删除功能;分类和设置项在开发阶段都可以设置此行数据是否可修改、删除;
- 系统消息:用于项目中对用户发送的消息;向指定会员或所有会员发送一条系统消息;可在 config/admin.php 中控制此模块是否开启;
- 图床管理:主要用于微信小程序等限制前端包大小时,前端将图片资源上传到后台。此模块的图片上传固定上传到本地(不受.env配置影响), 并且上传的图片会添加到.git的版本控制中。
- 会员管理:
- 当前设置了一个简单的会员管理模块,其中头像和昵称为固定字段;
- 会员的唯一标识通过 config/admin.php 控制,可选项:邮箱、手机号、账号;
- 二级密码是否开启通过 config/admin.php 控制;
- 推广上下级关系默认开启;
- 会员资金类型通过 config/admin.php 控制,如果需要添加资金类型,除了要在 config/admin.php 中设置外,也要在数据库的 user_fund 表中添加对应字段;
- 会员资产记录:记录了会员资金流水;
- 文章管理
- 文章分类管理:用于文章的分类管理;可通过 config/admin.php 控制是否有图片;
- 文章标签管理:用于管理文章的标签;此管理功能可通过 config/admin.php 控制是否开启;也可通过 config/admin.php 控制是否有图片;
- 文章管理:用于管理项目中的文章;文章的各个字段都可通过 config/admin.php 控制是否开启;可在开发阶段都可以设置此行数据是否可修改、删除;
- 项目配置管理
- 如果项目中需要一些配置,如充值金额选项、礼物列表等,可通过 app\Admin\Controllers\Idx\IdxSettingsController.php 中的注释内容进行配置
- 通用API(无须登录):
- 文件上传(内置了七牛云上传)、短信发送(预留了第三方短信发送方法)
- 会员登录:
- 会员注册,当前仅有手机号注册功能;
- 短信验证码登录、账号密码登录、易盾一键登录(自动注册)、微信小程序登录(自动注册)、微信公众号登录(自动注册)
- 系统配置(无须登录):
- 轮播图列表
- 公告详情(如果是多条模式,则需要指定公告id)、公告列表(只有多条模式可访问);
- 广告数据(如果指定的是广告位,则广告位下的所有广告都会返回)
- 项目配置(IdxSettingsController.php 中的配置,通过路由进行类型的区分)
- 文章管理(无须登录):
- 文章分类列表(可获取全部文章分类)
- 文章列表(可通过文章分类id获取文章列表)
- 文章详情(通过文章id获取文章的数据)
- 支付回调(无须登录):
- 内置了支付宝支付(使用 easypay 库)、微信支付(使用 yansongda/pay 库),因此设置了对应的回调接口
- 会员相关(需要登录):
- 会员详情信息
- 修改会员信息
- 修改会员密码、忘记会员密码、修改二级密码、忘记二级密码
- 会员资产记录
- 会员系统消息列表
- 会员系统消息详情
-
项目中,可能存在多个位置有轮播图,需要添加轮播图的位置数据;✅
-
公告模块,添加多条文字选项;✅
-
系统设置模块,添加数字选项,用于纯数字的设置项目;✅
-
优化项目内容设置模块:字段类型识别、设置权限开关、给予对应的注释说明(按照顺德旅行)
-
用户详情改为正常的展示
-
第三方登录路由问题
-
数据库的 uid 改为 user_id (为了与其他表关联数据时的id命名一致)
-
要考虑数据删除后关联数据的查询问题
-
测试 idx_setting 的必填项问题