## 小程序实现的功能
目前小程序已经实现的功能有:
- 选择科目在线答题,答题可以选择单题模式还是列表模式
- 答题结束实时展示分数
- 查看分数结束可以查看正确答案
- 答题历史纪录查询,可以查阅当时做题情况
也就是说作为一个在线答题系统,基本功能都已闭环。
## 小程序采用框架
未采用第三方框架,使用小程序原生框架,未引入任何UI组件库
## 开发小程序过程中遇到的问题
先谈第一个问题,radio传值的问题
在单选选择题的时候,用到以下两个表单组件
radio-group
radio-group | 微信开放文档
radio
radio | 微信开放文档
默认的radio组件事件
wxml文件
<radio-group class="radio-group" bindchange="radioChange"><radio class="radio" wx:for-items="{{items}}" wx:key="name" value="{{item.name}}" checked="{{item.checked}}"><text>{{item.value}}</text></radio></radio-group>
js文件
Page({ data: { items: [ { name: 'USA', value: '美国' }, { name: 'CHN', value: '中国', checked: 'true' }, { name: 'BRA', value: '巴西' }, { name: 'JPN', value: '日本' }, { name: 'ENG', value: '英国' }, { name: 'FRA', value: '法国' }, ] }, radioChange: function (e) { console.log('radio发生change事件,携带value值为:', e.detail.value) } })
没错,用的就是官方示例代码,我们看到在选择的时候,默认e.detail.value,只能取一个字符串,当时遇到的第一个问题就在这里,如果把这整个选项的信息提取出来,能简单的用{{JSON.stringfy(item)}}吗,当然不可以,因为原生小程序本身不支持。
当时在社区查到解决方案具体可以参考
[单选框radio除了可以传value可以传其他的值吗?]
单选框radio除了可以传value可以传其他的值吗? | 微信开放社区
方案就是引入wxs,之前看官方文档,每次到这里,因为不知道这是干什么的,以及解决什么问题,现在明白了,想了解更多关于wxs的内容,也请移步下面两篇文档
[微信小程序wxs有什么用?]
微信小程序WXS 有什么用? | 微信开放社区
[小程序里面精度计算问题]
小程序里面数据精度计算问题 | 微信开放社区
## 小程序截图
## 代码适用人群
本代码建议小程序初学者或者大学做毕业设计的同学参考。
## 代码路径
小肥羊/从业资格考试助手
## 扫码体验
微信小程序搜索 从业资格题库或者直接扫码
可以设置每个题目的关键词或者题目的标题,这个在数据库中设为表subject.然后依据每个题目,建立相关答案的表answer.
可以架构在web上,利用ajax,输入查询内容,匹配keywords,然后匹配answer.
也可以利用正则,用JS来写全部程序。
前者思路清晰,操作没什么难点。
后则,涉及到JS的多级数组,正则匹配,麻烦但不需要服务器支持。
可以参考下17173的答题系统。只支持IE,不支持FF等。