搜索
首页微信小程序小程序开发[小程序]开发的第一个小程序之经验分享

豆瓣API

这几天看了下小程序的文档,然后花了点时间写了个没什么含量的小程序。本来想自己写下API接口,但是小程序请求的域名既要求备案又要求HTTPS,太麻烦遂放弃。后来选择了豆瓣API,又发现小程序屏蔽了豆瓣的API,好在网上有大神架了代理服务器。

有了豆瓣的API,打算做一个类似小本子,记录一些自己看过的电影,然后从豆瓣拉取相关的评分和海报。无奈豆瓣API提供的海报最大的分辨率也很低,导致小程序观感极差,但是也没有办法啊,毕竟用的是别人的东西……

修改data中子对象的属性

在使用wx.request后获得的数据要写入Pagedata,与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=&#39;../../static/image/empty.png&#39;></image>
    <image wx:if="{{item===1}}" src=&#39;../../static/image/half.png&#39;></image>
    <image wx:if="{{item===2}}" src=&#39;../../static/image/full.png&#39;></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=&#39;calendarBody&#39;>
    <block wx:for="{{calendar.weeks}}" wx:for-item="weeks" >
      <view class=&#39;calendar-body-weeks&#39;>
        <block wx:for="{{weeks}}" wx:for-item="day">
          <view class="calendar-body-day {{calendar.month==day.month&&calendar.date==day.date? &#39;is-current&#39;:&#39; &#39;}} {{calendar.month!=day.month?&#39;nou-curMonth&#39;:&#39; &#39;}}" data-date=&#39;{{day.date}}&#39; bindtap=&#39;selectDate&#39;>{{day.date}}</view>
        </block>
      </view>
    </block>
</view>

最后

只是一个试手的小程序,还有很多路要走。

相关文章:

第一个php小程序(学习)

小程序授权第三方管理开发的步骤(小程序教程)

相关视频:

极客学院微信小程序从基础到实战视频教程

以上是[小程序]开发的第一个小程序之经验分享的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

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

SublimeText3 英文版

SublimeText3 英文版

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

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具