Coder Social home page Coder Social logo

exam's Introduction

JX3BOX-剑三魔盒

exam's People

Contributors

dependabot[bot] avatar fakedestinyck avatar iruxu avatar iziki avatar kuguats avatar zixuan1986 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

exam's Issues

【exam】优化

发布中心

发布内容可支持问卷星+腾讯问卷,支持内嵌iframe
image

上来TAB先来个,如果选择站内题目,保留展示下面的内容
如果是选择引入站外问卷,例如可以引入一个腾讯问卷,则input填一个腾讯问卷地址
到时候iframe进来

试卷页表现

当is_frame为1时
iframe一个站外的页面进来,需要做白名单过滤
默认支持的域: 腾讯问卷、问卷星

后端的issue关联:https://github.com/JX3BOX/jx3box-api/issues/84

前端部分

试卷部分

试卷列表页

分页显示公开的过审的试卷列表,有称谓奖励的标注一个角标(美工设计图)

试卷页

打开一个试卷,具体的题目,进入做题模式
提交按钮等元素

试卷成绩页

获取一张试卷的满分列表(按时间正序)列出前100名(相同UID过滤只取第一次成绩),即先答对的在前面,这样方便给前3名做状元、榜眼、探花。(美工增加3个前3名的图标)

试卷做题页的优化建议

  • 1.标题固定使用{{《 value 》}},默认增加一对书名号

  • 2.image
    出卷人的名字,前面增加一个头像,同时增加这个用户的链接
    该用户的信息可通过https://server.jx3box.com/user/info?uid=8 得到头像图片链接
    头像的链接需通过utils模块里的 showAvatar(头像图片地址,'s') 过滤
    链接是 /author/?uid=8

  • 3.image
    这里固定描述为 共10题,每题10分,满分100分。

  • 4.image
    这个模块,在单个题目的时候,可以使用这种表现形式,但是在试卷页的时候,应展示为一行小字。
    在此处增加试卷难度星级
    “单选题”几个字直接放在标题前面 [单选题]xxxxx

  • 5.选项增加hover效果,携带transition:.0.2s ease-in-out;颜色使用当前,
    当选中的时候,使用绿色的边框#49c10f和绿色的字。

  • 6.得分的位置可改到右上角。
    image
    数字使用font-family: Georgia, 'Times New Roman', Times, serif; 字体+斜体效果
    同时提交完成要window.scrollTo(0,0)跳转到顶部

管理部分

管理中心

试卷部分

  1. 列出所有试卷
  2. 审核/编辑/删除

题目部分

  1. 列出所有题目
  2. 审核/编辑/删除

题目或试卷Tag列表

语文,数学,英语,物理,化学,生物,历史,地理,政治,
PVE,PVP,PVX,
会计,高考,医学,
日语,韩语,外语,
缝纫,锻造,烹饪,
抓马,宠物
副本,插件

试卷列表页优化建议

  • 1.整体还是要宽屏,内边距保持和试卷做题页一致。

  • 2.image
    筛选要减少宽度到120px为宜,并增加一个 backgroud-color:@bg-gary;的底色。
    同时tags分组列表可共用以下json

{
    "types": {
        "radio": "单选题",
        "checkbox": "多选题"
    },
    "awards": [{ "label": "剑三老司机", "value": "driver" }],
    "marks": [{ "label": "官方试卷", "value": "official" }],
    "tags": {
        "school": [
            "七秀",
            "万花",
            "五毒",
            "长歌",
            "天策",
            "少林",
            "明教",
            "苍云",
            "纯阳",
            "唐门",
            "藏剑",
            "丐帮",
            "蓬莱",
            "凌雪"
        ],
        "subject": [
            "语文",
            "数学",
            "外语",
            "信息",
            "物理",
            "化学",
            "生物",
            "政治",
            "历史",
            "地理"
        ],
        "game": ["PVE", "PVP", "PVX", "PVBB"],
        "play": ["副本", "宠物", "家园", "奇遇", "成就"],
        "domain": ["美容", "金融","医学","法学"]
    }
}
  • 3.试卷列表的列优化:
    标题统一自带《》书名号。
    描述以小字出现在标题下方12px ,color:#888

  • 4.独立一个css文件,来放角标效果,方便后续增加。

  • 5.增加出题人列(包含名字+uid,接口直接吐得到)

  • 6.标签的size改为small,且需要设置一个最大宽度,溢出隐藏

  • 7.此处不放置管理功能,以免误操作,统一到管理台去操作

  • 8.增加试卷难度星级

  • 9.最后面增加一个常规大小的primary样式的按钮:开始答卷。

Bug修复

image

需要提示不匹配,不直接禁用修改按钮

预录示例题目集

题目:

面板会心率40%,会心效果185%,下了个破苍穹(不考虑期声),加了10%会心率,20%会心效果,(假设仅会出现会心和不会心两种结果时)计算破苍穹BUFF对技能(没会心秘籍)伤害的期望提升率

选项:

A.10% B.13.81% C.11.38% D.13.18%

正确答案:

B.13.81%

答案解析:

此题主要考察计算双会增益对技能伤害的提升,
=(50%*205%+50%*100%)/(40%*185%+60%*100%)-100%
=13.81%

后端部分

题库数据表设计

0.编号(bigint):1-N
1.类型(varchar):radio(单选题)、checkbox(多选题)
2.标签(varchar):PVE、PVP、PVX
3.题目(text):请问xxx……
4.选项(json):{A:选项1,B:选项2,C:选项3,D:选项4}
5.答案(varchar):A或 A,B
6.答案解析(longtext):富文本
7.难度(tinyint):1-5
8.状态(tinyint):0(待审核),1(已入库),2(未通过)
9.正确率(varchar):回答正确/提交总数
10.答案被选率(json):{A:100,B:200,C:300,D:400,total:1000} (总数和各个选项被选情况)
11.题目热度(bigint):10000(题目被查次数)
12.题目出场数(bigint):题目出现次数 (题目出现次数 /试卷总数得到题目考察率)。
13.出题人(bigint):出题的用户UID
(每道题分值统一为10分)

试卷数据表设计

0.编号(bigint):1-N
1.试卷标题(text):剑三2020高考卷
2.试卷描述(text):这里是因新冠推迟的剑三高考……
3.题目列表(json):[1,10,22,33...]
4.称谓奖励(int):1(例如1代表“剑三老司机”称谓)
5.状态(tinyint):0(待审核),1(公开),2(不公开)
6.标签(varchar):语文,数学,英语,物理,化学,生物,历史,地理,政治,PVE,PVP,PVX,会计,高考,日语,韩语,外语,医学,缝纫,锻造,烹饪,
7.试卷标记(varchar):标记,默认为null,标记1可能代表是JX3BOX官方出题。
8.试卷角标(varchar):记号,默认为null,rec可能代表“推荐试卷“、“精选试卷”等等
一个卷子中每个题应不相同,且最多只能10道题,为一个集合。

用户历史成绩表

0.编号(bigint):1-N
1.玩家UID(bigint):1-N
2.试卷ID(bigint):1
3.分数(bigint):90
4.完成时间(datetime):xx

用户考试成绩荣誉表

0.编号(bigint):1-N
1.玩家UID(bigint):1-N
2.普通称谓列表(json):[1,2,3...]
当玩家获得某个试卷满分时,获得一个称谓

考试界面前端TODO

  • 二维码和分享组件

  • 统计

  • 打印组件

  • 列表页不用显示Uid

  • 1.给个作者链接 author/?uid=xxx
    2.tag的间距
    8AD762D020C991EA2BCC2F34BE36E74E

  • 加粗到3px
    0768B13BB7C6BC624A4E77E990F16468

  • 题目单页,增加头像和链接
    7029EA38CF7C7ED1282F9FCB1506DE0A

  • 前面加个绿色的 √ 或者 -
    135E25BC5981FAE49DD3E9149A38AF1E
    D021597B2947340B10A2ABCDE34E5210

  • 热度模块

    最后首页@江一 设计给个图吧
    不要太复杂
    主要模块包括:
    1.根据热度返回一个试卷列表
    2.根据热度返回一个推荐题目列表
    3.贡献题目按钮
    4.制作试卷按钮

获取其他用户的试卷列表和问题列表

查询某人的 问题列表

URL: https://next.jx3box.com/api/question/public-list
Method: GET
URL Query Params 查询参数:
   
   pageIndex: int 页码, 可选参数, 默认为 1,
   pageSize: int  每页记录数, 默认为 15, 为保证性能最大不超过30

   title: 可选,标题,模糊查询
   tag: 可选,模糊查询,仅支持一个tag
   uid: 可选,查询指定某个用户的题目列表,

例如:
    https://next.jx3box.com/api/question/publi-list?uid=6134

查询某人的试卷列表

Path: https://next.jx3box.com/api/question/user-exam-paper
Method:  GET
URL Query 可用查询参数: 
        title: 标题,模糊查询
        tag: 模糊查询,仅支持一个tag
        category: 精确匹配
        corner: 精确匹配
        uid: 精确匹配

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.