收藏
回答

小程序某些业务场景开发的需求

框架类型 终端类型 操作系统 微信版本 基础库版本
小程序 客户端 全新 全新

经过两个月的小程序开发,发现了些问题和小程序应对于某些业务场景的缺陷;直入主题:

应用框架背景:wepy。

1、滑动吸顶的场景:

需求:在一些电商网站上存在很多滑动吸顶这样的效果;

问题:如果使用dom,我们都会在滚动回调里面判断像素差来进行相关吸顶元素的 position:fixed;在小程序里面如果在滚动回调里面如此处理,频繁调用setData,造成服务线程通知阻塞和视图渲染延迟。(ios还好,安卓特别不平滑);添加降频处理,页面效果又不太理想。

目前解决思路:使用sticky 来解决这个问题,ios上可以基本支持,但是在安卓上只有部分支持,但是sticky没有样式toggle来的灵活,比如我滑动时的渐变。

期望:可否添加一个官方标准处理这种场景,或者最低处理成全面支持sticky。

2、setTimeout或者间隔定时器的场景。

需求:定时器主要应用在秒杀倒计时这种应用场景。

问题:在安卓机型上,存在滚动page,定时器展现上停止跳动,touchend动作之后,定时器无规则进行跳动。

目前解决思路:没有解决这个问题。而且还要注意在页面周期里面处理定时器的销毁。

期望:提供一个wx.xxxx接口上一个稳定的定时器

3、createSelectorQuery查询时机和效率问题。

需求:点击相关元素,页面进行滚动到相关元素位置,类似于hash锚点的场景。

问题:有时候需要动态的计算相关元素的top值,但是这个计算的机制不太好把握,一般异步request接口在onload里面开始触发,当服务层数据change后,去通知 view层变化,在服务层我们并不知道view层是否已经渲染结束,不知道什么时候执行createSelectorQuery操作。如果在点击某个元素时触发这个计算,createSelectorQuery在一些安卓机上的运行效率并不是特别高。

 目前解决思路:有部分同学使用定时器(不严谨);或者第一次查询保存这个值,后面使用这个值。

 期望:提供一个解决标准。

 4、富文本的纠错能力。

 需求:富文本已经开放化了,但是小程序的富文本就错能力有些差。

 问题:由于业务层数据的问题,可能存在一些不标准化的html string(虽然官方也声明过nodes最佳)。wxparse会输出解析不了的字符为文本内容,小程序直接报错。

 期望:可否提供一套纠错能力强的词法解析功能,ps:腾讯有x5内核浏览器,可否提供一套server端的html词法解析器的算法,小司真的没有这么多人力物力搞这个东西。

 5、html代码的默认样式问题。

 需求:很多时候,小程序后起之秀,是从别的地方把主站的代码迁移过来,标签默认的样式问题。

 问题:<del>标签 并没有默认的line-througth,<p>也没有默认的block。

期望:可否和标准统一化。

6、多个视频页面的视频播放问题

需求:很多时候,我们更期望我们可以自己去自定义我们页面播放按钮的样式。比如:


问题:多个视频在一个页面播放时,播放一个,另外一个播放视频并不停止,尝试去使用wx的视频接口去处理,发现需要构建多个video上下文对象十分的繁琐和复杂(视频是循环出来的)。

目前解决思路:需求方妥协,跳单页面播放。

7、是否可以增加filter过滤函数

需求:wx:for情境下,item数据需要对时间、性别的格式化。

问题:对于server返回的数据不标准,fe需要对数据进行格式化,现在在fe循环一边数据格式化,显然不是一个好的解决方案。

期望:提供数据fliter过滤函数,可以格式化数据类似于vue。


如果上面有说的不对,或者我马虎疏漏的地方,敬请各位同学指正、添加和批评,希望小程序官方重视,祝你们越做越好。




回答关注问题邀请回答
收藏

12 个回答

  • Benes
    Benes
    2018-03-07

    1,3问题之前也遇到过。

    1我是ios用sticty,安卓监听事件,再setData,但是效果不好,上一年安卓是完全不支持sticty的,今天发现安卓支持了,但是不知道兼容性如何。

    3我是在数据加载完毕后,定时器延迟等view层渲染完一次收集所需节点信息

    2018-03-07
    有用
    回复 1
    • -点点
      -点点
      2018-09-28

      现在又不支持了

      2018-09-28
      回复
  • 神经蛙
    神经蛙
    2018-03-06

    感谢你的认真编写,我加你微信和你沟通下。

    2018-03-06
    有用
    回复

正在加载...

登录 后发表内容