siushin/laravel-api

LaravelAPI 基于 Laravel 的API框架,提供常用工具类、助手函数等服务

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Type:project

pkg:composer/siushin/laravel-api

v1.0.0 2025-11-01 07:59 UTC

This package is auto-updated.

Last update: 2026-01-06 16:00:28 UTC


README

基于 Laravel 的 API 框架,提供常用工具类、助手函数等服务,采用模块化架构设计。

📖 项目简介

LaravelAPI 是一个基于 Laravel 12 构建的企业级 API 框架,采用模块化架构,提供用户管理、权限管理、日志管理等核心功能,支持快速开发 RESTful API 服务。

🚀 技术栈

  • PHP >= 8.3
  • Laravel 12.0
  • Laravel Sanctum - API 认证
  • Laravel Modules - 模块化架构
  • MySQL - 数据库
  • IP2Region - IP 地址查询

✨ 核心功能

  • ✅ 用户登录 / 授权
  • ✅ 管理员列表
  • ✅ 用户管理(支持审核流程)
  • ✅ 日志管理(操作日志、登录日志、审计日志、通用日志)
  • ✅ 通知管理(公告、站内信)
  • ✅ 权限管理
  • ✅ 系统参数配置
  • ✅ 文件管理
  • ✅ 数据字典

🛠️ 环境要求

  • PHP >= 8.3
  • Composer
  • MySQL >= 5.7
  • PHP 扩展:fileinfo, mbstring, pdo_mysql

📦 安装步骤

1. 安装项目

composer create-project siushin/laravel-api

2. 配置环境

# 复制环境配置文件
cp .env.example .env

# 生成应用密钥
php artisan key:generate

# 创建符号链接
php artisan storage:link

注意:需要确保 php.ini 中 symlink 函数未被禁用。

3. 配置数据库

编辑 .env 文件,配置数据库连接:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_api
DB_USERNAME=root
DB_PASSWORD=

4. 创建数据库

在 MySQL 中创建数据库:

CREATE DATABASE laravel_api CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

5. 初始化系统

# 运行迁移和填充(会自动执行)
composer install

# 或手动执行
# 初次执行
php artisan migrate --seed

# 清空所有并重新执行
php artisan migrate:fresh --seed

默认管理员账号: admin / admin

⚠️ 注意事项

⚠️ 重要提示:执行 composer create-projectcomposer install 都会执行 清空 表并 重新填充 数据(php artisan migrate:fresh --seed)。如有重要数据,请自行备份。

⚠️⚠️⚠️注意事项

注意:执行命令 composer create-projectcomposer install 都会执行 清空 表并 重新填充 数据 php artisan migrate:fresh --seed。如有重要数据,请自行备份。

📚 文档链接

💻 常用命令

开发

# 启动开发服务器(包含服务器、队列、日志、前端构建)
composer run dev

# 启动 Web 服务器
php artisan serve

# 启动队列监听
php artisan queue:listen

# 查看日志
php artisan pail

数据库

# 运行迁移
php artisan migrate

# 回滚迁移
php artisan migrate:rollback

# 运行填充
php artisan db:seed

# 重置数据库并填充
php artisan migrate:fresh --seed

测试

# 运行测试
composer test

#
php artisan test

代码规范

# 代码格式化(使用 Laravel Pint)
./vendor/bin/pint

其他命令

# 更新 Composer 的自动加载文件
composer dump-autoload

# 启用 API 路由
php artisan install:api

# 发布 CORS(跨源资源共享)配置
php artisan config:publish cors

# 创建系统枚举类(示例)
php artisan make:enum DictionaryCategoryEnum
php artisan make:enum OrganizationTypeEnum

目录结构

目录名 描述
Cases
Enums 枚举类,一般以 Enum 结尾
Funcs 助手函数,分以 Lara 开头的基于Laravel的助手函数,以及以 Func开头的常用助手函数(方便全局搜索)
Traits 特征,没有明显命名规范,自行查询源码或文档

❓ 常见问题

413 Request Entity Too Large

处理方案:

  1. 调整 Nginx 配置

    • 配置文件中增加或修改 client_max_body_size 指令
    • 例如,将大小设置为 100MB:http { client_max_body_size 100m; }
  2. 调整 PHP 配置

    • 调整 PHP 的 upload_max_filesizepost_max_size 配置项
    • upload_max_filesize = 100M
    • post_max_size = 100M

📁 模块说明

项目采用模块化架构,主要模块包括:

  • Base - 基础模块(用户、管理员、日志、通知等)
  • Sms - 短信模块

📂 目录结构说明

项目目录结构遵循 Laravel 规范,模块化代码位于 Modules/ 目录下:

目录名 描述
Cases 案例/示例代码
Enums 枚举类,一般以 Enum 结尾
Funcs 助手函数,分以 Lara 开头的基于 Laravel 的助手函数,以及以 Func 开头的常用助手函数(方便全局搜索)
Traits 特征类,没有明显命名规范,自行查询源码或文档

📖 参考资料

🧑🏻‍💻 关于作者

十年开发经验,具有丰富的前、后端软件开发经验~

👤 作者:https://github.com/siushin

💻 个人博客:http://www.siushin.com

📮 邮箱:siushin@163.com

💡 反馈交流

在使用过程中有任何想法、合作交流,请加我微信 siushin (备注 github ):

添加我微信备注「GPAdmin」

☕️ 打赏赞助

如果你觉得知识对您有帮助,可以请作者喝一杯咖啡 ☕️

微信收款码 支付宝收款码