当前位置: 首页 > 后端技术 > PHP

记一次小程序之旅

时间:2023-03-29 14:01:48 PHP

感觉自己好久没有写程序了。最近一边学习python,一边又折腾了一下scrapy框架。我用python写了一个daemon程序监控任务,用redis做队列。任务通信,开启一个进程来处理爬虫任务。以上其实没什么好说的,顺便提一下。另外最近在写segmentfault的小讲义程序。算起来,小程序从写到现在正式上线,除了一些大大小小的问题,还好能及时发现并解决。整套小程序的开发过程大概涉及几个方面:后端基础业务逻辑服务部分;小程序用户与segmentfault原始用户的同步部分,即用户绑定模块;定时任务处理小程序sun代码;小程序界面踩踏布局;踩踏小程序界面;踩小程序本身的各种配置;后台的基本业务逻辑部分基本不用说了,同步大讲堂的程序基本就够了,主要在用户模块,一方面这部分主要涉及到微信登录判断是否已经绑定微信,一个是判断是否是新用户。用户绑定的逻辑比较复杂,一方面需要考虑微信自身接口在不同情况下提供的不同数据,另一方面需要考虑自身用户模块的业务逻辑。当然还有新用户注册,解决用户名重复等细节问题。大大小小的问题加起来解决了这个看似简单的功能上的几个bug。生成每个班级每个系列课程的小程序sun代码主要涉及几个细节。首先,小程序本身并没有提供生成Suncode的测试接口。小程序必须启动,所以这一步开发很不方便。虽然是按照文档一步步写的,但是好像没什么问题。但事实上,我一点也不知道。如果生成的sun代码无法访问,尤其是携带的参数错误,根本不知道是哪里出了问题。如果要使用小程序调试模式查看参数有什么问题,则需要重新提交小程序审核上线,一拖再拖一两天,很不方便。另外这里在生成sun代码的时候其实还有一个并发问题。我原本的考虑是,如果当前讲的没有sun代码,就立即生成,如果有,直接返回sun代码。好像没什么问题,但是老板@joyqi问我:“如果有很多人同时访问这个页面怎么办?”当时那个时候的感觉就是脑子里好像突然灵光一闪,靠,这这种操作怎么就没想起来呢?特别是图像生成本身会消耗一定的时间。如果有多个用户同时在这个地方操作,会浪费大量的资源,内存、CPU、磁盘存储、云服务存储等。最后当然是乖乖改成了定时任务处理(当然也考虑了队列任务处理,这里就不多说了)。说到小程序本身,记得看小程序开发文档后面的Bugs&Tips,这部分一定要反复看。第一次看的时候,一般会觉得自己看懂了,但是还是会出现bug。那么,小程序开发工具所显示的可能与真机完全不同。另外,真机性能可能还是和安卓、iOS完全不一样。那么,对于小程序本身使用的JavaScript语言,在使用一些我们平时在浏览器中使用的原生函数、原生对象或者原生方法的时候,也要注意小程序不支持小程序而导致的可能小程序报告错误并停止运行。并且小程序也在不断升级版本,会增加或淘汰一些其他的内容。经历了这个小程序的开发,如果要说说感受,估计大家对segmentfault本身的业务逻辑比较熟悉。最大的感受就是做小程序既不像做前端也不像写APP,这种感觉……无话可说。最后,非常感谢公司所有合作伙伴的支持和帮助。