diff --git a/docs/404.html b/docs/404.html index 722f3a04142b3e926f9b585dbdbbb52a53235bd8..1d2dfb990bf0cba91d21c93fdb3bc808ad757ddb 100644 --- a/docs/404.html +++ b/docs/404.html @@ -5,11 +5,11 @@ 学之思教程 - - + + -

404

There's nothing here.
Take me home
- +

404

How did we get here?
Take me home
+ diff --git a/docs/assets/css/styles.a6d1121d.css b/docs/assets/css/styles.7ee0b353.css similarity index 98% rename from docs/assets/css/styles.a6d1121d.css rename to docs/assets/css/styles.7ee0b353.css index f8d99bf92b7b804eff335c9f1aee6d3c516e4642..ba41402c20504bb388495bc0e78c48cf750b183e 100644 --- a/docs/assets/css/styles.a6d1121d.css +++ b/docs/assets/css/styles.7ee0b353.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(/uexam/assets/img/back-to-top.8b37f773.svg) no-repeat;mask:url(/uexam/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.c237c8f5.js b/docs/assets/js/app.dc99f44b.js similarity index 97% rename from docs/assets/js/app.c237c8f5.js rename to docs/assets/js/app.dc99f44b.js index 91955b2304b24593ac816665ad0512a223a0a1e1..93e1cccc695b34e98fe0ff729c937f685ec3bbdf 100644 --- a/docs/assets/js/app.c237c8f5.js +++ b/docs/assets/js/app.dc99f44b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkxzs_docs=self.webpackChunkxzs_docs||[]).push([[143],{3131:(e,d,t)=>{t.d(d,{g:()=>h});var n=t(2009),a=t(6971),i=t(1598);const h=[n.Z,a.Z,i.Z]},9947:(e,d,t)=>{t.d(d,{p:()=>n});const n=[t(3051).Z]},4611:(e,d,t)=>{t.d(d,{l:()=>h});var n=t(8866),a=t(1263),i=t(6243);const h=[n.Z,a.Z,i.Z]},4150:(e,d,t)=>{t.d(d,{Z:()=>a});var n=t(6252);const a={404:(0,n.RC)((()=>t.e(491).then(t.bind(t,8491)))),Layout:(0,n.RC)((()=>t.e(293).then(t.bind(t,3293))))}},6056:(e,d,t)=>{t.d(d,{b:()=>a});var n=t(6252);const a={"v-8daa1a0e":(0,n.RC)((()=>t.e(509).then(t.bind(t,9611)))),"v-55bcf8d6":(0,n.RC)((()=>t.e(725).then(t.bind(t,4435)))),"v-7dc58ad2":(0,n.RC)((()=>t.e(349).then(t.bind(t,9953)))),"v-8a14f834":(0,n.RC)((()=>t.e(810).then(t.bind(t,3682)))),"v-745beb88":(0,n.RC)((()=>t.e(803).then(t.bind(t,7541)))),"v-5c93668f":(0,n.RC)((()=>t.e(924).then(t.bind(t,9113)))),"v-e6eb79d8":(0,n.RC)((()=>t.e(979).then(t.bind(t,694)))),"v-1362226a":(0,n.RC)((()=>t.e(909).then(t.bind(t,7967)))),"v-676a79ac":(0,n.RC)((()=>t.e(257).then(t.bind(t,7682)))),"v-45a87c2c":(0,n.RC)((()=>t.e(71).then(t.bind(t,2609)))),"v-3706649a":(0,n.RC)((()=>t.e(88).then(t.bind(t,8109))))}},9706:(e,d,t)=>{t.d(d,{T:()=>n});const n={"v-8daa1a0e":()=>t.e(509).then(t.bind(t,6464)).then((({data:e})=>e)),"v-55bcf8d6":()=>t.e(725).then(t.bind(t,927)).then((({data:e})=>e)),"v-7dc58ad2":()=>t.e(349).then(t.bind(t,8103)).then((({data:e})=>e)),"v-8a14f834":()=>t.e(810).then(t.bind(t,5737)).then((({data:e})=>e)),"v-745beb88":()=>t.e(803).then(t.bind(t,9252)).then((({data:e})=>e)),"v-5c93668f":()=>t.e(924).then(t.bind(t,4158)).then((({data:e})=>e)),"v-e6eb79d8":()=>t.e(979).then(t.bind(t,6339)).then((({data:e})=>e)),"v-1362226a":()=>t.e(909).then(t.bind(t,5785)).then((({data:e})=>e)),"v-676a79ac":()=>t.e(257).then(t.bind(t,9326)).then((({data:e})=>e)),"v-45a87c2c":()=>t.e(71).then(t.bind(t,8992)).then((({data:e})=>e)),"v-3706649a":()=>t.e(88).then(t.bind(t,1801)).then((({data:e})=>e))}},4634:(e,d,t)=>{t.d(d,{g:()=>a});var n=t(4802);const a=[["v-8daa1a0e","/","",["/index.html","/README.md"]],["v-55bcf8d6","/guide/admin.html","4.3 管理端",["/guide/admin","/guide/admin.md"]],["v-7dc58ad2","/guide/database.html","3. 数据库设计",["/guide/database","/guide/database.md"]],["v-8a14f834","/guide/deploy.html","6. 项目部署",["/guide/deploy","/guide/deploy.md"]],["v-745beb88","/guide/develop.html","5. 项目开发",["/guide/develop","/guide/develop.md"]],["v-5c93668f","/guide/feature.html","1. 功能列表",["/guide/feature","/guide/feature.md"]],["v-e6eb79d8","/guide/skill.html","2. 技术栈",["/guide/skill","/guide/skill.md"]],["v-1362226a","/guide/student.html","4.1 学生端",["/guide/student","/guide/student.md"]],["v-676a79ac","/guide/video.html","7. 视频教程",["/guide/video","/guide/video.md"]],["v-45a87c2c","/guide/wx.html","4.2 小程序",["/guide/wx","/guide/wx.md"]],["v-3706649a","/404.html","",["/404"]]].reduce(((e,[d,t,a,i])=>(e.push({name:d,path:t,component:n.Y,meta:{title:a}},...i.map((e=>({path:e,redirect:t})))),e)),[{name:"404",path:"/:catchAll(.*)",component:n.Y}])},5220:(e,d,t)=>{t.d(d,{H:()=>n});const n={base:"/uexam/",lang:"zh-CN",title:"学之思教程",description:"学之思开发部署教程",head:[["link",{rel:"icon",href:"https://www.mindskip.net/style/images/favicon.png"}]],locales:{}}},2232:(e,d,t)=>{t.d(d,{f:()=>n});const n={logo:"/images/logo/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/xzs.html"},{text:"商业购买",link:"https://www.mindskip.net/buy.html"}],sidebar:["/guide/feature.md","/guide/skill.md","/guide/database.md",{text:"4. 接口文档",children:["/guide/student.md","/guide/wx.md","/guide/admin.md"]},"/guide/develop.md","/guide/deploy.md","/guide/video.md"],lastUpdatedText:"上次更新",contributors:!1,locales:{"/":{selectLanguageName:"English"}},darkMode:!0,repo:null,selectLanguageText:"Languages",selectLanguageAriaLabel:"Select language",sidebarDepth:2,editLink:!0,editLinkText:"Edit this page",lastUpdated:!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",toggleDarkMode:"toggle dark mode",toggleSidebar:"toggle sidebar"}}},e=>{e.O(0,[460,812],(()=>(5698,e(e.s=5698)))),e.O()}]); \ No newline at end of file +"use strict";(self.webpackChunkxzs_docs=self.webpackChunkxzs_docs||[]).push([[143],{3131:(e,d,t)=>{t.d(d,{g:()=>h});var n=t(2009),a=t(6971),i=t(1598);const h=[n.Z,a.Z,i.Z]},9947:(e,d,t)=>{t.d(d,{p:()=>n});const n=[t(3051).Z]},4611:(e,d,t)=>{t.d(d,{l:()=>h});var n=t(8866),a=t(1263),i=t(6243);const h=[n.Z,a.Z,i.Z]},4150:(e,d,t)=>{t.d(d,{Z:()=>a});var n=t(6252);const a={404:(0,n.RC)((()=>t.e(491).then(t.bind(t,8491)))),Layout:(0,n.RC)((()=>t.e(293).then(t.bind(t,3293))))}},6056:(e,d,t)=>{t.d(d,{b:()=>a});var n=t(6252);const a={"v-8daa1a0e":(0,n.RC)((()=>t.e(509).then(t.bind(t,9611)))),"v-55bcf8d6":(0,n.RC)((()=>t.e(725).then(t.bind(t,4435)))),"v-7dc58ad2":(0,n.RC)((()=>t.e(349).then(t.bind(t,9953)))),"v-8a14f834":(0,n.RC)((()=>t.e(810).then(t.bind(t,3682)))),"v-745beb88":(0,n.RC)((()=>t.e(803).then(t.bind(t,3589)))),"v-5c93668f":(0,n.RC)((()=>t.e(924).then(t.bind(t,9113)))),"v-e6eb79d8":(0,n.RC)((()=>t.e(979).then(t.bind(t,694)))),"v-1362226a":(0,n.RC)((()=>t.e(909).then(t.bind(t,7967)))),"v-676a79ac":(0,n.RC)((()=>t.e(257).then(t.bind(t,7682)))),"v-45a87c2c":(0,n.RC)((()=>t.e(71).then(t.bind(t,2609)))),"v-3706649a":(0,n.RC)((()=>t.e(88).then(t.bind(t,8109))))}},9706:(e,d,t)=>{t.d(d,{T:()=>n});const n={"v-8daa1a0e":()=>t.e(509).then(t.bind(t,6464)).then((({data:e})=>e)),"v-55bcf8d6":()=>t.e(725).then(t.bind(t,927)).then((({data:e})=>e)),"v-7dc58ad2":()=>t.e(349).then(t.bind(t,8103)).then((({data:e})=>e)),"v-8a14f834":()=>t.e(810).then(t.bind(t,5737)).then((({data:e})=>e)),"v-745beb88":()=>t.e(803).then(t.bind(t,9252)).then((({data:e})=>e)),"v-5c93668f":()=>t.e(924).then(t.bind(t,4158)).then((({data:e})=>e)),"v-e6eb79d8":()=>t.e(979).then(t.bind(t,6339)).then((({data:e})=>e)),"v-1362226a":()=>t.e(909).then(t.bind(t,5785)).then((({data:e})=>e)),"v-676a79ac":()=>t.e(257).then(t.bind(t,9326)).then((({data:e})=>e)),"v-45a87c2c":()=>t.e(71).then(t.bind(t,8992)).then((({data:e})=>e)),"v-3706649a":()=>t.e(88).then(t.bind(t,1801)).then((({data:e})=>e))}},4634:(e,d,t)=>{t.d(d,{g:()=>a});var n=t(4802);const a=[["v-8daa1a0e","/","",["/index.html","/README.md"]],["v-55bcf8d6","/guide/admin.html","4.3 管理端",["/guide/admin","/guide/admin.md"]],["v-7dc58ad2","/guide/database.html","3. 数据库设计",["/guide/database","/guide/database.md"]],["v-8a14f834","/guide/deploy.html","6. 项目部署",["/guide/deploy","/guide/deploy.md"]],["v-745beb88","/guide/develop.html","5. 项目开发",["/guide/develop","/guide/develop.md"]],["v-5c93668f","/guide/feature.html","1. 功能列表",["/guide/feature","/guide/feature.md"]],["v-e6eb79d8","/guide/skill.html","2. 技术栈",["/guide/skill","/guide/skill.md"]],["v-1362226a","/guide/student.html","4.1 学生端",["/guide/student","/guide/student.md"]],["v-676a79ac","/guide/video.html","7. 视频教程",["/guide/video","/guide/video.md"]],["v-45a87c2c","/guide/wx.html","4.2 小程序",["/guide/wx","/guide/wx.md"]],["v-3706649a","/404.html","",["/404"]]].reduce(((e,[d,t,a,i])=>(e.push({name:d,path:t,component:n.Y,meta:{title:a}},...i.map((e=>({path:e,redirect:t})))),e)),[{name:"404",path:"/:catchAll(.*)",component:n.Y}])},5220:(e,d,t)=>{t.d(d,{H:()=>n});const n={base:"/uexam/",lang:"zh-CN",title:"学之思教程",description:"学之思开发部署教程",head:[["link",{rel:"icon",href:"https://www.mindskip.net/style/images/favicon.png"}]],locales:{}}},2232:(e,d,t)=>{t.d(d,{f:()=>n});const n={logo:"/images/logo/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/xzs.html"},{text:"商业购买",link:"https://www.mindskip.net/buy.html"}],sidebar:["/guide/feature.md","/guide/skill.md","/guide/database.md",{text:"4. 接口文档",children:["/guide/student.md","/guide/wx.md","/guide/admin.md"]},"/guide/develop.md","/guide/deploy.md","/guide/video.md"],lastUpdatedText:"上次更新",contributors:!1,locales:{"/":{selectLanguageName:"English"}},darkMode:!0,repo:null,selectLanguageText:"Languages",selectLanguageAriaLabel:"Select language",sidebarDepth:2,editLink:!0,editLinkText:"Edit this page",lastUpdated:!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",toggleDarkMode:"toggle dark mode",toggleSidebar:"toggle sidebar"}}},e=>{e.O(0,[460,812],(()=>(5698,e(e.s=5698)))),e.O()}]); \ No newline at end of file diff --git a/docs/assets/js/runtime~app.655607a6.js b/docs/assets/js/runtime~app.180ec00a.js similarity index 65% rename from docs/assets/js/runtime~app.655607a6.js rename to docs/assets/js/runtime~app.180ec00a.js index d006e47a46ef321e6eb7f9f4ebd3785377a7444d..bd4bab3f993768d126067829ccec5c4e85670afc 100644 --- a/docs/assets/js/runtime~app.655607a6.js +++ b/docs/assets/js/runtime~app.180ec00a.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(l=0;l=o)&&Object.keys(n.O).every((e=>n.O[e](t[d])))?t.splice(d--,1):(i=!1,o0&&e[l-1][2]>o;l--)e[l]=e[l-1];e[l]=[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"}[e]||e)+"."+{71:"b9f89032",88:"2bdbb06f",257:"a4bfd681",293:"24c27e10",349:"cf3ad711",491:"b5368a87",509:"f0cecf1b",725:"b94b305f",803:"002e8de3",810:"237a5f92",909:"d4fbc9c2",924:"64c13b85",979:"c4e9b208"}[e]+".js",n.miniCssF=e=>"assets/css/styles.a6d1121d.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 i,d;if(void 0!==o)for(var c=document.getElementsByTagName("script"),l=0;l{i.onerror=i.onload=null,clearTimeout(v);var o=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(a))),t)return t(a)},v=setTimeout(u.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=u.bind(null,i.onerror),i.onload=u.bind(null,i.onload),d&&document.head.appendChild(i)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="/uexam/",(()=>{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),i=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;i.message="Loading chunk "+r+" failed.\n("+o+": "+s+")",i.name="ChunkLoadError",i.type=o,i.request=s,a[1](i)}}),"chunk-"+r,r)}},n.O.j=r=>0===e[r];var r=(r,t)=>{var a,o,[s,i,d]=t,c=0;if(s.some((r=>0!==e[r]))){for(a in i)n.o(i,a)&&(n.m[a]=i[a]);if(d)var l=d(n)}for(r&&r(t);c{"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(l=0;l=o)&&Object.keys(n.O).every((e=>n.O[e](t[c])))?t.splice(c--,1):(i=!1,o0&&e[l-1][2]>o;l--)e[l]=e[l-1];e[l]=[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"}[e]||e)+"."+{71:"b9f89032",88:"2bdbb06f",257:"a4bfd681",293:"24c27e10",349:"cf3ad711",491:"b5368a87",509:"f0cecf1b",725:"b94b305f",803:"4bef686f",810:"237a5f92",909:"d4fbc9c2",924:"64c13b85",979:"c4e9b208"}[e]+".js",n.miniCssF=e=>"assets/css/styles.7ee0b353.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 i,c;if(void 0!==o)for(var d=document.getElementsByTagName("script"),l=0;l{i.onerror=i.onload=null,clearTimeout(b);var o=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(a))),t)return t(a)},b=setTimeout(u.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=u.bind(null,i.onerror),i.onload=u.bind(null,i.onload),c&&document.head.appendChild(i)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="/uexam/",(()=>{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),i=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;i.message="Loading chunk "+r+" failed.\n("+o+": "+s+")",i.name="ChunkLoadError",i.type=o,i.request=s,a[1](i)}}),"chunk-"+r,r)}},n.O.j=r=>0===e[r];var r=(r,t)=>{var a,o,[s,i,c]=t,d=0;if(s.some((r=>0!==e[r]))){for(a in i)n.o(i,a)&&(n.m[a]=i[a]);if(c)var l=c(n)}for(r&&r(t);d{e.r(s),e.d(s,{data:()=>a});const a={key:"v-745beb88",path:"/guide/develop.html",title:"5. 项目开发",lang:"zh-CN",frontmatter:{},excerpt:"",headers:[{level:3,title:"5.1 开发说明",slug:"_5-1-开发说明",children:[]},{level:3,title:"5.2 后端开发",slug:"_5-2-后端开发",children:[]},{level:3,title:"5.3 前端开发",slug:"_5-3-前端开发",children:[]},{level:3,title:"5.4 小程序开发",slug:"_5-4-小程序开发",children:[]},{level:3,title:"5.5 代码结构简介",slug:"_5-5-代码结构简介",children:[]}],filePathRelative:"guide/develop.md",git:{updatedTime:1637889173e3}}},7541:(n,s,e)=>{e.r(s),e.d(s,{default:()=>v});var a=e(6252);const l=(0,a.uE)('

5. 项目开发

5.1 开发说明

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

5.2 后端开发

',4),r=(0,a._)("li",null,"/uexam/source/xzs为后台代码,建议使用IntelliJ IDEA打开",-1),i=(0,a._)("li",null,"打开application-dev.yml文件中,配置好postgesql的服务地址",-1),p=(0,a._)("li",null,"去七牛云官网申请好对象存储账号,修改application.yml中的qn相关的配置,七牛云主要用于文件存储。",-1),u=(0,a._)("li",null,"启动后台程序,默认端口为8000。",-1),b=(0,a.Uk)("学生系统地址:"),c={href:"http://ip:8000/student",target:"_blank",rel:"noopener noreferrer"},t=(0,a.Uk)("http://ip:8000/student"),d=(0,a.Uk)("管理端地址:"),m={href:"http://ip:8000/admin",target:"_blank",rel:"noopener noreferrer"},o=(0,a.Uk)("http://ip:8000/admin"),h=(0,a.uE)('

5.3 前端开发

  • 前端使用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/\nnpm install --registry https://registry.npm.taobao.org  \n
1
2
  • 执行下面命令,启动前端代码
npm run serve\n
1
  • 打包命名
npm run build\n
1

5.4 小程序开发

  • 去腾讯小程序官网注册账号,拿到appid和secret信息
  • 下载好微信小程序开发工具
  • 打开工具,导入代码 \\source\\wx\\xzs-student
  • 修改application.yml文件里的wx配置下面的appid和secret
  • 启动小程序开发工具

5.5 代码结构简介

5.5.1 后端系统

- source 代码文件夹\n - xzs 后端代码\n  - src \n   - main\n    - java\n      - xzs\n       - base   项目基础类\n       - configuration   springboot的基础配置\n       - context   项目上下文\n       - controller\n        - admin   管理端控制器\n        - student   学生端控制器\n        - wechat   小程序控制器\n       - domain   领域对象\n       - event   事件驱动模型,配合监听器一起使用\n       - exception   业务异常\n       - listener   监听器,配合event使用\n       - repository   数据仓储,mybaties的映射Mapper\n       - service   服务\n        - impl   服务实现\n       - utility   工具类\n       - viewmodel   视图、接口类\n        - admin   管理端视图类\n        - student   学生端视图类\n        - wx   微信端视图类\n      - resources\n       - mapper   数据仓库的sql文件\n
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

5.5.2 学生端

- source 代码文件夹\n - vue 后端代码\n  - xzs-student  学生端代码\n   - public 公共文件、主页\n   - src 前端代码\n    - api 接口地址\n    - assets 图片资源\n    - components 公共组件\n     - BackToTop 返回顶部组件\n     - Pagination 分页组件\n     - SvgIcon 图标组件\n     - Ueditor 编辑器组件\n    - icons 图标库\n    - layout 母版页\n    - store 状态管理\n    - styles 主题样式\n    - utils 公共方法\n    - views 视图、系统页面\n
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

5.5.3 微信端

- source 代码文件夹\n - wx 微信端代码\n  - xzs-student  学生端代码\n   - assets 图片资源文件\n   - component 组件库\n    - iView 主题\n   - pages 小程序页面\n   - utils 公共方法\n   - wxs 页面公共方法\n
1
2
3
4
5
6
7
8
9

5.5.4 管理端

- source 代码文件夹\n - vue 后端代码\n  - xzs-admin  管理端代码\n   - public 公共文件、主页\n   - src 前端代码\n
1
2
3
4
5
',18),g={},v=(0,e(3744).Z)(g,[["render",function(n,s){const e=(0,a.up)("OutboundLink");return(0,a.wg)(),(0,a.iD)(a.HY,null,[l,(0,a._)("ul",null,[r,i,p,u,(0,a._)("li",null,[b,(0,a._)("a",c,[t,(0,a.Wm)(e)])]),(0,a._)("li",null,[d,(0,a._)("a",m,[o,(0,a.Wm)(e)])])]),h],64)}]])},3744:(n,s)=>{s.Z=(n,s)=>{for(const[e,a]of s)n[e]=a;return n}}}]); \ No newline at end of file +"use strict";(self.webpackChunkxzs_docs=self.webpackChunkxzs_docs||[]).push([[803],{9252:(n,s,e)=>{e.r(s),e.d(s,{data:()=>a});const a={key:"v-745beb88",path:"/guide/develop.html",title:"5. 项目开发",lang:"zh-CN",frontmatter:{},excerpt:"",headers:[{level:3,title:"5.1 开发说明",slug:"_5-1-开发说明",children:[]},{level:3,title:"5.2 后端开发",slug:"_5-2-后端开发",children:[]},{level:3,title:"5.3 前端开发",slug:"_5-3-前端开发",children:[]},{level:3,title:"5.4 小程序开发",slug:"_5-4-小程序开发",children:[]},{level:3,title:"5.5 代码结构简介",slug:"_5-5-代码结构简介",children:[]}],filePathRelative:"guide/develop.md",git:{updatedTime:1637889173e3}}},3589:(n,s,e)=>{e.r(s),e.d(s,{default:()=>v});var a=e(6252);const l=(0,a.uE)('

5. 项目开发

5.1 开发说明

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

5.2 后端开发

',4),r=(0,a._)("li",null,"/uexam/source/xzs为后台代码,建议使用IntelliJ IDEA打开",-1),i=(0,a._)("li",null,"打开application-dev.yml文件中,配置好postgesql的服务地址",-1),p=(0,a._)("li",null,"去七牛云官网申请好对象存储账号,修改application.yml中的qn相关的配置,七牛云主要用于文件存储。",-1),u=(0,a._)("li",null,"启动后台程序,默认端口为8000。",-1),b=(0,a.Uk)("学生系统地址:"),c={href:"http://ip:8000/student",target:"_blank",rel:"noopener noreferrer"},t=(0,a.Uk)("http://ip:8000/student"),d=(0,a.Uk)("管理端地址:"),m={href:"http://ip:8000/admin",target:"_blank",rel:"noopener noreferrer"},o=(0,a.Uk)("http://ip:8000/admin"),h=(0,a.uE)('

5.3 前端开发

  • 前端使用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/\nnpm install --registry https://registry.npm.taobao.org  \n
1
2
  • 执行下面命令,启动前端代码
npm run serve\n
1
  • 打包命名
npm run build\n
1

5.4 小程序开发

  • 去腾讯小程序官网注册账号,拿到appid和secret信息
  • 下载好微信小程序开发工具
  • 打开工具,导入代码 \\source\\wx\\xzs-student
  • 修改application.yml文件里的wx配置下面的appid和secret
  • 启动小程序开发工具

5.5 代码结构简介

5.5.1 后端系统

- source 代码文件夹\n - xzs 后端代码\n  - src \n   - main\n    - java\n      - xzs\n       - base   项目基础类\n       - configuration   springboot的基础配置\n       - context   项目上下文\n       - controller\n        - admin   管理端控制器\n        - student   学生端控制器\n        - wechat   小程序控制器\n       - domain   领域对象\n       - event   事件驱动模型,配合监听器一起使用\n       - exception   业务异常\n       - listener   监听器,配合event使用\n       - repository   数据仓储,mybaties的映射Mapper\n       - service   服务\n        - impl   服务实现\n       - utility   工具类\n       - viewmodel   视图、接口类\n        - admin   管理端视图类\n        - student   学生端视图类\n        - wx   微信端视图类\n      - resources\n       - mapper   数据仓库的sql文件\n
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

5.5.2 学生端

- source 代码文件夹\n - vue 后端代码\n  - xzs-student  学生端代码\n   - public 公共文件、主页\n   - src 前端代码\n    - api 接口地址\n    - assets 图片资源\n    - components 公共组件\n     - BackToTop 返回顶部组件\n     - Pagination 分页组件\n     - SvgIcon 图标组件\n     - Ueditor 编辑器组件\n    - icons 图标库\n    - layout 母版页\n    - store 状态管理\n    - styles 主题样式\n    - utils 公共方法\n    - views 视图、系统页面\n
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

5.5.3 微信端

- source 代码文件夹\n - wx 微信端代码\n  - xzs-student  学生端代码\n   - assets 图片资源文件\n   - component 组件库\n    - iView 主题\n   - pages 小程序页面\n   - utils 公共方法\n   - wxs 页面公共方法\n
1
2
3
4
5
6
7
8
9

5.5.4 管理端

- source 代码文件夹\n - vue 后端代码\n  - xzs-admin  管理端代码\n   - public 公共文件、主页\n   - src 前端代码\n    - api 接口地址\n    - assets 图片资源\n
1
2
3
4
5
6
7
',18),g={},v=(0,e(3744).Z)(g,[["render",function(n,s){const e=(0,a.up)("OutboundLink");return(0,a.wg)(),(0,a.iD)(a.HY,null,[l,(0,a._)("ul",null,[r,i,p,u,(0,a._)("li",null,[b,(0,a._)("a",c,[t,(0,a.Wm)(e)])]),(0,a._)("li",null,[d,(0,a._)("a",m,[o,(0,a.Wm)(e)])])]),h],64)}]])},3744:(n,s)=>{s.Z=(n,s)=>{for(const[e,a]of s)n[e]=a;return n}}}]); \ No newline at end of file diff --git a/docs/guide/admin.html b/docs/guide/admin.html index bc8722c8b2f78ff140a21ac34d6501bdec2ac733..61fba8b8f9e01e3baef9c64daa2246e31202125a 100644 --- a/docs/guide/admin.html +++ b/docs/guide/admin.html @@ -5,8 +5,8 @@ 4.3 管理端 | 学之思教程 - - + + - + diff --git a/docs/guide/database.html b/docs/guide/database.html index a3d9650ce636371ee34d608eb71acf01e330c628..28f23427788e925aeab51d890554ca3600d44cb2 100644 --- a/docs/guide/database.html +++ b/docs/guide/database.html @@ -5,11 +5,11 @@ 3. 数据库设计 | 学之思教程 - - + +

3. 数据库设计

3.1 试卷表

  • 表名: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

3.2 试卷答案表

  • 表名: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

3.3 试卷题目答案表

  • 表名: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

3.4 消息表

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

3.5 用户消息表

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

3.6 题目表

  • 表名: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

3.7 学科表

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

3.8 任务表

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

3.9 用户任务表

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

3.10 文本表

  • 表名:t_text_content
  • 字段注释:
字段名类型注释
idint
contenttext
create_timedatetime

3.11 用户表

  • 表名: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

3.12 用户日志表

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

3.13 用户Token表

  • 表名:t_user_token
  • 字段注释:
字段名类型注释
idint
tokenvarchar
user_idint用户Id
wx_open_idvarchar微信openId
create_timedatetime
end_timedatetime
user_namevarchar用户名
上次更新: 2021-7-13 16:34:07
- + diff --git a/docs/guide/deploy.html b/docs/guide/deploy.html index a80a32f5666ed90414094252aedbc196f2fa3d53..c56fe54c2f876b60cdd84387e7b8b7fff91c13b2 100644 --- a/docs/guide/deploy.html +++ b/docs/guide/deploy.html @@ -5,8 +5,8 @@ 6. 项目部署 | 学之思教程 - - + +

6. 项目部署

6.1 集成部署

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

6.3 docker部署

docker pull  registry.cn-hangzhou.aliyuncs.com/mindskip/xzs:v3.5.0
 docker run -d --name xzs --privileged -it  -d -p 8000:8000 -v /etc/localtime:/etc/localtime:ro  registry.cn-hangzhou.aliyuncs.com/mindskip/xzs:v3.5.0 /usr/sbin/init
 
1
2
上次更新: 2021-10-15 13:39:16
- + diff --git a/docs/guide/develop.html b/docs/guide/develop.html index 8bed05c7b84db204f8ada0910e52c0eefa28b28b..efc7792a240605d7381d640cb2e66d5fbeb735e3 100644 --- a/docs/guide/develop.html +++ b/docs/guide/develop.html @@ -5,8 +5,8 @@ 5. 项目开发 | 学之思教程 - - + +

5. 项目开发

5.1 开发说明

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

5.2 后端开发

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

5.3 前端开发

  • 前端使用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/
@@ -72,7 +72,9 @@ npm install --registry https://registry.npm.taobao.org
   - xzs-admin  管理端代码
    - public 公共文件、主页
    - src 前端代码
-
1
2
3
4
5
上次更新: 2021-11-26 9:12:53
- + - api 接口地址 + - assets 图片资源 +
1
2
3
4
5
6
7
上次更新: 2021-11-26 9:12:53
+ diff --git a/docs/guide/feature.html b/docs/guide/feature.html index a04b448eb06d5460c8426b853dda9f9fcecccd24..3419a3399ab9397c5e71cb50deac344576608c0c 100644 --- a/docs/guide/feature.html +++ b/docs/guide/feature.html @@ -5,11 +5,11 @@ 1. 功能列表 | 学之思教程 - - + +

1. 功能列表

1.1 学生系统功能

模块介绍
登录用户名、密码
注册年级、用户名、密码
任务中心管理员发布的年级任务,每个学生只能做一次
考试题干支持文本、图片、数学公式、表格等,学生答题支持:文本
固定试卷可重复练习、自行批改的试卷
时段试卷在时间限制内,可重复练习、自行批改的试卷
考试记录查看答卷记录和试卷信息
错题本答错题目会自动进入错题本,显示题目基本信息
个人信息显示学生个人资料
更新信息修改个人资料、头像
个人动态显示用户最近的个人动态
消息中心用于接收管理员发送的消息

1.2 管理系统功能

模块介绍
登录用户名、密码
主页试卷总数、题目总数、用户活跃度、题目月数量
学生列表显示系统所有的学生,新增、修改、删除、禁用
管理员列表显示系统所有的管理员,新增、修改、删除、禁用
学科列表学科查询、修改、删除
学科创编创建学科
试卷列表试卷查询、修改、删除
试卷创编创建的试卷为时段试卷、固定试卷、任务试卷
题目列表题目查询、修改、删除
题目创建题目支持单选题、多选题、判断题、填空题、简答题,题干支持文本、图片、表格、数学公式
任务列表任务查询、修改、删除
消息列表显示已发送的消息,消息已读人数等信息
消息发送发送消息给多个用户
用户日志显示所有用户日志
个人资料显示管理员用户名、真实姓名
时间线显示管理员创建时间
修改资料修改姓名、手机号

1.3 小程序功能

模块介绍
登录用户登录登出功能,登录会自动绑定微信账号,登出会解绑
注册年级、用户名、密码
任务中心管理员发布的年级任务,每个学生只能做一次
考试题干支持文本、图片、数学公式、表格等,学生答题支持:文本
固定试卷可重复练习、自行批改的试卷
时段试卷在时间限制内,可重复练习、自行批改的试卷
考试记录查看答卷记录和试卷信息
错题本答错题目会自动进入错题本,显示题目基本信息
个人信息显示学生个人资料
更新信息修改个人资料、头像
个人动态显示用户最近的个人动态
消息中心用于接收管理员发送的消息

展示图

上次更新: 2021-7-13 16:34:07
- + diff --git a/docs/guide/skill.html b/docs/guide/skill.html index de1bd6f3b96fd4fe416304800c18a3a2940fbaed..5f39eb67bf232bf68d37fbb64d884946d13911c0 100644 --- a/docs/guide/skill.html +++ b/docs/guide/skill.html @@ -5,11 +5,11 @@ 2. 技术栈 | 学之思教程 - - + +

2. 技术栈

2.1 运行环境

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

2.2 后端系统

  • spring-boot 2.1.6.RELEASE
  • spring-boot-security 用户登录验证
  • undertow web容器
  • postgresql 优秀的开源数据库
  • mybatis 数据库中间件
  • hikari 速度最快的数据库连接池
  • 七牛云存储 分布式文件存储中心

2.3 前端系统

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

2.4 微信小程序

  • iView 主题样式

2.5 架构图

架构图

上次更新: 2021-10-14 20:51:43
- + diff --git a/docs/guide/student.html b/docs/guide/student.html index 42e2b1418279ffd36d0053e714ac3b0537780f6c..1a119b983bc6aac29017e91df81676c0fa3f4c1c 100644 --- a/docs/guide/student.html +++ b/docs/guide/student.html @@ -5,8 +5,8 @@ 4.1 学生端 | 学之思教程 - - + + - + diff --git a/docs/guide/video.html b/docs/guide/video.html index ec05319553f28f95ae99be87e74aeb8f724b1580..8acb20e9c07a6d97d3687c59a40e96d424eb252c 100644 --- a/docs/guide/video.html +++ b/docs/guide/video.html @@ -5,8 +5,8 @@ 7. 视频教程 | 学之思教程 - - + +

7. 视频教程

7.1 基础软件安装

    ideaIU-2020.3.3 : java开发工具
@@ -22,6 +22,6 @@
 
1

7.6 CentOS系统部署

  • 下载好xshell和xftp,这个工具用于连接centos服务器的
  • 可在群文件中找到Xftp-7.0.0063p 和 Xshell-7.0.0065p ,直接安装
  • 打开xshell , 连接准备好的centos服务器
  • 服务器中要安装好 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.5.0.jar  > start1.log  2>&1 &
 
1

7.7 宝塔面板部署考试系统

7.8 使用手册

上次更新: 2021-10-15 13:39:16
- + diff --git a/docs/guide/wx.html b/docs/guide/wx.html index 086844f0d076b54dcac05a80f7859e5bc73f4dde..76ed09deedab75dc2192a48e42c70aaa607bdb37 100644 --- a/docs/guide/wx.html +++ b/docs/guide/wx.html @@ -5,8 +5,8 @@ 4.2 小程序 | 学之思教程 - - + + - + diff --git a/docs/index.html b/docs/index.html index 5b0c6883dba457801f8e26349a7b82c7677ecf2d..0086b15d7c54159c17d40b2f20de7b800d771992 100644 --- a/docs/index.html +++ b/docs/index.html @@ -5,11 +5,11 @@ 学之思教程 - - + +

项目介绍

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

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

使用须知

开源协议: AGPL-3.0

仓库地址

码云

GitHub

QQ交流群

  • 开源交流群⑭:249966898
  • 开源交流群⑬:629266246 (满)
  • 开源交流群⑫:490584561 (满)
  • 开源交流群⑪:626073476 (满)
  • 开源交流群⑩:575732100 (满)
  • 开源交流群⑨:604864648 (满)
  • 开源交流群⑧:902855996 (满)
  • 开源交流群⑦:873533715 (满)
  • 开源交流群⑥:593529956 (满)
  • 开源交流群⑤:1074095891 (满)
  • 开源交流群④:1039666905 (满)
  • 开源交流群③:670546875 (满)
  • 开源交流群②:947654489 (满)
  • 开源交流群①:530136203 (满)
上次更新: 2021-11-11 9:33:55
- +