前后端分离结构,仓库内同时提供 Laravel JSON:API 后端与 Vue 前端两个项目
vue-paper-dashboard-laravel — Vue 后台模板
作者 creativetimofficial
Vue Paper Dashboard Laravel 是一个后台管理模板,前端为 Vue 单页应用,后端为 Laravel 实现的 JSON:API 标准 REST API,包含登录、注册、仪表盘和资料编辑等页面。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
目前有 1 张原始预览,可打开完整图片查看设计细节。
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
后端遵循 JSON:API 规范,使用 Laravel Passport 进行 API 认证
前端包含仪表盘、登录、注册、编辑个人资料等页面,并配有对应路由和 Vuex 状态模块
登录与注册功能已与后端 API 对接,可直接使用示例账号测试
采用 MIT 许可,允许免费使用、修改、商用和分发该版本代码
模板详细介绍
该项目由 Creative Tim 发布,采用 MIT 许可,仓库中同时包含 Laravel API 后端和 Vue 前端两个独立项目文件夹。前端基于 Paper Dashboard 的 Vue 版本,后端提供符合 JSON:API 规范的 REST 接口,两者通过 HTTP 请求连接。模板内置了仪表盘、登录、注册、编辑个人资料等页面,并提供了对应的路由与状态管理模块。登录和注册功能已对接后端认证,使用 Laravel Passport 处理令牌。项目文档说明了本地运行所需的 PHP、Composer、MySQL、Node.js 和 Vue CLI 环境,并建议使用 Laradock 或 Laragon 等工具搭建多线程 Web 服务器,同时明确指出不应使用 php artisan serve 运行后端,以免因单线程导致请求阻塞。免费版本提供基础页面和认证流程,更多管理功能(如用户、角色、条目、分类、标签的 CRUD)需参考付费 PRO 版本。
适合你的项目吗?
适用场景
- 需要快速搭建带认证的后台管理界面原型
- 希望参考 Vue 前端与 Laravel JSON:API 后端对接的示例项目
- 用于学习 JSON:API 规范在 Laravel 中的实现方式
- 作为二次开发的基础,替换或扩展自己的业务页面
适合人群
- 熟悉 Vue 和 Laravel 的前后端开发者
- 需要 JSON:API 风格 REST 接口的后台项目
- 希望基于 MIT 许可模板进行定制开发的团队
- 用于教学或演示前后端分离架构的场景
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
后端需要 PHP、Composer、MySQL 以及 Apache/Nginx 等多线程 Web 服务器,不要使用 php artisan serve
- 2
前端需要 Node.js(8.9 以上,推荐 8.11.0+)、npm 和 Vue CLI
- 3
后端安装步骤包括 composer install、复制 .env、配置数据库、执行 php artisan migrate --seed、php artisan key:generate 和 php artisan passport:install
- 4
前端需复制 .env 并设置 VUE_APP_BASE_URL 和 VUE_APP_API_BASE_URL,然后运行 npm run dev 或 npm run build
- 5
可使用示例账号 [email protected] / secret 登录测试,或自行注册用户
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 免费版仅提供基础页面与认证流程;用户、角色、条目、分类、标签等 CRUD 等更多功能属于付费 PRO 版本,免费版不包含。
- 后端邮件功能依赖第三方服务 mailtrap.io,需自行注册账号并提供凭据,可能涉及外部服务成本。
- API 认证依赖 Laravel Passport,安装后需将生成的 CLIENT_ID 与 CLIENT_SECRET 配置到 .env 文件中。
- 后端运行要求多线程 Web 服务器(如 Apache/Nginx)及 PHP、Composer、MySQL 环境,不能使用单线程内置服务器。
- 明确禁止使用 php artisan serve 运行后端,否则会因内置 PHP 服务器单线程特性导致请求阻塞。
- 前端需要 Node.js 8.9 以上(推荐 8.11.0+)、npm 和 Vue CLI 环境。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
If you want to get more features, go PRO with [Vue Paper Dashboard PRO Laravel](https://www.creative-tim.com/product/vue-paper-dashboard-pro-laravel).
README 原文
Add your own mailtrap.io credentials in MAIL_USERNAME and MAIL_PASSWORD in the .env file
README 原文
Install Laravel Passport: `php artisan passport:install` and set in the .env file the CLIENT_ID and CLIENT_SECRET that you receive
README 原文
The Laravel JSON:API backend project requires a proper multi-threaded web server such as Apache/Nginx environment with PHP, Composer and MySQL.
README 原文
**Do not use `php artisan serve` as it will result in stalled requests due to the single-threaded nature of the built-in PHP web server.**
README 原文
https://github.com/creativetimofficial/vue-paper-dashboard-laravel/blob/master/LICENSE.mdhttps://github.com/creativetimofficial/vue-paper-dashboard-laravel/blob/master/README.mdThe Vue Paper frontend project requires a working local environment with NodeJS version 8.9 or above (8.11.0+ recommended), npm, VueCLI.
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-03。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料一般 · 65 / 100
- 技术栈
- Vue · Laravel
- 网站类型
- 后台
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2024-05-27
- 截图检查日期
- 2026-10-03
目前没有记录演示链接。请依据仓库说明在本地评估;仅凭截图无法确认交互行为。
目录记录的主要技术栈是 Vue。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。
查看当时使用的来源资料
SHA-256: 135f5b7d1257e1bba2dc9db203b4ba3c8ef639a33ec411e4f0f309e1f91ae6b1
2026-10-03T08:38:23.857Z
来源文件 / 仓库# [Vue Paper Dashboard Laravel](https://vue-paper-dashboard-laravel.creative-tim.com/?ref=mdpl-readme)  [](https://github.com/creativetimofficial/vue-paper-dashboard-laravel/issues?q=is%3Aopen+is%3Aissue) [](https://github.com/creativetimofficial/vue-paper-dashboard-laravel/issues?q=is%3Aissue+is%3Aclosed) _Frontend version_: Paper Dashboard v2.0.1. More info at https://www.creative-tim.com/product/paper-dashboard-2  What if your frontend came not only with reusable components, but also with a reusable backend? API-driven development is more than just a buzzword and we partnered with [UPDIVISION](https://updivision.com) to prove it. Build awesome-looking apps with a flexible architecture across a variety of devices and operating systems with Vue Paper Dashboard Laravel. If you want to get more features, go PRO with [Vue Paper Dashboard PRO Laravel](https://www.creative-tim.com/product/vue-paper-dashboard-pro-laravel). # Download For the free version of the project you can either - download the .zip file from the Creative Tim site and extract it or - make a clone from the Github repository You will get two project folders: one for the Laravel API project and one for the Vue frontend. # Laravel API Setup ## Introduction JSON:API is a specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests. It is designed to minimize both the number of requests and the amount of data transmitted between clients and servers. This efficiency is achieved without compromising readability, flexibility, or discoverability. [Click here to go to the JSON:API docs](https://explore.postman.com/api/6357/laravel-jsonapi) ## Prerequisites ### JSON:API backend The Laravel JSON:API backend project requires a proper multi-threaded web server such as Apache/Nginx environment with PHP, Composer and MySQL. **Do not use `php artisan serve` as it will result in stalled requests due to the single-threaded nature of the built-in PHP web server.** We strongly recommend using [Laradock](https://laradock.io/) for Linux and Mac or [Laragon](https://laragon.org/download/) for Windows if possible. Other options for your local environment: - Windows: [How to install WAMP on Windows](https://updivision.com/blog/post/beginner-s-guide-to-setting-up-your-local-development-environment-on-windows) - Linux & Mac: https://updivision.com/blog/post/guide-what-is-lamp-and-how-to-install-it-on-ubuntu-and-macos Also, you will need to install Composer: https://getcomposer.org/doc/00-intro.md ### Vue Paper frontend The Vue Paper frontend project requires a working local environment with NodeJS version 8.9 or above (8.11.0+ recommended), npm, VueCLI. Install Node: https://nodejs.org/ (version 8.11.0+ recommended) Install NPM: https://www.npmjs.com/get-npm Install VueCLI: https://cli.vuejs.org/guide/installation.html ## Laravel JSON:API Project Installation 1. Navigate in your Laravel API project folder: `cd your-laravel-json-api-project` 2. Install project dependencies: `composer install` 3. Create a new .env file: `cp .env.example .env` 3. Add your own database credentials in the .env file in DB_DATABASE, DB_USERNAME, DB_PASSWORD 5. Create users table: `php artisan migrate --seed` 6. Generate application key: `php artisan key:generate` 7. Install Laravel Passport: `php artisan passport:install` and set in the .env file the CLIENT_ID and CLIENT_SECRET that you receive 8. Add your own mailtrap.io credentials in MAIL_USERNAME and MAIL_PASSWORD in the .env file ## Vue Paper Dashboard Project Installation 1. Navigate to your Vue Paper Dashboard project folder: `cd your-vue-paper-dashbord-project` 2. Install project dependencies: `npm install` 3. Create a new .env file: `cp .env.example .env` 4. `VUE_APP_BASE_URL` should contain the URL of your Vue Paper Dashboard Project (eg. http://localhost:8080/) 5. `VUE_APP_API_BASE_URL` should contain the URL of your Laravel JSON:API Project. (eg. http://localhost:3000/api/v1) 6. Run `npm run dev` to start the application in a local development environment or `npm run build` to build release distributables. *Extra Note* - use `npx [email protected] install` if `npm install` failed. Ref: [StackOverflow](https://stackoverflow.com/a/68479189/5033470) ## Usage Register a user or login using [email protected] and secret and start testing the theme. Besides the dashboard and the auth pages this theme also has an edit profile page. All the necessary files are installed out of the box and all the needed routes are added to `src\router\index.js`. Keep in mind that all the features can be viewed once you log in using the credentials provided above or by registering your own user. ### Dashboard You can access the dashboard either by using the "**Dashboards/Dashboard**" link in the left sidebar or by adding **/home** in the URL. ### Login The login functionality is fully implemented in our theme helping you to start your project in no time. To login into dashboard you just have to add **/login** in the URL and fill the login form with one of the credentials (user: **[email protected]**, **[email protected]**, **[email protected]** and password: **secret**). The `src\components\Dashboard\Views\Pages\Login.vue` is the Vue component which handles the login functinality. You can easily adapt it to your needs. It uses the auth store located in `src\store\modules\auth.js`. ### Login Card ``` <div class="container"> <div class="header-body text-center" style="margin-bottom: 15px;"> <div class="row justify-content-center"> <div class="text-center"> <h1 class="text-white">Log in to Vue Paper Dashboard Laravel PRO Live Preview</h1> <p class="text-lead text-white">Log in to see how you can save more than 300 hours of work with an integrated Laravel API backend and ready-made CRUDs for managing: #users, #roles, #items, #categories, #tags.</p> </div> <div class="text-white"> <h3 class="text-white"><strong>You can log in with 3 user types:</strong></h3> <div>Username <b>[email protected]</b> Password <b>secret</b></div> <div>Username <b>[email protected]</b> Password <b>secret</b></div> <div>Username <b>[email protected]</b> Password <b>secret</b></div> </div> </div> </div> <div class="col-lg-4 col-md-6 ml-auto mr-auto"> <form @submit.prevent="login"> <card type="login"> <h3 slot="header" class="header text-center">Login</h3> <fg-input v-model="email" addon-left-icon="nc-icon nc-single-02" placeholder="Email"/> <validation-error :errors="apiValidationErrors.email" /> <fg-input v-model="password" addon-left-icon="nc-icon nc-key-25" placeholder="Password" type="password"/> <validation-error :errors="apiValidationErrors.password" /> <br> <p-button native-type="submit" slot="footer" type="warning" round block class="mb-3">Get started</p-button> </card> </form> </div> </div> ``` ### Register The register functionality is fully implemented in our theme helping you to start your project in no time. To register a new user you just have to add **/register** in the URL or click on register link from login page and fill the register form with user details. The `src\components\Dashboard\Views\Pages\Register.vue` is the Vue component which handles the login functinality. You can easily extend it to your needs. It uses the auth store located in `src\store\modules\auth.js`. #### Register card ``` <form @submit.prevent="register"> <card type="signup" class="text-center"> <template slot="header"> <h4 class="card-title">Register</h4> <div class="social"> <button class="btn btn-icon btn-round btn-twitter"> <i class="fa fa-twitter"></i> </button> <button class="btn btn-icon btn-round btn-dribbble"> <i class="fa fa-dribbble"></i> </button> <button class="btn btn-icon btn-round btn-facebook"> <i class="fa fa-facebook-f"></i> </button> <p class="card-description"> or be classical </p> </div> </template> <fg-input v-model="name" addon-left-icon="nc-icon nc-single-02" placeholder="Name"/> <validation-error :errors="apiValidationErrors.name"/> <fg-input v-model="email" addon-left-icon="nc-icon nc-email-85" placeholder="Email"/> <validation-error :errors="apiValidationErrors.email"/> <fg-input v-model="password" addon-left-icon="nc-icon nc-key-25" placeholder="Password" type="password"/> <validation-error :errors="apiValidationErrors.password"/> <fg-input v-model="password_confirmation" addon-left-icon="nc-icon nc-key-25" placeholder="Password confirmation" type="password"/> <validation-error :errors="apiValidationErrors.password_confirmation"/> <p-checkbox class="text-left" v-model="boolean"> I agree to the <a href="#something">terms and conditions</a>. </p-checkbox> <p-button native-type="submit" slot="footer" type="info" round>Get Started</p-button> </card> </form> ``` ### Profile edit You have the option to edit the current logged in user's profile information (name, email, profile picture) and password. To access this page, just click the "**Examples/Profile**" link in the left sidebar or add **/examples/user-profile** in the URL. The `src\components\Dashboard\Views\Examples\UserProfile` is the folder with Vue components that handle the update of the user information and password. #### Edit profile component ``` <template> <div class="card"> <div class="card-header"> <h4 class="title">Edit Profile</h4> </div> <div class="card-body"> <form ref="profile_form" @submit.prevent="updateProfile"> <fg-input v-model="user.name" placeholder="Name" label="Name"></fg-input> <validation-error :errors="apiValidationErrors.name" /> <fg-input v-model="user.email" placeholder="Enter email" label="Email address"></fg-input> <validation-error :errors="apiValidationErrors.email" /> <div class="text-center"> <button native-type="submit" class="btn btn-info btn-fill btn-wd" @click.prevent="updateProfile"> Update Profile </button> </div> <div class="clearfix"></div> </form> </div> </div> </template> <script> import formMixin from "@/mixins/form-mixin"; import ValidationError from "src/components/UIComponents/ValidationError.vue"; export default { mixins: [formMixin], components: { ValidationError }, props: { user: Object }, data() { return {}; }, methods: { async updateProfile () { try { await this.$store.dispatch("profile/update", this.user) this.resetApiValidation(); this.$notify({ type: 'success', message: 'Profile updated successfully.', icon: 'nc-icon nc-bell-55', }) await this.$store.getters["profile/me"] } catch (e) { this.$notify({ type: 'danger', message: 'Oops, something went wrong!', icon: 'nc-icon nc-bell-55', }) this.setApiValidation(e.response.data.errors) } } } } </script> ``` #### Edit password component ``` <template> <div class="card"> <div class="card-header"> <h4 class="title">Edit Password</h4> </div> <div class="card-body"> <form ref="password_form" @submit.prevent="changePassword"> <fg-input v-model="password" placeholder="Password" label="Password" type="password"></fg-input> <validation-error :errors="apiValidationErrors.password" /> <fg-input v-model="password_confirmation" placeholder="Confirm password" label="Confirm password" type="password"></fg-input> <validation-error :errors="apiValidationErrors.password_confirmation" /> <div class="text-center"> <button native-type="submit" class="btn btn-info btn-fill btn-wd" @click.prevent="changePassword"> Update Password </button> </div> <div class="clearfix"></div> </form> </div> </div> </template> <script> import formMixin from "@/mixins/form-mixin"; import ValidationError from "src/components/UIComponents/ValidationError.vue"; export default { mixins: [formMixin], components: { ValidationError }, props: { user: Object }, data: () => ({ password: null, password_confirmation: null, }), methods: { async changePassword () { const user = { id: this.user.id, type: "users", password: this.password, password_confirmation: this.password_confirmation } try { this.resetApiValidation(); await this.$store.dispatch("users/update", user) this.user = await this.$store.getters["profile/me"]; this.$refs["password_form"].reset(); this.$notify({ type: 'success', message: 'Profile updated successfully.', icon: 'nc-icon nc-bell-55', }) } catch (e) { this.$notify({ type: 'danger', message: 'Oops, something went wrong!', icon: 'nc-icon nc-bell-55', }) this.setApiValidation(e.response.data.errors) } } } } </script> ``` ## Table of Contents * [Versions](#versions) * [Demo](#demo) * [Documentation](#documentation) * [File Structure](#file-structure) * [Browser Support](#browser-support) * [Resources](#resources) * [Reporting Issues](#reporting-issues) * [Licensing](#licensing) * [Useful Links](#useful-links) ## Versions [<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/html-logo.jpg" height="80" />](#) [<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/laravel_logo.png" height="80" />](#) [<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/vue.jpg" height="80" />](#) [<img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/json-api.png" height="75" />](#) | HTML | Laravel | Vue & Laravel | | -- | -- | -- | | [](https://www.creative-tim.com/product/paper-dashboard-2?ref=vpdpl-readme) | [](https://www.creative-tim.com/product/paper-dashboard-laravel?ref=vpdpl-readme) | [](https://www.creative-tim.com/product/vue-paper-dashboard-laravel?ref=vpdpl-readme) | ## Demo | Register | Login | Dashboard | | --- | --- | --- | | [](https://vue-paper-dashboard-laravel.creative-tim.com/register?ref=vpdl-readme) | [](https://vue-paper-dashboard-laravel.creative-tim.com/login?ref=vpdl-readme) | [](https://vue-paper-dashboard-laravel.creative-tim.com/?ref=vpdl-readme) | | Profile Page | Users Page | Tables Page | | --- | --- | --- | | [](https://vue-paper-dashboard-laravel.creative-tim.com/examples/user-profile?ref=vpdl-readme) | [](https://vue-paper-dashboard-laravel.creative-tim.com/examples/user-management/list-users?ref=vpdl-readme) | [](https://vue-paper-dashboard-laravel.creative-tim.com/table-list?ref=vpdl-readme) [View More](https://vue-paper-dashboard-laravel.creative-tim.com/?ref=vpdl-readme) ## Documentation The documentation for the Vue Paper Dashboard Laravel is hosted at our [website](https://vue-paper-dashboard-laravel.creative-tim.com/documentation?ref=vpdl-readme). ## File Structure ``` ├───vue-paper-dashboard │ App.vue │ main.js │ polyfills.js │ ├───assets │ ├───css │ │ │ style.css │ │ │ │ │ └───nucleo │ └───sass │ │ argon.scss │ │ │ ├───core │ └───custom ├───axios │ index.js │ ├───components | ├── Dashboard | │ ├── Layout | │ │ ├── ContentFooter.vue | │ │ ├── Content.vue | │ │ ├── DashboardLayout.vue | │ │ ├── LoadingMainPanel.vue | │ │ └── TopNavbar.vue | │ └── Views | │ ├── Components | │ │ ├── Buttons.vue | │ │ ├── GridSystem.vue | │ │ ├── Icons.vue | │ │ ├── Notifications.vue | │ │ ├── NotificationTemplate.vue | │ │ ├── Panels.vue | │ │ ├── SweetAlert.vue | │ │ └── Typography.vue | │ ├── Dashboard | │ │ ├── Overview.vue | │ │ ├── Widgets | │ │ │ ├── TaskList.vue | │ │ │ └── Task.vue | │ │ └── Widgets.vue | │ ├── Examples | │ │ ├── UserManagement | │ │ │ └── ListUserPage.vue | │ │ ├── UserProfile | │ │ │ ├── EditPasswordCard.vue | │ │ │ └── EditProfileCard.vue | │ │ └── UserProfile.vue | │ ├── Maps | │ │ ├── API_KEY.js | │ │ ├── GoogleMaps.vue | │ ├── Pages | │ │ ├── Layout | │ │ │ ├── AppFooter.vue | │ │ │ └── AppNavbar.vue | │ │ ├── Lock.vue | │ │ ├── Login.vue | │ │ ├── Register.vue | │ │ ├── TimeLinePage.vue | │ │ ├── UserProfile | │ │ │ ├── EditProfileForm.vue | │ │ │ ├── MembersCard.vue | │ │ │ └── UserCard.vue | │ │ └── UserProfile.vue | │ ├── Password | │ │ ├── Reset.vue | │ │ └── Email.vue | │ └── Tables | │ ├── RegularTables.vue | ├── GeneralViews | │ └── NotFoundPage.vue | └── UIComponents | ├── Cards | │ ├── Card.vue | │ ├── ChartCard.vue | │ ├── CircleChartCard.vue | │ └── StatsCard.vue | ├── Charts | │ ├── BarChart.js | │ ├── DoughnutChart.js | │ ├── LineChart.js | │ ├── mixins | │ │ └── reactiveChart.js | │ ├── PieChart.js | │ ├── plugins | │ │ └── plugin-chart-text.js | │ └── utils.js | ├── Collapse | │ ├── CollapseItem.vue | │ └── Collapse.vue | ├── Dropdown.vue | ├── index.js | ├── InfoSection.vue | ├── Inputs | │ ├── Checkbox.vue | │ ├── formGroupInput.vue | │ ├── IconCheckbox.vue | │ └── Radio.vue | ├── Modal.vue | ├── Navbar | │ ├── NavbarToggleButton.vue | │ └── Navbar.vue | ├── Pagination.vue | ├── Progress.vue | ├── SidebarPlugin | │ ├── index.js | │ ├── SidebarItem.vue | │ ├── SideBar.vue | │ └── UserMenu.vue | ├── Switch.vue | ├── Tabs | │ ├── PillsLayout.vue | │ ├── TabsLayout.vue | │ ├── Tabs.vue | │ └── Tab.vue | ├── TimeLine | │ ├── TimeLineItem.vue | │ └── TimeLine.vue | ├── ValidationError.vue | └── Wizard | ├── WizardTab.vue | └── Wizard.vue │ ├───middleware │ auth.js │ guest.js │ ├───mixins │ form-mixin.js │ ├───plugins │ dashboard-plugin.js │ globalComponents.js │ globalDirectives.js │ ├───router │ index.js │ routes.js │ starterRouter.js │ ├───store │ │ index.js │ │ │ ├───modules │ │ auth.js │ │ profile-module.js │ │ reset.js │ │ users-module.js │ │ │ └───services │ profile-service.js │ users-service.js │ ├───util │ throttle.js ``` ## Browser Support At present, we officially aim to support the last two versions of the following browsers: <img src="https://github.com/creativetimofficial/public-assets/blob/master/logos/chrome-logo.png?raw=true" width="64" height="64"> <img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/master/logos/firefox-logo.png" width="64" height="64"> <img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/master/logos/edge-logo.png" width="64" height="64"> <img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/master/logos/safari-logo.png" width="64" height="64"> <img src="https://raw.githubusercontent.com/creativetimofficial/public-assets/master/logos/opera-logo.png" width="64" height="64"> ## Resources - Demo: <https://vue-paper-dashboard-laravel.creative-tim.com/?ref=vpdpl-readme> - Download Page: <https://www.creative-tim.com/product/vue-paper-dashboard-laravel?ref=vpdpl-readme> - Documentation: <https://vue-paper-dashboard-laravel.creative-tim.com/documentation?ref=vpdpl-readme> - License Agreement: <https://www.creative-tim.com/license> - Support: <https://www.creative-tim.com/contact-us> - Issues: [Github Issues Page](https://github.com/creativetimofficial/vue-paper-dashboard-laravel/issues) - **Dashboards:** | HTML | Laravel | Vue & Laravel | | -- | -- | -- | | [](https://www.creative-tim.com/product/paper-dashboard-2?ref=vpdpl-readme) | [](https://www.creative-tim.com/product/paper-dashboard-laravel?ref=vpdpl-readme) | [](https://www.creative-tim.com/product/vue-paper-dashboard-laravel?ref=vpdpl-readme) | ## Change log Please see the [changelog](CHANGELOG.md) for more information on what has changed recently. ## Reporting Issues We use GitHub Issues as the official bug tracker for the Black Dashboard Laravel. Here are some advices for our users that want to report an issue: 1. Make sure that you are using the latest version of the Black Dashboard Laravel. Check the CHANGELOG from your dashboard on our [website](https://www.creative-tim.com/?ref=vpdl-readme). 2. Providing us reproducible steps for the issue will shorten the time it takes for it to be fixed. 3. Some issues may be browser specific, so specifying in what browser you encountered the issue might help. ## Licensing - Copyright Creative Tim (https://www.creative-tim.com/?ref=vpdl-readme) - Licensed under MIT (https://github.com/creativetimofficial/vue-paper-dashboard-laravel/blob/master/LICENSE.md) ## Useful Links - [Tutorials](https://www.youtube.com/channel/UCVyTG4sCw-rOvB9oHkzZD1w) - [Affiliate Program](https://www.creative-tim.com/affiliates/new) (earn money) - [Blog Creative Tim](http://blog.creative-tim.com/) - [Free Products](https://www.creative-tim.com/bootstrap-themes/free) from Creative Tim - [Premium Products](https://www.creative-tim.com/bootstrap-themes/premium?ref=vpdl-readme) from Creative Tim - [React Products](https://www.creative-tim.com/bootstrap-themes/react-themes?ref=vpdl-readme) from Creative Tim - [Angular Products](https://www.creative-tim.com/bootstrap-themes/angular-themes?ref=vpdl-readme) from Creative Tim - [VueJS Products](https://www.creative-tim.com/bootstrap-themes/vuejs-themes?ref=vpdl-readme) from Creative Tim - [More products](https://www.creative-tim.com/bootstrap-themes?ref=vpdl-readme) from Creative Tim - Check our Bundles [here](https://www.creative-tim.com/bundles??ref=vpdl-readme) ## Social Media ### Creative Tim: Twitter: <https://twitter.com/CreativeTim?ref=vpdl-readme> Facebook: <https://www.facebook.com/CreativeTim?ref=vpdl-readme> Dribbble: <https://dribbble.com/creativetim?ref=vpdl-readme> Instagram: <https://www.instagram.com/CreativeTimOfficial?ref=vpdl-readme> ### Updivision: Twitter: <https://twitter.com/updivision?ref=vpdl-readme> Facebook: <https://www.facebook.com/updivision?ref=vpdl-readme> Linkedin: <https://www.linkedin.com/company/updivision?ref=vpdl-readme> Updivision Blog: <https://updivision.com/blog/?ref=vpdl-readme> ## Credits - [Creative Tim](https://creative-tim.com/?ref=mdpl-readme) - [UPDIVISION](https://updivision.com)
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

vuestic-admin
Vuestic Admin is an open-source, ready-to-use admin template suite designed for rapid development, easy mainte…
Vue · 后台

v3-admin-vite
v3-admin-vite 是一个主打 AI 编程友好体验的 Vue3 后台管理模板,基于 Vue3、Vite、TypeScript、Element Plus 构建。
Vue · 后台

vue-typescript-admin-template
vue-typescript-admin-template 是一套面向后台管理界面的前端解决方案,基于 Vue 2.6、TypeScript 和 Element UI 构建。
Vue · 后台

vue-antd-admin
Vue Antd Admin 是 Ant Design Pro 的 Vue 实现版本,目标是为中后台项目提供一套开箱即用的前端与设计解决方案。
Vue · 后台

coreui-free-vue-admin-template
Free Vue Admin & Dashboard Template Built for AI-Assisted Development
Vue · 后台

nova-admin
A simple and flexible admin template based on Vue3, Vite, TypeScript, NaiveUI
Vue · 后台
