这是我第7次上线答题小程序后更新博文。

小程序主要包含八大版块,在之前的版本上增加了好友对战功能。对小程序感兴趣可在微信小程序搜索  “嗨答答 安全知识挑战赛”  体验,或者邮件我咨询细节,我的邮箱是 371464516@qq.com。

(一)挑战赛(拼速度、拼知识量)

系统自动匹配在线对手,每场比赛共5题,10秒内选出你认为正确的唯一选项。比赛双方按规则获取相应积分。如果系统在5秒内未匹配到在线用户,则随机从已有答题记录中选择一次答题进行模拟对战。

(二)闭关修炼

每场练习共5题(系统从各类题库中随机选择,或者指定某一类题库练习),10秒内选出答案,每道题选择后显示正确答案。如果选择错误,那系统暂停3秒再进入下一题,暂停是为了让学习者记住答案。

(三)好友对战

进入好友对战页,点击右上角分享给好友参与挑战。

(四)错题本

对答题过程中的错误题目进行回顾。

(五)排行榜
可按用户全员排名,按队伍排名。

(六)我的荣誉

展示个人信息,展示答题情况。

(七)道具助力得积分

查看相关视频,学习政策法规。

(八)锦囊赠送

每局答题后获得答题次数,双倍积分或者直接显示答案的功能。

后期产品优化思路:

1、对机器人刷题的情况要提供阻止方案,对恶意参与比赛的情况要有控制方案。

2、用户答题数据做每日备份。

技术实现方案:

框架:JAVA+SPRINGBOOT+WEBSOCKET+MYSQL

本次重点加强的缓存处理,消息机制,提高系统横向扩充能力,增大用户使用量。

1、为解决数据库读瓶颈问题,下一步系统将支持MYSQL读写分离。

2、大量用户访问存在瓶颈,使用集群架构方案,当前架构继续优化。

socket技术升级,支持断线重连,基本思路:

1 全局维护一个SocketTask对象,用来表示websocket连接,小程序onShow时判断是否断线,是否需要重连

2 同时定义一个全局的回调函数callback回调函数,每个页面初始化的时候更新这个回调函数,那么每个页面中收到的返回信息就会执行当前页面逻辑

3 维护一个消息队列,所有的消息请求会首先判断连接是否可用,可用直接send,不可用将消息push到这个队列中。

4 在app.js的onShow函数中判断连接是否连上,如果没有连上就会触发websocket连接

5 SocketTask对象的onOpen()负责从消息队列中取出请求消息,并发送这个请求消息

6 SocketTask对象的onMessage() 负责接收返回消息。并调用每个页面自己定义的回调函数

7 SocketTask对象的onClose() 监听函数中,触发websocket连接

小程序端关键代码:

let ws = new WebSocket("ws://localhost:8080");
ws.onopen = function() {console.log("client:打开连接");ws.send("client:hello,服务端");
};
ws.onmessage = function(e) {console.log("client:接收到服务端的消息 " + e.data);setTimeout(() => {ws.close();}, 5000);
};
ws.onclose = function(params) {console.log("client:关闭连接");
};

第7次版本迭代的微信答题小程序完美上线相关推荐

  1. 用云开发搭建的微信答题小程序v1.0

    近来百无聊赖,遂抽空做了一个答题小程序的系列教程,以及分享源码,是用云开发搭建的微信答题小程序v1.0. 界面截图 该答题小程序大致如下图: 结构层级 主要程序由3个界面组成,分别是index,tes ...

  2. 微信答题小程序开发功能概述

    微信答题小程序仿头脑王者源码是一款专业性的答题小程序,(软著登记号:4078210号)主要功能有:每日签到.排位赛.好友PK.每日答题.大奖赛,群比赛3V3 5V5以及道具商店等.完整题型库.100多 ...

  3. 如何利用微信答题小程序实现盈利呢

    之前,有谈过关于微信公众号的盈利方式有哪些.作为公众号和小程序开发者,现在来浅谈一下微信答题小程序的盈利方式大概有哪些吧. 1.流量主收益 流量主收入较多,开通流量主之后,在适合的页面适合的位置可以放 ...

  4. 微信小程序答题赢红包 微信答题小程序抢红包,答题领微信零钱红包,答题红包小程序,可以自己出题考试的小程序

    使用答题小程序考试系统,可以在线出考题,让别人参与考试.考完以后,用户能看到自己的考试成绩,其他人点击这场考试的排行榜也能看到整场考试所有参与考试人的分数和排名情况. 想要让答题更有趣? 还可以设置答 ...

  5. 零基础做一个微信答题小程序(四)

    嗨!大家好,我是小蚂蚁.这一节里,我们继续分享如何在答完题后进行答案的比对,以及如何实现一个回顾功能. 在上一节里我们提到过,为了记录玩家的答题数据,我们创建了一个新的表格--玩家答题选项表,里面记录 ...

  6. 条令考试小程序辅助器_可以自己编题的答题软件,自定义题库考试出题工具,微信答题小程序...

    自制题库自己编题的答题小程序要如何制作?今天给大家介绍下可以自己编题的答题软件,自制题库软件在微信小程序里自己出题,然后给别人来答题. 每个人都可以通过这个小程序系统出考题,然后给到别人答题(自己.同 ...

  7. 零基础做一个微信答题小程序(二)

    嗨!大家好,我是小蚂蚁.在上一节里,我们了解了如何设计答题小程序中的题库--表格,并且知道了如何从题库中随机抽取指定数量的不重复的题目编号.这一节,我们将分享一下如何利用这些题目编号,获取到指定的题目 ...

  8. 零基础做一个微信答题小程序(三)

    嗨!大家好,我是小蚂蚁.今天我们来分享一下如何实现答题功能,包含单选题和多选题的答题,以及如何记录玩家的答题数据. 单选题答题处理 对于单选题来讲,每个选项之间是互斥的,也就是说用户只能从 ABCD ...

  9. 微信答题小程序开发,怎么制作用于考试的小程序,微信小程序军人条令考试,微信小程序里给员工学习考试

    很多单位都有定期或者不定期的知识测试或者技能考核的要求,用来考量员工的学习效果或者技能掌握程度. 以前大都是在纸面或者电脑上进行,不是太方便. 现在随着智能手机和微信的普及,越来越多的企业开始在微信上 ...

最新文章

  1. FreeBSD设备驱动管理介绍(BSP: Ti AM335x)
  2. mysql 分组占比_含泪整理MySQL索引
  3. acquireQueued
  4. 搞懂C语言指针,看这篇就够了!
  5. jquery的ajax,请求JSON数据。
  6. unity 里调试native code
  7. 为什么我们需要Q#?
  8. LeetCode(500)——键盘行(JavaScript)
  9. python入门经典代码-Python入门36道经典练习题
  10. 美国网站服务器有哪些,可以搭建什么网站?
  11. Android实现百度离线地图+gps定位
  12. 详解C++学习方向和就业方向!
  13. 不撞南墙不回头-深度优先搜索算法
  14. 面试官的技术面试技巧与步骤
  15. 大学计算机基础知识点图文,大学计算机基础知识点分布最新版
  16. [编辑器]KindEditor 是什么?
  17. tolua wrap原理与使用
  18. 拒绝白嫖,著名开源项目作者暴力删库,导致账号被封!
  19. 请求转发、请求重定向与页面跳转问题
  20. 【IMRaD】如何“科学地”写一篇科学研究论文

热门文章

  1. Auto CAD:图纸幅面规格之图纸幅面、标题栏与会签栏、图签与布局空间之详细攻略
  2. 语言库函数大全--资料收集整理
  3. js word 预览_Node.js微服务实践(二)
  4. 聊聊 API 网关的作用
  5. 代码操作redis集群报错:(error) MOVED 解决方法
  6. Electron+Vue的开发经验
  7. win10开启远程桌面连接的的一波三折——无法连接到远程计算机、你的凭据不工作
  8. 公众号点击图片变成另一张_公众号互动内容:小众潮流or下一个风口?
  9. uniapp开发微信小程序自定义顶部导航栏
  10. python水浒传名字次数_可视化分析《水浒传》各章回人名