新闻资讯小程序开发实践

在腾讯小程序上线一周年之际,公司又决定把App产品部分内容在小程序上实现。就在小程序刚上线的时候,公司也有一款产品进行了小程序的研发,但后续没有持续的维护。这过了一年的时间,微信也对小程序进行了更多的赋能,更多的场景应用。下面是去年做的小程序,

要解决的问题

要进行这款小程序开发一定要知道需要什么,缺少什么。下面是需要解决的问题,

  • 后端同学没有更多的精力配合提供接口开发
  • 很多数据请求接口需要HTTPS
  • 图片、视频请求需要HTTPS
  • 数据统计
    产品提供的原型图如下,

问题解决

所有的问题都需要一个一个跟后端、运维同学沟通,还是先把基本的小程序页面给写出来吧,然后再解决相应的问题。

关于接口

1.因为小程序基本是和App数据同步的,所以可以使用App的数据。让人庆幸的是App数据接口支持HTTP和HTTPS,跟客户端的同学沟通后基本沿用了App数据请求模式。这样就解决了两个问题,HTTPS和数据接口。
2.但在这里有个问题,关于视频我们用的是阿里云视频服务,并且使用的是用id去触发sdk,网页端也是使用的js-sdk。显然在这里别说是js无法引入进来(下载下来会让小程序代码大小增加,有风险),css都没有办法。试了一下可以使用小程序原生组件video,这就需要后端同学在接口中加一个视频播放链接字段。当然这工作量很少(可以说分分钟的事儿O(∩_∩)O哈哈~)
3.这里其实有一个接口不支持HTTPS,最后运维的同学进行了一些配置,维护了个HTTPS证书问题也就解决了。刚开始还在担心图片、视频这些请求。是否要HTTPS,这样图片服务器、还有视频都要支持。这就没有那么简单了(一年前也忘了是否图片需要支持,似乎没有过多的配置),最后咨询了一些大佬,担心是多余的。
4.数据统计的问题,用户数据统计是最重要了。之前看到过一个专门为小程序服务的数据统计公司——阿拉丁,注册账号看了下,似乎和百度统计差不多。只不过它是专属服务于小程序的。sdk加入也比较简单,现阶段也不需要太多的用户行为数据统计,加入些简单的统计即可。
所有的问题都一一得到解决,下面是最终写出来的页面



开发过程中遇到的问题

1.在视频列表页需要有个页面内分享,点击页面内图标实现分享。之前我是知道这样似乎是不行的,但毕竟小程序开放了很多接口。翻看了文档,支持页面内分享。

“通过给 button 组件设置属性 open-type="share",可以在用户点击按钮后触发 Page.onShareAppMessage() 事件,如果当前页面没有定义此事件,则点击后无效果。相关组件:button”

这是官方文档的说法,所以必须用button组件,我把分享图标上盖个button,透明度设为0。
代码如下

<view class="right-block"><image src="../../images/icon_share.png"></image><button open-type="share" class="share-btn" data-id="{{item.id}}" data-src="{{item.ali_vidio_url}}" data-poster="{{item.image}}">&nbsp;</button>
</view>
.left-block, .right-block{width: 50%;height: 76rpx;float: left;position: relative;
}.left-block image{margin: 20rpx 0 0 20rpx;width: 37rpx;height: 37rpx;vertical-align: bottom;
}.left-block text{display: inline-block;font-size: 24rpx;color: #b9b9b9;margin: 20rpx 0 0 10rpx;
}.right-block image{width: 33rpx;height: 34rpx;float: right;margin: 20rpx 20rpx 0 0;
}.share-btn{position: absolute;right: 0;top: 0;height:76rpx;width: 76rpx;z-index:10;opacity: 0;
}

在这里需要判断分享是从哪里来的,判断如下

onShareAppMessage: function (res) {if (res.from === 'button') {// 来自页面内转发按钮return {title: '每日经济新闻',path: 'pages/videoDetail/videoDetail?id=' + res.target.dataset.id + '&src=' + res.target.dataset.src + '&poster=' + res.target.dataset.poster,success: function (res) {// 转发成功},fail: function (res) {// 转发失败}}}return {title: '每日经济新闻',path: 'pages/videoList/videoList',success: function(res) {},fail: function(res) {}}
}

2.文章详情接口拿到的是一段富文本,但小程序有不能解析富文本。在GitHub上找到一个开源项目wxParse,可以很好地解决这个问题。代码如下

/**调用如下**/
WxParse.wxParse('diggest', 'html', res.data.digest, that, 5);
WxParse.wxParse('content', 'html', res.data.content, that, 5);

就这样这款小程序就这样被搞定了,也不复杂很常规。

转载于:https://www.cnblogs.com/marvinemao/p/8868010.html

新闻资讯小程序开发实践相关推荐

  1. 新闻资讯小程序app

    1.系统情况 该新闻资讯小程序 主要是用户可以查看各种各样的新闻资讯,并且可以进行注册,登录账号,搜索,评论,点赞,收藏,浏览新闻等操作,该小程序分为前台和后台管理系统.东西很多,非常值得学习,二次开 ...

  2. 腾讯在线教育小程序开发实践之路

    前言: 小程序是一种新的开放能力, 开发者可以快速地开发一个小程序,便可以在微信内被便捷得获取和传播,同时具有出色的使用体验.随着近两年来小程序风口的爆发,越来越多的开发者.企业开始接入小程序,那么在 ...

  3. DingTalk「开发者说」|钉钉小程序开发实践

    移动Web的特点   钉钉小程序开发的应用分布很广泛,下面列举了四个常用的钉钉小程序:钉钉投票.传图识字,以及集成在钉钉客户端中的自定义平台和考勤打卡. 通过对比桌面设备,移动Web的特点体现在以下三 ...

  4. 摩拜单车小程序开发实践与框架分析

    以打造内容全.技术新.可实操的小程序小册为目标,整本小册共包含 21 节,不仅讲述了小程序开发的一些基础知识,也通过摩拜单车业务案例深入小程序开发,此外,还加入了主流框架的使用对比和深入的技术细节分析 ...

  5. python开发微信小程序-Python 开发者的微信小程序开发实践

    导读 在知乎上,有人提问"如何使用 Python 开发微信小程序". 其实微信小程序作为一个前端的机制,Python 并不能插上边.只不过可以作为后端接口为微信小程序提供数据服务而 ...

  6. 「开发者说」自动化设备管理上钉钉,“源创食堂“小程序开发实践

    本篇文章的供稿人为柳州源创电喷技术有限公司装备开发部部长蒙东辉,概览本文大概需要3分钟,精读本文需要10分钟. "钉钉应用开发让公司食堂都实现了数字化转型,食堂备餐浪费与不足的现象得到了有效 ...

  7. Python 开发者的微信小程序开发实践

    2017年微信小程序横空出世,惊诧了中国移动互联网.看重者言其将革了 IOS 和 Android 的命,看轻者斥其必将无所作为. 无论重视或是轻视,微信小程序都越来越多地出现在了我们的生活.工作和学习 ...

  8. 【小程序】微信小程序开发实践

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/diandianxiyu/article/details/53068012 </div>& ...

  9. 小程序开发实践总结 - WEB前端

    从微信发布小程序以来,各大公司纷纷跟进都想从微信这个流量池里捞一杯羹.我司也不例外,我们整个前端团队这半年来基本上都是在开发小程序.前前后后也开发了四五个小程序了.总觉得要留下点什么,既是记录那些年我 ...

最新文章

  1. MySQLmmm群集
  2. py文件 添加模块映射_Python模块的定义,模块的导入,__name__用法实例分析
  3. (转)Objective-C中的instancetype和id区别
  4. python包括哪些部分_第一部分 Python基础篇
  5. linux内核编译及添加系统调用(hdu)_浅谈关于Linux内核write系统调用操作的原子性
  6. 【飞秋怎么用】高速文件传输
  7. Java开发必会Git分布式版本控制系统实战篇
  8. GPU版本的Keas安装
  9. 题解报告:hdu1205吃糖果(插空法)
  10. 上大计算机专业在哪校区,好消息!成都理工大学在川扩招751人,宜宾校区新增计算机443人...
  11. VMware Workstation 12 Pro的安装
  12. snaker工作流审批流程参数详解
  13. 30 分钟快速入门 Docker 教程
  14. 云南通报5起森林火灾,如何去扑救?如何自救?
  15. 虚拟化基本知识及virtio-net初探
  16. (Node+Vue+微信公众号开发)企业级产品全栈开发速成周末班
  17. 主编推荐 | 深度学习如何影响运筹学?
  18. 使用百度在网络上搜索资料 在计算机,利用百度搜索资料认识计算机.doc
  19. 仪器仪表的介绍及发展
  20. Javaweb企业员工信息管理系统

热门文章

  1. 写在2-14,程序员才看得懂的情书
  2. 队列优化dijsktra(SPFA)的玄学优化
  3. 15-数据结构探险系列-图篇
  4. Android典型界面设计(4)——使用ActionBar+Fragment实现tab切换
  5. Ubuntu安装nodeJS
  6. TCP连接中TIME_WAIT连接过多
  7. 根据之前发的那SQL语句查询表结构的语句做了个MSSQL实体类生成器!
  8. 头脑风暴-如何减少软件项目对于人的依赖性。
  9. Android中文API (110) —— CursorTreeAdapter
  10. 微博爬虫“免登录”技巧详解及Java实现