All Projects → seonon → knockdown

seonon / knockdown

Licence: other
答题小程序 - 自定义题库

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to knockdown

WeAppBunXin
微信小程序开发之影分身术 - 一套代码生成多个小程序
Stars: ✭ 48 (-68.21%)
Mutual labels:  weapp
wxapp-boilerplate
微信小程序开发脚手架 (ES6, Redux, Immutable-js, Async/await, Promise, Reselect, Babel, ESLint, Stylelint, Gulp ... )
Stars: ✭ 35 (-76.82%)
Mutual labels:  weapp
wxapp-computed
在微信小程序中使计算值(computed)
Stars: ✭ 20 (-86.75%)
Mutual labels:  weapp
ztaro
一套基于taro, zoro的完整的微信小程序及h5开发解决方案
Stars: ✭ 37 (-75.5%)
Mutual labels:  weapp
weapp-redux
Unofficial Redux binding for weapp
Stars: ✭ 13 (-91.39%)
Mutual labels:  weapp
weapp-template
🚀一个简单实用的微信小程序基础配置模板
Stars: ✭ 112 (-25.83%)
Mutual labels:  weapp
mobx-wxapp
在小程序中使用mobx
Stars: ✭ 54 (-64.24%)
Mutual labels:  weapp
wxbizdatacrypt
微信小程序加密数据解密算法Go版
Stars: ✭ 132 (-12.58%)
Mutual labels:  weapp
WordGame-wepy
基于wepy实现的微信小程序,一款文字游戏
Stars: ✭ 26 (-82.78%)
Mutual labels:  weapp
xing-weapp-editor
开箱即用的微信小程序图文编辑组件
Stars: ✭ 101 (-33.11%)
Mutual labels:  weapp
we-app-typescript
A WeApp project template in TypeScript using VS Code
Stars: ✭ 15 (-90.07%)
Mutual labels:  weapp
miniprogram-picker
微信小程序自定义组件Picker。本组件对微信小程序原生Picker组件进行了二次封装,开发者只需要提供固定数据结构的sourceData,再进行一些必要配置,本组件就可以自动帮助开发者处理联动逻辑。
Stars: ✭ 30 (-80.13%)
Mutual labels:  weapp
Taro-v2ex-weapp
awesome v2ex weapp 😎 目前支持微信小程序、支付宝小程序、h5
Stars: ✭ 25 (-83.44%)
Mutual labels:  weapp
dropDownBoxFilter
微信小程序之下拉菜单的三级筛选框
Stars: ✭ 47 (-68.87%)
Mutual labels:  weapp
wenaox
🐬 A light weight and good performance micro channel small program state management library
Stars: ✭ 33 (-78.15%)
Mutual labels:  weapp
wx-statuslayout
微信小程序页面状态切换组件
Stars: ✭ 24 (-84.11%)
Mutual labels:  weapp
gangxiaoer-taro
博雅塔小程序,基于Taro的版本,同步发布百度小程序,支付宝小程序。
Stars: ✭ 16 (-89.4%)
Mutual labels:  weapp
weapp-lolgame
微信小程序,微信小应用-英雄联盟(LOL)战绩查询
Stars: ✭ 64 (-57.62%)
Mutual labels:  weapp
wepy-com-calendar
一个基于wepy的日历组件,内置多套皮肤,可启用打卡功能
Stars: ✭ 33 (-78.15%)
Mutual labels:  weapp
weapp.request
为微信小程序提供的网络请求组件,是 wx.request 的扩展,基于 Promise API,添加缓存控制
Stars: ✭ 29 (-80.79%)
Mutual labels:  weapp

将题目装进微信

每个人都有微信,每个人都随身带着微信,微信小程序提供了一个快速便捷编写程序的选项。 最近要参加一个竞赛,有官方题库分发下来,为了利用零碎的时间熟悉题目,我做了这个小程序,随时随地的背题。题库是独立的,我把小程序分享出来,只要制作自己的题库,任何人都可以制作自己的答题、背题小程序

程序界面及特性

主要有两个界面,主界面上选择练习方式,问题界面答题、背题。目前支持顺序学习,乱序学习和学习收藏的问题。

界面

Home Picture Support Favorite

特性

  1. 记录答题进度,使用local storage存储答题的进度
  2. 乱序答题
  3. 收藏题目,重点复习
  4. 题目完全放在本地,免除服务端开发,快速部署
  5. 提供脚本将文本文件格式的题目转化为题库,图片使用特殊的标记添加

具体使用

一共分三步:

  1. 准备题库
  2. 使用微信开发者工具调试
  3. 预览小程序/上传小程序,开始背题

准备题库

我提供了一个Python脚本,来将文本格式的题目解析为js格式的题库,即/scripts/parse.py。

处理题目

首先将原始题目保存为文本,然后使用该脚本将其解析为题库 该脚本对格式要求不高,以下几种题目结构都能正确识别

# 题目和选项在一行
1. 哪个小程序可以快速背题?A. KnockDown B. GreatChinaDream
# 题目和选项不在一行
1. 哪个小程序可以快速背题?
A. KnockDown B. GreatChinaDream
# 选项多行
1. 哪个小程序可以快速背题?
A. KnockDown
B. GreatChinaDream

⚠️注意事项

  1. 题目编号和题干、选项字母和选项内容之间必须有分隔符号,目前支持的分隔符号有.,。和空格
  2. 新的题目必须从行首开始,且题目必须有编号,且编号后必须要分隔符号
  3. 选项必须是大写字母,即A,B,C...Z,选项后必须有分隔符号
  4. 如果题干或选项中有大写字母,务必确保该大写字母后没有分隔符号,以免错误的解析为选项

处理图片

若原始题目中有图片,有两种处理方式:

  1. 将图片保存在小程序资源文件夹中,但是小程序的大小被限制在2M,图片太多的话就不能使用这种方式处理了
  2. 上传到图片CDN上,选择哪个CDN取决于个人选择,SM.MS是比较简便的选择

不管那种处理方式,都需要把图片的地址按照图片标记方式插入到题目的文本文件中,标记语法为

<picture src=https://i.loli.net/2018/07/21/5b52ead65f0b2.png>
或者
<picture src="https://i.loli.net/2018/07/21/5b52ead65f0b2.png">

需要注意的是,图片一定要插在题干和选项之间

1. 下图所示是哪个小程序?
<picture src=https://i.loli.net/2018/07/21/5b52ead65f0b2.png>
A. KnockDown B. GreatChinaDream
<!-->本地图片存储,路径必须是相对路径<-->
1. 下图所示是哪个小程序? <picture src=../../resource/avatar.png>A. KnockDown B. GreatChinaDream

答案

答案有两种处理方式,第一种,答案在题目文件中,在这种情况下,答案需要出现在选项后面,即:

1. 哪个小程序可以快速背题?A. KnockDown B. GreatChinaDream A
# 或
1. 哪个小程序可以快速背题?A. KnockDown B. GreatChinaDream 
A

第二种,提供另外的答案文本文件,答案的组织没要求,解析脚本会顺序的顺序读出文件中所有大写字母,并在读取题目文件的过程中动态的将这些选项依次的匹配上去。

⚠️注意事项

  1. 如果指定了答案文件,题目中就不能有答案,且答案文件中选项个数和题目数一定要匹配
# 答案文件组织
1-5 ABDFA
6-10 BDACA
11-15 DEAFD   CCDCB
1-5 ABDFA
6-10 BDACA
 DEAFD  16-20 CCDCB
1-5 ABDFA
B
DA
CA
11-15 DEAFD  16-20 CCDCB

解析脚本的使用

该脚本使用python编写,需要保证电脑上安装有python,python2.7和python3均支持。

脚本帮助
$ python parse.py -h
# usage: parse.py [-h] [-a ANSWER_SHEET] rawfile output
# 
# positional arguments:
#   rawfile               text file contains questions 
#   output                output filename
# 
# optional arguments:
#   -h, --help            show this help message and exit
#   -a ANSWER_SHEET, --answer_sheet ANSWER_SHEET
#                         add a answer sheet if the answers are not included in
#                         the text question file

rawfile即题目文本文件,output为输出文件,请指定为.js格式。可选参数answer_sheet即答案文件。 具体使用方式如下:

# 答案在题目中
python parse.py questionsetwithanswer.txt res.js
# 答案不在题目中,这时必须指定答案文件
python parse.py questionsetwithoutanswer.txt res.js -a answser_sheet.txt

使用微信开发者工具调试

小程序上手请参考微信小程序.

替换题库

使用上一步生成的题库替换原来题库,题库位置为/resource/res.js。

将图片复制到资源目录下

如果使用本地图片存储,需要将图片放到资源目录下

预览/上传

下面就可以愉快的使用了!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].