前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >做一个小程序给老爸玩乐(小程序云开发实践)

做一个小程序给老爸玩乐(小程序云开发实践)

作者头像
腾讯移动品质中心TMQ
发布2019-05-16 15:40:17
1.2K0
发布2019-05-16 15:40:17
举报

一、概述

有同事提醒我说,小程序出了云开发功能。我看了一下觉得蛮有意思的,琢磨着可以给老爸做一个买马(广东民间流行的一种六合彩赌博)的小程序。然后用了2个周末的时间,完成了!

总体来说小程序的官方说明很详细,但是感觉对一些容易踩坑的地方强调得不够。导致需要通篇阅读完官方说明才好动手,否则遇到问题再搜索时,不好找到对应的地方。

二、先看成果展示

简单描述就是:支持下注、查看下注记录、开奖、查看玩家排行4个功能的小程序。 

三、踩过的坑

制作过程不多说,跟着新手指引操作一遍基本就会了 - 小程序和云开发分别有一个新手指引(https://developers.weixin.qq.com/miniprogram/dev/)。这里总结一下我遇到的几个问题:

1、关于云函数操作数据库

我最开始的时候用云函数操作数据库不成功。于是就偷懒直接在小程序端用js来操作数据库。后来发现小程序端只有权限查询用户自己生成的数据。那么像查看排行榜这种功能就不能实现了。无奈还是要用云函数来实现。后来发现改用Promise 风格就可以操作数据库了(不知道是不是我之前调用方法有问题)。

2、一个云函数搞定数据库增删改查

如果给增删改查各写一个云函数会很不优雅。在网上搜到了别人分享的一段代码,可以一个函数完成增删改查。果断拿过来用!

3、关于js的同步和异步机制

以前写python都是默认同步执行的。而js是异步执行的。这让一时转不过弯的我走了很多弯路。后来看了这篇文章(https://segmentfault.com/a/1190000008922457)才算有些概念。针对我自己的使用场景,我总结出2条方法:

1)尽量不要用两层循环+回调嵌套。如果一定要用,就在第一层循环里将for(var i;xxx)改成for(let i;xxx) - 这是从上面那篇文章里学到的方法。

2)多用数组。将循环的内容保存的数组里,然后在循环结束后将整个数组传给下一个操作。

4、关于授权

使用自己的手机调试的时候不存在授权的问题。但如果使用别人的手机,就会出现获取不到用户名以及用户头像的情况。这是需要用户授权。这一点在官方文档里说的很清楚。但你要搜索这段说明需要找很久:

https://developers.weixin.qq.com/miniprogram/dev/api/authorize-index.html?search-key=%E6%8E%88%E6%9D%83

5、关于爬取网页信息

可能是处于安全考虑。必须经过登记的合法域名才能在小程序的request方法访问。而我需要访问六合彩开奖结果的域名明显不可能获得通过。所以我就只能发布实验室版本(实验室版本可以关闭域名合法性检测功能),并把用户添加到研发团队成员中。最多可以添加30人。

四、总结

小程序端的开发和写web前端页面差不多。而小程序云开发可以很方便地处理用户信息(opendi,用户头像什么的)。如果要写一个后台交互不复杂的小程序,小程序云开发是个不错的选择。如果后台交互比较多的话,可能还是自己搞一个后端服务器好一点。

五、参考资料

官方文档:

https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/capabilities.html

后期我们会根据每个维度陆续写相关的测试文章,如果你有兴趣,请关注我们哦。


长按指纹识别图中的二维码,获取更多测试干货分享!

将我们公众号置顶 

 不会漏掉我们的原创干货哦!

var first_sceen__time = (+new Date());if ("" == 1 && document.getElementById('js_content')) { document.getElementById('js_content').addEventListener("selectstart",function(e){ e.preventDefault(); }); } (function(){ if (navigator.userAgent.indexOf("WindowsWechat") != -1){ var link = document.createElement('link'); var head = document.getElementsByTagName('head')[0]; link.rel = 'stylesheet'; link.type = 'text/css'; link.href = "//res.wx.qq.com/mmbizwap/zh_CN/htmledition/style/page/appmsg_new/winwx45ba31.css"; head.appendChild(link); } })();

easongao

赞赏

长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

阅读

分享 在看

已同步到看一看

取消 发送

我知道了

朋友会在“发现-看一看”看到你“在看”的内容

确定

已同步到看一看写下你的想法

最多200字,当前共字 发送

已发送

朋友将在看一看看到

确定

写下你的想法...

取消

发布到看一看

确定

最多200字,当前共字

发送中

微信扫一扫 关注该公众号

微信扫一扫 使用小程序

即将打开""小程序

取消 打开

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯移动品质中心TMQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、概述
  • 二、先看成果展示
  • 三、踩过的坑
  • 五、参考资料
    • 朋友会在“发现-看一看”看到你“在看”的内容
      • 朋友将在看一看看到
        • 发布到看一看
        相关产品与服务
        数据库
        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档