使用 LarawellUI Blade 组件构建登录、注册、密码重置、邮箱验证与设置页面
larawellui-starter-kit — Vue 启动器模板
作者 rkwebforge
基于 LarawellUI Blade 组件的 Laravel 启动器,包含登录、注册、密码重置、邮箱验证与账户设置页面,不使用 React、Vue、Inertia 或 Alpine。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
前端不依赖 React、Vue、Inertia 或 Alpine,可在严格内容安全策略下运行
安全设置集中在 config/security.php,包含登录限流、密码强度与泄露检查等
组件文件复制进应用目录,可自由编辑,并通过 larawellui.lock 跟踪修改
提供 Laravel Boost 与 larawell:mcp 两个 MCP 服务,方便 AI 编码代理查询组件与项目信息
每个流程都有对应的功能测试,位于 tests/Feature
模板详细介绍
这是一个 Laravel 启动器模板,提供登录、注册、密码重置、邮箱验证、确认密码、仪表盘与账户设置等页面,页面由 LarawellUI 的 Blade 组件构成。前端使用原生 Blade 加每个组件一个轻量 vanilla JS 模块,不依赖 React、Vue、Inertia 或 Alpine,并可在严格内容安全策略下运行。
模板默认使用 SQLite,可通过 .env 切换 MySQL;运行 db:seed 会创建 [email protected](密码 password)并生成若干登录历史记录,用于仪表盘表格展示。新账户需先验证邮箱才能进入仪表盘,开发环境下验证链接写入 storage/logs/laravel.log;如不需要验证,可从 User 模型移除 MustVerifyEmail。
安全配置集中在 config/security.php,包含登录限流、密码至少 12 位、生产环境检查已泄露密码、修改邮箱需输入密码、修改密码会登出其他会话,以及每个页面发送严格的内容安全策略。SECURITY.md 列出了完整清单与上线检查项,以及接入 Stripe、分析、嵌入或 Livewire 时需要调整的内容。
组件文件被复制进应用目录,可自由修改;通过 larawell:list、larawell:add 等命令管理组件,larawellui.lock 记录已编辑的组件文件,需提交到版本控制。模板还面向 AI 编码代理做了准备,提供 Laravel Boost 与 larawell:mcp 两个 MCP 服务,以及 CLAUDE.md、AGENTS.md 说明文件。测试位于 tests/Feature,覆盖上述流程。
适合你的项目吗?
适用场景
- 需要快速搭建带完整认证流程的 Laravel 应用
- 希望使用 Blade 组件而非 React、Vue 或 Alpine 构建认证界面
- 需要在严格内容安全策略下运行的 Laravel 项目
- 希望让 AI 编码代理参与开发并遵循统一项目规则的团队
适合人群
- 使用 Laravel 并偏好服务端渲染 Blade 的开发者
- 需要登录、注册、密码重置与邮箱验证等基础认证页面的项目
- 希望安全配置集中可查、便于按需调整的团队
- 使用 AI 编码代理并希望其遵循项目规则的开发者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
可通过 laravel new my-app --using=larawellui/starter-kit 或 composer create-project larawellui/starter-kit my-app 创建项目
- 2
创建后运行 npm install && npm run build,再运行 composer run dev 启动开发环境
- 3
默认使用 SQLite;切换 MySQL 需在 .env 设置 DB_* 并运行 php artisan migrate
- 4
运行 php artisan db:seed 可生成测试账号 [email protected](密码 password)及登录历史数据
- 5
开发环境邮箱验证链接写入 storage/logs/laravel.log;如不需要验证,可从 app/Models/User.php 移除 MustVerifyEmail
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- LarawellUI 在 1.0 之前,单独运行 composer update 只会停留在当前次版本;要升级到新的次版本(如 0.3)必须显式指定版本号,否则无法获得新版本修复与组件。
- 更新组件时,已手动编辑过的组件文件不会被自动覆盖,需要开发者自行用 larawell:diff 查看差异并手动合并。
- 新账户必须先完成邮箱验证才能进入仪表盘;开发环境下验证链接写入 storage/logs/laravel.log,需配置真实邮件服务才能在生产环境正常发送验证邮件。
- Laravel Boost 仅为开发依赖,生产部署需使用 composer install --no-dev,否则相关开发工具会进入服务器环境。
- 使用 MCP 服务时不得将 API 密钥写入 .mcp.json,必须通过环境变量提供,否则存在密钥泄露风险。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
While LarawellUI is below 1.0, `composer update` alone stays within the minor version you have: `^0.2.1` gets 0.2.x fixes but never 0.3.0, as Composer treats each 0.x minor release as possibly breaking. That's why the first command names the version.
README 原文
`larawell:add --installed` never overwrites a file you've edited: it reports it, and `larawell:diff` shows the difference so you can merge by hand.
README 原文
New accounts verify their email before reaching the dashboard; in development the link is written to `storage/logs/laravel.log` (`MAIL_MAILER=log`).
README 原文
Boost is a development dependency: deploy with `composer install --no-dev` and it isn't on your server.
README 原文
https://github.com/rkwebforge/larawellui-starter-kit/blob/main/LICENSEhttps://github.com/rkwebforge/larawellui-starter-kit/blob/main/README.mdNever put API keys in `.mcp.json`; use environment variables.
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-04。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 85 / 100
- 技术栈
- Vue · Laravel · React
- 网站类型
- 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-10-04
- 截图检查日期
- 2026-10-04
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Vue。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-04
查看当时使用的来源资料
SHA-256: e851987d132c162553d6e2b9957cef0b8909762a82569c7f9961bae2d5014182
2026-10-04T11:16:58.525Z
来源文件 / 仓库# LarawellUI Starter Kit A Laravel starter kit with sign in, registration, password reset, email verification and account settings, built from [LarawellUI](https://larawellui.wasmer.app) widgets. Plain Blade and a small vanilla JS module per widget: no React, Vue, Inertia or Alpine. Works under a strict Content Security Policy. ## Start a new app ```bash laravel new my-app --using=larawellui/starter-kit cd my-app npm install && npm run build composer run dev ``` Or without the Laravel installer: ```bash composer create-project larawellui/starter-kit my-app cd my-app npm install && npm run build composer run dev ``` It uses SQLite by default. For MySQL, set the `DB_*` values in `.env`, then run `php artisan migrate`. To try it with data, run `php artisan db:seed`: it creates `[email protected]` (password `password`) with a few pages of sign-in history for the dashboard table. The home page links to every page; the ones behind sign in ask for it first, then go straight there. ## What's included | Page | Route | Widgets | | --- | --- | --- | | Sign in | `/login` | text-input, password, checkbox, button, alert | | Create account | `/register` | text-input, password (with its rule checklist), button | | Forgot / reset password | `/forgot-password`, `/reset-password/{token}` | text-input, password, button, alert | | Verify email | `/verify-email` | button, alert | | Confirm password | `/confirm-password` | password, button | | Dashboard: your sign-in history | `/dashboard` | table (sortable, paginated, cards on phones), alert, dropdown account menu | | Settings | `/settings/profile` | text-input, password, button, breadcrumbs, modal (other devices, delete account), toast | New accounts verify their email before reaching the dashboard; in development the link is written to `storage/logs/laravel.log` (`MAIL_MAILER=log`). To skip verification, remove `implements MustVerifyEmail` from `app/Models/User.php`. ## Security Safe by default, and every choice is in one file, [`config/security.php`](config/security.php), with a comment on what changing it costs. Sign-in is rate limited, passwords need 12+ characters (and are checked against known breaches in production), changing your email asks for your password, a password change signs out your other sessions, and every page sends a strict Content Security Policy. [SECURITY.md](SECURITY.md) has the full list, a checklist for going live, and what to change when your app adds Stripe, analytics, embedding or Livewire. ## Where things live ```text routes/auth.php sign in, registration, password reset, verification routes/web.php dashboard and settings app/Http/Controllers/Auth/ the auth controllers app/Http/Controllers/Settings/ profile, password, other devices app/Http/Middleware/SecurityHeaders.php the Content Security Policy and other browser security headers app/Listeners/RecordSignIn.php keeps the sign-in history config/security.php every security setting, explained resources/views/components/layouts/ app (header and account menu) and guest (centred card) resources/views/auth/ the auth pages resources/views/components/theme-toggle.blade.php the Light / Dark / System menu resources/js/theme.js, theme-boot.js switching the theme, and applying it before the page is drawn resources/views/components/widget/ LarawellUI widgets: yours to edit resources/js/widget/, resources/css/widget/ larawellui.lock which widget files you've edited; commit it ``` ## Widgets The widgets are copied into your app, so you can change them freely. To add more: ```bash php artisan larawell:list php artisan larawell:add datepicker ``` `pint.json` leaves `app/View/Widget` alone: reformatting those files would mark them as edited, and updates would then skip them. ### Keeping widgets up to date Your app keeps the widgets exactly as they were when you created it; nothing changes behind your back. New LarawellUI releases bring fixes and new widgets, and you take them when you choose: ```bash composer require --dev larawellui/larawellui:^0.3 # move to the new release (the version from its changelog) php artisan larawell:add --installed # update the widget files you haven't edited php artisan larawell:diff # see what changed in the ones you have php artisan larawell:add new-widget # add a widget that's new in that release ``` `larawell:add --installed` never overwrites a file you've edited: it reports it, and `larawell:diff` shows the difference so you can merge by hand. `larawellui.lock` is how it tells them apart, so commit it. While LarawellUI is below 1.0, `composer update` alone stays within the minor version you have: `^0.2.1` gets 0.2.x fixes but never 0.3.0, as Composer treats each 0.x minor release as possibly breaking. That's why the first command names the version. Read the [changelog](https://github.com/rkwebforge/larawellui/blob/main/CHANGELOG.md) for the widgets you use before moving. ## AI agents The kit is ready for AI coding agents (Claude Code, Codex, Cursor, Copilot and others): - **[Laravel Boost](https://github.com/laravel/boost)** gives them this app's Laravel version, database schema, logs, errors and version-matched Laravel docs, through its MCP server (`php artisan boost:mcp`). - **`php artisan larawell:mcp`** lets them look up every widget's props and examples, and install widgets. - **`CLAUDE.md` and `AGENTS.md`** tell them how to work here: the kit's rules (widgets, the Content Security Policy, `config/security.php`, tests) and a careful working style. Claude Code finds both MCP servers in `.mcp.json` by itself. For another agent, run `php artisan boost:install` and pick it: Boost writes that agent's MCP settings and instructions file; add `larawellui` (`php artisan larawell:mcp`) next to `laravel-boost` there. `CLAUDE.md` and `AGENTS.md` are generated, so write your own rules in `.ai/guidelines/`, then run `php artisan boost:update`. Commit these files: they're the project's instructions, so every agent and every teammate works by the same rules, and changes to them get reviewed like code. Your personal ones stay out of git: `CLAUDE.local.md`, `.claude/settings.local.json`, `.codex/` and `.cursor/` are in `.gitignore`. Never put API keys in `.mcp.json`; use environment variables. Boost is a development dependency: deploy with `composer install --no-dev` and it isn't on your server. ## Tests ```bash php artisan test ``` Every flow above has a feature test in `tests/Feature`. ## Versions The kit is versioned by date: `2026.10.0` is the first release of October 2026, and `2026.10.1` a fix to it. You copy a starter kit once rather than upgrade it, so the version says how fresh your copy is. [CHANGELOG.md](CHANGELOG.md) lists what each release changed. ## License MIT. See [LICENSE](LICENSE).
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

vitesse
🏕 Opinionated Vite + Vue Starter Template
Vue · 启动器

vitesse-webext
⚡️ WebExtension Vite Starter Template
Vue · 启动器

laravel-vue-spa
A Laravel-Vue SPA starter kit.
Vue · 启动器

vue3-h5-template
vue3-h5-template 是一个面向移动端 H5 项目的启动模板,基于 Vue3、Vite 和 Vant4 构建,同时集成了 TypeScript、Tailwindcss、Pinia、Vue-router 等常用…
Vue · 启动器

tov-template
vite + vue3 + ts 开箱即用现代开发模板 | vite + vue3 + ts out-of-the-box modern development template
Vue · 启动器

shadcn-vue-landing-page
New design 🎉 Vue + Shadcn-vue + TypeScript + Tailwind. Landing page template ease-to-use
Vue · 企业官网
