基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(二十七) —— 通过 Vue 组件实现单页面应用无跳转登录

我们在上一篇教程中通过是否需要登录访问重新组织了后端路由,并且移除了之前依赖后端 + 视图实现的登录方式,在这一篇教程中,我们将通过 Vue 组件 + 后端 API 实现在单页面应用中的无跳转登录。 第一步:前端默认重定向到首页 我们首先在 resources/assets/js/routes.js 中通过 redirect 属性将前端路由 / 重定向到首页页面 home,这样,layo...

基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(二十四) —— 使用 Vue Mixins 在高德地图上对咖啡店点标记进行筛选过滤

在上一篇教程中我们在应用首页通过 Vue Mixins 实现了对咖啡店的筛选过滤,在这篇教程中,我们将复用上一篇教程中的过滤处理函数通过 Vue Mixins 实现在高德地图上对咖啡店点标记进行筛选过滤的功能,实现思路和上篇教程类似,只不过前者是对列表数据进行过滤,而本篇教程是在地图上对点标记进行过滤。 第一步:创建高德地图过滤组件 和上篇教程的 CafeFilter 组件类似,我们首先...

基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(二十三) —— 通过 Vue Mixins 在前端首页对咖啡店进行过滤筛选

随着咖啡店数量的增多,需要按照指定条件对咖啡店进行过滤筛选,才能找到心仪的咖啡店。由于我们现在在应用首页已经将所有咖啡店数据一次性返回了,所以现在我们在前端基于 Vue 对咖啡店进行过滤,当然,随着数据的进一步增大,筛选过滤功能必须集合后端 API 实现,但是对于目前数据量来说,前端处理就可以了。 我们将基于以下几个维度对数据进行过滤: 文本搜索 标签选择 是否是烘焙店 冲泡方法 我...

基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(二十二) —— 咖啡店标签前端输入及显示功能实现

在上一篇教程中,我们已经实现咖啡店标签的后端 API 接口用于实现标签的查询、新增和删除,在这篇教程中,我们来实现标签的前端输入、提交和显示。 第一步:新增标签输入组件 我们将通过创建一个 Vue 组件来实现标签的输入,使用组件的好处是方便标签输入组件的复用,在 resources/assets/js/components/global 目录下新增一个 forms 子目录,然后在 for...

基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(二十) —— 通过 Laravel + Vue 实现喜欢/取消喜欢咖啡店功能

对很多应用而言,尤其是社交媒体类应用,都有喜欢或收藏功能,在这篇教程中,我们就来演示如何基于 Laravel 和 Vue 从前端到后端完整实现喜欢/取消喜欢咖啡店功能。 在上一篇教程中我们构建了咖啡店之间的父子关联关系,并且在更早的教程中构建了咖啡店与冲泡方法之间的多对多关联,而在这篇教程中,我们将构建基于用户和咖啡店的另一个多对多关联关系:一个咖啡店可以被多个用户喜欢,一个用户也可以喜...

基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(十九) —— 通过 Vue.js 实现动态表单一次提交多个咖啡店位置信息

上一篇教程中,我们创建了相应的数据表结构来存储咖啡店与冲泡方法的多对多关联以及获取方法,现在我们需要在其基础上来调整新增咖啡店表单:由于一个咖啡店可能有多个分店,我们可能需要多个位置字段(具体数目未知),因此需要一个动态表单。通过 Vue.js 我们可以轻松实现这样的动态表单。 第一步:构思新的 NewCafe.vue 组件功能 很显然,我们需要对 NewCafe.vue 表单组件进行重...

基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(十六) —— 通过 Vue + 高德地图 JS API 在地图上标记咖啡店

在上一篇教程中我们为咖啡店地址进行了地理编码,这样,就可以调用高德地图支持的各种 API 来实现我们想要实现的功能(地图服务都是基于地理编码来实现),在这篇教程中,我们将基于地理编码在地图上标记咖啡店,我们将通过在 Cafes 页面中包含地图组件来实现这个功能。 第一步:获取高德地图 JS API Key 由于是在前端实现地图标记功能,所以需要申请高德地图的 JS API Key,在上一...

基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(十四) —— 通过 JavaScript 和 Laravel 验证表单请求

在上一篇教程中,我们结合 Vuex 和 Laravel 实现了表单提交功能,目前看来,工作的很好,但是有个遗憾,就是没有对表单提交数据做任何校验,所以我们将在这篇教程中来弥补这个缺憾,并且在前端和后端都加上校验。 第一步:在 NewCafe.vue 组件中添加前端校验 首先我们在前端给表单提交添加校验功能,打开 NewCafe.vue,在数据模型中新增一个 validations 对象为...

基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(十三) —— 通过 Vue 组件、Vue Router、Vuex 和 Laravel 实现表单提交

在这篇教程中,我们来为咖啡店添加一些数据。我们构建这个应用的目的是为了帮助咖啡爱好者找到下一杯咖啡,所以首先需要让认证用户可以提交咖啡店到应用,不论何时在单页面应用中处理表单,都需要让 Laravel API 和调用 JavaScript 路由并更新 Vuex 储存数据的 Vuex 模块协同工作。听起来需要做的事情很多,但如果我们将它们拆解开来各个击破,也没有那么复杂。 第一步:回顾我们...

[ Laravel 5.7 文档 ] 测试系列 —— 浏览器测试(Laravel Dusk)

简介 Laravel Dusk 提供了优雅的、易于使用的浏览器自动测试 API。默认情况下,Dusk 不强制你在机器上安装 JDK 或 Selenium,取而代之地,Dusk 基于独立安装的 ChromeDriver。不过,你可以使用任意其他兼容 Selenium 的驱动。 注:Selenium 是一套 Web 应用自动化测试系统,运行 Selenium 测试就像你在浏览器中操作一样;...