1.下载组件包Vue-Awesome-Swiper并引入
[Vue-Awesome-Swiper](https://www.npmjs.com/package/vue-awesome-swiper)链接
```
cd web
npm i vue-awesome-swiper
```
![](https://img.kancloud.cn/24/03/24033371782ae106bfceb55825ff0e50_1239x1049.png)
![](https://img.kancloud.cn/66/1f/661f689c7564854ac073c969c7723276_1246x855.png)
2.使用vue-swiper
在首页组件Home.vue中使用该组件,使用方法为外层 < swiper > 内部 < swiper-slide > 。
![](https://img.kancloud.cn/d1/68/d1686a5ec86bf074adb3a50bccac4076_1246x855.png)
此时已经可以拖动轮播了:
![](https://img.kancloud.cn/81/13/811358feb187bf3046469c4685240793_375x543.png)
3.引入广告数据
(1)在server端创建路由
与admin端相同,在server端找到最初创建的web端接口文件index.js,编写web端路由:
![](https://img.kancloud.cn/c5/bc/c5bc8fbec71cf93bb7247d92afd403c8_1243x855.png)
同时,在server端index.js文件中引入该web路由:
![](https://img.kancloud.cn/2a/24/2a24d78f0665e2ceccd30bc86ba37e52_1243x855.png)
测试,输入server端链接和路由地址:
localhost:3000/web/api/ads
![](https://img.kancloud.cn/34/97/349731046bc0ae96b59161d77f7eb635_1316x854.png)
查询到数据,没问题。这里我用到的是jsonview插件,大家自行下载。
![](https://img.kancloud.cn/1f/d2/1fd2d26f4a48080a6052018141b8777a_386x352.png)
(2)在web端安装并使用axios:
```
cd web
```
```
npm i axios
```
web端的main.js中引入axios并编写接口:
![](https://img.kancloud.cn/e3/3e/e33e49d1cbdd262fee8590d24083db71_1243x855.png)
(3)调用接口获取数据:
到首页页面Home.vue,在js中调用接口:
![](https://img.kancloud.cn/36/e0/36e037d04a4abc03d80c78f73a31d3a7_1243x855.png)
成功获取数据:
![](https://img.kancloud.cn/e5/fc/e5fcf1ce3ccd31e0da6a59a3e4e14640_1152x1084.png)
在页面中显示数据:
![](https://img.kancloud.cn/20/bc/20bc27dc76aa210479937bc4bd43d08a_1243x855.png)
此时图片完成上传,可轮播:
![](https://img.kancloud.cn/9d/a0/9da039d0a62354b0782b7888ec15c402_375x621.png)
4.为轮播广告添加样式,进行修饰
(1)首先,广告是有链接的,我们给图片加链接使其可以跳转。
![](https://img.kancloud.cn/a4/72/a4722b85e4ce6ebdbf906ed928d7469d_1243x855.png)
我们在后台修改链接信息:
![](https://img.kancloud.cn/64/02/64021ef8ec3c9fc6d6e704379b421e17_1152x616.png)
第一个广告链接到百度,第二个到我的csdn主页。
点击跳转,没问题。
(2)固定图片大小和位置,每次设置广告时需要固定尺寸的话就太烦了,我们把它设置成占满宽高并居中。
style.scss:
![](https://img.kancloud.cn/16/af/16af1165787dad3142a9bae45900c440_1243x855.png)
Home.vue使用sass样式:
![](https://img.kancloud.cn/91/5c/915ce6b1728bdb4d791b5119cd2b47c9_1243x855.png)
效果:
![](https://img.kancloud.cn/5c/0a/5c0a202ffee507f92fe4881d3bf88156_375x764.png)
(3)补全轮播样式
![](https://img.kancloud.cn/42/cb/42cb271c05ca7da4013131264a41d63a_704x1117.png)
![](https://img.kancloud.cn/cd/f5/cdf517a57a3269bf34d81a9a1eee545c_1243x978.png)
效果出现:
![](https://img.kancloud.cn/40/db/40db0600f4f21187d81551f167f8dc18_375x764.png)
但如果这个页面出现多个swiper轮播样式的话,就无法区分几个样式了,所以我们给这个轮播图起一个独立类名,将其挂载到此类名:
![](https://img.kancloud.cn/97/1c/971cfdfcd9b0d39c1bf9a15b25dcf225_1243x978.png)
最后,修改轮播点的位置和颜色。
当我们为轮播点span标签加text-right类名后,发现并没有效果:
![](https://img.kancloud.cn/ae/f8/aef8f7aff0b64fc20b5e17d59915172a_751x292.png)
是因为这个组件中有更高级的css指令,设置的是text-align: center。
![](https://img.kancloud.cn/e1/53/e153c39e7a39a34b804fbc78cd13fe2c_1152x1084.png)
所以将我们设置的类名样式设置为强制执行即可(!important):
![](https://img.kancloud.cn/f0/e6/f0e653173283e2be67efcdb4c7419180_1243x803.png)
![](https://img.kancloud.cn/67/20/6720f201c7abcd60b82070d7255505af_375x542.png)
修改颜色:
![](https://img.kancloud.cn/0e/3f/0e3f24f6570b7789401a25f233e8a8e0_1243x803.png)
原组件的颜色与我设置的辅助色比较相近,普通点为灰色,被选点为辅助蓝色,然后我还加了个辅助色边框:
![](https://img.kancloud.cn/bc/5f/bc5fc2f30306972158fa9e1a3ac8e867_375x542.png)
其它广告轮播样式大家参考包链接介绍。
(4)精准查询轮播图广告数据
之前想一次查询所有广告,并按需进行广告位置放置,但发现查询到的json数据是按数据库查询排序,如果按索引查找会有变化。
所以在server后台接口位置做出整改,以广告位名字查找单个广告位数据:
![](https://img.kancloud.cn/3d/d8/3dd8c94ba3077ee3ec450c6ad3c84db9_1261x803.png)
web端展示数据也做一些改变:
![](https://img.kancloud.cn/20/74/2074ccf5b7363c8dd953735ad2b0d6a0_1261x1071.png)
大家可参照admin端类似方法进行封装数据接口,同时优化自己的页面,下一篇文章开始学习项目上线方法
- tp6+vue
- 1.工具和本地环境
- 2.启动项目
- 3.路由、模型与数据库操作
- 4.优化后端接口,前端使用axios实现接口功能
- 5.用户登录,bcrypt(hash)加密与验证
- 6.用户登录(二),token验证
- 7.分类的模型关联和通用CRUD接口
- 8.使用vue的markdown编辑器并批量上传图片
- Node.js + Vue.js
- 工具,本地环境
- 2.1启动项目
- 3.element-ui和vue-router路由的安装和使用
- 4.使用axios,并创建接口上传数据到mongodb数据库
- 5.mongoodb数据库的“删、改、查”操作
- 6.mongodb数据库无限层级的数据关联(子分类)
- 7.使用mongodb数据库关联多个分类(关联多个数据)
- 8.server端使用通用CRUD接口
- 9.图片上传
- 10.vue的富文本编辑器(vue2-editor)
- 11.动态添加分栏上传多组数据
- 12-1.管理员模块
- 13-1.搭建前台web端页面
- 1.使用sass工具搭建前台web端页面
- 2.sass工具的变量
- 3.使用flex布局并开始搭建web端
- 4.vue广告轮播图,并使用接口引入数据
- 5.使用字体图标(iconfont)
- 6.卡片组件的封装
- 14-1.生产环境编译
- 1.环境编译
- 2.购买域名服务器并解析域名到服务器
- 3.nginx配置web服务器并安装网站环境
- 4.git拉取代码到服务器
- 5.配置Nginx反向代理
- 6.迁移本地数据到服务器(mongodump)
- uni
- 1.工具&本地环境
- 2.页面制作
- 3.页面制作、组件与轮播
- 4.页面跳转与横向滑动
- 5.用户授权登录和用户信息获取
- 6.用户注册和数据存储
- 7.用户填写表单信息