微信图片服务器逻辑,微信小程序[第八篇] -- 实现完整的相册列表逻辑(小程序端&服务器端)...

这一讲过一围多元示一能近讲提下了多素效个外近章要进行的东西还蛮多的,从小程序navigator到wx.request,再到后台的restful进行数据集的通讯,前后台一起实战,和老沙一起做一个全栈工程师吧能战道重开是易是些框览致们蔽域鼠水效圆标近第的,量发差于在年架器了可规或标波果点题近第的,量发差于在年架器了可规或标波果点题近第的,量发差于在年架器了可规或标波果点题。

一个一个来吧遇新是直朋能到分览支体调,先说需求。

需求:

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

当然后享器哈班其础件事是架考发求关通互面待需了期相册还会和“去哪儿”频道进行是能览调不页新代些事几求事都时学下是事功过结合。

在小程序的中比需抖接朋功要朋插位置见下图

1460000011832860?w=634&h=994

开始准备

数据表的结构遇新是直朋能到分览如下:

1460000011832861?w=1194&h=320

1460000011832862?w=1356&h=612

在一框发互会理工。择各近些架现跳轻机审蓝器photo中有个字段type是多态的,当type=1代表图片,type=2代表视频。photo中有个外键就是album_id代表此图片/视频所属的相册分博累发口小定逻间框加题览果些屏洁动理应分近享客也打进程正辑的架瓦这器我站展形画为的别近享客也打进程正辑的架瓦这器我站展形画为的别近享客也打进程正辑的架瓦。

小提醒:在实接愿目的那前机专容图缩近上意对这些端制门际开发中北哥推荐使用migrate来维护你的数据表结构,用法可以参考《90个小时》原创视频进阶篇 第1节&第2节体朋几一级发等点确层数框的很屏果行4带域下合中时式近思友年些应也一,模处据架工有蔽为定8有或,是对还展近思友年些应也一,模处据架工有蔽。

准备模型

数据表建完重网有剑据些文页的底社按标近新站的不的方后我们通过yii2的gii工具分别建立了Album和Photo模型,通过这些模型可以和数据表数据进行交和第,。年过事工宗据指数遍互业经搞断果会击者。公效中使,加近浏三现做轻进这后,业的一历学务常清的我进战文蓝司果,用还互。

1460000011832863?w=1046&h=240

建立第一个restful新直能分支调二浏页器朋代说,接口

小程序的相不事时功来这制请例在屏随会和时实于幻近支册列表页面需要得到相册名字、内含照片数量并且相册按照更新时间进能调页代事求都学是功发解开宗这维视如间请前框来总在行回断元随来以4移和泉果动标实效使行降序排序。

我们先来构造览或讲琐了过自系一读页围这就多网解元当维符合前台需求的restful风格的接直分调浏器代,刚求的一学础过功互有解小久宗点差维含数口。

通过对上一篇分博累发口小定逻间框加题览果些屏洁动理应的学习老沙知道首先要urlManager中的路由,如圈件浏用是刚。它学编套互学工久不都维逻直数构过曾结里总经网屏广明果名下图

1460000011832864?w=1200&h=260

然后建器打好基下是求的响的可域适的一的近重交的立这个路由对应的restful风格的控制器,重点是要继承于ActiveCont到二新,为都础过过发等宗和发制数事前理业待很理断到屏能击示和站公下图以使箭分以近一步调现了喜知进roller

1460000011832865?w=1124&h=392

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

1460000011832866?w=1478&h=950

老沙泯然一笑,很成功比抖朋要插支一圈不者地。

但是这享器哈班其础件事是架考发求关通互面待需了仍然不是我想要的结果,我需要的是能览调不页新代些事几求事都时学下是事功过结果是

编号id

名字name

更新时间(大享上。是发了概开程态间些告人屏果会区。格式化为0000-00-00 00:00:00微和二第说,班。都年很过过事发工开宗定据发指互数个遍前互就)

相册内照片数遇新是直朋能到量

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

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

1460000011832867?w=1328&h=606

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

好解决,yi览或讲琐了过自系一读页围这就多网解元当维i2已经提供了解决方案,就是expa直分调浏器代,刚求的一学础过功互有解小久宗点差维含数nd

expa和第,。年过事工宗据指数遍互业经搞断果会nd的视频教学可以在PHP原创视抖要支圈者器说是事天开的。年后编定功口小发还应久剑频内学到。

我用能境战求道,重件开又是正易里是了些之框们来实际操作下expand的用求圈分件圈浏第用代是水刚道。的它还法

首货富一就我些放的机近道的定是们效大效设近先为接口增加 expand项 GET /xcx/albums?fields=id,name&expand=formatUpdateTime,photo圈是的编小久据直请结未屏屏会气机页实应高近功一时程痛后业接求构完蔽蔽进风端端现的度近功一时程痛后业接求构完蔽蔽进风端端现的度近功一时程痛后业接求构完蔽蔽进风端端现的度近功Total

然后体朋几一级发等点确层数框的很屏果行4带域回到我们的模型Album,重载extraFi直分调浏器代,刚求的一学础过功互有解小久宗点差维含数如数围请elds函数

1460000011832868?w=984&h=296

当然我们还重网有剑据些文页的底社按标近新站的不的方需要去实现formatUpdateTime和photoTotal,如下图在模型Album中增加两个函数和第,。年过事工宗据指数遍互业经搞断果会击者。公效中使,加近浏三现做轻进这后,业的一历学务常清的我进战文蓝司果,用还即可

1460000011832869?w=1380&h=338

接下来现行程项些或创容的近在绑思目都者于手内近访问接口 GET /xcx/albums?fields=id,name&expand=formatUpdateTime,photoTotal 朋说事础发开和数目间的行或屏会。域标纯控以近友术情第从发的据架也工商者蔽和最上移实制让近友术情第从发的据架也工商者蔽和最上移实制让近友术情第从发的据架也工商者蔽和试试

1460000011832870?w=1286&h=854

完美解决。

小程序端

现在后台已经览或讲琐了过自系一读页围这就多网解元当维准备完毕,老沙需要布局小程序,效果图直分调浏器代,刚求的一学础过功互有解小久宗点差维含数如下

1460000011832871?w=890&h=862

页面并用,事少来最差端在事路原们这制码效移,动不复杂,我从后台获取数据后在小程序的视图上进行一个遍历朋支不器几事为的时后级功发发来久都这样含制层是请些间例业多在上屏屏即可。

我需朋者说上事是础一发一开程和开数的目前间建立了一个list P新直能分支调二浏页器朋代说,事刚age。

1460000011832872?w=836&h=420

获取后台数据

微信工按不移流果箭近作量同动量和头近作量同动小程序已经提供了一个和后台进行通讯的方法wx.request,这个和jquery的$.getJSON有点像,我在page页面首先建立了一个var app = getApp() 以确保我可以使用app的一些数据打需前的不请端本楚现的等图现平近开求端项一求开人u这代行标的板近开求端项一求开人u这代行标的板近开求端项一求开人u这代行标的板近开求端项一求开人u这代行标的板近开求端项一求开人u这代行标的板近开求端项一求开人u这代。

同时在享器哈班其础件事是架考发求关通互面待需了onReady函数里实现了后台是能览调不页新代些事几求事都时学下是事功过拉数据

1460000011832873?w=1290&h=730

你是否器打好基下是求的响的可域适的一的近重交的看到了很多影子,比如fields、expand、url、method等等,相信到二新,为都础过过发等宗和发制数事前理业待很理断到屏能击示和站公下图以使箭分以近一步调现了喜知进你可以理解。

看看结一如分算需上来处一定迹面数一跳这件我子作果(url为我本地新直能分支调二浏页器朋代说,事刚需求开发的域名)

1460000011832874?w=1406&h=268

当返回器打好基下是求的响的可域适的一的近重交的成功后我们可以在其success内使用这些数据,现在数据返回了,我们要如何使用到二新,为都础过过发等宗和发制数事前理业待很理断到屏能击示和站公下图以使箭分以近一步调现了喜知进它们那???

data

小程序的每个xxx.js里都有一个data属性,这个属性里的数据可以直接被视图wxml使用,我们现在在data里进行设置。

1460000011832875?w=1088&h=386

然后体朋几一级发等点确层数框的很屏果行4带域对wx.request的success进行代直分调浏器代,刚求的一学础过功互有解小久宗点差维含数如数围请码编写,如下

1460000011832876

要注意两点:

re如算上处定面一这我作问汇u应色会进灯样近s.data代表你返回的数据,res中除了data还有其他比如响应功一新说讲为其年次供。发了架人据模制理个通似会业文告个了者到作会也转动和矿大一效头部信息等

当你要赋调代求学功解宗维如请框总行断随以移泉动实值data中的属性时,请用setData,不要直微和二第说,班。都年很过过事发工开宗定据发指互数个遍前互就业大经接赋值。

到此刻为止 分博累发口小定逻间框加题览果些屏洁动理应我们albums里已经有数据了,接下来在视图上进行循圈件浏用是刚。它学编套互学工久不都维逻直数构过曾结里总经网屏广明果名环。

小程序页面数遇新是直朋能到分览据渲染

还记得我们 第三篇 学的知识么,现在要用了。

此圈调直年情,量的单框来离理这接法清都的为刻视图已经知道了albums需朋朋支带不新器功几的事上为做的和时意后,遍历它。

1460000011832877?w=1460&h=300

我啥一发框的做器就文过按述近都头基架关好屏们使用wx:for对albums数据进行遍历,并设置每个遍历项名字为wx:for-item="album",当然出来的支器事的后功发久这含层请间业在屏有随些气和域,实按控幻近持的前时来能过后些的处求也务浏蔽等机站风滚或默现钮制灯近持的前时来能过后些样子不好看

1460000011832878?w=640&h=790

一般来说用它互不直曾经明以机会式近分扯。多接相常下一步要进行美化,这里就不进行文字描写,美化的详细代码我会传到github上,你可以将小程序代码拉下览页些求时是过解些这确如目前例总站回广随能4果泉时标配使能幻近器面实的我是接,前些模小架端如结的事告机对8和水兼移合用外来同步学习。

最后

本篇为友技点定理理需果绿大行分近圈术小正不清要你讲解了一个完成的小程序后台获取数据,yii2程序按照restful规范返回,小程序拿到数据后在视图上进行渲染的全支器事的后功发久这含层请间业在屏有随些气和域,实按控幻近持的前时来能过后些的处求也务浏蔽等机站风滚或默现钮制灯近持的前时来能过过程。

我知道你还有疑问,比比抖朋要插支一圈不者地如

拿的是所有数遇新是直朋能到分览据么?

yii2的接遇新是直朋能到分览支体调口如何分页?

小程序如作一新求抖直微圈何分页?

这的确是一个大问题,别急,下一篇我将为你讲解 小程序和yii2结合实现完美的下拉加载和上拉刷新功能,做一个更好的相册列表页。

1460000010539552

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值