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

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 《腾讯大家》小程序开发总结(下)

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:740

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:510

HTML5自适应律师工作室类网

2020-04-04   浏览:504

HTML5影视传媒文化公司类网

2020-05-12   浏览:502

《腾讯大家》小程序开发总结(下)

发布时间:2020-10-23  

模板结构:

<view class="box_start {{item.have == 1 ? 'on':'out'}}" catchtap="onRecommStart" data-id="{{item.id}}" data-parentid="{{item.first_letter}}" data-have="{{item.have}}"></view>

收藏按钮处理方法:

onRecommStart:function(e){ let that = this; let user = wx.getStorageSync('user') || {}; let id = e.currentTarget.dataset.id; let parentid = e.currentTarget.dataset.parentid; let have = e.currentTarget.dataset.have; let list = vm.$data().authors; //新增 let alist = {"pid":parentid,"aid":id} wx.showLoading({ title: '正在处理', }); if (!have){ Api.fetchPost(Api.collection,{userid:user.openid,id:id,type:1,have:1}, (err, res) => { if (res.ret == 200){ wx.hideLoading(); } else {...} }); }else{ Api.fetchPost(Api.collection,{userid:user.openid,id:id,type:1,have:0}, (err, res) => { if (res.ret == 200){ wx.hideLoading(); } else {...} }); } //此处找到操作的元素位置 list[parentid].map(item => { if(item.id == id){ item.have = !item.have; } return item }); vm.$set({authors:list}); setTimeout(function(){ //此处为刷新顶部收藏栏数据 that.getColAutData(); },1000) },

4处为栏目收藏区域,使用了scroll-view组件,左右滑动方式方便用户查看自己已经收藏的栏目。需要注意的是需要在小程序onLoad或onShow时,取到栏目的个数,再计算组件整体宽度。

模板:

<scroll-view scroll-x class="scrollcolumns"> <view class="scroll-view" style="width:{{wWidhth}}rpx"> <view class="first"></view> <block wx:for="{{columnColtDatas}}" wx:key="item"> .... </block> </view> </scroll-view>

逻辑(请注意wWidhth值的计算):

... colData.data.map(item => { Api.fetchGet(Api.column + item, (err, res) => { if (res.data) { columnAutData.push(res.data.channel); if (columnAutData.length == colData.data.length) { vm.$set({ columnColtDatas: columnAutData, wWidhth: (colData.data.length * 694) + 44, dataReady: true }); }; }; }); }); ... 1.8 个人中心功能

《腾讯大家》小程序开发总结(下)

个人中心主简单呈现个人信息、用户收藏的作者/栏目统计、用户已浏览的文章记录。值得注意的是,页面onShow周期时需要刷新用户的收藏统计信息。

1.9 浏览记录功能

浏览记录模块在个人中心页面中:

1.数据来源为用户浏览文章时的上报,服务端做时间戳记录(浏览去重)等工作。

2.在开发列表加载逻辑时,需要注意验证一下拿到数据的一致性。因为运营端可能已经删掉某篇文章,而用户的上报的浏览记录又是过去时,所以对于这种情况的发生,需要在数据字段做标记、或者在删稿流程上形成通知机制。

1.10 评论功能

因为信息审核和登录态的问题,腾讯大家小程序评论功能折中选择调用【珊瑚评论】记录接口,仅做评论内容展示。

1.11 分享功能(含首页)

《腾讯大家》小程序开发总结(下)

分享功能都在onShareAppMessage()函数里,不同于右上角分享按钮,如果在页面中某个地方添加分享功能,需要button绑定属性open-type=”share”。除此之外,还需要相关分享属性如:

<button class="choice-share-b" catchtap="onShareAppMessage" open-type="share" data-title="{{item.title}}" data-tid="{{item.tid}}"></button> 1.12 评分功能

《腾讯大家》小程序开发总结(下)

评分功能在文章底层页中,用户对文章的评分操作会形成:

1.这一篇文章的评分数据依据。 
2.这一篇文章在栏目的栏目评分依据 
3.这一篇文章作者的评分依据

在开发中,评分功能由多个功能函数组成,大致可以分为渲染、用户操作、服务器操作回调、还有数据换算等一些函数方法。

1.13 海报生成功能

《腾讯大家》小程序开发总结(下)

此功能报用于单篇文章及作者朋友圈传播海报生成。

生成功能需要注意以下:

1.海报的生成使用小程序canvas组件(canvas功能及api能力详见官网文档)。

2.对于图片素材,例如背景,二维码等图标,需要wx.downloadFile()函数支持(详见文后封装的常用函数)。

3.图片保存使用wx.canvasToTempFilePath()方法,调试阶段建议使用wx.previewImage()来调试。

4.对于二维码及素材的加载时机,根据自己业务场景来处理。

5.不同机型每行的文字大小及换行,需要用函数来处理。

6.熟悉理解scene参数,理解小程序不同方式(如扫码)打开场景值。

7.理解wx.createSelectorQuery()接口。

8.对于圆角的头像处理,最好交给后端进行图像处理。前端canvas处理的话需要考虑内存开销,当图片太大时不适合。

9.文中的小程序码为B码,微信官方给到的为图片二进制流,需要做接口类型指定处理。

10.适当将素材进行base64,并进行本地缓存。