diff --git a/docs/404.html b/docs/404.html index 3f89ec1c..6aae2d4b 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,12 +1,12 @@ - 学之思教程 - - + 学之思教程 + + -

404

Looks like we've got some broken links.
Take me home
- +

404

That's a Four-Oh-Four.
Take me home
+ diff --git a/docs/assets/css/styles.0c531045.css b/docs/assets/css/styles.8ea25984.css similarity index 98% rename from docs/assets/css/styles.0c531045.css rename to docs/assets/css/styles.8ea25984.css index 4c85bab3..11d4cc14 100644 --- a/docs/assets/css/styles.0c531045.css +++ b/docs/assets/css/styles.8ea25984.css @@ -3,6 +3,6 @@ :root{--medium-zoom-z-index:100;--medium-zoom-bg-color:#ffffff;--medium-zoom-opacity:1} .medium-zoom-overlay{background-color:var(--medium-zoom-bg-color)!important;z-index:var(--medium-zoom-z-index)}.medium-zoom-overlay~img{z-index:calc(var(--medium-zoom-z-index) + 1)}.medium-zoom--opened .medium-zoom-overlay{opacity:var(--medium-zoom-opacity)} :root{--back-to-top-z-index:5;--back-to-top-color:#3eaf7c;--back-to-top-color-hover:#71cda3} -.back-to-top{cursor:pointer;position:fixed;bottom:2rem;right:2.5rem;width:2rem;height:1.2rem;background-color:var(--back-to-top-color);-webkit-mask:url(/assets/img/back-to-top.8b37f773.svg) no-repeat;mask:url(/assets/img/back-to-top.8b37f773.svg) no-repeat;z-index:var(--back-to-top-z-index)}.back-to-top:hover{background-color:var(--back-to-top-color-hover)}@media (max-width:959px){.back-to-top{display:none}}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0} +.back-to-top{cursor:pointer;position:fixed;bottom:2rem;right:2.5rem;width:2rem;height:1.2rem;background-color:var(--back-to-top-color);-webkit-mask:url(/xzs-mysql/assets/img/back-to-top.8b37f773.svg) no-repeat;mask:url(/xzs-mysql/assets/img/back-to-top.8b37f773.svg) no-repeat;z-index:var(--back-to-top-z-index)}.back-to-top:hover{background-color:var(--back-to-top-color-hover)}@media (max-width:959px){.back-to-top{display:none}}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0} :root{--nprogress-color:#29d;--nprogress-z-index:1031} #nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px var(--nprogress-color),0 0 5px var(--nprogress-color);opacity:1;transform:rotate(3deg) translate(0,-4px)} diff --git a/docs/assets/js/app.388ebfa7.js b/docs/assets/js/app.d1d8ec19.js similarity index 68% rename from docs/assets/js/app.388ebfa7.js rename to docs/assets/js/app.d1d8ec19.js index 161ca199..3922a3f4 100644 --- a/docs/assets/js/app.388ebfa7.js +++ b/docs/assets/js/app.d1d8ec19.js @@ -1 +1 @@ -(self.webpackChunkxzs_docs=self.webpackChunkxzs_docs||[]).push([[143],{3131:(e,t,d)=>{"use strict";d.d(t,{g:()=>s});var n=d(952),i=d(6971),a=d(1598);const s=[n.Z,i.Z,a.Z]},9947:(e,t,d)=>{"use strict";d.d(t,{p:()=>n});const n=[d(3051).Z]},4611:(e,t,d)=>{"use strict";d.d(t,{l:()=>s});var n=d(8866),i=d(1263),a=d(6243);const s=[n.Z,i.Z,a.Z]},4150:(e,t,d)=>{"use strict";d.d(t,{Z:()=>i});var n=d(6252);const i={404:(0,n.RC)((()=>d.e(616).then(d.bind(d,3616)))),Layout:(0,n.RC)((()=>d.e(961).then(d.bind(d,2961))))}},6056:(e,t,d)=>{"use strict";d.d(t,{b:()=>i});var n=d(6252);const i={"v-8daa1a0e":(0,n.RC)((()=>d.e(509).then(d.bind(d,5140)))),"v-55bcf8d6":(0,n.RC)((()=>d.e(725).then(d.bind(d,9566)))),"v-3c5293eb":(0,n.RC)((()=>d.e(993).then(d.bind(d,8385)))),"v-7dc58ad2":(0,n.RC)((()=>d.e(349).then(d.bind(d,2866)))),"v-8a14f834":(0,n.RC)((()=>d.e(810).then(d.bind(d,7431)))),"v-745beb88":(0,n.RC)((()=>d.e(803).then(d.bind(d,123)))),"v-5c93668f":(0,n.RC)((()=>d.e(924).then(d.bind(d,8486)))),"v-e6eb79d8":(0,n.RC)((()=>d.e(979).then(d.bind(d,9080)))),"v-1362226a":(0,n.RC)((()=>d.e(909).then(d.bind(d,2007)))),"v-676a79ac":(0,n.RC)((()=>d.e(257).then(d.bind(d,3368)))),"v-45a87c2c":(0,n.RC)((()=>d.e(71).then(d.bind(d,9509)))),"v-3706649a":(0,n.RC)((()=>d.e(88).then(d.bind(d,1124))))}},9706:(e,t,d)=>{"use strict";d.d(t,{T:()=>n});const n={"v-8daa1a0e":()=>d.e(509).then(d.bind(d,6464)).then((({data:e})=>e)),"v-55bcf8d6":()=>d.e(725).then(d.bind(d,927)).then((({data:e})=>e)),"v-3c5293eb":()=>d.e(993).then(d.bind(d,2203)).then((({data:e})=>e)),"v-7dc58ad2":()=>d.e(349).then(d.bind(d,8103)).then((({data:e})=>e)),"v-8a14f834":()=>d.e(810).then(d.bind(d,5737)).then((({data:e})=>e)),"v-745beb88":()=>d.e(803).then(d.bind(d,9252)).then((({data:e})=>e)),"v-5c93668f":()=>d.e(924).then(d.bind(d,4158)).then((({data:e})=>e)),"v-e6eb79d8":()=>d.e(979).then(d.bind(d,6339)).then((({data:e})=>e)),"v-1362226a":()=>d.e(909).then(d.bind(d,5785)).then((({data:e})=>e)),"v-676a79ac":()=>d.e(257).then(d.bind(d,9326)).then((({data:e})=>e)),"v-45a87c2c":()=>d.e(71).then(d.bind(d,8992)).then((({data:e})=>e)),"v-3706649a":()=>d.e(88).then(d.bind(d,1801)).then((({data:e})=>e))}},4634:(e,t,d)=>{"use strict";d.d(t,{g:()=>i});var n=d(4802);const i=[["v-8daa1a0e","/","",["/index.html","/README.md"]],["v-55bcf8d6","/guide/admin.html","",["/guide/admin.md"]],["v-3c5293eb","/guide/api.html","",["/guide/api.md"]],["v-7dc58ad2","/guide/database.html","",["/guide/database.md"]],["v-8a14f834","/guide/deploy.html","",["/guide/deploy.md"]],["v-745beb88","/guide/develop.html","",["/guide/develop.md"]],["v-5c93668f","/guide/feature.html","",["/guide/feature.md"]],["v-e6eb79d8","/guide/skill.html","",["/guide/skill.md"]],["v-1362226a","/guide/student.html","",["/guide/student.md"]],["v-676a79ac","/guide/video.html","",["/guide/video.md"]],["v-45a87c2c","/guide/wx.html","",["/guide/wx.md"]],["v-3706649a","/404.html","",[]]].reduce(((e,[t,d,i,a])=>(e.push({name:t,path:d,component:n.Y,meta:{title:i}},...a.map((e=>({path:e,redirect:d})))),e)),[{name:"404",path:"/:catchAll(.*)",component:n.Y}])},5220:(e,t,d)=>{"use strict";d.d(t,{H:()=>n});const n={base:"/xzs-mysql/",lang:"zh-CN",title:"学之思教程",description:"学之思开发部署教程",head:[["link",{rel:"icon",href:"/images/favicon.png"}]],locales:{}}},2232:(e,t,d)=>{"use strict";d.d(t,{f:()=>n});const n={logo:"/images/logo.png",navbar:[{text:"官网",link:"https://www.mindskip.net"},{text:"思多多",link:"https://www.mindskip.net/sdd.html"},{text:"维多多",link:"https://www.mindskip.net/wdd.html"},{text:"学多多",link:"https://www.mindskip.net/xdd.html"},{text:"学之思",link:"https://www.mindskip.net/xzs.html"},{text:"商业购买",link:"https://www.mindskip.net/buy.html"}],sidebar:[{text:"功能列表",link:"/guide/feature.md"},{text:"技术栈",link:"/guide/skill.md"},{text:"数据库设计",link:"/guide/database.md"},{isGroup:!1,text:"接口文档",children:[{text:"学生考试端",link:"/guide/student.md"},{text:"微信小程序",link:"/guide/wx.md"},{text:"管理系统端",link:"/guide/admin.md"}]},{text:"项目开发",link:"/guide/develop.md"},{text:"项目部署",link:"/guide/deploy.md"},{text:"视频教程",link:"/guide/video.md"}],locales:{"/":{selectLanguageName:"English"}},darkMode:!0,repo:null,selectLanguageText:"Languages",selectLanguageAriaLabel:"Select language",sidebarDepth:2,editLink:!0,editLinkText:"Edit this page",lastUpdated:!0,lastUpdatedText:"Last Updated",contributors:!0,contributorsText:"Contributors",notFound:["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],backToHome:"Take me home",openInNewWindow:"open in new window"}}},e=>{"use strict";e.O(0,[460,640],(()=>(8463,e(e.s=8463)))),e.O()}]); \ No newline at end of file +(self.webpackChunkxzs_docs=self.webpackChunkxzs_docs||[]).push([[143],{3131:(e,t,d)=>{"use strict";d.d(t,{g:()=>s});var n=d(952),i=d(6971),a=d(1598);const s=[n.Z,i.Z,a.Z]},9947:(e,t,d)=>{"use strict";d.d(t,{p:()=>n});const n=[d(3051).Z]},4611:(e,t,d)=>{"use strict";d.d(t,{l:()=>s});var n=d(8866),i=d(1263),a=d(6243);const s=[n.Z,i.Z,a.Z]},4150:(e,t,d)=>{"use strict";d.d(t,{Z:()=>i});var n=d(6252);const i={404:(0,n.RC)((()=>d.e(616).then(d.bind(d,3616)))),Layout:(0,n.RC)((()=>d.e(961).then(d.bind(d,2961))))}},6056:(e,t,d)=>{"use strict";d.d(t,{b:()=>i});var n=d(6252);const i={"v-8daa1a0e":(0,n.RC)((()=>d.e(509).then(d.bind(d,5140)))),"v-55bcf8d6":(0,n.RC)((()=>d.e(725).then(d.bind(d,9566)))),"v-3c5293eb":(0,n.RC)((()=>d.e(993).then(d.bind(d,8385)))),"v-7dc58ad2":(0,n.RC)((()=>d.e(349).then(d.bind(d,2866)))),"v-8a14f834":(0,n.RC)((()=>d.e(810).then(d.bind(d,7431)))),"v-745beb88":(0,n.RC)((()=>d.e(803).then(d.bind(d,123)))),"v-5c93668f":(0,n.RC)((()=>d.e(924).then(d.bind(d,8486)))),"v-e6eb79d8":(0,n.RC)((()=>d.e(979).then(d.bind(d,9080)))),"v-1362226a":(0,n.RC)((()=>d.e(909).then(d.bind(d,2007)))),"v-676a79ac":(0,n.RC)((()=>d.e(257).then(d.bind(d,3368)))),"v-45a87c2c":(0,n.RC)((()=>d.e(71).then(d.bind(d,9509)))),"v-3706649a":(0,n.RC)((()=>d.e(88).then(d.bind(d,1124))))}},9706:(e,t,d)=>{"use strict";d.d(t,{T:()=>n});const n={"v-8daa1a0e":()=>d.e(509).then(d.bind(d,6464)).then((({data:e})=>e)),"v-55bcf8d6":()=>d.e(725).then(d.bind(d,927)).then((({data:e})=>e)),"v-3c5293eb":()=>d.e(993).then(d.bind(d,2203)).then((({data:e})=>e)),"v-7dc58ad2":()=>d.e(349).then(d.bind(d,8103)).then((({data:e})=>e)),"v-8a14f834":()=>d.e(810).then(d.bind(d,5737)).then((({data:e})=>e)),"v-745beb88":()=>d.e(803).then(d.bind(d,9252)).then((({data:e})=>e)),"v-5c93668f":()=>d.e(924).then(d.bind(d,4158)).then((({data:e})=>e)),"v-e6eb79d8":()=>d.e(979).then(d.bind(d,6339)).then((({data:e})=>e)),"v-1362226a":()=>d.e(909).then(d.bind(d,5785)).then((({data:e})=>e)),"v-676a79ac":()=>d.e(257).then(d.bind(d,9326)).then((({data:e})=>e)),"v-45a87c2c":()=>d.e(71).then(d.bind(d,8992)).then((({data:e})=>e)),"v-3706649a":()=>d.e(88).then(d.bind(d,1801)).then((({data:e})=>e))}},4634:(e,t,d)=>{"use strict";d.d(t,{g:()=>i});var n=d(4802);const i=[["v-8daa1a0e","/","",["/index.html","/README.md"]],["v-55bcf8d6","/guide/admin.html","",["/guide/admin.md"]],["v-3c5293eb","/guide/api.html","",["/guide/api.md"]],["v-7dc58ad2","/guide/database.html","",["/guide/database.md"]],["v-8a14f834","/guide/deploy.html","",["/guide/deploy.md"]],["v-745beb88","/guide/develop.html","",["/guide/develop.md"]],["v-5c93668f","/guide/feature.html","",["/guide/feature.md"]],["v-e6eb79d8","/guide/skill.html","",["/guide/skill.md"]],["v-1362226a","/guide/student.html","",["/guide/student.md"]],["v-676a79ac","/guide/video.html","",["/guide/video.md"]],["v-45a87c2c","/guide/wx.html","",["/guide/wx.md"]],["v-3706649a","/404.html","",[]]].reduce(((e,[t,d,i,a])=>(e.push({name:t,path:d,component:n.Y,meta:{title:i}},...a.map((e=>({path:e,redirect:d})))),e)),[{name:"404",path:"/:catchAll(.*)",component:n.Y}])},5220:(e,t,d)=>{"use strict";d.d(t,{H:()=>n});const n={base:"/xzs-mysql/",lang:"zh-CN",title:"学之思教程",description:"学之思开发部署教程",head:[["link",{rel:"icon",href:"https://www.mindskip.net/style/images/favicon.png"}]],locales:{}}},2232:(e,t,d)=>{"use strict";d.d(t,{f:()=>n});const n={logo:"/images/logo.png",navbar:[{text:"官网",link:"https://www.mindskip.net"},{text:"思多多",link:"https://www.mindskip.net/sdd.html"},{text:"维多多",link:"https://www.mindskip.net/wdd.html"},{text:"学多多",link:"https://www.mindskip.net/xdd.html"},{text:"学之思",link:"https://www.mindskip.net/xzs.html"},{text:"商业购买",link:"https://www.mindskip.net/buy.html"}],sidebar:[{text:"功能列表",link:"/guide/feature.md"},{text:"技术栈",link:"/guide/skill.md"},{text:"数据库设计",link:"/guide/database.md"},{isGroup:!1,text:"接口文档",children:[{text:"学生考试端",link:"/guide/student.md"},{text:"微信小程序",link:"/guide/wx.md"},{text:"管理系统端",link:"/guide/admin.md"}]},{text:"项目开发",link:"/guide/develop.md"},{text:"项目部署",link:"/guide/deploy.md"},{text:"视频教程",link:"/guide/video.md"}],locales:{"/":{selectLanguageName:"English"}},darkMode:!0,repo:null,selectLanguageText:"Languages",selectLanguageAriaLabel:"Select language",sidebarDepth:2,editLink:!0,editLinkText:"Edit this page",lastUpdated:!0,lastUpdatedText:"Last Updated",contributors:!0,contributorsText:"Contributors",notFound:["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],backToHome:"Take me home",openInNewWindow:"open in new window"}}},e=>{"use strict";e.O(0,[460,640],(()=>(8463,e(e.s=8463)))),e.O()}]); \ No newline at end of file diff --git a/docs/assets/js/runtime~app.aeb08d7e.js b/docs/assets/js/runtime~app.283ba8de.js similarity index 93% rename from docs/assets/js/runtime~app.aeb08d7e.js rename to docs/assets/js/runtime~app.283ba8de.js index a7913137..bf9f5732 100644 --- a/docs/assets/js/runtime~app.aeb08d7e.js +++ b/docs/assets/js/runtime~app.283ba8de.js @@ -1 +1 @@ -(()=>{"use strict";var e,r,t,a={},o={};function n(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return a[e].call(t.exports,t,t.exports,n),t.exports}n.m=a,e=[],n.O=(r,t,a,o)=>{if(!t){var s=1/0;for(i=0;i=o)&&Object.keys(n.O).every((e=>n.O[e](t[c])))?t.splice(c--,1):(d=!1,o0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[t,a,o]},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>"assets/js/"+({71:"v-45a87c2c",88:"v-3706649a",257:"v-676a79ac",349:"v-7dc58ad2",509:"v-8daa1a0e",725:"v-55bcf8d6",803:"v-745beb88",810:"v-8a14f834",909:"v-1362226a",924:"v-5c93668f",979:"v-e6eb79d8",993:"v-3c5293eb"}[e]||e)+"."+{71:"05fe7f46",88:"d8cdd662",257:"c4dc1daf",349:"f2392ebe",509:"8a5cacf6",616:"6e2d2016",725:"6e5b1ac1",803:"2a9d82c5",810:"7497511c",909:"0e9d9fcf",924:"3201de4a",961:"23aeaf0d",979:"f5fc451c",993:"8d96dd51"}[e]+".js",n.miniCssF=e=>"assets/css/styles.0c531045.css",n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="xzs-docs:",n.l=(e,a,o,s)=>{if(r[e])r[e].push(a);else{var d,c;if(void 0!==o)for(var i=document.getElementsByTagName("script"),l=0;l{d.onerror=d.onload=null,clearTimeout(v);var o=r[e];if(delete r[e],d.parentNode&&d.parentNode.removeChild(d),o&&o.forEach((e=>e(a))),t)return t(a)},v=setTimeout(u.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=u.bind(null,d.onerror),d.onload=u.bind(null,d.onload),c&&document.head.appendChild(d)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="/xzs-mysql/",(()=>{var e={523:0,460:0};n.f.j=(r,t)=>{var a=n.o(e,r)?e[r]:void 0;if(0!==a)if(a)t.push(a[2]);else if(/^(460|523)$/.test(r))e[r]=0;else{var o=new Promise(((t,o)=>a=e[r]=[t,o]));t.push(a[2]=o);var s=n.p+n.u(r),d=new Error;n.l(s,(t=>{if(n.o(e,r)&&(0!==(a=e[r])&&(e[r]=void 0),a)){var o=t&&("load"===t.type?"missing":t.type),s=t&&t.target&&t.target.src;d.message="Loading chunk "+r+" failed.\n("+o+": "+s+")",d.name="ChunkLoadError",d.type=o,d.request=s,a[1](d)}}),"chunk-"+r,r)}},n.O.j=r=>0===e[r];var r=(r,t)=>{var a,o,[s,d,c]=t,i=0;for(a in d)n.o(d,a)&&(n.m[a]=d[a]);if(c)var l=c(n);for(r&&r(t);i{"use strict";var e,r,t,a={},o={};function n(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return a[e].call(t.exports,t,t.exports,n),t.exports}n.m=a,e=[],n.O=(r,t,a,o)=>{if(!t){var s=1/0;for(i=0;i=o)&&Object.keys(n.O).every((e=>n.O[e](t[c])))?t.splice(c--,1):(d=!1,o0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[t,a,o]},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>"assets/js/"+({71:"v-45a87c2c",88:"v-3706649a",257:"v-676a79ac",349:"v-7dc58ad2",509:"v-8daa1a0e",725:"v-55bcf8d6",803:"v-745beb88",810:"v-8a14f834",909:"v-1362226a",924:"v-5c93668f",979:"v-e6eb79d8",993:"v-3c5293eb"}[e]||e)+"."+{71:"05fe7f46",88:"d8cdd662",257:"c4dc1daf",349:"f2392ebe",509:"8a5cacf6",616:"6e2d2016",725:"6e5b1ac1",803:"2a9d82c5",810:"7497511c",909:"0e9d9fcf",924:"3201de4a",961:"23aeaf0d",979:"4a757be4",993:"8d96dd51"}[e]+".js",n.miniCssF=e=>"assets/css/styles.8ea25984.css",n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="xzs-docs:",n.l=(e,a,o,s)=>{if(r[e])r[e].push(a);else{var d,c;if(void 0!==o)for(var i=document.getElementsByTagName("script"),l=0;l{d.onerror=d.onload=null,clearTimeout(v);var o=r[e];if(delete r[e],d.parentNode&&d.parentNode.removeChild(d),o&&o.forEach((e=>e(a))),t)return t(a)},v=setTimeout(u.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=u.bind(null,d.onerror),d.onload=u.bind(null,d.onload),c&&document.head.appendChild(d)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="/xzs-mysql/",(()=>{var e={523:0,460:0};n.f.j=(r,t)=>{var a=n.o(e,r)?e[r]:void 0;if(0!==a)if(a)t.push(a[2]);else if(/^(460|523)$/.test(r))e[r]=0;else{var o=new Promise(((t,o)=>a=e[r]=[t,o]));t.push(a[2]=o);var s=n.p+n.u(r),d=new Error;n.l(s,(t=>{if(n.o(e,r)&&(0!==(a=e[r])&&(e[r]=void 0),a)){var o=t&&("load"===t.type?"missing":t.type),s=t&&t.target&&t.target.src;d.message="Loading chunk "+r+" failed.\n("+o+": "+s+")",d.name="ChunkLoadError",d.type=o,d.request=s,a[1](d)}}),"chunk-"+r,r)}},n.O.j=r=>0===e[r];var r=(r,t)=>{var a,o,[s,d,c]=t,i=0;for(a in d)n.o(d,a)&&(n.m[a]=d[a]);if(c)var l=c(n);for(r&&r(t);i{"use strict";t.r(l),t.d(l,{data:()=>i});const i={key:"v-e6eb79d8",path:"/guide/skill.html",title:"",lang:"zh-CN",frontmatter:{},excerpt:"",headers:[{level:3,title:"运行环境",slug:"运行环境",children:[]},{level:3,title:"后台系统",slug:"后台系统",children:[]},{level:3,title:"前台系统",slug:"前台系统",children:[]},{level:3,title:"微信小程序",slug:"微信小程序",children:[]},{level:3,title:"架构图",slug:"架构图",children:[]}],filePathRelative:"guide/skill.md",git:{updatedTime:1624351352e3,contributors:[{name:"mindskip",email:"mindskip@qq.com",commits:1}]}}},9080:(e,l,t)=>{"use strict";t.r(l),t.d(l,{default:()=>d});const i=(0,t(6252).uE)('

# 运行环境

环境版本
操作系统Windows / Linux
Jdk1.8
Redis6.0
Mysql8.0

# 后台系统

  • spring-boot 2.1.6.RELEASE
  • spring-boot-security 用户登录验证
  • undertow web容器
  • mysql 最流行的开源数据库
  • redis 缓存,提升系统性能
  • mybatis 数据库中间件
  • hikari 速度最快的数据库连接池
  • 七牛云存储 分布式文件存储中心

# 前台系统

  • vue 采用新版,使用了vue-cli4搭建的系统,减少大量配置文件
  • element-ui 最流行的vue UI框架
  • vue-element-admin 深度定制版
  • echarts 图表统计
  • ueditor 深度定制版

# 微信小程序

  • iView 主题样式

# 架构图

架构图

',10),d={render:function(e,l){return i}}}}]); \ No newline at end of file +(self.webpackChunkxzs_docs=self.webpackChunkxzs_docs||[]).push([[979],{6339:(e,l,t)=>{"use strict";t.r(l),t.d(l,{data:()=>i});const i={key:"v-e6eb79d8",path:"/guide/skill.html",title:"",lang:"zh-CN",frontmatter:{},excerpt:"",headers:[{level:3,title:"运行环境",slug:"运行环境",children:[]},{level:3,title:"后台系统",slug:"后台系统",children:[]},{level:3,title:"前台系统",slug:"前台系统",children:[]},{level:3,title:"微信小程序",slug:"微信小程序",children:[]},{level:3,title:"架构图",slug:"架构图",children:[]}],filePathRelative:"guide/skill.md",git:{updatedTime:1624495662e3,contributors:[{name:"mindskip",email:"mindskip@qq.com",commits:2}]}}},9080:(e,l,t)=>{"use strict";t.r(l),t.d(l,{default:()=>d});const i=(0,t(6252).uE)('

# 运行环境

环境版本
操作系统Windows / Linux
Jdk1.8
Redis6.0
Mysql8.0

# 后台系统

  • spring-boot 2.1.6.RELEASE
  • spring-boot-security 用户登录验证
  • undertow web容器
  • mysql 最流行的开源数据库
  • redis 缓存,提升系统性能
  • mybatis 数据库中间件
  • hikari 速度最快的数据库连接池
  • 七牛云存储 分布式文件存储中心

# 前台系统

  • vue 采用新版,使用了vue-cli4搭建的系统,减少大量配置文件
  • element-ui 最流行的vue UI框架
  • vue-element-admin 深度定制版
  • echarts 图表统计
  • ueditor 深度定制版

# 微信小程序

  • iView 主题样式

# 架构图

架构图

',10),d={render:function(e,l){return i}}}}]); \ No newline at end of file diff --git a/docs/guide/admin.html b/docs/guide/admin.html index 652c72a8..4e727ee1 100644 --- a/docs/guide/admin.html +++ b/docs/guide/admin.html @@ -1,9 +1,9 @@ - 学之思教程 - - + 学之思教程 + + - + diff --git a/docs/guide/api.html b/docs/guide/api.html index 1d1e113c..6dc065d2 100644 --- a/docs/guide/api.html +++ b/docs/guide/api.html @@ -1,12 +1,12 @@ - 学之思教程 - - + 学之思教程 + + - + diff --git a/docs/guide/database.html b/docs/guide/database.html index 15dad860..5541e8e5 100644 --- a/docs/guide/database.html +++ b/docs/guide/database.html @@ -1,12 +1,12 @@ - 学之思教程 - - + 学之思教程 + +

# 试卷表 t_exam_paper

字段名类型注释
idint
namevarchar试卷名称
subject_idint学科
paper_typeint试卷类型( 1.固定试卷 4.时段试卷 6.任务试卷 )
grade_levelint年级
scoreint试卷总分(千分制)
question_countint题目数量
suggest_timeint建议时长(分钟)
limit_start_timedatetime时段试卷 开始时间
limit_end_timedatetime时段试卷 结束时间
frame_text_content_idint试卷框架 内容为JSON
create_userint
create_timedatetime
deletedbit
task_exam_idint

# 试卷答案表 t_exam_paper_answer

字段名类型注释
idint
exam_paper_idint
paper_namevarchar试卷名称
paper_typeint试卷类型( 1.固定试卷 4.时段试卷 6.任务试卷 )
subject_idint学科
system_scoreint系统判定得分
user_scoreint最终得分(千分制)
paper_scoreint试卷总分
question_correctint做对题目数量
question_countint题目总数量
do_timeint做题时间(秒)
statusint试卷状态(1待判分 2完成)
create_userint学生
create_timedatetime提交时间
task_exam_idint

# 试卷题目答案表 t_exam_paper_question_customer_answer

字段名类型注释
idint
question_idint题目Id
exam_paper_idint答案Id
exam_paper_answer_idint
question_typeint题型
subject_idint学科
customer_scoreint得分
question_scoreint题目原始分数
question_text_content_idint问题内容
answervarchar做题答案
text_content_idint做题内容
do_rightbit是否正确
create_userint做题人
create_timedatetime
item_orderint

# 消息表 t_message

字段名类型注释
idint
titlevarchar标题
contentvarchar内容
create_timedatetime
send_user_idint发送者用户ID
send_user_namevarchar发送者用户名
send_real_namevarchar发送者真实姓名
receive_user_countint接收人数
read_countint已读人数

# 用户消息表 t_message_user

字段名类型注释
idint
message_idint消息内容ID
receive_user_idint接收人ID
receive_user_namevarchar接收人用户名
receive_real_namevarchar接收人真实姓名
readedbit是否已读
create_timedatetime
read_timedatetime阅读时间

# 题目表 t_question

字段名类型注释
idint
question_typeint1.单选题 2.多选题 3.判断题 4.填空题 5.简答题
subject_idint学科
scoreint题目总分(千分制)
grade_levelint级别
difficultint题目难度
correcttext正确答案
info_text_content_idint题目 填空、 题干、解析、答案等信息
create_userint创建人
statusint1.正常
create_timedatetime创建时间
deletedbit

# 学科表 t_subject

字段名类型注释
idint
namevarchar语文 数学 英语 等
levelint年级 (1-12) 小学 初中 高中 大学
level_namevarchar一年级、二年级等
item_orderint排序
deletedbit

# 任务表 t_task_exam

字段名类型注释
idint
titlevarchar
grade_levelint级别
frame_text_content_idint任务框架 内容为JSON
create_userint
create_timedatetime
deletedbit
create_user_namevarchar

# 用户任务表 t_task_exam_customer_answer

字段名类型注释
idint
task_exam_idint
create_userint
create_timedatetime
text_content_idint任务完成情况(Json)

# 文本表 t_text_content

字段名类型注释
idint
contenttext
create_timedatetime

# 用户表 t_user

字段名类型注释
idint
user_uuidvarchar
user_namevarchar用户名
passwordvarchar
real_namevarchar真实姓名
ageint
sexint1.男 2女
birth_daydatetime
user_levelint学生年级(1-12)
phonevarchar
roleint1.学生 3.管理员
statusint1.启用 2禁用
image_pathvarchar头像地址
create_timedatetime
modify_timedatetime
last_active_timedatetime
deletedbit是否删除
wx_open_idvarchar微信openId

# 用户日志表 t_user_event_log

字段名类型注释
idint
user_idint用户id
user_namevarchar用户名
real_namevarchar真实姓名
contenttext内容
create_timedatetime时间

# 用户Token表 t_user_token

字段名类型注释
idint
tokenvarchar
user_idint用户Id
wx_open_idvarchar微信openId
create_timedatetime
end_timedatetime
user_namevarchar用户名
Last Updated: 2021-6-22 16:42:32
Contributors: mindskip
- + diff --git a/docs/guide/deploy.html b/docs/guide/deploy.html index 02ea837c..9efe1968 100644 --- a/docs/guide/deploy.html +++ b/docs/guide/deploy.html @@ -1,9 +1,9 @@ - 学之思教程 - - + 学之思教程 + +

# 集成部署

  • 分别在\source\vue\xzs-student目录和source\vue\xzs-admin目录,执行前端打包命令
npm run build
@@ -22,6 +22,6 @@
 
1
2
3
4
5
6
7
8
9
10
11

# docker部署

  • 准备好centos服务器
  • 先检查服务器端口、ip转发的是否配置正确,否则无法访问到docker内部
  • docker内部镜像已经安装了java、mysql、redis、nginx,均已配置好,无需其他操作
  • 执行下列docker命令,拉取镜像,启动容器
  • 学生端访问地址为:http://ip:8001/studentopen in new window
  • 管理员端访问地址为:http://ip:8001/adminopen in new window
docker pull  registry.cn-hangzhou.aliyuncs.com/mindskip/xzs:v3.3.0
 docker run -d --name xzs --privileged -it  -d -p 8001:8001 -v /etc/localtime:/etc/localtime:ro  registry.cn-hangzhou.aliyuncs.com/mindskip/xzs:v3.3.0 /usr/sbin/init
 
1
2
Last Updated: 2021-6-22 16:42:32
Contributors: mindskip
- + diff --git a/docs/guide/develop.html b/docs/guide/develop.html index c5355bb5..2515408c 100644 --- a/docs/guide/develop.html +++ b/docs/guide/develop.html @@ -1,9 +1,9 @@ - 学之思教程 - - + 学之思教程 + +

# 开发说明

  • redis 安装
  • 进群获取到数据库脚本,创建表初始化数据,数据库名称为xzs
  • 代码分为 mysql版本,配合相应的数据库使用
  • 安装mysql ,导入xzs-mysql.sql脚本。
  • 学生端默认账号:student / 123456
  • 管理端默认账号:admin / 123456

# 后端开发

  • /uexam/source/xzs为后台代码,建议使用IntelliJ IDEA打开
  • 打开application-dev.yml文件中,配置好mysql、redis的服务地址
  • 去七牛云官网申请好对象存储账号,修改application.yml中的qn相关的配置,七牛云主要用于文件存储。
  • 启动后台程序,默认端口为8000。
  • 学生系统地址:http://ip:8000/studentopen in new window
  • 管理端地址:http://ip:8000/adminopen in new window

# 前端开发

  • 前端使用webstorm或者vscode,分别打开文件夹打开源代码\source\vue\xzs-student和source\vue\xzs-admin
  • 执行下面2个命令,安装node_module:
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
@@ -11,6 +11,6 @@ npm install --registry https://registry.npm.taobao.org
 
1
2
  • 执行下面命令,启动前端代码
npm run serve
 
1
  • 打包命名
npm run build
 
1

# 微信小程序开发

  • 去腾讯小程序官网注册账号,拿到appid和secret信息
  • 下载好微信小程序开发工具
  • 打开工具,导入代码 \source\wx\xzs-student
  • 修改application.yml文件里的wx配置下面的appid和secret
  • 启动小程序开发工具
Last Updated: 2021-6-22 16:51:30
Contributors: mindskip
- + diff --git a/docs/guide/feature.html b/docs/guide/feature.html index f3166bc1..5cad9494 100644 --- a/docs/guide/feature.html +++ b/docs/guide/feature.html @@ -1,12 +1,12 @@ - 学之思教程 - - + 学之思教程 + +

# 学生系统功能

  • 登录、注册: 注册时要选年级,过滤不同年级的试卷, 账号为:student/123456
  • 首页: 任务中心、固定试卷、时段试卷、试卷可以重复做
  • 试卷中心: 包含了所有能做的试卷,按学科来过滤和分页
  • 考试记录: 所有的试卷考试记录在此处分页,可以查看试卷结果、用时、得分、自行批改等
  • 错题本: 所有做错的题目,可以看到做题的结果、分数、难度、解析、正确答案等
  • 个人中心: 个人日志记录
  • 消息: 消息通知
  • 试卷答题和试卷查看: 展示出题目的基本信息和需要填写的内容

# 管理系统功能

  • 登录: 账号为: admin/123456
  • 主页: 包含了试卷、题目、做卷数、做题数、用户活跃度的统计功能,活跃度和做题数是按月统计
  • 用户管理: 对不同角色 学生、管理员 的增删改查管理功能
  • 卷题管理:
    1. 试卷列表:试卷的增删改查,新增包含选择学科、试卷类型、试卷名称、考试时间,试卷内容包含添加大标题,然后添加题目到此试卷中,组成一套完整的试卷
    2. 题目列表:题目的增删改查,目前题型包含单选题、多选题、判断题、填空题、简单题,支持图片、公式等。
  • 任务管理:对任务进行修改
  • 教育管理:对不同年级的学科进行增删改查
  • 答卷管理:查看学生成绩
  • 消息中心:可以对多个用户进行消息发送
  • 日志中心:用户的基本操作进行日志记录,了解用户使用过情况

# 小程序功能

  • 用户登录登出功能,登录会自动绑定微信账号,登出会解绑
  • 首页包含任务中心、固定试卷、时段试卷,和web端保持一致
  • 试卷模块,固定试卷和时段试卷的分页查询,下拉加载更多,上拉刷新当前数据
  • 记录模块,考试结果的分页,包含了试卷基本信息
  • 我的模块,包含个人资料的修改,个人动态,消息中心模块
Last Updated: 2021-6-22 16:42:32
Contributors: mindskip
- + diff --git a/docs/guide/skill.html b/docs/guide/skill.html index fde0bc32..b1cad3bd 100644 --- a/docs/guide/skill.html +++ b/docs/guide/skill.html @@ -1,12 +1,12 @@ - 学之思教程 - - + 学之思教程 + + -

# 运行环境

环境版本
操作系统Windows / Linux
Jdk1.8
Redis6.0
Mysql8.0

# 后台系统

  • spring-boot 2.1.6.RELEASE
  • spring-boot-security 用户登录验证
  • undertow web容器
  • mysql 最流行的开源数据库
  • redis 缓存,提升系统性能
  • mybatis 数据库中间件
  • hikari 速度最快的数据库连接池
  • 七牛云存储 分布式文件存储中心

# 前台系统

  • vue 采用新版,使用了vue-cli4搭建的系统,减少大量配置文件
  • element-ui 最流行的vue UI框架
  • vue-element-admin 深度定制版
  • echarts 图表统计
  • ueditor 深度定制版

# 微信小程序

  • iView 主题样式

# 架构图

架构图

Last Updated: 2021-6-22 16:42:32
Contributors: mindskip
- +

# 运行环境

环境版本
操作系统Windows / Linux
Jdk1.8
Redis6.0
Mysql8.0

# 后台系统

  • spring-boot 2.1.6.RELEASE
  • spring-boot-security 用户登录验证
  • undertow web容器
  • mysql 最流行的开源数据库
  • redis 缓存,提升系统性能
  • mybatis 数据库中间件
  • hikari 速度最快的数据库连接池
  • 七牛云存储 分布式文件存储中心

# 前台系统

  • vue 采用新版,使用了vue-cli4搭建的系统,减少大量配置文件
  • element-ui 最流行的vue UI框架
  • vue-element-admin 深度定制版
  • echarts 图表统计
  • ueditor 深度定制版

# 微信小程序

  • iView 主题样式

# 架构图

架构图

Last Updated: 2021-6-24 8:47:42
Contributors: mindskip
+ diff --git a/docs/guide/student.html b/docs/guide/student.html index 364d4814..5c3e516b 100644 --- a/docs/guide/student.html +++ b/docs/guide/student.html @@ -1,9 +1,9 @@ - 学之思教程 - - + 学之思教程 + + - + diff --git a/docs/guide/video.html b/docs/guide/video.html index adf90a21..7c2b9cec 100644 --- a/docs/guide/video.html +++ b/docs/guide/video.html @@ -1,9 +1,9 @@ - 学之思教程 - - + 学之思教程 + +

# 第一部分:基础软件安装

    VC_redist.x64 :  Redis数据库依赖、mysql依赖,先安装这个
@@ -24,6 +24,6 @@
 
1

# 第六部分:CentOS系统部署

  • 下载好xshell和xftp,这个工具用于连接centos服务器的
  • 可在群文件中找到Xftp-7.0.0063p 和 Xshell-7.0.0065p ,直接安装
  • 打开xshell , 连接准备好的centos服务器
  • 服务器中要安装好 redis、mysql 8 、jdk 1.8、nginx , 可以自行搜索教程进行安装
  • 安装好后,我们检测下是否都在运行
  • 创建数据库xzs、导入xzs-mysql.sql脚本
  • 登录mysql,执行导入命令:
    mysql -u root -p -D xzs < /usr/local/xzs/sql/xzs-mysql.sql
 
1
  • 数据导入成功后,可以登录mysql数据库,检查一下是否成功
  • 打包jar文件,注意修改配置文件application-prod.yml ,正式环境用的这个文件,这里里面的数据库连接地址和账号等,由于都是服务器本地的,都用localhost即可
  • 上传jar包到服务器中
  • 启动学之思后端程序
    nohup java -Duser.timezone=Asia/Shanghai -jar -Dspring.profiles.active=prod  xzs-3.3.0.jar  > start1.log  2>&1 &
 
1

# 第七部分:使用手册

Last Updated: 2021-6-22 16:42:32
Contributors: mindskip
- + diff --git a/docs/guide/wx.html b/docs/guide/wx.html index 933eb7e6..42302c05 100644 --- a/docs/guide/wx.html +++ b/docs/guide/wx.html @@ -1,9 +1,9 @@ - 学之思教程 - - + 学之思教程 + + - + diff --git a/docs/index.html b/docs/index.html index e8a10342..4de05669 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,12 +1,12 @@ - 学之思教程 - - + 学之思教程 + +

# 项目介绍

学之思开源考试系统是一款 java + vue 的前后端分离的考试系统。主要优点是开发、部署简单快捷、界面设计友好、代码结构清晰。支持web端和微信小程序,能覆盖到pc机和手机等设备。 支持多种部署方式:集成部署、前后端分离部署、docker部署。

  • 码云最有价值开源项目
  • 累计star数超过 7000+
  • 开源在线考试系统排行首位
  • 交流人数超过 5000+

# 使用须知

开源协议: AGPL-3.0

# 仓库地址

gitee - postgresql :https://gitee.com/mindskip/uexamopen in new window

gitee - mysql :https://gitee.com/mindskip/xzs-mysqlopen in new window

github - postgresql :https://github.com/mindskip/xzsopen in new window

github - mysql :https://github.com/mindskip/xzs-mysqlopen in new window

# QQ交流群

  • 开源交流群⑪:626073476
  • 开源交流群⑩:575732100 (满)
  • 开源交流群⑨:604864648 (满)
  • 开源交流群⑧:902855996 (满)
  • 开源交流群⑦:873533715 (满)
  • 开源交流群⑥:593529956 (满)
  • 开源交流群⑤:1074095891 (满)
  • 开源交流群④:1039666905 (满)
  • 开源交流群③:670546875 (满)
  • 开源交流群②:947654489 (满)
  • 开源交流群①:530136203 (满)
Last Updated: 2021-6-22 16:42:32
Contributors: mindskip
- +