微信小程序实战,蜗牛慢读

转眼微信小程序已经发布了好几个月了,虽然只有最开始的一个月能够称得上是火爆,但是最近微信对于小程序开放了许多新功能,显然对于小程序还是没有放弃。所以在最近几天制作了一个基于微信小程序的小项目:蜗牛慢读。一款阅读类的小程序,制作它的主要目的是为了熟悉微信小程序的组件和API还有语法等,顺便在开发过程中练习一下自己的前端基础技能。
GitHub地址:https://github.com/Harrison94pxxxxx/woniumandu 感兴趣的同学可以clone到本地在微信开发者工具中配置并运行查看效果。如果觉得对你有帮助的话可以顺手点一下star ( ̄▽ ̄)~*。
因为该小程序比较简单,所以就不把组件一个一个拆分记录,只在这里记录我在开发过程中比较注意的点。
项目效果图:
首页
1.png
界面展示
dsc_1.gif
换源及切换章节
dsc_6.gif
收藏小说功能
dsc_2.gif
搜索记录和推荐标签
dsc_3.gif
分类页
dsc_4.gif
排行榜
dsc_5.gif
1.首页的数据逻辑

我制作的第一个页面是Home也就是首页,首页主要功能是作为用户的书架,将用户收藏的小说封面、书名、作者显示在首页。最初我将首页要展示小说的名字存储在一个数组内,然后加载首页时遍历数组进行搜索,这样做虽然能够正常显示和交互,但是当我制作到后面的排行榜、分类组件时发现了一个问题:

当前的首页数据逻辑是 :首页存储即将要展示的小说名字,用户打开首页时通过搜索API请求数据,然后进行渲染。

但是随着用户所收藏的小说越来越多,每次打开首页时所需要请求的数据也越来越堵,随之带来的结果就是首页加载速度越来越慢。
后来我将首页的数据逻辑进行了修改:

修改后的首页数据逻辑:将首页所要展示的小说封面链接、书名、作者全部通过微信小程序的<pre>wx.setStorageSync(KEY,DATA)</pre>接口储存在微信的缓冲中,这样做极大的提升了首页的加载速度。

这个问题让我知道了一个软件的数据逻辑结构是非常重要的一部分,以后一定要先设计好数据流动的结构再开始写代码。

2.关于小说收藏功能的实现

处理流程: 打开小说详情页时获取微信缓存中的已收藏小说,然后遍历已收藏小说,将其Id与当前页面小说Id进行对比,如果没有相同的,则收藏按钮显示为“追小说”,如果有相同的Id存在,则收藏按钮显示为“不追了”(数据绑定)。但是在制作详情页面时也遇到一个问题,就是"追小说"按钮和"不追了"按钮的背景颜色是不同的,以往在遇到相似的情况时一般都直接对DOM进行操作,改变Css里面的background。但是,微信小程序里面是不能操作DOM的,所以只能给背景色绑定一个变量,通过操作这个变量去改变背景色。

3.兼容性问题

我一直认为兼容性问题是前端开发里面最难解决的,浏览器、分辨率的不通都会导致页面结构被破坏。虽然基于微信小程序的统一,安卓各种设备都使用了统一的浏览器,而且移动端应用相对于桌面端网页来说,页面的结构要简单得多,但是在开发过程中还是发现了好多奇奇怪怪的问题。最后在ios设备(小屏幕设备)上查看效果的时候(一开始一直是在安卓设备上查看实际效果的),发现完全和自己开始看到的不是同一个小程序,差异巨大。最后只能放弃继续调试。

4.微信小程序的列表传参

在实际开发的过程中我们往往会遇到这种情形:点击列表中的某一项,获取其index并传递到函数中。以往我们都是这样做的:<pre>
// Get the element
var element = document.getElementById("myDiv");
// Get the index
var _index = element.dataset.index;
</pre> 先给需要获取信息的元素自定义一个dataset然后再在点击的时候去获取。

而在MVVM模式下:
<pre>
<tr v-for="(list,index)in lists">
{{index}}
</tr>
</pre> 然后我们就可以在列表中直接使用index,将其传入所用函数中。

在微信小程序里面,我们需要使用e.currentTarget来获取注册了事件监听器的对象,从而再去通过它获取我们自定义的dataset。

5.写在最后

每次做实际项目的时候都会发现自己的很多不足,长路漫漫,希望能够在以后的学习中改进吧,给自己加油,哈哈(✧◡✧)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,978评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,954评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,623评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,324评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,390评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,741评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,892评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,655评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,104评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,451评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,569评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,254评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,834评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,725评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,950评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,260评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,446评论 2 348

推荐阅读更多精彩内容