博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一款属于自己的小程序
阅读量:6963 次
发布时间:2019-06-27

本文共 1461 字,大约阅读时间需要 4 分钟。

文章链接:

今天介绍下自己做的一款小程序「冲顶课堂」,从0到1自己完成的一款小程序。

这是一款答题类的小程序,主要考察的是小学初中语文的一些知识,用户答题每次答完计算分值,统计排行榜,同时记录错题,并对题目进行纠错。

先上几张效果图,忽略粗糙的界面...

小程序码:

背景介绍

自己本身是做android开发的,这几年移动端慢慢成了「夕阳行业」,不再是那么火热,沉淀下来了,相对的小程序慢慢火起来了,毕竟是微信的亲儿子。趁着这波浪潮,自己也学习了一波,相对上手还是比较容易的,加上之前自己做网站,写过接口,本着学以致用的原则,将这些「技能」 灵活运用,做一个完整的小程序。

后台数据

如果是自己出题目,那基本不可能的,如果要一条条的到网上复制粘贴,这个工作量也是可想而知的,这里就要用到python 爬虫的技巧了。爬取的网站需要用户登录,这里使用selenium来模拟登录,爬取时通过加载Chrome配置来免登录。

driverOptions = webdriver.ChromeOptions()driverOptions.add_argument(r"C:\Users\Administrator\AppData\Local\Google\Chrome\User Data")driver = webdriver.Chrome("chromedriver", 0, driverOptions)

页面解析,采用的BeautifulSoup,先把数据统一保存到excel文档,后续写个脚本写入到数据库。页面解析这块 之前有做过相关爬虫的文章,这里就不详细描述了。

由于题目众多,小学的大概400多道,初中的1000道,自己没法一一测试,所以里面有纠错的功能,便于后续维护的。

后台用的django自带的后台,接口用的django rest framework,写起来也比较方便快捷。 比较麻烦的算是数据库设计的,当然我这里的数据结构算简单的,没什么复杂性,表关联下的就可以了。用户id 就是小程序提供的openId,跟其他表加以关联使用。

小程序

小程序相关的方面的直接参考的官方文档的,相关api还是很齐全的,布局采用的flex 布局,加上css样式的,总体是简单的,后期会对应增加些卡通元素的,毕竟有面向小学的。

小程序里面有个登录授权的需要注意的,wx.getUserInfo直接调用不再出现授权弹框,而需要<button open-type="getUserInfo"></button> 用户主动授权获取用户信息的。这就意味着 用户直接打开小程序不再出现授权弹框,而需要用户通过按钮点击主动去授权。

另外小程序有一套自己的WXS 的脚本语言,一般渲染数据是直接通过setData 来渲染,如果遇到一些数据需要前端自己处理再显示的,就可以使用WXS 来处理,避免使用js 去处理再去setData的,类似过滤器的感觉。当然WXS 也有注意事项的,官网也有这块的介绍 。

一点感想

做这样一款小程序,一是把自己学习的关于前后端的知识灵活运用起来,二是后续公司会让移动端的接手些小程序,自己也算提前练个手的。

相对的做一款app时间周期比较长,而且要考虑到双端,小程序的开发成本相对就低了。当然这款小程序是自己从0到1的开始 ,后续再慢慢优化的!

欢迎关注我的博客:

更多精彩欢迎关注微信号:春风十里不如认识你

有个「佛系码农圈」,欢迎大家加入畅聊,开心就好!

过期了,可加我微信 tx467220125 拉你入群。

转载地址:http://jowsl.baihongyu.com/

你可能感兴趣的文章
【软件周刊】Google Chrome 55 发布,默认禁用 Flash;PHP 7.1.0 发布,提供新的语法...
查看>>
guava-布隆过滤器
查看>>
【笔记】浏览器同源策略二三事
查看>>
人脸识别系统原理
查看>>
Linux文件上传下载,rz和sz
查看>>
在as3中使用嵌入字体
查看>>
Flink VS Spark
查看>>
cxf集成到spring中发布restful webservice
查看>>
linux系统调用出错时的处理函数
查看>>
How processor, assembler, and programming langu...
查看>>
cocos2d-x 异步加载plist,png等文件
查看>>
tolua 类的使用
查看>>
JAVA语言运算符
查看>>
五种方法解决Magento中jQuery和Prototype兼容性
查看>>
再调用函数时需要对函数进行声明
查看>>
PPT模板网站
查看>>
InSave 隐私政策
查看>>
[Linux command]批处理注释
查看>>
jquery 选择器
查看>>
虚基类的简单应用
查看>>