diff --git a/docs/404.html b/docs/404.html index 0d7add20..46d4cb1a 100644 --- a/docs/404.html +++ b/docs/404.html @@ -2,11 +2,11 @@ 学之思教程 - + -

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/js/app.9607f13b.js b/docs/assets/js/app.76709ce4.js similarity index 98% rename from docs/assets/js/app.9607f13b.js rename to docs/assets/js/app.76709ce4.js index 40bb4a36..61302d62 100644 --- a/docs/assets/js/app.9607f13b.js +++ b/docs/assets/js/app.76709ce4.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,5566)))),"v-55bcf8d6":(0,n.RC)((()=>d.e(725).then(d.bind(d,1033)))),"v-7dc58ad2":(0,n.RC)((()=>d.e(349).then(d.bind(d,4394)))),"v-8a14f834":(0,n.RC)((()=>d.e(810).then(d.bind(d,4881)))),"v-745beb88":(0,n.RC)((()=>d.e(803).then(d.bind(d,3166)))),"v-5c93668f":(0,n.RC)((()=>d.e(924).then(d.bind(d,4571)))),"v-e6eb79d8":(0,n.RC)((()=>d.e(979).then(d.bind(d,9861)))),"v-1362226a":(0,n.RC)((()=>d.e(909).then(d.bind(d,4358)))),"v-676a79ac":(0,n.RC)((()=>d.e(257).then(d.bind(d,7250)))),"v-45a87c2c":(0,n.RC)((()=>d.e(71).then(d.bind(d,3498)))),"v-3706649a":(0,n.RC)((()=>d.e(88).then(d.bind(d,3881))))}},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-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","3. 管理端",["/guide/admin.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","1. 学生端",["/guide/student.md"]],["v-676a79ac","/guide/video.html","视频教程",["/guide/video.md"]],["v-45a87c2c","/guide/wx.html","2. 微信小程序端",["/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/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:["/guide/feature.md","/guide/skill.md","/guide/database.md",{text:"接口文档",children:["/guide/student.md","/guide/wx.md","/guide/admin.md"]},"/guide/develop.md","/guide/deploy.md","/guide/video.md"],lastUpdatedText:"上次更新",contributorsText:"贡献者",locales:{"/":{selectLanguageName:"English"}},darkMode:!0,repo:null,selectLanguageText:"Languages",selectLanguageAriaLabel:"Select language",sidebarDepth:2,editLink:!0,editLinkText:"Edit this page",lastUpdated:!0,contributors:!0,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,5566)))),"v-55bcf8d6":(0,n.RC)((()=>d.e(725).then(d.bind(d,1983)))),"v-7dc58ad2":(0,n.RC)((()=>d.e(349).then(d.bind(d,4394)))),"v-8a14f834":(0,n.RC)((()=>d.e(810).then(d.bind(d,4881)))),"v-745beb88":(0,n.RC)((()=>d.e(803).then(d.bind(d,3166)))),"v-5c93668f":(0,n.RC)((()=>d.e(924).then(d.bind(d,4571)))),"v-e6eb79d8":(0,n.RC)((()=>d.e(979).then(d.bind(d,9861)))),"v-1362226a":(0,n.RC)((()=>d.e(909).then(d.bind(d,4358)))),"v-676a79ac":(0,n.RC)((()=>d.e(257).then(d.bind(d,7250)))),"v-45a87c2c":(0,n.RC)((()=>d.e(71).then(d.bind(d,3498)))),"v-3706649a":(0,n.RC)((()=>d.e(88).then(d.bind(d,3881))))}},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-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","3. 管理端",["/guide/admin.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","1. 学生端",["/guide/student.md"]],["v-676a79ac","/guide/video.html","视频教程",["/guide/video.md"]],["v-45a87c2c","/guide/wx.html","2. 微信小程序端",["/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/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:["/guide/feature.md","/guide/skill.md","/guide/database.md",{text:"接口文档",children:["/guide/student.md","/guide/wx.md","/guide/admin.md"]},"/guide/develop.md","/guide/deploy.md","/guide/video.md"],lastUpdatedText:"上次更新",contributorsText:"贡献者",locales:{"/":{selectLanguageName:"English"}},darkMode:!0,repo:null,selectLanguageText:"Languages",selectLanguageAriaLabel:"Select language",sidebarDepth:2,editLink:!0,editLinkText:"Edit this page",lastUpdated:!0,contributors:!0,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.74737878.js b/docs/assets/js/runtime~app.87a115b8.js similarity index 97% rename from docs/assets/js/runtime~app.74737878.js rename to docs/assets/js/runtime~app.87a115b8.js index 48dfcd3e..5e3ae46a 100644 --- a/docs/assets/js/runtime~app.74737878.js +++ b/docs/assets/js/runtime~app.87a115b8.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:"89c6134e",88:"8ef6e9b7",257:"a6a44a08",349:"d7ddf68f",509:"a4c87ab3",616:"ea4b907e",725:"aa97c121",803:"d77e98d3",810:"9e4a6341",909:"563a901e",924:"e1a426b3",961:"da477989",979:"074288c2"}[e]+".js",n.miniCssF=e=>"assets/css/styles.85f03b71.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 l=document.getElementsByTagName("script"),c=0;c{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(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.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="/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),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,l=0;for(a in i)n.o(i,a)&&(n.m[a]=i[a]);if(d)var c=d(n);for(r&&r(t);l{"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:"89c6134e",88:"8ef6e9b7",257:"a6a44a08",349:"d7ddf68f",509:"a4c87ab3",616:"ea4b907e",725:"30523721",803:"d77e98d3",810:"9e4a6341",909:"563a901e",924:"e1a426b3",961:"da477989",979:"074288c2"}[e]+".js",n.miniCssF=e=>"assets/css/styles.85f03b71.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 l=document.getElementsByTagName("script"),c=0;c{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(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.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="/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),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,l=0;for(a in i)n.o(i,a)&&(n.m[a]=i[a]);if(d)var c=d(n);for(r&&r(t);l{"use strict";e.r(s),e.d(s,{data:()=>a});const a={key:"v-55bcf8d6",path:"/guide/admin.html",title:"3. 管理端",lang:"zh-CN",frontmatter:{},excerpt:"",headers:[{level:3,title:"3.1登录",slug:"_3-1登录",children:[]},{level:3,title:"3.2 首页",slug:"_3-2-首页",children:[]},{level:3,title:"3.3 学生列表",slug:"_3-3-学生列表",children:[]},{level:3,title:"3.4 学生编辑",slug:"_3-4-学生编辑",children:[]},{level:3,title:"3.5 学生删除",slug:"_3-5-学生删除",children:[]},{level:3,title:"3.5 用户状态修改",slug:"_3-5-用户状态修改",children:[]}],filePathRelative:"guide/admin.md",git:{updatedTime:1625133292e3,contributors:[{name:"mindskip",email:"mindskip@qq.com",commits:6}]}}},1983:(n,s,e)=>{"use strict";e.r(s),e.d(s,{default:()=>l});const a=(0,e(6252).uE)('

3. 管理端

3.1登录

  • 接口地址:/api/user/login
  • 请求参数:
{\n    "userName": "admin",  //用户名\n    "password": "",  //密码\n    "remember": false  //记住我\n}\n
1
2
3
4
5
  • 返回参数:
{\n    "code": 1,\n    "message": "成功",\n    "response": {\n        "id": null,\n        "userUuid": null,\n        "userName": "admin",  //用户名\n        "password": null,\n        "realName": null,\n        "age": null,\n        "sex": null,\n        "birthDay": null,\n        "userLevel": null,\n        "phone": null,\n        "role": null,\n        "status": null,\n        "imagePath": null,\n        "createTime": null,\n        "modifyTime": null,\n        "lastActiveTime": null,\n        "deleted": null,\n        "wxOpenId": null\n    }\n}\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

3.2 首页

  • 接口地址:/api/admin/dashboard/index
  • 请求参数:
\n
1
  • 返回参数:
 {\n    "examPaperCount": 2413,  //试卷总数\n    "questionCount": 1025,  //题目总数\n    "doExamPaperCount": 6148,  //总答卷数\n    "doQuestionCount": 23945,  //总题数\n    "mothDayUserActionValue": [  //活跃度\n        85\n    ],\n    "mothDayDoExamQuestionValue": [  //月做题数\n        22\n    ],\n    "mothDayText": [  //本月天数\n        "1"\n    ]\n}    \n
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

3.3 学生列表

  • 接口地址:/api/admin/user/page/list
  • 请求参数:
{\n    "userName": "",  //用户名\n    "role": 1,   //角色\n    "pageIndex": 1,  //页码\n    "pageSize": 10   //每页条数\n}\n
1
2
3
4
5
6
  • 返回参数:
{\n    "code": 1,\n    "message": "成功",\n    "response": {\n        "total": 81,  //总数\n        "list": [\n            {\n                "id": 100,     //用户id\n                "userUuid": "fd31ab62-c32f-433c-8dc4-c07e653d390a",  //用户uuid\n                "userName": "王",  //用户名\n                "realName": null,  //真实姓名\n                "age": null,  //年龄\n                "role": 1,  //角色\n                "sex": null,  //性别\n                "birthDay": "",  //出生日期          \n                "phone": null,   //手机号                 \n                "lastActiveTime": "2021-06-21 20:01:26",  //最后活动时间\n                "createTime": "2021-06-21 20:01:26",  //创建时间\n                "modifyTime": "2021-06-21 20:01:35",  //修改时间\n                "status": 1,  //状态\n                "userLevel": 1,  //年级\n                "imagePath": null   //头像\n            }\n        ]\n    }\n}\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

3.4 学生编辑

  • 接口地址:/api/admin/user/edit
  • 请求参数:
{\n    "id": null,\n    "userName": "testzz",  //用户名\n    "password": "123456",  //密码\n    "realName": "tesx",  //真实姓名\n    "role": 1,  //角色\n    "status": 1, //状态\n    "age": "", //年龄\n    "sex": "", //性别\n    "birthDay": null, //生日\n    "phone": null,  //手机号\n    "userLevel": 1  //年级\n}\n
1
2
3
4
5
6
7
8
9
10
11
12
13
  • 返回参数:
{\n    "code": 1,\n    "message": "成功",\n    "response": {\n        "id": 109,\n        "userUuid": "321dec89-0656-4736-ae4c-e2b07f4fcc67",  //用户id\n        "userName": "testzz", //用户名\n        "password": "" //密码\n        "realName": "tesx",  //真实姓名\n        "age": null, //年龄\n        "sex": null, //性别\n        "birthDay": null, //生日\n        "userLevel": 1, //年级\n        "phone": null, //手机号\n        "role": 1, //角色\n        "status": 1, //状态\n        "imagePath": null, //头像\n        "createTime": 1624538837259, //创建日期\n        "modifyTime": null, //修改时间\n        "lastActiveTime": 1624538837259, //最后活动时间\n        "deleted": false, //是否删除\n        "wxOpenId": null //微信openId\n    }\n}\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

3.5 学生删除

  • 接口地址:/api/admin/user/delete/3
  • 请求参数:
\n
1
  • 返回参数:
{\n    "code": 1,  //返回状态\n    "message": "成功", //返回消息\n    "response": null\n}\n
1
2
3
4
5

3.5 用户状态修改

  • 接口地址:/api/admin/user/changeStatus/1
  • 请求参数:
\n
1
  • 返回参数:
{\n    "code": 1,\n    "message": "成功",\n    "response": 2\n}\n
1
2
3
4
5
',31),l={render:function(n,s){return a}}}}]); \ No newline at end of file diff --git a/docs/assets/js/v-55bcf8d6.aa97c121.js b/docs/assets/js/v-55bcf8d6.aa97c121.js deleted file mode 100644 index 20dfcc44..00000000 --- a/docs/assets/js/v-55bcf8d6.aa97c121.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkxzs_docs=self.webpackChunkxzs_docs||[]).push([[725],{927:(n,s,e)=>{"use strict";e.r(s),e.d(s,{data:()=>a});const a={key:"v-55bcf8d6",path:"/guide/admin.html",title:"3. 管理端",lang:"zh-CN",frontmatter:{},excerpt:"",headers:[{level:3,title:"3.1登录",slug:"_3-1登录",children:[]},{level:3,title:"3.2 首页",slug:"_3-2-首页",children:[]},{level:3,title:"3.3 学生列表",slug:"_3-3-学生列表",children:[]},{level:3,title:"3.4 学生编辑",slug:"_3-4-学生编辑",children:[]},{level:3,title:"3.5 学生删除",slug:"_3-5-学生删除",children:[]}],filePathRelative:"guide/admin.md",git:{updatedTime:1624953053e3,contributors:[{name:"mindskip",email:"mindskip@qq.com",commits:5}]}}},1033:(n,s,e)=>{"use strict";e.r(s),e.d(s,{default:()=>u});const a=(0,e(6252).uE)('

3. 管理端

3.1登录

  • 接口地址:/api/user/login
  • 请求参数:
{\n    "userName": "admin",  //用户名\n    "password": "",  //密码\n    "remember": false  //记住我\n}\n
1
2
3
4
5
  • 返回参数:
{\n    "code": 1,\n    "message": "成功",\n    "response": {\n        "id": null,\n        "userUuid": null,\n        "userName": "admin",  //用户名\n        "password": null,\n        "realName": null,\n        "age": null,\n        "sex": null,\n        "birthDay": null,\n        "userLevel": null,\n        "phone": null,\n        "role": null,\n        "status": null,\n        "imagePath": null,\n        "createTime": null,\n        "modifyTime": null,\n        "lastActiveTime": null,\n        "deleted": null,\n        "wxOpenId": null\n    }\n}\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

3.2 首页

  • 接口地址:/api/admin/dashboard/index
  • 请求参数:
\n
1
  • 返回参数:
 {\n    "examPaperCount": 2413,  //试卷总数\n    "questionCount": 1025,  //题目总数\n    "doExamPaperCount": 6148,  //总答卷数\n    "doQuestionCount": 23945,  //总题数\n    "mothDayUserActionValue": [  //活跃度\n        85\n    ],\n    "mothDayDoExamQuestionValue": [  //月做题数\n        22\n    ],\n    "mothDayText": [  //本月天数\n        "1"\n    ]\n}    \n
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

3.3 学生列表

  • 接口地址:/api/admin/user/page/list
  • 请求参数:
{\n    "userName": "",  //用户名\n    "role": 1,   //角色\n    "pageIndex": 1,  //页码\n    "pageSize": 10   //每页条数\n}\n
1
2
3
4
5
6
  • 返回参数:
{\n    "code": 1,\n    "message": "成功",\n    "response": {\n        "total": 81,  //总数\n        "list": [\n            {\n                "id": 100,     //用户id\n                "userUuid": "fd31ab62-c32f-433c-8dc4-c07e653d390a",  //用户uuid\n                "userName": "王",  //用户名\n                "realName": null,  //真实姓名\n                "age": null,  //年龄\n                "role": 1,  //角色\n                "sex": null,  //性别\n                "birthDay": "",  //出生日期          \n                "phone": null,   //手机号                 \n                "lastActiveTime": "2021-06-21 20:01:26",  //最后活动时间\n                "createTime": "2021-06-21 20:01:26",  //创建时间\n                "modifyTime": "2021-06-21 20:01:35",  //修改时间\n                "status": 1,  //状态\n                "userLevel": 1,  //年级\n                "imagePath": null   //头像\n            }\n        ]\n    }\n}\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

3.4 学生编辑

  • 接口地址:/api/admin/user/edit
  • 请求参数:
{\n    "id": null,\n    "userName": "testzz",  //用户名\n    "password": "123456",  //密码\n    "realName": "tesx",  //真实姓名\n    "role": 1,  //角色\n    "status": 1, //状态\n    "age": "", //年龄\n    "sex": "", //性别\n    "birthDay": null, //生日\n    "phone": null,  //手机号\n    "userLevel": 1  //年级\n}\n
1
2
3
4
5
6
7
8
9
10
11
12
13
  • 返回参数:
{\n    "code": 1,\n    "message": "成功",\n    "response": {\n        "id": 109,\n        "userUuid": "321dec89-0656-4736-ae4c-e2b07f4fcc67",  //用户id\n        "userName": "testzz", //用户名\n        "password": "" //密码\n        "realName": "tesx",  //真实姓名\n        "age": null, //年龄\n        "sex": null, //性别\n        "birthDay": null, //生日\n        "userLevel": 1, //年级\n        "phone": null, //手机号\n        "role": 1, //角色\n        "status": 1, //状态\n        "imagePath": null, //头像\n        "createTime": 1624538837259, //创建日期\n        "modifyTime": null, //修改时间\n        "lastActiveTime": 1624538837259, //最后活动时间\n        "deleted": false, //是否删除\n        "wxOpenId": null //微信openId\n    }\n}\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

3.5 学生删除

  • 接口地址:/api/admin/user/delete/3
  • 请求参数:
\n
1
  • 返回参数:
{\n    "code": 1,  //返回状态\n    "message": "成功", //返回消息\n    "response": null\n}\n
1
2
3
4
5
',26),u={render:function(n,s){return a}}}}]); \ No newline at end of file diff --git a/docs/guide/admin.html b/docs/guide/admin.html index 9e9374e0..b74f36ee 100644 --- a/docs/guide/admin.html +++ b/docs/guide/admin.html @@ -2,11 +2,11 @@ 3. 管理端 | 学之思教程 - + -

3. 管理端

3.1登录

  • 接口地址:/api/user/login
  • 请求参数:

3.5 用户状态修改

  • 接口地址:/api/admin/user/changeStatus/1
  • 请求参数:

+
1
  • 返回参数:
{
+    "code": 1,
+    "message": "成功",
+    "response": 2
+}
+
1
2
3
4
5
上次更新: 2021-7-1 17:54:52
贡献者: mindskip
+ diff --git a/docs/guide/database.html b/docs/guide/database.html index 34ba6e9d..6eafd0f1 100644 --- a/docs/guide/database.html +++ b/docs/guide/database.html @@ -2,11 +2,11 @@ 数据库设计 | 学之思教程 - +

数据库设计

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

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. 试卷题目答案表

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

4. 消息表

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

5. 用户消息表

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

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

7. 学科表

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

8. 任务表

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

9. 用户任务表

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

10. 文本表

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

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

12. 用户日志表

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

13. 用户Token表

  • 表名:t_user_token
  • 字段注释:
字段名类型注释
idint
tokenvarchar
user_idint用户Id
wx_open_idvarchar微信openId
create_timedatetime
end_timedatetime
user_namevarchar用户名
上次更新: 2021-6-25 15:52:58
贡献者: mindskip
- + diff --git a/docs/guide/deploy.html b/docs/guide/deploy.html index b12a846f..6f9df29f 100644 --- a/docs/guide/deploy.html +++ b/docs/guide/deploy.html @@ -2,7 +2,7 @@ 项目部署 | 学之思教程 - + @@ -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
上次更新: 2021-6-24 22:57:11
贡献者: mindskip
- + diff --git a/docs/guide/develop.html b/docs/guide/develop.html index 8a2b27d7..239c837b 100644 --- a/docs/guide/develop.html +++ b/docs/guide/develop.html @@ -2,7 +2,7 @@ 项目开发 | 学之思教程 - + @@ -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
  • 启动小程序开发工具
上次更新: 2021-6-24 22:57:11
贡献者: mindskip
- + diff --git a/docs/guide/feature.html b/docs/guide/feature.html index 20fc6852..a9d6f455 100644 --- a/docs/guide/feature.html +++ b/docs/guide/feature.html @@ -2,11 +2,11 @@ 功能列表 | 学之思教程 - +

功能列表

学生系统功能

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

管理系统功能

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

小程序功能

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

上次更新: 2021-6-29 16:35:10
贡献者: mindskip
- + diff --git a/docs/guide/skill.html b/docs/guide/skill.html index e7ce89bc..8c9bab26 100644 --- a/docs/guide/skill.html +++ b/docs/guide/skill.html @@ -2,11 +2,11 @@ 技术栈 | 学之思教程 - +

技术栈

运行环境

环境版本
操作系统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 主题样式

架构图

架构图

上次更新: 2021-6-25 9:03:09
贡献者: mindskip
- + diff --git a/docs/guide/student.html b/docs/guide/student.html index b57effc7..82fa99a7 100644 --- a/docs/guide/student.html +++ b/docs/guide/student.html @@ -2,7 +2,7 @@ 1. 学生端 | 学之思教程 - + @@ -271,6 +271,6 @@ "response": null }
1
2
3
4
5
上次更新: 2021-6-25 15:52:58
贡献者: mindskip
- + diff --git a/docs/guide/video.html b/docs/guide/video.html index d68ef3c0..9a858072 100644 --- a/docs/guide/video.html +++ b/docs/guide/video.html @@ -2,7 +2,7 @@ 视频教程 | 学之思教程 - + @@ -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

第七部分:使用手册

上次更新: 2021-6-24 22:57:11
贡献者: mindskip
- + diff --git a/docs/guide/wx.html b/docs/guide/wx.html index 030eab10..e6785b40 100644 --- a/docs/guide/wx.html +++ b/docs/guide/wx.html @@ -2,7 +2,7 @@ 2. 微信小程序端 | 学之思教程 - + @@ -15,6 +15,6 @@ "response": "950efd96-ecd1-4482-9204-c54cd3325a8a" //登录Token }
1
2
3
4
5
上次更新: 2021-6-25 15:52:58
贡献者: mindskip
- + diff --git a/docs/index.html b/docs/index.html index 1e750bdf..dc4d15df 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2,11 +2,11 @@ 学之思教程 - +

项目介绍

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

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

使用须知

开源协议: AGPL-3.0

仓库地址

码云

GitHub

QQ交流群

  • 开源交流群⑪:626073476
  • 开源交流群⑩:575732100 (满)
  • 开源交流群⑨:604864648 (满)
  • 开源交流群⑧:902855996 (满)
  • 开源交流群⑦:873533715 (满)
  • 开源交流群⑥:593529956 (满)
  • 开源交流群⑤:1074095891 (满)
  • 开源交流群④:1039666905 (满)
  • 开源交流群③:670546875 (满)
  • 开源交流群②:947654489 (满)
  • 开源交流群①:530136203 (满)
上次更新: 2021-6-25 15:44:32
贡献者: mindskip
- +