资讯专栏INFORMATION COLUMN

记一次小程序之旅

不知名网友 / 2887人阅读

摘要:用户绑定的逻辑主要复杂在既需要考虑微信本身的接口在不同情况下提供的数据不同,另外一方面就是考虑本身用户模块的业务逻辑问题。针对每一节课以及每一节系列课程生成小程序太阳码主要涉及到几个细节问题。

感觉已经好久没写程序了,最近这段时间,一方面是学习了python,然后折腾了scrapy框架,用python写了下守护进程程序监听任务以及用redis做队列任务通信,并开进程来处理爬虫任务。以上这些其实没啥好说的,就是顺带提一下。另外就是最近编写segmentfault的讲堂小程序,算起来,自小程序开始编写到现在算是正式的上线,大大小小的也除了些问题,所幸都能及时发现并解决。

整套小程序开发过程中大概涉及到了几方面的内容:

后端基础业务逻辑服务部分;

小程序用户与segmentfault原本用户同步部分,也就是用户绑定模块;

定时任务处理小程序太阳码;

小程序界面布局踩坑;

小程序接口使用踩坑;

小程序本身的各种配置踩坑;

后端基础业务逻辑部分基本上不用做多说,同步本身讲堂的程序基本就可以了,主要就是在用户模块,这一块一方面主要涉及到微信登录判断是否曾经绑定过微信,另外就是判断是否是新用户。用户绑定的逻辑主要复杂在既需要考虑微信本身的接口在不同情况下提供的数据不同,另外一方面就是考虑本身用户模块的业务逻辑问题。当然还有新用户注册解决用户名重复等细节问题,大大小小的问题加起来在这个看似的简单功能上面解决了好几次bug。

针对每一节课以及每一节系列课程生成小程序太阳码主要涉及到几个细节问题。首先小程序本身没有提供一个用来生成太阳码的测试接口,必须要小程序上线才行,所以这一步的开发很不方便,虽然是按照文档一步一步的进行编写,而且也看似没问题,但是其实心里是一点底都没有的,如果生成的太阳码访问不了,特别是如果携带的参数不对,压根就不知道到底错在哪里,而如果要用小程序调试模式看参数有何问题,那么需要重新提交小程序审核上线,一耽搁可能又是一天两天时间,相当不方便。

另外就是太阳码生成的话这里其实有一个并发的问题,我原本的考虑是如果当前讲座没有太阳码那就即刻生成,如果有则直接返回太阳码。看似毫无任何问题,还是老大 @joyqi 问了我一句:“如果一次性访问这个页面有多个人咋办?”,当时的那种感觉就是,似乎突然脑袋里一道光一闪,卧槽,这种操作怎么没想过?特别是图片生成本身就会消耗一定的时间,如果在这个地方有多个用户同时操作必定会浪费大量的资源,内存,CPU,以及磁盘存储,云服务存储等。最后当然就是乖乖的改成了定时任务处理了(当然也考虑过队列任务处理,此处不做多说了)。

说到小程序本身,那就是切记要看清楚小程序开发文档后面的Bug & Tips,而且特么的这一部分千万要反复看,看了第一遍通常觉得懂了,但是还是会出bug,然后就是小程序开发工具所表现出来的东西与真机表现出来的效果可能完全不一样,另外真机表现效果在android和iOS所表现出来的结果依旧可能会完全不一样。然后对于本身小程序所用的JavaScript语言本身,在使用一些我们通常在浏览器中使用的原生函数或原生对象或原生方法的时候,也必须要注意可能小程序不支持造成小程序报错并停止运行,且小程序也在不断的升级版本,会加入或淘汰一部分其他内容。

经历了这次小程序开发后,要说感悟的话,估计就是对segmentfault本身的业务逻辑是更熟悉了,另外最大的感触就是感觉做小程序既不像是做前端,也不像是在写APP,这种感觉...无话可说。

最后非常感谢公司各位伙伴给予的支持和帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29248.html

相关文章

  • 记一次小程序项目的开发心得

    摘要:前言这段时间一直负责公司的小程序的开发,总结了一些小程序的开发心得,方便自己以后的查阅也方便同仁少踩点坑。文章底部的技巧类小程序的识别小程序二维码功能,小程序的高斯模糊,都是自己填的坑。 前言:这段时间一直负责公司的小程序的开发,总结了一些小程序的开发心得,方便自己以后的查阅也方便同仁少踩点坑。文章底部的技巧类小程序的识别小程序二维码功能,小程序的高斯模糊,都是自己填的坑。欢迎交流。 ...

    you_De 评论0 收藏0
  • 构造函数与析构函数执行顺序,记一次小bug修复。

    摘要:执行构造函数执行析构函数第一次完毕第二次完毕执行输出执行构造函数第一次完毕执行构造函数执行析构函数第二次完毕执行析构函数终于逮到你了。。。这就导致了先执行构造函数,然后再执行析构函数。 class Test { protected $client; protected static $name; public function __construct() { ...

    xiao7cn 评论0 收藏0
  • 一次惊心动魄的前端性能优化之旅

    摘要:方案未引起重视,并没有做出相应处理。页面中元素的布局是相对的,因此一个元素的布局发生变化,会联动地引发其他元素的布局发生变化。这里可以使用的和来分析的性能。写在最后性能优化是一门做减法的艺术。 欢迎一起交流 欢迎关注我的个人公众号,不定期更新自己的工作心得。showImg(https://segmentfault.com/img/bVEk23?w=258&h=258); 正文从这里开始...

    Bryan 评论0 收藏0
  • 一次惊心动魄的前端性能优化之旅

    摘要:方案未引起重视,并没有做出相应处理。页面中元素的布局是相对的,因此一个元素的布局发生变化,会联动地引发其他元素的布局发生变化。这里可以使用的和来分析的性能。写在最后性能优化是一门做减法的艺术。 欢迎一起交流 欢迎关注我的个人公众号,不定期更新自己的工作心得。showImg(https://segmentfault.com/img/bVEk23?w=258&h=258); 正文从这里开始...

    leejan97 评论0 收藏0
  • 一次惊心动魄的前端性能优化之旅

    摘要:方案未引起重视,并没有做出相应处理。页面中元素的布局是相对的,因此一个元素的布局发生变化,会联动地引发其他元素的布局发生变化。这里可以使用的和来分析的性能。写在最后性能优化是一门做减法的艺术。 欢迎一起交流 欢迎关注我的个人公众号,不定期更新自己的工作心得。showImg(https://segmentfault.com/img/bVEk23?w=258&h=258); 正文从这里开始...

    Anshiii 评论0 收藏0

发表评论

0条评论

不知名网友

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<