欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:738

高端HTML5响应式企业通用网

2020-05-06   浏览:518

html5响应式外贸网站英文版

2020-05-08   浏览:505

HTML5自适应律师工作室类网

2020-04-04   浏览:502

HTML5影视传媒文化公司类网

2020-05-12   浏览:496

小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

发布时间:2020-11-09  

这一章要进行的东西还蛮多的,从小程序navigator到wx.request,再到后台的restful进行数据集的通讯,前后台一起实战,和老沙一起做一个全栈工程师吧。

一个一个来吧,先说需求。

需求:

每个宝宝都有很多相册,自己的、和父母的、和粉丝的、和各种奇葩物体的。这些不同的相册将照片按照场景分开,就像商品和分类的概念一样,每个相册有自己的名字及生成时间,一个照片只能属于一个相册。

当然后期相册还会和“去哪儿”频道进行结合。

在小程序的位置见下图

小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

开始准备 数据表的结构如下:

小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

在photo中有个字段type是多态的,当type=1代表图片,type=2代表视频。photo中有个外键就是album_id代表此图片/视频所属的相册。

小提醒:在实际开发中北哥推荐使用migrate来维护你的数据表结构,用法可以参考《90个小时》原创视频进阶篇 第1节&第2节。

准备模型

数据表建完后我们通过yii2的gii工具分别建立了Album和Photo模型,通过这些模型可以和数据表数据进行交互。

小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

建立第一个restful接口

小程序的相册列表页面需要得到相册名字、内含照片数量并且相册按照更新时间进行降序排序。

我们先来构造符合前台需求的restful风格的接口。

通过对上一篇的学习老沙知道首先要urlManager中的路由,如下图

小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

然后建立这个路由对应的restful风格的控制器,重点是要继承于ActiveController

小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

如上图所写,只需要继承于ActiveController并且制定一个modelClass即可,到此刻位置一个restful就建立成功了,我们尝试先给数据库的album填写一些数据后访问接口 GET https://xgh.nai8.me/xcx/albums 看看效果

小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

老沙泯然一笑,很成功。

但是这仍然不是我想要的结果,我需要的结果是

编号id

名字name

更新时间(格式化为0000-00-00 00:00:00)

相册内照片数量

也就是说我需要让后台去掉几个字段并增加几个字段。,当然这并不难,老沙同学之前就玩过。

去掉字段也就是字段的筛选,我们可以在GET /xcx/albums的时候传递一个fields,注明我们需要的字段,在这里就是GET /xcx/albums?fields=id,name

小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

事业成功一半了,接下来我们还需要 更新时间 和 相册内照片数量 ,首先说这两个字段在数据表中根本不存在,那么对于此类问题需要如何解决那?

好解决,yii2已经提供了解决方案,就是expand

expand的视频教学可以在PHP原创视频内学到。

我们来实际操作下expand的用法

首先为接口增加 expand项 GET /xcx/albums?fields=id,name&expand=formatUpdateTime,photoTotal

然后回到我们的模型Album,重载extraFields函数

小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

当然我们还需要去实现formatUpdateTime和photoTotal,如下图在模型Album中增加两个函数即可

小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

接下来访问接口 GET /xcx/albums?fields=id,name&expand=formatUpdateTime,photoTotal 试试

小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

完美解决。

小程序端

现在后台已经准备完毕,老沙需要布局小程序,效果图如下

小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

页面并不复杂,我从后台获取数据后在小程序的视图上进行一个遍历即可。

我建立了一个list Page。

小北微信小程序教程之 -- 实现完整的相册列表逻辑(小程序端服务器端) ..

获取后台数据

本文标签

:备案管家服务帮您把复杂流程变简单,解决您在进行网站备案过程中遇到的效率低下和成功率不高的问题。个人300/2个域名,企业500/5个域名,qq1650004.