豆瓣API
这几天看了下小程序的文档,然后花了点时间写了个没什么含量的小程序。本来想自己写下API接口,但是小程序请求的域名既要求备案又要求HTTPS,太麻烦遂放弃。后来选择了豆瓣API,又发现小程序屏蔽了豆瓣的API,好在网上有大神架了代理服务器。
有了豆瓣的API,打算做一个类似小本子,记录一些自己看过的电影,然后从豆瓣拉取相关的评分和海报。无奈豆瓣API提供的海报最大的分辨率也很低,导致小程序观感极差,但是也没有办法啊,毕竟用的是别人的东西……
修改data中子对象的属性
在使用wx.request
后获得的数据要写入Page
的data
,与Vue.js不同的是,小程序需要调用this.setData
,同时里面如果写入时修改到的对象里面的属性,应定义一个变量连接对象和属性合成的字符串,再通过中括号[]
将其包起来。例如:
var temp='person.name'; ...... this.setData({ [temp]:'Mike' })
评分星星化
在界面中涉及到评分的star化,这里采用了一个比较笨的方法。就是准备星星可能的三种状态的图片,然后根据分数算出具体的分数数组,最后遍历该数组,对应每一颗星星应该展示的状态。
<block wx:for="{{dbMarkArr||myStarArr}}" wx-for-item="item" > <image wx:if="{{item===0}}" src='../../static/image/empty.png'></image> <image wx:if="{{item===1}}" src='../../static/image/half.png'></image> <image wx:if="{{item===2}}" src='../../static/image/full.png'></image> </block>
模版的一个小坑
在这里使用了小程序的模版template
。需要注意的是这里有一个坑,模版的文件名字和模版里的name
必须一致。
网络延时带来的问题
在页面渲染时,有可能因为网络问题导致豆瓣数据返回不够及时,然后进一步导致页面模版设置数据时,data
里的值不是需要的值。这里纠结了很久,最后选择了一个相当不优雅的做法,即将设置相关数据的函数延时了2秒后执行。如果豆瓣数据能在2秒内返回,那么问题看起来解决了,如果2秒内没有获得有效数据,问题就并没有解决。再者,2秒对用户体验绝对有相当大的影响,但是这里也不知道该用什么办法解决...
没有用到的日历
在小程序的初期,本来打算实现日历点击跳转到对应电影页面的功能,后来觉得不好便没做,不过日历倒是实现了一遍。思路比较清晰,先获取当前时间,并计算出当前月份的第一天和最后一天分别对应的是星期几,接着再计算第一天前和最后一天后应该还应该显示几天。然后将上个月的、这个月的、下个月的连接成一个数组,接着根据数组分周:
for (var i = 0; i < calendar.length; i++) { if (i % 7 == 0) { weeks[parseInt(i / 7)] = new Array(7); } weeks[parseInt(i / 7)][i % 7] = calendar[i]; }
接着渲染:
<view class='calendarBody'> <block wx:for="{{calendar.weeks}}" wx:for-item="weeks" > <view class='calendar-body-weeks'> <block wx:for="{{weeks}}" wx:for-item="day"> <view class="calendar-body-day {{calendar.month==day.month&&calendar.date==day.date? 'is-current':' '}} {{calendar.month!=day.month?'nou-curMonth':' '}}" data-date='{{day.date}}' bindtap='selectDate'>{{day.date}}</view> </block> </view> </block> </view>
最后
只是一个试手的小程序,还有很多路要走。
相关文章:
相关视频:
以上是[小程序]开发的第一个小程序之经验分享的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SublimeText3汉化版
中文版,非常好用

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具