Hello 朋友们,祝大家 2024 新年快乐!龙年第一期,又到了熟悉的#社区精选#啦!在这里,我们致力于 pick 「飞书开发者广场」的精彩故事,期待未来也能够给你们更多惊喜方案!
今天的主角是开发者——潘龙 & Phiron,为了快乐迎接 2024 ,他借助飞书开放能力,在飞书做了一款精彩的答题小程序,和 Lambo 一起看看吧~
关于我们 ![]()
hello大家好,我是一位全栈开发工程师,喜欢折腾和学习新技术。
前不久,公司正在筹备年终活动,为了庆祝新的一年的到来,我们决定让大家在欢笑声中检验 2023 年所获得的知识,并赢取丰厚的奖品!什么样的方式是最便捷且有趣的呢?于是我们就有了这款精彩的答题小程序。
考虑到大家平时的工作也都在飞书中完成,我们特意自建了一个飞书小程序,不仅可以免去繁琐的登录步骤,而且还能充分利用飞书的分享功能,让活动更加流畅、互动性更强。
具体开发流程 ![]()
01 免登录流程
打开应用即可自动登录。可以参考之前在开发者广场发过的一篇文章:在飞书从0到1实现开发一个免登录应用是什么体验?(点击文末阅读原文即可查看)
02 程序首页
首页长这样,按钮 go 有一个动态效果的放大缩小,让人跃跃欲试。
03 规则弹窗
规则弹窗页面,默认每次打开应用自动弹出一次,让参与答题的小伙伴更加了解游戏规则。
04 开始答题
接下来是答题开始后的页面,答题的逻辑就是每次从后台生成一个10道题目的记录返回到前端,前端放进缓存保存即可,即使关闭应用退出后,重新打开也可以立即读取缓存,不需要从头开始答题。
中间有个小插曲,一开始我设计的是每答一道题就修改分数和排行榜记录,但发现这样做速度非常慢,体验很不好,想了想还是决定完成所有题目之后,让用户手动去提交。等用户最终答完题,去提交10道题的答案,再去数据库对比一次保存得分即可,排行榜的数据也可以异步进行处理,这样用户也不需要等待很久。
具体代码如下:
05 分享与抽奖
答题满足80分可以抽奖,未达到则提示分享,展示两种完全不一样的界面效果。
06 抽奖界面
抽奖这里也比较复杂,首先得在数据库设计好奖品奖池和中奖概率,然后抽奖时用户点击抽奖,后端通过计算得出中奖结果并返回给前端,前端再根据结果做一个小动画渲染抽奖的过程。
后端代码如下:
前端关键代码如下:
07 我的页面
我的页面和排行榜页面,没什么难度:
08 飞书分享
最后是飞书的分享效果,一开始不熟悉飞书的分享功能,最后问客服才了解清楚,如果图片打不开,分享时飞书会没反应,所以要确保分享的图片 url 可以打开。
前端代码如下:
开发者说 ![]()
开发过程中确实会时常遇到很多问题,多动脑,多转换思路,遇到不会的问题可以去网络搜索,或者借助其他工具,实在解决不了,就请教身边的有经验的大佬吧。关于飞书开发的更多问题可以去参考官方文档,也可以直接请教客服哦,客服真的很热情很耐心。
好了,就到这里了,我们下次再见。如果有更多开发问题,欢迎联系我互相交流。交流邮箱:1170468846@qq.com。
点击文末阅读原文,查看该方案的更多细节,给潘龙点赞吧!

