@palerock/exam-qa 1.0.6-patch10 → 1.0.6-patch11

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///./src/App.vue?0d37","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///./src/utils/index.js","webpack:///./src/db/index.js","webpack:///./src/dao/index.js","webpack:///./src/config/index.js","webpack:///src/components/home-pages/HomeIndex.vue","webpack:///./src/components/home-pages/HomeIndex.vue?ab18","webpack:///./src/components/home-pages/HomeIndex.vue","webpack:///src/components/HelloWorld.vue","webpack:///./src/components/HelloWorld.vue?3534","webpack:///./src/components/HelloWorld.vue","webpack:///src/components/HomePage.vue","webpack:///./src/components/HomePage.vue?7fc5","webpack:///./src/components/HomePage.vue","webpack:///src/components/exam/DoExamPage.vue","webpack:///./src/components/exam/DoExamPage.vue?fdb8","webpack:///./src/components/exam/DoExamPage.vue","webpack:///./src/router/index.js","webpack:///./src/plugins/index.js","webpack:///./src/main.js"],"names":["selectortype_template_index_0_src_App","render","_h","this","$createElement","_c","_self","attrs","id","name","direction","staticClass","staticRenderFns","src_App","__webpack_require__","normalizeComponent","data","watch","$route","to","from","toDepth","path","split","length","fromDepth","ssrContext","utils","getHashCode","obj","getStrHashCode","getMessage","concat","getPropertyNames","join","_this","deep","arguments","undefined","includes","typeof_default","Date","flat","entries_default","map","_ref","_ref2","slicedToArray_default","key","value","filter","r","_this2","toString","keys_default","str","i","len","hash","charCodeAt","arr","Infinity","ret","dirty","forEach","item","is_array_default","push","apply","toConsumableArray_default","fromEntries","result","a","Array","storage","getItem","itemStr","localStorage","JSON","parse","e","console","log","setItem","stringify_default","removeItem","groupArray","groupedBy","_this3","array","hashCode","checkedMap","checkItem","Object","groupBy","_objectSpread","checkedHashCode","hashArr","find","values_default","duplicateRemoval","g","randomSort","sort","Math","random","dexieDB","Dexie","version","stores","config","question","bank","historyRecord","configDB","questionDB","bankDB","historyRecordDB","BaseDao","db","defaultEntry","classCallCheck_default","hook","primKey","createDate","now_default","modifyDate","changed","origin","dao__objectSpread","records","bulkPut","put","field","where","query","equals","first","keys","bulkDelete","delete","ConfigDao","possibleConstructorReturn_default","getPrototypeOf_default","call","QuestionDao","describe","type","BankDao","title","questions","HistoryRecordDao","rightTimes","errorTimes","maxTime","minTime","totalTime","hashCodeList","anyOf","toArray","questionDao","bankDao","historyRecordDao","vue_esm","use","loading","dialog","cell","cell_group","es_button","popup","grid","grid_item","es_checkbox","checkbox_group","existsMap","HomeIndex","isShowImporter","isShowOption","isFromOnline","onlineLibs","onlineSelects","questionLib","examList","currentCategory","categories","optionInfo","canReviewError","canDoExam","canClear","computed","selectedLibs","res","lib","HomeIndex__objectSpread","inCategory","methods","doExam","isReviewError","neverDo","dao_bankDao","then","exam","promise_default","all","q","toArray_default","slice","$router","params","examConfig","alert","message","clearHistory","queryByHashCode","initExamList","showOption","hasHistoryError","selectLib","s","showImporter","importFromExist","_this4","fetchOnlineLib","category","catch","_fetchOnlineLib","asyncToGenerator_default","regenerator_default","mark","_callee","maps","libs","wrap","_context","prev","next","$http","get","t0","sent","t1","t2","abrupt","stop","importLib","_importLib","_callee3","_this5","_context3","_ref3","_callee2","l","_context2","importSingleLib","_x","_importSingleLib","_callee4","_context4","upsert","_x2","intoCategory","_intoCategory","_callee5","_this6","_args5","_context5","notEqual","banks","b","reduce","promises","sortBy","errorMap","record","relatedQuestion","times","_initExamList","_callee6","_this7","_context6","ac","mounted","home_pages_HomeIndex","_vm","icon","clickable","on","click","$event","slot","_v","_l","_s","model","callback","$$v","expression","staticStyle","max-height","overflow-y","_e","text-align","padding","oi","label","placeholder","rows","size","block","position","components_home_pages_HomeIndex","HomeIndex_normalizeComponent","components_HelloWorld","HelloWorld_normalizeComponent","msg","nav_bar","tabbar","tabbar_item","HomePage","activeTabIndex","pages","api","activePage","components_HomePage","fixed","tag","color","width","page","src_components_HomePage","HomePage_normalizeComponent","row","col","radio_group","es_radio","defaultQuestionInfo","required","score","usingScore","answerOptions","isRight","defaultExamInfo","panel","DoExamPage","answers","questionNum","isShowResult","letterIndex","examInfo","hasSubmit","examHashCode","historyExams","showAcButtons","totalNum","historyErrorHashCodes","DoExamPage__objectSpread","active","questionsInfo","results","single","multi","apis","answer","orderNum","isMulti","opt","getQuestionTitle","getQuestionDesc","errorExam","totalTimes","toFixed","setAnswer","ai","toggleAnswer","checkResult","rightAnswers","option","isMistake","isAnswered","isChecked","isPass","turnTo","root","$refs","scrollTop","confirmSubmit","confirm","submit","answeredNum","requireAllDone","rightNum","rightRate","codeInfo","adaptExamConfig","checkNoAnswer","resultAnswers","checks","invalid","loadHistoryExamInfo","getOptionColor","isPractice","queryMany","swipe","evt","props","default","Boolean","isNew","plus","device","setWakelock","destroyed","exam_DoExamPage","directives","rawName","arg","ref","left-arrow","right-text","click-left","back","click-right","stopPropagation","span","class","exam-right","exam-error","exam-current","style","dblclick","line-height","t","domProps","innerHTML","font-size","$set","right-answer","error-answer","custom-title","checked-color","analysis","components_exam_DoExamPage","DoExamPage_normalizeComponent","Vue","Router","router","routes","component","AlloyFingerPlugin","AlloyFinger","prototype","axios","jsonp","Utils","define_property_default","enumerable","productionTip","el","components","App","template"],"mappings":"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","file":"static/js/app.4d3c186ec6cdaa7239cb.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('transition',{attrs:{\"name\":_vm.direction}},[_c('router-view',{staticClass:\"appView\"})],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-58e49e9d\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-58e49e9d\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-58e49e9d\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","<template>\n <div id=\"app\">\n <transition :name=\"direction\">\n <router-view class=\"appView\"/>\n </transition>\n </div>\n</template>\n\n<script>\n export default {\n name: 'App',\n data: () => ({\n direction: \"slide-right\"\n }),\n watch: {\n $route(to, from) {\n const toDepth = to.path.split(\"/\").length;\n const fromDepth = from.path.split(\"/\").length;\n if (to.path === \"/\") {\n this.direction = \"slide-right\";\n } else if (from.path === \"/\") {\n this.direction = \"slide-left\";\n } else {\n this.direction = toDepth < fromDepth ? \"slide-right\" : \"slide-left\";\n }\n }\n }\n }\n</script>\n\n<style>\n #app {\n font-family: 'Avenir', Helvetica, Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n color: #2c3e50;\n margin-top: 60px;\n }\n\n * {\n box-sizing: border-box;\n }\n\n .appView {\n position: absolute;\n width: 100%;\n transition: left .3s ease-out;\n left: 0;\n }\n\n .slide-left-enter {\n /*transform: translate(100%, 0);*/\n left: 100%;\n }\n\n .slide-left-leave-active {\n /*transform: translate(-50%, 0);*/\n left: -50%;\n }\n\n .slide-right-enter {\n /*transform: translate(-50%, 0);*/\n left: -50%;\n z-index: 20;\n }\n\n .slide-right-leave-active {\n /*transform: translate(100%, 0);*/\n left: 100%;\n z-index: 20;\n }\n\n p {\n margin: 0;\n }\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","export default {\n getHashCode(obj) {\n return this.getStrHashCode(this.getMessage(obj).concat(this.getPropertyNames(obj)).join(''));\n },\n getPropertyNames(_self, deep = 10) {\n if (deep <= 0) {\n return '';\n }\n if (!_self || ['string', 'number', 'boolean', 'function'].includes(typeof _self) || _self instanceof Date) {\n return '';\n }\n return this.flat(\n Object.entries(_self).map(([key, value]) => [key, this.getPropertyNames(value, deep--)])\n ).filter(r => r != null && r !== '')\n },\n getMessage(_self, deep) {\n deep == null && (deep = 10);\n if (deep <= 0) {\n return '';\n }\n if (!_self || ['string', 'number', 'boolean', 'function'].includes(typeof _self) || _self instanceof Date) {\n return [_self != null ? _self.toString() : ''];\n }\n return this.flat(\n Object.keys(_self).map(key => {\n return this.getMessage(_self[key], deep--);\n })\n ).filter(r => r != null && r !== '');\n },\n getStrHashCode(str) {\n let hash = 0, i, chr, len;\n if (str.length === 0) return hash;\n for (i = 0, len = str.length; i < len; i++) {\n chr = str.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0; // Convert to 32bit integer\n }\n return hash + '';\n },\n flat(arr, deep = Infinity) {\n let ret = [];\n let dirty = false;\n arr.forEach(item => {\n if (Array.isArray(item)) {\n dirty = true;\n ret.push(...item)\n } else {\n ret.push(item)\n }\n });\n return dirty && deep > 0 ? this.flat(ret, deep--) : ret\n },\n fromEntries(arr) {\n let result = {};\n arr.forEach(a => {\n if (a instanceof Array) {\n result[a[0]] = a[1];\n }\n });\n return result;\n },\n storage: {\n getItem(key) {\n let itemStr = localStorage.getItem('__exam_s0_' + key);\n let result = null;\n try {\n result = JSON.parse(itemStr);\n } catch (e) {\n console.log(`No valid item for key [${key}] to get in storage.`);\n }\n return result;\n },\n setItem(key, value) {\n let result = null;\n try {\n result = JSON.stringify(value);\n localStorage.setItem('__exam_s0_' + key, result);\n } catch (e) {\n console.log(`Not valid item for key [${key}] to set.`);\n }\n },\n removeItem(key) {\n localStorage.removeItem('__exam_s0_' + key);\n },\n },\n groupArray(arr, groupedBy) {\n let array = arr.map(a => ({hashCode: this.getHashCode(a), item: a}));\n if (!(groupedBy instanceof Array)) {\n groupedBy = [groupedBy];\n }\n let checkedArr = array.map(a => ({\n hashCode: a.hashCode,\n checkItem: Object.fromEntries(\n groupedBy.map(groupBy => [groupBy, (a.item || {})[groupBy]])\n )\n })).map(a => ({...a, checkedHashCode: this.getHashCode(a.checkItem)}));\n let checkedMap = {};\n checkedArr.forEach(a => {\n let hashArr = checkedMap[a.checkedHashCode];\n if (!hashArr) {\n hashArr = [];\n }\n hashArr.push(array.find(arr => arr.hashCode === a.hashCode).item);\n checkedMap[a.checkedHashCode] = hashArr;\n });\n return Object.values(checkedMap);\n },\n duplicateRemoval(arr) {\n let array = arr.map(a => ({item: a}));\n let grouped = this.groupArray(array, 'item');\n return grouped.map(g => g[0].item);\n },\n randomSort(arr) {\n return arr.sort(() => {\n return Math.random() - 0.5;\n })\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/utils/index.js","import Dexie from \"dexie\";\n\nconst dexieDB = new Dexie('_qa_db');\ndexieDB.version(1).stores({\n config: 'key, value, createDate, modifyDate',\n question: 'hashCode, describe, type, createDate, modifyDate',\n bank: 'hashCode, title, *questions, createDate, modifyDate',\n historyRecord: 'relatedQuestion, rightTimes, errorTimes, maxTime, minTime, totalTime, createDate, modifyDate'\n});\ndexieDB.version(2).stores({\n bank: 'hashCode, title, *questions, category, createDate, modifyDate',\n});\ndexieDB.version(3).stores({\n question: 'hashCode, describe, type, createDate, modifyDate, analysis',\n});\nconst configDB = dexieDB['config'];\nconst questionDB = dexieDB['question'];\nconst bankDB = dexieDB['bank'];\nconst historyRecordDB = dexieDB['historyRecord'];\n\nexport {dexieDB, configDB, questionDB, bankDB, historyRecordDB};\n\n\n// WEBPACK FOOTER //\n// ./src/db/index.js","import {dexieDB, configDB, questionDB, bankDB, historyRecordDB} from '../db';\n\nclass BaseDao {\n constructor(db, defaultEntry) {\n this.db = db;\n this.defaultEntry = defaultEntry || {};\n this.db.hook('creating', (primKey, obj) => {\n obj.createDate = Date.now();\n obj.modifyDate = Date.now();\n });\n this.db.hook('updating', (changed, key, origin) => {\n changed['modifiedDate'] = Date.now();\n if (!origin['createdDate']) {\n changed['createdDate'] = Date.now();\n }\n console.log({...changed});\n return changed;\n })\n }\n\n async upsert(records) {\n if (records instanceof Array) {\n return this.db.bulkPut(records.map(r => ({...this.defaultEntry, ...r})));\n }\n return this.db.put({...this.defaultEntry, ...records});\n }\n\n query(field) {\n return this.db.where(field);\n }\n\n queryByHashCode(hashCode) {\n return this.query('hashCode').equals(hashCode).first();\n }\n\n async delete(keys) {\n if (keys instanceof Array) {\n return this.db.bulkDelete(keys);\n }\n return this.db.delete(keys);\n }\n}\n\n\nclass ConfigDao extends BaseDao {\n constructor() {\n super(configDB, {value: null});\n }\n}\n\nclass QuestionDao extends BaseDao {\n constructor() {\n super(questionDB, {\n describe: '',\n type: 'option'\n });\n }\n}\n\nclass BankDao extends BaseDao {\n constructor() {\n super(bankDB, {\n title: '',\n questions: []\n });\n }\n}\n\nclass HistoryRecordDao extends BaseDao {\n constructor() {\n super(historyRecordDB, {\n rightTimes: 0, errorTimes: 0, maxTime: 0, minTime: 0, totalTime: 0\n });\n }\n\n queryByHashCode(hashCode) {\n return this.query('relatedQuestion').equals(hashCode).first();\n }\n\n queryMany(hashCodeList) {\n return this.query('relatedQuestion').anyOf(hashCodeList).toArray();\n }\n}\n\nconst configDao = new ConfigDao();\nconst questionDao = new QuestionDao();\nconst bankDao = new BankDao();\nconst historyRecordDao = new HistoryRecordDao();\n\nexport {configDao, questionDao, bankDao, historyRecordDao}\n\n\n// WEBPACK FOOTER //\n// ./src/dao/index.js","export default {\n version: '1.0.6-patch11',\n domain:'//palerock.cn',\n // domain:'//localhost'\n}\n\n\n// WEBPACK FOOTER //\n// ./src/config/index.js","<template>\n <div>\n <van-grid v-if=\"!inCategory\">\n <van-grid-item\n icon=\"notes-o\"\n clickable\n @click=\"showImporter\">\n <div slot=\"text\" class=\"van-grid-item__text text-align-center\">开始答题(导入)</div>\n </van-grid-item>\n <van-grid-item\n v-for=\"category in categories\"\n :key=\"category\"\n icon=\"notes-o\"\n clickable\n @click=\"intoCategory(category)\">\n <div slot=\"text\" class=\"van-grid-item__text text-align-center\">{{ category }}</div>\n </van-grid-item>\n </van-grid>\n <van-grid v-else>\n <van-grid-item\n icon=\"notes-o\"\n clickable\n @click=\"currentCategory = null\">\n <div slot=\"text\" class=\"van-grid-item__text text-align-center\">返回</div>\n </van-grid-item>\n <van-grid-item\n v-for=\"exam in examList\"\n :key=\"exam.hashCode\"\n icon=\"notes-o\"\n clickable\n @click=\"showOption(exam)\">\n <div slot=\"text\" class=\"van-grid-item__text text-align-center\">{{ exam.title }}</div>\n </van-grid-item>\n </van-grid>\n <van-popup v-model=\"isShowImporter\">\n <div class=\"exam-import-box\">\n <div v-if=\"isFromOnline\" style=\"max-height: 300px;overflow-y: auto;\">\n <div v-if=\"!onlineLibs || onlineLibs.length === 0\" style=\"text-align: center;padding: 10px\">\n <van-loading type=\"spinner\" />\n </div>\n <van-checkbox-group v-model=\"onlineSelects\">\n <van-cell-group>\n <van-cell v-for=\"(lib, oi) in onlineLibs\"\n clickable\n @click=\"selectLib(lib)\"\n :key=\"oi\">\n <template slot=\"title\">\n <span>{{ lib.title }}</span>\n </template>\n <van-checkbox slot=\"right-icon\" :name=\"lib.hashCode\"></van-checkbox>\n </van-cell>\n </van-cell-group>\n </van-checkbox-group>\n </div>\n <div v-if=\"!isFromOnline\">\n <van-cell-group>\n <van-field\n v-model=\"questionLib\"\n label=\"题库\"\n type=\"textarea\"\n placeholder=\"请输入题库\"\n rows=\"10\"></van-field>\n </van-cell-group>\n </div>\n <div>\n <van-button type=\"info\" size=\"small\" block @click=\"importLib\">导入题库</van-button>\n </div>\n <div class=\"exam-m-top-small\">\n <van-button type=\"primary\" size=\"small\" block @click=\"importFromExist\">获取在线题库</van-button>\n </div>\n </div>\n </van-popup>\n <van-popup v-model=\"isShowOption\" position=\"bottom\">\n <div class=\"\">\n <van-button block @click=\"doExam(optionInfo.hashCode, false, true)\">未做题\n </van-button>\n <van-button type=\"primary\" block @click=\"doExam(optionInfo.hashCode)\">重新测试\n </van-button>\n <van-button type=\"info\" block @click=\"doExam(optionInfo.hashCode,true)\">复习错题\n </van-button>\n <van-button type=\"danger\" block @click=\"clearHistory(optionInfo.hashCode)\">清空错题\n </van-button>\n </div>\n </van-popup>\n </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport {Grid, GridItem} from 'vant';\nimport {Popup} from 'vant';\nimport {Button} from 'vant';\nimport {Field} from 'vant';\nimport {Cell, CellGroup} from 'vant';\nimport utils from '../../utils';\nimport {questionDao, historyRecordDao, bankDao, configDao} from '../../dao';\nimport {Dialog} from 'vant';\nimport config from \"@/config\";\nimport {Checkbox, CheckboxGroup} from 'vant';\nimport { Loading } from 'vant';\n\nVue.use(Loading);\nVue.use(Dialog);\nVue.use(Field).use(Cell).use(CellGroup);\nVue.use(Button);\nVue.use(Popup);\nVue.use(Grid).use(GridItem);\nVue.use(Checkbox).use(CheckboxGroup);\n\nconst existsMap = 'https://unpkg.com/@palerock/exam-qa@latest/lib-json';\nexport default {\n name: \"HomeIndex\",\n data() {\n return {\n isShowImporter: false,\n isShowOption: false,\n isFromOnline: false,\n onlineLibs: [],\n onlineSelects: [],\n questionLib: '',\n examList: [],\n currentCategory: '',\n categories: [],\n optionInfo: {\n canReviewError: true,\n canDoExam: true,\n canClear: true,\n hashCode: ''\n }\n }\n },\n computed: {\n selectedLibs() {\n let res = this.onlineLibs.filter(lib => this.onlineSelects.includes(lib.hashCode)).map(lib => ({...lib}));\n res.forEach(r => {\n delete r.hashCode;\n });\n return res;\n },\n inCategory() {\n return !!this.currentCategory\n }\n },\n methods: {\n doExam(hashCode, isReviewError = false, neverDo = false) {\n // let exam = utils.storage.getItem(hashCode);\n bankDao.query('hashCode').equals(hashCode).first()\n .then(exam => {\n return Promise.all([exam, ...exam.questions.map(q => questionDao.query('hashCode').equals(q).first())])\n })\n .then(([exam, ...questions]) => {\n exam.questions = questions;\n if (!exam) {\n Dialog.alert({message: '该题库已失效!'});\n return;\n }\n this.$router.push({\n name: 'DoExamPage',\n params: {\n examConfig: exam,\n isReviewError,\n neverDo\n }\n })\n });\n },\n clearHistory(hashCode) {\n bankDao.queryByHashCode(hashCode)\n .then(bankDao => {\n bankDao = bankDao || {};\n return historyRecordDao.delete(bankDao.questions || []);\n }).then(() => {\n console.log('remove the history.');\n this.isShowOption = false;\n this.initExamList();\n }\n );\n },\n showOption(exam) {\n // console.log(exam.hashCode);\n if (exam.hasHistoryError) {\n this.optionInfo.hashCode = exam.hashCode;\n this.isShowOption = true;\n } else {\n this.doExam(exam.hashCode);\n }\n },\n selectLib(lib) {\n this.onlineSelects.includes(lib.hashCode) ? (this.onlineSelects = this.onlineSelects.filter(s => s !== lib.hashCode)) : (this.onlineSelects = [...this.onlineSelects, lib.hashCode])\n this.questionLib = JSON.stringify(this.selectedLibs);\n },\n showImporter() {\n this.isShowImporter = true;\n this.isFromOnline = false;\n },\n importFromExist() {\n this.isFromOnline = true;\n this.fetchOnlineLib().then(res => {\n this.onlineLibs = res.filter(r => r.data).map(r => ({\n ...r.data, hashCode: r.data.hashCode || utils.getHashCode(r.data.title + r.data.category)\n }));\n }).catch(e => {\n console.log(e)\n alert('获取失败,请尝试自行录入');\n this.isShowImporter = false;\n })\n },\n async fetchOnlineLib() {\n const maps = (await this.$http.get(existsMap + \"/map.json\")).data || []\n const libs = []\n for (let i = 0; i < maps.length; i++) {\n const map = maps[i];\n libs.push(await this.$http.get(existsMap + \"/\" + map))\n }\n return libs;\n },\n async importLib() {\n try {\n let lib = JSON.parse(this.questionLib);\n if (lib instanceof Array) {\n await Promise.all(lib.map(async l => {\n await this.importSingleLib(l);\n }))\n } else {\n await this.importSingleLib(lib);\n }\n } catch (e) {\n alert(`题库格式错误:${utils.getMessage(e)}`)\n }\n await this.initExamList();\n this.isShowImporter = false;\n this.questionLib = ''\n },\n async importSingleLib(lib) {\n if (!lib.questions || lib.questions.length === 0) {\n return false;\n }\n lib.questions.forEach(q=>{\n q.hashCode = q.hashCode || utils.getHashCode(q)\n })\n const bank = {\n ...lib,\n questions: lib.questions.map(q=>q.hashCode)\n }\n bank.hashCode = lib.hashCode || utils.getHashCode(bank)\n await questionDao.upsert(lib.questions)\n .then(()=>{\n return bankDao.upsert([bank]);\n })\n return true;\n },\n async intoCategory(category = 'default') {\n this.currentCategory = category\n this.examList = []\n await bankDao.query('hashCode').notEqual('').toArray().then(banks => {\n banks.sort((a, b) => {\n // short by ASCII total of title asc\n return a.title.split('').reduce((a, b) => a + b.charCodeAt(0), 0) - b.title.split('').reduce((a, b) => a + b.charCodeAt(0), 0)\n })\n const promises = banks.map(bank => {\n return historyRecordDao.query('relatedQuestion').anyOf(bank.questions).sortBy('createDate')\n .then(records => {\n const errorMap = Object.fromEntries(records.map(record => [record.relatedQuestion, {\n ...record, times: record.errorTimes\n }]));\n const hasHistoryError = !!Object.values(errorMap).find(q => q.times > 0);\n return {...bank, errorMap, hasHistoryError}\n });\n });\n return Promise.all(promises);\n }).then(banks => {\n banks = banks.map(b => {\n b.category = b.category || 'default'\n return b\n })\n this.examList = banks.filter(b => b.category === category);\n })\n },\n async initExamList() {\n await bankDao.query('hashCode').notEqual('').toArray().then(banks => {\n banks = banks.map(b => {\n b.category = b.category || 'default'\n return b\n })\n this.categories = banks.reduce((ac, item) => {\n if (!ac.includes(item.category)) {\n ac.push(item.category)\n }\n return ac\n }, [])\n })\n if (this.currentCategory) {\n this.intoCategory(this.currentCategory)\n }\n },\n },\n mounted() {\n this.initExamList();\n // configDao.query('key').equals('hasSync').first()\n // .then(hasSync => {\n // hasSync = !!hasSync;\n // if (!hasSync) {\n // this.syncDataToIndexDB();\n // }\n // });\n }\n}\n</script>\n\n<style scoped>\n.exam-import-box {\n width: 20rem;\n padding: 1rem;\n}\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/home-pages/HomeIndex.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.inCategory)?_c('van-grid',[_c('van-grid-item',{attrs:{\"icon\":\"notes-o\",\"clickable\":\"\"},on:{\"click\":_vm.showImporter}},[_c('div',{staticClass:\"van-grid-item__text text-align-center\",attrs:{\"slot\":\"text\"},slot:\"text\"},[_vm._v(\"开始答题(导入)\")])]),_vm._v(\" \"),_vm._l((_vm.categories),function(category){return _c('van-grid-item',{key:category,attrs:{\"icon\":\"notes-o\",\"clickable\":\"\"},on:{\"click\":function($event){return _vm.intoCategory(category)}}},[_c('div',{staticClass:\"van-grid-item__text text-align-center\",attrs:{\"slot\":\"text\"},slot:\"text\"},[_vm._v(_vm._s(category))])])})],2):_c('van-grid',[_c('van-grid-item',{attrs:{\"icon\":\"notes-o\",\"clickable\":\"\"},on:{\"click\":function($event){_vm.currentCategory = null}}},[_c('div',{staticClass:\"van-grid-item__text text-align-center\",attrs:{\"slot\":\"text\"},slot:\"text\"},[_vm._v(\"返回\")])]),_vm._v(\" \"),_vm._l((_vm.examList),function(exam){return _c('van-grid-item',{key:exam.hashCode,attrs:{\"icon\":\"notes-o\",\"clickable\":\"\"},on:{\"click\":function($event){return _vm.showOption(exam)}}},[_c('div',{staticClass:\"van-grid-item__text text-align-center\",attrs:{\"slot\":\"text\"},slot:\"text\"},[_vm._v(_vm._s(exam.title))])])})],2),_vm._v(\" \"),_c('van-popup',{model:{value:(_vm.isShowImporter),callback:function ($$v) {_vm.isShowImporter=$$v},expression:\"isShowImporter\"}},[_c('div',{staticClass:\"exam-import-box\"},[(_vm.isFromOnline)?_c('div',{staticStyle:{\"max-height\":\"300px\",\"overflow-y\":\"auto\"}},[(!_vm.onlineLibs || _vm.onlineLibs.length === 0)?_c('div',{staticStyle:{\"text-align\":\"center\",\"padding\":\"10px\"}},[_c('van-loading',{attrs:{\"type\":\"spinner\"}})],1):_vm._e(),_vm._v(\" \"),_c('van-checkbox-group',{model:{value:(_vm.onlineSelects),callback:function ($$v) {_vm.onlineSelects=$$v},expression:\"onlineSelects\"}},[_c('van-cell-group',_vm._l((_vm.onlineLibs),function(lib,oi){return _c('van-cell',{key:oi,attrs:{\"clickable\":\"\"},on:{\"click\":function($event){return _vm.selectLib(lib)}}},[_c('template',{slot:\"title\"},[_c('span',[_vm._v(_vm._s(lib.title))])]),_vm._v(\" \"),_c('van-checkbox',{attrs:{\"slot\":\"right-icon\",\"name\":lib.hashCode},slot:\"right-icon\"})],2)}),1)],1)],1):_vm._e(),_vm._v(\" \"),(!_vm.isFromOnline)?_c('div',[_c('van-cell-group',[_c('van-field',{attrs:{\"label\":\"题库\",\"type\":\"textarea\",\"placeholder\":\"请输入题库\",\"rows\":\"10\"},model:{value:(_vm.questionLib),callback:function ($$v) {_vm.questionLib=$$v},expression:\"questionLib\"}})],1)],1):_vm._e(),_vm._v(\" \"),_c('div',[_c('van-button',{attrs:{\"type\":\"info\",\"size\":\"small\",\"block\":\"\"},on:{\"click\":_vm.importLib}},[_vm._v(\"导入题库\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"exam-m-top-small\"},[_c('van-button',{attrs:{\"type\":\"primary\",\"size\":\"small\",\"block\":\"\"},on:{\"click\":_vm.importFromExist}},[_vm._v(\"获取在线题库\")])],1)])]),_vm._v(\" \"),_c('van-popup',{attrs:{\"position\":\"bottom\"},model:{value:(_vm.isShowOption),callback:function ($$v) {_vm.isShowOption=$$v},expression:\"isShowOption\"}},[_c('div',{},[_c('van-button',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.doExam(_vm.optionInfo.hashCode, false, true)}}},[_vm._v(\"未做题\\n \")]),_vm._v(\" \"),_c('van-button',{attrs:{\"type\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.doExam(_vm.optionInfo.hashCode)}}},[_vm._v(\"重新测试\\n \")]),_vm._v(\" \"),_c('van-button',{attrs:{\"type\":\"info\",\"block\":\"\"},on:{\"click\":function($event){return _vm.doExam(_vm.optionInfo.hashCode,true)}}},[_vm._v(\"复习错题\\n \")]),_vm._v(\" \"),_c('van-button',{attrs:{\"type\":\"danger\",\"block\":\"\"},on:{\"click\":function($event){return _vm.clearHistory(_vm.optionInfo.hashCode)}}},[_vm._v(\"清空错题\\n \")])],1)])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-483830e6\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/home-pages/HomeIndex.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-483830e6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./HomeIndex.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./HomeIndex.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./HomeIndex.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-483830e6\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./HomeIndex.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-483830e6\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/home-pages/HomeIndex.vue\n// module id = null\n// module chunks = ","<template>\n <div>\n <van-button type=\"default\">默认按钮</van-button>\n <van-button type=\"primary\">主要按钮</van-button>\n <van-button type=\"info\">信息按钮</van-button>\n <van-button type=\"warning\">警告按钮</van-button>\n <van-button type=\"danger\">危险按钮</van-button>\n </div>\n</template>\n\n<script>\n import Vue from 'vue';\n import { Button } from 'vant';\n\n Vue.use(Button);\n\n export default {\n name: 'HelloWorld',\n data() {\n return {\n msg: 'Welcome to Your Vue.js App'\n }\n }\n }\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/HelloWorld.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('van-button',{attrs:{\"type\":\"default\"}},[_vm._v(\"默认按钮\")]),_vm._v(\" \"),_c('van-button',{attrs:{\"type\":\"primary\"}},[_vm._v(\"主要按钮\")]),_vm._v(\" \"),_c('van-button',{attrs:{\"type\":\"info\"}},[_vm._v(\"信息按钮\")]),_vm._v(\" \"),_c('van-button',{attrs:{\"type\":\"warning\"}},[_vm._v(\"警告按钮\")]),_vm._v(\" \"),_c('van-button',{attrs:{\"type\":\"danger\"}},[_vm._v(\"危险按钮\")])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-a0448bfc\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/HelloWorld.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./HelloWorld.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./HelloWorld.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a0448bfc\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./HelloWorld.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/HelloWorld.vue\n// module id = null\n// module chunks = ","<template>\n <div>\n <van-nav-bar\n :title=\"activePage.label\"\n fixed\n ></van-nav-bar>\n <div class=\"is-relation\">\n <component :is=\"activePage.api\"></component>\n <p class=\"text-align-center is-absolute\" style=\"color: #efefef;width: 100%\">{{version}}</p>\n </div>\n <van-tabbar v-model=\"activeTabIndex\">\n <van-tabbar-item v-for=\"(page, i) in pages\" :key=\"i\" :icon=\"page.icon\">{{page.label}}</van-tabbar-item>\n </van-tabbar>\n </div>\n</template>\n\n<script>\n import Vue from 'vue';\n import {NavBar} from 'vant';\n import {Tabbar, TabbarItem} from 'vant';\n import HomeIndex from \"@/components/home-pages/HomeIndex\";\n import HelloWorld from \"@/components/HelloWorld\";\n import config from \"@/config\";\n\n Vue.use(NavBar).use(Tabbar).use(TabbarItem);\n\n export default {\n name: \"HomePage\",\n data() {\n return {\n activeTabIndex: 0,\n pages: [\n {title: '主页', label: 'Home', api: HomeIndex, icon: 'home-o'},\n // {title: '搜索', label: '搜索', api: HelloWorld, icon: 'search'},\n // {title: '朋友', label: '朋友', api: HomeIndex, icon: 'friends-o'},\n // {title: '设置', label: '设置', api: HomeIndex, icon: 'setting-o'},\n ],\n }\n },\n computed: {\n activePage() {\n return this.pages[this.activeTabIndex] || {};\n },\n version() {\n return config.version;\n }\n }\n }\n</script>\n\n<style scoped>\n\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/HomePage.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('van-nav-bar',{attrs:{\"title\":_vm.activePage.label,\"fixed\":\"\"}}),_vm._v(\" \"),_c('div',{staticClass:\"is-relation\"},[_c(_vm.activePage.api,{tag:\"component\"}),_vm._v(\" \"),_c('p',{staticClass:\"text-align-center is-absolute\",staticStyle:{\"color\":\"#efefef\",\"width\":\"100%\"}},[_vm._v(_vm._s(_vm.version))])],1),_vm._v(\" \"),_c('van-tabbar',{model:{value:(_vm.activeTabIndex),callback:function ($$v) {_vm.activeTabIndex=$$v},expression:\"activeTabIndex\"}},_vm._l((_vm.pages),function(page,i){return _c('van-tabbar-item',{key:i,attrs:{\"icon\":page.icon}},[_vm._v(_vm._s(page.label))])}),1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5c9e76e7\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/HomePage.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5c9e76e7\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./HomePage.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./HomePage.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./HomePage.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5c9e76e7\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./HomePage.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-5c9e76e7\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/HomePage.vue\n// module id = null\n// module chunks = ","<template>\n <div ref=\"root\" class=\"exam-root\" v-finger:swipe=\"swipe\">\n <van-nav-bar\n :title=\"examInfo.title\"\n fixed\n left-arrow\n right-text=\"目录\"\n @click-left=\"$router.back()\"\n @click-right=\"showAcButtons = !showAcButtons\"\n ></van-nav-bar>\n <div class=\"ac-qn-backdrop\" v-show=\"showAcButtons\" @click.stop=\"showAcButtons = false\">\n <div class=\"exam-p-around-small ac-qn\" @click.stop>\n <van-row>\n <van-col span=\"4\" v-for=\"(question,i) in questionsInfo\" :key=\"i\">\n <div class=\"exam-circle exam-done\" @click=\"turnTo(i)\"\n :class=\"{'exam-right':question.answer.isPass&&(isShowResult||(question.answer.isChecked&&isPractice)),'exam-error':question.answer.isMistake&&(isShowResult||(question.answer.isChecked&&isPractice)),'exam-current': questionNum === i}\">\n {{ i + 1 }}\n </div>\n </van-col>\n </van-row>\n </div>\n </div>\n <div class=\"question-box\" @dblclick.stop=\"showAcButtons = true\"\n :style=\"`width: ${totalNum*100}%;transform:translate(${-questionNum*100/totalNum}%,0)`\">\n <div class=\"question-item\" :style=\"`width: ${100/totalNum}%`\" v-for=\"(question,i) in questionsInfo\"\n :key=\"question.hashCode\">\n <van-panel>\n <div style=\"padding: 10px 16px; line-height: 30px\">\n <div class=\"main-qa\" v-for=\"t in getQuestionTitle(question)\" v-html=\"t\">\n </div>\n <div style=\"font-size: 12px; color: #999\">{{ getQuestionDesc(question) }}</div>\n </div>\n <div v-if=\"question.isMulti\">\n <van-checkbox-group v-model=\"question.answer.multi.apis\" @click.stop @dblclick.stop>\n <van-cell-group>\n <van-cell v-for=\"(option, oi) in question.answerOptions\"\n clickable @click=\"toggleAnswer(i, option.api)\"\n :key=\"oi\">\n <template slot=\"title\">\n <div v-html=\"letterIndex[oi] + '. ' + option.describe\"\n :class=\"{'right-answer':option.isRight&&isShowResult||(option.isRight&&question.answer.isChecked&&isPractice),'error-answer':!option.isRight&&isShowResult||(!option.isRight&&question.answer.isAnswered&&isPractice),'custom-title':true}\"></div>\n </template>\n <van-checkbox slot=\"right-icon\" :name=\"option.api\"\n :checked-color=\"getOptionColor(question,option)\"></van-checkbox>\n </van-cell>\n </van-cell-group>\n </van-checkbox-group>\n </div>\n <div v-if=\"!question.isMulti\">\n <van-radio-group v-model=\"question.answer.single.api\">\n <van-cell-group>\n <van-cell v-for=\"(option, oi) in question.answerOptions\"\n clickable @click=\"setAnswer(i, [option.api])\"\n :key=\"oi\">\n <template slot=\"title\">\n <div v-html=\"letterIndex[oi] + '. ' + option.describe\"\n :class=\"{'right-answer':option.isRight&&isShowResult||(option.isRight&&question.answer.isChecked&&isPractice),'error-answer':!option.isRight&&isShowResult||(!option.isRight&&question.answer.isAnswered&&isPractice),'custom-title':true}\"></div>\n </template>\n <van-radio slot=\"right-icon\" :name=\"option.api\"\n :checked-color=\"getOptionColor(question,option)\"></van-radio>\n </van-cell>\n </van-cell-group>\n </van-radio-group>\n </div>\n <div class=\"main-qa\" style=\"padding: 10px 16px; line-height: 30px; color: #444; font-size: 12px\"\n v-if=\"isShowResult || !(isPractice&&!questionsInfo[questionNum].answer.isChecked)\"\n v-html=\"'解析:<br>'+(question.analysis || '暂无解析')\">\n </div>\n </van-panel>\n </div>\n </div>\n <div class=\"text-align-center ac-buttons\" v-if=\"questionsInfo[questionNum]\">\n <van-button size=\"small\" v-if=\"questionNum>0\" @click=\"turnTo(questionNum-1)\">上一题</van-button>\n <van-button size=\"small\" type=\"info\" v-if=\"questionNum<totalNum-1\" @click=\"turnTo(questionNum+1)\">下一题\n </van-button>\n <van-button size=\"small\" type=\"warning\" v-if=\"isPractice&&!questionsInfo[questionNum].answer.isChecked\"\n @click=\"checkResult(questionNum)\">检查该题答案\n </van-button>\n <van-button size=\"small\" type=\"primary\" v-if=\"!hasSubmit\" @click=\"confirmSubmit\">提交\n </van-button>\n </div>\n\n </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport {NavBar} from 'vant';\nimport {Panel} from 'vant';\nimport {Button} from 'vant';\nimport {Cell, CellGroup} from 'vant';\nimport {RadioGroup, Radio} from 'vant';\nimport {Checkbox, CheckboxGroup} from 'vant';\nimport {Dialog} from 'vant';\nimport {Row, Col} from 'vant';\nimport utils from '../../utils';\nimport {historyRecordDao, bankDao} from '../../dao'\n\nVue.use(Row).use(Col);\n// 全局注册\nVue.use(Dialog);\nVue.use(Checkbox).use(CheckboxGroup);\nVue.use(RadioGroup);\nVue.use(Radio);\nVue.use(Cell).use(CellGroup);\n\nconst defaultQuestionInfo = {\n required: true,\n score: 1,\n usingScore: false,\n type: 'option', // text, number\n describe: 'Do you love me?Do you love me?Do you love me?Do you love me?Do you love me?Do you love me?Do you love me?Do you love me?Do you love me?Do you love me?Do you love me?Do you love me?Do you love me?',\n answerOptions: [\n {api: 'A', describe: 'Yes', isRight: true},\n {api: 'B', describe: 'No'}\n ]\n};\n\nconst defaultExamInfo = {\n title: '试题测试',\n questions: [defaultQuestionInfo]\n};\n\nVue.use(NavBar).use(Panel).use(Button);\n\nexport default {\n name: \"DoExamPage\",\n data() {\n return {\n answers: [],\n questionNum: 0,\n isShowResult: false,\n letterIndex: [...'ABCDEFGHIJKLMNOPQRSTUVWXYZ'],\n examInfo: {},\n hasSubmit: false,\n examHashCode: 0,\n historyExams: [],\n showAcButtons: false\n }\n },\n computed: {\n totalNum() {\n return this.questions.length;\n },\n questions() {\n return (this.examInfo.questions || []).filter(\n q => {\n return this.isReviewError ? this.historyErrorHashCodes.includes(q.hashCode) : (this.neverDo ? (!this.historyErrorHashCodes.includes(q.hashCode)) : true)\n }\n ).map((q, i) => ({...q, active: i === this.questionNum}));\n },\n questionsInfo() {\n return this.questions.map(\n (q, i) => {\n if (!this.answers[i]) {\n this.answers[i] = {results: [{}], single: {}, multi: {apis: []}}\n }\n return {\n ...q,\n answer: this.answers[i] || {},\n orderNum: i + 1,\n isMulti: q.answerOptions.filter(opt => opt.isRight).length > 1\n }\n }\n )\n },\n historyErrorHashCodes() {\n return this.historyExams.filter(exam => exam.errorTimes > 0).map(exam => exam.hashCode);\n }\n },\n methods: {\n getQuestionTitle(question) {\n return [`(${this.questionNum + 1}/${this.totalNum})`, question.describe].join(' ').split('\\n');\n },\n getQuestionDesc(question) {\n let result = '';\n if (!question.required) {\n result += '(可选)'\n }\n if (question.type === 'option') {\n if (question.isMulti) {\n result += '多选题'\n } else {\n result += '单选题'\n }\n }\n let errorExam = this.historyExams.find(exam => exam.hashCode === question.hashCode);\n if (errorExam) {\n if (this.isReviewError) {\n if (errorExam.errorTimes) {\n result += ` (做错次数: ${errorExam.errorTimes})`;\n }\n }\n const totalTimes = errorExam.errorTimes + errorExam.rightTimes;\n if (totalTimes > 0) {\n result += `(历史正确率:${(errorExam.rightTimes / totalTimes * 100).toFixed(0)}%)`;\n }\n }\n return result\n },\n /**\n * @param i\n * @param api {Array}\n */\n setAnswer(i, api) {\n this.answers = [...this.answers].map((answer, ai) => {\n if (ai === i) {\n answer.results = api.map(a => ({api: a}));\n answer.single.api = api[0];\n answer.multi.apis = api;\n }\n return answer;\n });\n },\n toggleAnswer(i, api) {\n let apis = this.answers[i].multi.apis;\n if (apis.includes(api)) {\n apis = apis.filter(a => a !== api);\n } else {\n apis.push(api);\n apis = [...apis];\n }\n this.setAnswer(i, apis);\n },\n checkResult(i) {\n this.answers = [...this.answers].map((answer, ai) => {\n if (i !== ai && i != null) {\n return answer;\n }\n let question = this.questions[ai];\n let rightAnswers = question.answerOptions.filter(option => option.isRight).map(option => option.api);\n answer.results.forEach(res => {\n res.isMistake = !rightAnswers.includes(res.api);\n });\n answer.isAnswered = answer.results.filter(res => res.api).length > 0;\n if (!answer.isChecked && answer.isAnswered) {\n answer.isMistake = answer.results.length !== rightAnswers.length || !!answer.results.find(res => res.isMistake);\n answer.isPass = answer.isAnswered && !answer.isMistake;\n answer.isChecked = true;\n }\n return answer;\n })\n },\n turnTo(i) {\n const root = this.$refs.root;\n if (root) {\n root.scrollTop = 0;\n }\n this.questionNum = i;\n },\n confirmSubmit() {\n Dialog.confirm({\n title: '提交答案',\n message: '确认提交?'\n }).then(() => {\n this.submit();\n }).catch(e => {\n console.log(e);\n });\n },\n submit() {\n this.checkResult();\n let answeredNum = this.questionsInfo.filter(q => q.answer.isAnswered).length;\n if (answeredNum < this.totalNum && this.requireAllDone) {\n Dialog.alert({message: '题目还没有答完:' + `${answeredNum}/${this.totalNum}`});\n return;\n }\n let rightNum = this.questionsInfo.filter(q => q.answer.isPass).length;\n let rightRate = (rightNum / this.totalNum) * 100 + '%';\n\n // 录入错误信息\n let checkedQuestion = this.questionsInfo.filter(q => q.answer.isChecked);\n checkedQuestion.forEach(question => {\n historyRecordDao.queryByHashCode(question.hashCode).then(\n codeInfo => {\n if (!codeInfo) {\n codeInfo = {relatedQuestion: question.hashCode, errorTimes: 0};\n }\n if (question.answer.isPass) {\n codeInfo.rightTimes++;\n } else {\n codeInfo.errorTimes++;\n }\n historyRecordDao.upsert(codeInfo)\n .then(() => {\n console.log('做题信息已保存');\n });\n }\n );\n });\n\n // 显示答题结果\n this.isShowResult = true;\n Dialog.alert({message: '答题结束,成绩如下:' + `正确:${rightNum}(总共:${this.totalNum})(正确率:${rightRate})`});\n this.hasSubmit = true;\n },\n adaptExamConfig() {\n let examInfo = {...defaultExamInfo, ...this.examConfig};\n examInfo.questions = examInfo.questions.map(q => ({\n ...defaultQuestionInfo, ...q, hashCode: q.hashCode,\n answerOptions: !q.answerOptions ? [] : q.answerOptions.map(a => ({\n ...a,\n api: utils.getHashCode(a) + ''\n }))\n })).filter(q => {\n if (!q.describe || q.answerOptions.length === 0) {\n console.log('错误的题目(无描述或无答案).', q);\n return false;\n }\n // 去掉无正确答案的问题\n const checkNoAnswer = utils.groupArray(q.answerOptions, 'isRight');\n if (checkNoAnswer.length === 1 && !checkNoAnswer[0][0].isRight) {\n console.log('错误的题目(无正确答案).', q);\n return false;\n }\n // 去掉问题中重复的答案\n const checkDuplicate = utils.groupArray(q.answerOptions, 'describe');\n const resultAnswers = checkDuplicate.map(checks => {\n if (checks.length > 1) {\n const result = {...checks[0]};\n if (utils.groupArray(checks, 'isRight').length !== checks.length) {\n result.invalid = true;\n }\n return result;\n }\n return checks[0];\n });\n // 去掉答案中有重复描述且对错不一的问题\n if (resultAnswers.find(r => r.invalid)) {\n console.log('错误的题目(答案中有重复描述且对错不一).', q);\n return false;\n }\n q.answerOptions = utils.randomSort(resultAnswers);\n return true;\n });\n examInfo.questions = utils.randomSort(examInfo.questions);\n\n this.examInfo = examInfo;\n this.examHashCode = this.examConfig.hashCode;\n this.loadHistoryExamInfo();\n },\n getOptionColor(question, option) {\n if (this.isShowResult || (this.isPractice && question.answer.isChecked)) {\n return question.answer.results.map(res => res.api).includes(option.api) && option.isRight ? '#44af11' : '#cd0000'\n }\n return '#1989fa';\n },\n loadHistoryExamInfo() {\n historyRecordDao.queryMany(this.examConfig.questions.map(q => q.hashCode))\n .then(records => {\n // console.log(records.map(r => r.relatedQuestion));\n this.historyExams = records.map(r => ({...r, hashCode: r.relatedQuestion}));\n // console.log(this.historyExams);\n });\n // const errorMapKey = 'errorMap_' + this.examHashCode;\n // let errorMap = utils.storage.getItem(errorMapKey);\n // if (errorMap) {\n // this.historyExams = Object.entries(errorMap).map(([key, value]) => ({hashCode: key, ...value}));\n // }\n },\n swipe: function (evt) {\n switch (evt.direction) {\n case 'Left':\n if (this.questionNum < this.totalNum - 1) {\n this.turnTo(this.questionNum + 1);\n }\n break;\n case 'Right':\n if (this.questionNum > 0) {\n this.turnTo(this.questionNum - 1);\n }\n break;\n case 'Up':\n this.showAcButtons = false\n break;\n case 'Down':\n const root = this.$refs.root\n if (root) {\n const scrollTop = root.scrollTop\n if (scrollTop > 0) {\n return\n }\n }\n this.showAcButtons = true\n break\n default:\n }\n }\n },\n props: {\n examConfig: {\n type: Object,\n default() {\n return defaultExamInfo;\n }\n },\n isReviewError: {\n type: Boolean,\n default: false\n },\n neverDo: {\n type: Boolean,\n default: false\n },\n isNew: {\n type: Boolean,\n default: false\n },\n requireAllDone: {\n type: Boolean,\n default: false\n },\n isPractice: {\n type: Boolean,\n default: true\n }\n },\n watch: {\n examConfig() {\n this.adaptExamConfig();\n }\n },\n mounted() {\n this.adaptExamConfig();\n console.log('开始答题');\n try {\n plus.device.setWakelock(true);\n console.log('打开屏幕常亮');\n } catch (e) {\n // ignore\n }\n },\n destroyed() {\n console.log('结束答题');\n try {\n plus.device.setWakelock(false);\n console.log('关闭屏幕常亮');\n } catch (e) {\n // ignore\n }\n }\n}\n</script>\n\n<style scoped>\n.exam-root {\n overflow-x: hidden;\n top: 0;\n bottom: 0\n}\n\ndiv.error-answer {\n color: #cd0000;\n}\n\ndiv.right-answer {\n color: #44af11;\n}\n\ndiv.custom-title {\n word-break: break-word;\n}\n\n.exam-circle {\n height: 2rem;\n width: 2rem;\n border: 1px solid #1989fa;\n border-radius: 50%;\n line-height: 2rem;\n text-align: center;\n color: #1989fa;\n cursor: pointer;\n margin-bottom: .5rem;\n}\n\n.exam-circle.exam-error {\n color: #cd0000;\n border-color: #cd0000;\n}\n\n.exam-circle.exam-right {\n color: #44af11;\n border-color: #44af11;\n}\n\n.exam-circle.exam-current {\n background-color: #1989fa;\n color: white;\n}\n\n.exam-circle.exam-error.exam-current {\n background-color: #cd0000;\n color: white;\n}\n\n.exam-circle.exam-right.exam-current {\n background-color: #44af11;\n color: white;\n}\n\n.question-box {\n position: relative;\n width: 100%;\n display: flex;\n transition: transform .35s;\n padding-bottom: 70px;\n padding-top: 46px;\n}\n\n.question-item {\n flex-shrink: 0;\n}\n\n.question-enter, .question-leave-to {\n opacity: 0;\n}\n\n.ac-buttons {\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%;\n padding: 20px;\n box-sizing: border-box;\n background: #fff;\n box-shadow: 0 -1px 5px 0 rgba(0, 0, 0, .1);\n}\n\n.ac-qn {\n z-index: 100;\n background: #fff;\n box-shadow: 0 1px 5px 0 rgba(0, 0, 0, .1);\n}\n\n.ac-qn-backdrop {\n position: fixed;\n top: 46px;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, .5);\n z-index: 1;\n}\n\n.van-panel__header {\n display: none;\n}\n\n.van-cell, .main-qa {\n white-space: break-spaces;\n word-break: break-word;\n}\n\n.van-cell__title {\n padding-right: 10px;\n}\n</style>\n\n\n// WEBPACK FOOTER //\n// src/components/exam/DoExamPage.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"finger\",rawName:\"v-finger:swipe\",value:(_vm.swipe),expression:\"swipe\",arg:\"swipe\"}],ref:\"root\",staticClass:\"exam-root\"},[_c('van-nav-bar',{attrs:{\"title\":_vm.examInfo.title,\"fixed\":\"\",\"left-arrow\":\"\",\"right-text\":\"目录\"},on:{\"click-left\":function($event){return _vm.$router.back()},\"click-right\":function($event){_vm.showAcButtons = !_vm.showAcButtons}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showAcButtons),expression:\"showAcButtons\"}],staticClass:\"ac-qn-backdrop\",on:{\"click\":function($event){$event.stopPropagation();_vm.showAcButtons = false}}},[_c('div',{staticClass:\"exam-p-around-small ac-qn\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('van-row',_vm._l((_vm.questionsInfo),function(question,i){return _c('van-col',{key:i,attrs:{\"span\":\"4\"}},[_c('div',{staticClass:\"exam-circle exam-done\",class:{'exam-right':question.answer.isPass&&(_vm.isShowResult||(question.answer.isChecked&&_vm.isPractice)),'exam-error':question.answer.isMistake&&(_vm.isShowResult||(question.answer.isChecked&&_vm.isPractice)),'exam-current': _vm.questionNum === i},on:{\"click\":function($event){return _vm.turnTo(i)}}},[_vm._v(\"\\n \"+_vm._s(i + 1)+\"\\n \")])])}),1)],1)]),_vm._v(\" \"),_c('div',{staticClass:\"question-box\",style:((\"width: \" + (_vm.totalNum*100) + \"%;transform:translate(\" + (-_vm.questionNum*100/_vm.totalNum) + \"%,0)\")),on:{\"dblclick\":function($event){$event.stopPropagation();_vm.showAcButtons = true}}},_vm._l((_vm.questionsInfo),function(question,i){return _c('div',{key:question.hashCode,staticClass:\"question-item\",style:((\"width: \" + (100/_vm.totalNum) + \"%\"))},[_c('van-panel',[_c('div',{staticStyle:{\"padding\":\"10px 16px\",\"line-height\":\"30px\"}},[_vm._l((_vm.getQuestionTitle(question)),function(t){return _c('div',{staticClass:\"main-qa\",domProps:{\"innerHTML\":_vm._s(t)}})}),_vm._v(\" \"),_c('div',{staticStyle:{\"font-size\":\"12px\",\"color\":\"#999\"}},[_vm._v(_vm._s(_vm.getQuestionDesc(question)))])],2),_vm._v(\" \"),(question.isMulti)?_c('div',[_c('van-checkbox-group',{on:{\"click\":function($event){$event.stopPropagation();},\"dblclick\":function($event){$event.stopPropagation();}},model:{value:(question.answer.multi.apis),callback:function ($$v) {_vm.$set(question.answer.multi, \"apis\", $$v)},expression:\"question.answer.multi.apis\"}},[_c('van-cell-group',_vm._l((question.answerOptions),function(option,oi){return _c('van-cell',{key:oi,attrs:{\"clickable\":\"\"},on:{\"click\":function($event){return _vm.toggleAnswer(i, option.api)}}},[_c('template',{slot:\"title\"},[_c('div',{class:{'right-answer':option.isRight&&_vm.isShowResult||(option.isRight&&question.answer.isChecked&&_vm.isPractice),'error-answer':!option.isRight&&_vm.isShowResult||(!option.isRight&&question.answer.isAnswered&&_vm.isPractice),'custom-title':true},domProps:{\"innerHTML\":_vm._s(_vm.letterIndex[oi] + '. ' + option.describe)}})]),_vm._v(\" \"),_c('van-checkbox',{attrs:{\"slot\":\"right-icon\",\"name\":option.api,\"checked-color\":_vm.getOptionColor(question,option)},slot:\"right-icon\"})],2)}),1)],1)],1):_vm._e(),_vm._v(\" \"),(!question.isMulti)?_c('div',[_c('van-radio-group',{model:{value:(question.answer.single.api),callback:function ($$v) {_vm.$set(question.answer.single, \"api\", $$v)},expression:\"question.answer.single.api\"}},[_c('van-cell-group',_vm._l((question.answerOptions),function(option,oi){return _c('van-cell',{key:oi,attrs:{\"clickable\":\"\"},on:{\"click\":function($event){return _vm.setAnswer(i, [option.api])}}},[_c('template',{slot:\"title\"},[_c('div',{class:{'right-answer':option.isRight&&_vm.isShowResult||(option.isRight&&question.answer.isChecked&&_vm.isPractice),'error-answer':!option.isRight&&_vm.isShowResult||(!option.isRight&&question.answer.isAnswered&&_vm.isPractice),'custom-title':true},domProps:{\"innerHTML\":_vm._s(_vm.letterIndex[oi] + '. ' + option.describe)}})]),_vm._v(\" \"),_c('van-radio',{attrs:{\"slot\":\"right-icon\",\"name\":option.api,\"checked-color\":_vm.getOptionColor(question,option)},slot:\"right-icon\"})],2)}),1)],1)],1):_vm._e(),_vm._v(\" \"),(_vm.isShowResult || !(_vm.isPractice&&!_vm.questionsInfo[_vm.questionNum].answer.isChecked))?_c('div',{staticClass:\"main-qa\",staticStyle:{\"padding\":\"10px 16px\",\"line-height\":\"30px\",\"color\":\"#444\",\"font-size\":\"12px\"},domProps:{\"innerHTML\":_vm._s('解析:<br>'+(question.analysis || '暂无解析'))}}):_vm._e()])],1)}),0),_vm._v(\" \"),(_vm.questionsInfo[_vm.questionNum])?_c('div',{staticClass:\"text-align-center ac-buttons\"},[(_vm.questionNum>0)?_c('van-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){return _vm.turnTo(_vm.questionNum-1)}}},[_vm._v(\"上一题\")]):_vm._e(),_vm._v(\" \"),(_vm.questionNum<_vm.totalNum-1)?_c('van-button',{attrs:{\"size\":\"small\",\"type\":\"info\"},on:{\"click\":function($event){return _vm.turnTo(_vm.questionNum+1)}}},[_vm._v(\"下一题\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isPractice&&!_vm.questionsInfo[_vm.questionNum].answer.isChecked)?_c('van-button',{attrs:{\"size\":\"small\",\"type\":\"warning\"},on:{\"click\":function($event){return _vm.checkResult(_vm.questionNum)}}},[_vm._v(\"检查该题答案\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.hasSubmit)?_c('van-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.confirmSubmit}},[_vm._v(\"提交\\n \")]):_vm._e()],1):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-89084032\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/exam/DoExamPage.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-89084032\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./DoExamPage.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./DoExamPage.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./DoExamPage.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-89084032\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./DoExamPage.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-89084032\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/exam/DoExamPage.vue\n// module id = null\n// module chunks = ","import Vue from 'vue'\nimport Router from 'vue-router'\nimport HomePage from \"@/components/HomePage\";\nimport DoExamPage from \"@/components/exam/DoExamPage\";\n\nVue.use(Router);\n\nexport default new Router({\n routes: [\n {\n path: '/',\n name: 'HomePage',\n component: HomePage\n },\n {\n path: '/exam',\n name: 'DoExamPage',\n component: DoExamPage,\n props: true\n }\n ]\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/index.js","import Vue from 'vue'\nimport axios from 'axios'\nimport jsonp from 'jsonp'\nimport Utils from '../utils'\nimport AlloyFinger from 'alloyfinger'\nimport AlloyFingerPlugin from 'alloyfinger/vue/alloy_finger_vue'\n\nVue.use(AlloyFingerPlugin,{\n AlloyFinger\n});\n\nVue.prototype.$http = axios;\nVue.prototype.$http.jsonp = jsonp;\n\nif (!Object.fromEntries) {\n Object.fromEntries = Utils.fromEntries;\n}\n\nif (!Array.prototype.flat) {\n try {\n Object.defineProperty(Array.prototype, 'flat', {\n value: function (deep) {\n return Utils.flat(this, deep);\n },\n enumerable: false\n })\n } catch (e) {\n Array.prototype.flat = function (deep) {\n return Utils.flat(this, deep);\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/index.js","// The Vue build version to load with the `import` command\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\nimport Vue from 'vue'\nimport App from './App'\nimport router from './router'\nimport './assets/common.css';\nimport './plugins';\n\nVue.config.productionTip = false;\n\n/* eslint-disable no-new */\nnew Vue({\n el: '#app',\n router,\n components: { App },\n template: '<App/>'\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js"],"sourceRoot":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap 5eb3ec6c5d970f718502"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,KAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.3ad1d5771e9b13dbdad2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 5eb3ec6c5d970f718502"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap f83e123fd6edf61c2f27"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,KAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.3ad1d5771e9b13dbdad2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap f83e123fd6edf61c2f27"],"sourceRoot":""}