⌨️ 常用命令
🧲 后端
bash
# 安装 PHP 依赖,首次拉取项目或依赖变更后执行
composer install
# 启动 Laravel 本地开发服务
php artisan serve
# 执行数据库迁移,已安装项目升级或开发维护时使用;首次安装请走 /install 安装向导
php artisan migrate
# 执行数据库填充,开发维护时使用;首次安装请走 /install 安装向导创建管理员账号
php artisan db:seed
# 运行后端测试用例
php artisan test
# 创建 public/storage 到 storage/app/public 的公开访问软链接
php artisan storage:link
# 清理 Laravel 配置、路由、视图等优化缓存
php artisan optimize:clear
# 重新生成配置缓存,生产环境修改配置后可执行
php artisan config:cache
# 重新生成路由缓存,生产环境路由稳定后可执行
php artisan route:cache
# 重新生成视图缓存,生产环境模板稳定后可执行
php artisan view:cache模块安装与卸载:
执行用户
生产环境建议统一使用 Web / PHP 运行用户执行模块命令,例如 sudo -u www php artisan module:install {Module}。模块命令会写入或删除 frontend/admin、frontend/uniapp、public/modules、modules/{Module} 等目录;如果部分文件由 root 创建,后续通过后台应用中心或 PHP 运行用户执行命令时可能因为权限不足导致安装、覆盖安装、卸载或删除失败。
bash
# 安装模块:执行模块迁移、Seeder、资源发布,写入安装记录并启用模块
php artisan module:install {Module}
# 覆盖安装模块:重新发布模块资源,适合同步 Resources 中的前端源码
php artisan module:install {Module} --force
# 安装微信支付模块:注册 wechat 支付驱动,并在“支付接入”中提供微信支付配置
php artisan module:install WechatPay
# 启用已安装模块:把 system_modules.status 写为 1
php artisan module:enable {Module}
# 停用已安装模块:把 system_modules.status 写为 0,保留安装记录和业务数据
php artisan module:disable {Module}
# 卸载模块:删除已发布资源、菜单和安装记录,默认保留业务数据
php artisan module:uninstall {Module}
# 卸载并删除模块数据结构:会回滚模块迁移,可能删除业务表和业务数据
php artisan module:uninstall {Module} --drop-data
# 删除模块文件:要求模块已经卸载,实际删除 modules/{Module}
php artisan module:delete {Module}
# 构建指定模块的 Admin 运行包:输出到 Resources/runtime/admin,并更新发布清单
php artisan module:build-runtime {Module}
# 显式声明构建 Admin 运行包,效果与默认命令一致
php artisan module:build-runtime {Module} --admin
# 构建全部包含 Admin 页面源码的非 System 模块
php artisan module:build-runtime --all
# 也可以用 all 作为模块名构建全部模块运行包
php artisan module:build-runtime all
# 只构建运行包文件,不更新 publish-manifest.json
php artisan module:build-runtime {Module} --no-manifest查看路由:
bash
# 查看系统模块的后台接口路由
php artisan route:list --path=adminapi/system
# 查看系统模块的用户端接口路由
php artisan route:list --path=api/system
# 查看已安装模块的后台接口路由,{slug} 来自 module.json.slug
php artisan route:list --path=adminapi/{slug}
# 查看已安装模块的用户端接口路由,{slug} 来自 module.json.slug
php artisan route:list --path=api/{slug}
# 以 JSON 格式输出系统模块用户端接口路由,适合脚本读取
php artisan route:list --json --path=api/system导出 OpenAPI 接口文档:
bash
# 扫描全部 adminapi/* 与 api/* 路由,生成 OpenAPI 3.0 JSON
# 输出默认到 storage/app/openapi.json
php artisan openapi:export
# 自定义输出路径
php artisan openapi:export --output=storage/app/openapi-test.json导出结果说明:
- 默认文件为
storage/app/openapi.json,属于运行时生成产物,不建议提交到仓库。 - tag 按
端 / 模块标题 / 控制器分组三层分组,首层只包含后台端与用户端;模块标题优先读取module.json.title,缺失时使用模块目录名。 adminapi/*归入Admin;api/*归入User。- 接口中文名称读取
#[ApiDoc(summary: '...')],简单请求参数会从$this->request()->pick([...])自动推导。
后续接口列表以导出的 OpenAPI JSON 为准。
📟 根目录前端脚本
bash
# 安装管理端依赖
npm run admin:install
# 启动管理端开发服务
npm run admin:dev
# 构建管理端并发布到后端公开目录
npm run admin:build
# 安装 uni-app 依赖
npm run uniapp:install
# 构建 uni-app H5 端并发布到后端公开目录
npm run uniapp:build:h5
# 同时安装管理端与 uni-app 依赖
npm run frontend:install🔖 Admin
bash
# 进入管理端项目目录
cd frontend/admin
# 安装管理端依赖
npm install
# 启动管理端开发服务
npm run dev
# 构建管理端生产产物
npm run build
# 执行管理端 TypeScript 类型检查
npm run type-check
# 执行管理端代码规范检查
npm run lint⚒️ uni-app
bash
# 进入 uni-app 项目目录
cd frontend/uniapp
# 使用指定 npm 版本安装依赖,避免本地 npm 版本差异影响锁文件
npx npm@11.13.0 install
# 启动 H5 开发服务
npm run dev:h5
# 启动微信小程序开发构建
npm run dev:mp-weixin
# 启动 App 开发构建
npm run dev:app
# 构建 H5 生产产物
npm run build:h5
# 构建微信小程序生产产物
npm run build:mp-weixin
# 构建 App 生产产物
npm run build:app
# 执行 uni-app TypeScript 类型检查
npm run typechecknpm run build:h5 会生成 dist/build/h5,并自动发布到后端项目的 public/h5 目录。
