mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-14 12:30:49 +08:00
add backup and admin dist
This commit is contained in:
4
admin/.gitignore
vendored
4
admin/.gitignore
vendored
@@ -1,5 +1,5 @@
|
||||
node_modules
|
||||
.DS_Store
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
*.local
|
||||
.env.development
|
||||
|
||||
1
admin/dist/assets/detail.9bd2ea97.css
vendored
Normal file
1
admin/dist/assets/detail.9bd2ea97.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.el-card[data-v-0a6d742e]{margin-bottom:20px}.table-base-info[data-v-0a6d742e]{width:100%;text-align:left}.table-base-info tr th[data-v-0a6d742e]{padding-bottom:10px}.table-base-info tr td[data-v-0a6d742e]{padding:10px 0}
|
||||
1
admin/dist/assets/detail.c0899ca3.js
vendored
Normal file
1
admin/dist/assets/detail.c0899ca3.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
admin/dist/assets/element-icons.a30f5b3b.ttf
vendored
Normal file
BIN
admin/dist/assets/element-icons.a30f5b3b.ttf
vendored
Normal file
Binary file not shown.
BIN
admin/dist/assets/element-icons.ab40a589.woff
vendored
Normal file
BIN
admin/dist/assets/element-icons.ab40a589.woff
vendored
Normal file
Binary file not shown.
1
admin/dist/assets/form.27cae3c8.js
vendored
Normal file
1
admin/dist/assets/form.27cae3c8.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{o as n,c as o}from"./index.ad419675.js";const r={};r.render=function(r,e){return n(),o("div",null,"Agent Allow Form")};export default r;
|
||||
1
admin/dist/assets/form.89516d6b.js
vendored
Normal file
1
admin/dist/assets/form.89516d6b.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
var e=Object.defineProperty,a=Object.prototype.hasOwnProperty,r=Object.getOwnPropertySymbols,l=Object.prototype.propertyIsEnumerable,o=(a,r,l)=>r in a?e(a,r,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[r]=l,t=(e,t)=>{for(var s in t||(t={}))a.call(t,s)&&o(e,s,t[s]);if(r)for(var s of r(t))l.call(t,s)&&o(e,s,t[s]);return e};import{r as s,a as d,j as m,n as u,t as n,q as p,s as i,u as f,b as c,p as w,d as b,e as y,o as _,c as D,f as V,g as v,i as h}from"./index.ad419675.js";const x={name:"UserForm",setup(){const{proxy:e}=p();console.log("proxy",e);const a=s(null),r=i(),l=f(),{id:o}=r.query,w=d({id:o,formData:{username:"",email:"",password:"",password_confirmation:""},rules:{username:[{required:"true"}],email:[{required:"true",type:"email"}],password:[{required:"true",min:6,max:40}],password_confirmation:[{required:"true",min:6,max:40}]}});m((()=>{})),u((()=>{}));return t(t({},n(w)),{formRef:a,submitAdd:()=>{a.value.validate((async e=>{if(e){let e=w.formData;await c.storeUser(e),await l.push({name:"user"})}}))}})}},U=v();w("data-v-21744c02");const j=h("Submit");b();const q=U(((e,a,r,l,o,t)=>{const s=y("el-input"),d=y("el-form-item"),m=y("el-button"),u=y("el-form"),n=y("el-col"),p=y("el-row");return _(),D("div",null,[V(p,null,{default:U((()=>[V(n,{span:12},{default:U((()=>[V(u,{model:e.formData,rules:e.rules,ref:"formRef","label-width":"200px",class:"formData"},{default:U((()=>[V(d,{label:"Username",prop:"username"},{default:U((()=>[V(s,{modelValue:e.formData.username,"onUpdate:modelValue":a[1]||(a[1]=a=>e.formData.username=a),placeholder:""},null,8,["modelValue"])])),_:1}),V(d,{label:"Email",prop:"email"},{default:U((()=>[V(s,{modelValue:e.formData.email,"onUpdate:modelValue":a[2]||(a[2]=a=>e.formData.email=a),placeholder:""},null,8,["modelValue"])])),_:1}),V(d,{label:"Password",prop:"password"},{default:U((()=>[V(s,{type:"password",modelValue:e.formData.password,"onUpdate:modelValue":a[3]||(a[3]=a=>e.formData.password=a),placeholder:""},null,8,["modelValue"])])),_:1}),V(d,{label:"Password Confirmation",prop:"password_confirmation"},{default:U((()=>[V(s,{type:"password",modelValue:e.formData.password_confirmation,"onUpdate:modelValue":a[4]||(a[4]=a=>e.formData.password_confirmation=a),placeholder:""},null,8,["modelValue"])])),_:1}),V(d,null,{default:U((()=>[V(m,{type:"primary",onClick:a[5]||(a[5]=e=>l.submitAdd())},{default:U((()=>[j])),_:1})])),_:1})])),_:1},8,["model","rules"])])),_:1})])),_:1})])}));x.render=q,x.__scopeId="data-v-21744c02";export default x;
|
||||
1
admin/dist/assets/form.9132ac49.js
vendored
Normal file
1
admin/dist/assets/form.9132ac49.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
admin/dist/assets/index.04ce1248.css
vendored
Normal file
1
admin/dist/assets/index.04ce1248.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.swiper-container[data-v-79c0c4a2]{min-height:100%}.el-card.is-always-shadow[data-v-79c0c4a2]{min-height:100%!important}
|
||||
1
admin/dist/assets/index.359b31f4.js
vendored
Normal file
1
admin/dist/assets/index.359b31f4.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{o as n,c as e}from"./index.ad419675.js";const o={};o.render=function(o,r){return n(),e("div",null,"Agent Allow Index")};export default o;
|
||||
1
admin/dist/assets/index.5e6b1b32.js
vendored
Normal file
1
admin/dist/assets/index.5e6b1b32.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
var e=Object.defineProperty,a=Object.prototype.hasOwnProperty,l=Object.getOwnPropertySymbols,t=Object.prototype.propertyIsEnumerable,o=(a,l,t)=>l in a?e(a,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[l]=t,r=(e,r)=>{for(var n in r||(r={}))a.call(r,n)&&o(e,n,r[n]);if(l)for(var n of l(r))t.call(r,n)&&o(e,n,r[n]);return e};import{r as n,j as s,b as d,t as u,u as p,v as i,p as c,d as m,e as b,k as g,o as f,c as h,f as C,m as y,g as w,i as S}from"./index.ad419675.js";import{u as v,r as D,a as _}from"./table.43f553f4.js";const x={name:"UserTable",setup(){const e=n(null),a=p(),l=v();s((()=>{console.log("UserTable onMounted"),t()}));const t=async()=>{l.loading=!0;let e=await d.listUser(l.query);D(e,l),l.loading=!1};return r(r({},u(l)),{multipleTable:e,handleSelectionChange:e=>{l.multipleSelection=e},handleAdd:()=>{a.push({name:"user-form"})},handleEdit:e=>{a.push({name:"user-form",query:{id:e}})},handleDelete:async e=>{let a=await d.deleteExam(e);i.success(a.msg),l.query.page=1,await t()},handleDetail:e=>{a.push({name:"user-detail",query:{id:e}})},fetchTableData:t,changePage:e=>{l.query.page=e,t()},handleSortChange:e=>{_(e,l),t()},formatColumnClass:(e,a)=>e.class_text,formatColumnUploaded:(e,a)=>e.uploaded_text,formatColumnDownloaded:(e,a)=>e.downloaded_text})}},j=w();c("data-v-ae65dbc0");const k={class:"header"},P=S("Add");m();const U=j(((e,a,l,t,o,r)=>{const n=b("el-button"),s=b("el-table-column"),d=b("el-table"),u=b("el-pagination"),p=b("el-card"),i=g("loading");return f(),h(p,null,{header:j((()=>[C("div",k,[C(n,{type:"primary",size:"small",icon:"el-icon-plus",onClick:t.handleAdd},{default:j((()=>[P])),_:1},8,["onClick"])])])),default:j((()=>[y(C(d,{ref:"multipleTable",data:e.tableData,"tooltip-effect":"dark",onSortChange:t.handleSortChange,onSelectionChange:t.handleSelectionChange},{default:j((()=>[C(s,{type:"selection",width:"55"}),C(s,{prop:"id",label:"Id",width:"60",sortable:"custom"}),C(s,{prop:"username",label:"Username",sortable:"custom"}),C(s,{prop:"email",label:"Email"}),C(s,{prop:"class",label:"Class",sortable:"custom",formatter:t.formatColumnClass},null,8,["formatter"]),C(s,{prop:"uploaded",label:"Uploaded",sortable:"custom",formatter:t.formatColumnUploaded},null,8,["formatter"]),C(s,{prop:"downloaded",label:"Downloaded",sortable:"custom",formatter:t.formatColumnDownloaded},null,8,["formatter"]),C(s,{prop:"bonus",label:"Bonus"}),C(s,{prop:"status",label:"Status"}),C(s,{prop:"added",label:"Added"}),C(s,{label:"Action",width:"100"},{default:j((e=>[C("a",{style:{cursor:"pointer","margin-right":"10px"},onClick:a=>t.handleDetail(e.row.id)},"Detail",8,["onClick"])])),_:1})])),_:1},8,["data","onSortChange","onSelectionChange"]),[[i,e.loading]]),C(u,{background:"",layout:"prev, pager, next",total:e.total,"page-size":e.perPage,"current-page":e.currentPage,onCurrentChange:t.changePage},null,8,["total","page-size","current-page","onCurrentChange"])])),_:1})}));x.render=U,x.__scopeId="data-v-ae65dbc0";export default x;
|
||||
1
admin/dist/assets/index.75177bbd.js
vendored
Normal file
1
admin/dist/assets/index.75177bbd.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
var e=Object.defineProperty,a=Object.prototype.hasOwnProperty,t=Object.getOwnPropertySymbols,l=Object.prototype.propertyIsEnumerable,n=(a,t,l)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[t]=l,r=(e,r)=>{for(var o in r||(r={}))a.call(r,o)&&n(e,o,r[o]);if(t)for(var o of t(r))l.call(r,o)&&n(e,o,r[o]);return e};import{r as o,j as i,b as s,t as d,u as p,v as c,p as u,d as g,e as m,k as f,o as b,c as h,f as y,m as w,g as x,i as C}from"./index.ad419675.js";import{u as _,r as v}from"./table.43f553f4.js";const T={name:"ExamTable",setup(){const e=o(null),a=p(),t=_();i((()=>{console.log("ExamTable onMounted"),l()}));const l=async()=>{t.loading=!0;let e=await s.listExam(t.query);v(e,t),t.loading=!1};return r(r({},d(t)),{multipleTable:e,handleSelectionChange:e=>{t.multipleSelection=e},handleAdd:()=>{a.push({name:"exam-form"})},handleEdit:e=>{a.push({path:"/exam-form",query:{id:e}})},handleDelete:async e=>{let a=await s.deleteExam(e);c.success(a.msg),t.query.page=1,await l()},fetchTableData:l,changePage:e=>{t.query.page=e,l()}})}},E=x();u("data-v-79c0c4a2");const j={class:"nexus-table-header"},k=y("div",{class:"left"},null,-1),D={class:"right"},P=C("Add"),S=y("a",{style:{cursor:"pointer"}},"Delete",-1);g();const O=E(((e,a,t,l,n,r)=>{const o=m("el-button"),i=m("el-table-column"),s=m("el-popconfirm"),d=m("el-table"),p=m("el-pagination"),c=m("el-card"),u=f("loading");return b(),h(c,{class:""},{header:E((()=>[y("div",j,[k,y("div",D,[y(o,{type:"primary",size:"small",icon:"el-icon-plus",onClick:l.handleAdd},{default:E((()=>[P])),_:1},8,["onClick"])])])])),default:E((()=>[w(y(d,{ref:"multipleTable",data:e.tableData,"tooltip-effect":"dark",onSelectionChange:l.handleSelectionChange},{default:E((()=>[y(i,{type:"selection",width:"55"}),y(i,{prop:"id",label:"Id",width:"50"}),y(i,{prop:"name",label:"Name"}),y(i,{label:"Indexes",width:"250px"},{default:E((e=>[y("p",{style:{"white-space":"pre-line"},innerHTML:e.row.indexes_formatted},null,8,["innerHTML"])])),_:1}),y(i,{prop:"begin",label:"Begin"}),y(i,{prop:"end",label:"End"}),y(i,{label:"Target users",width:"350px"},{default:E((e=>[y("p",{style:{"white-space":"pre-line"},innerHTML:e.row.filters_formatted},null,8,["innerHTML"])])),_:1}),y(i,{prop:"is_discovered_text",label:"Discovered"}),y(i,{prop:"status_text",label:"Status"}),y(i,{label:"Action",width:"100"},{default:E((e=>[y("a",{style:{cursor:"pointer","margin-right":"10px"},onClick:a=>l.handleEdit(e.row.id)},"Edit",8,["onClick"]),y(s,{title:"Confirm Delete ?",onConfirm:a=>l.handleDelete(e.row.id)},{reference:E((()=>[S])),_:2},1032,["onConfirm"])])),_:1})])),_:1},8,["data","onSelectionChange"]),[[u,e.loading]]),y(p,{background:"",layout:"prev, pager, next",total:e.total,"page-size":e.perPage,"current-page":e.currentPage,onCurrentChange:l.changePage},null,8,["total","page-size","current-page","onCurrentChange"])])),_:1})}));T.render=O,T.__scopeId="data-v-79c0c4a2";export default T;
|
||||
1
admin/dist/assets/index.94df6daa.css
vendored
Normal file
1
admin/dist/assets/index.94df6daa.css
vendored
Normal file
File diff suppressed because one or more lines are too long
35
admin/dist/assets/index.ad419675.js
vendored
Normal file
35
admin/dist/assets/index.ad419675.js
vendored
Normal file
File diff suppressed because one or more lines are too long
0
admin/dist/assets/index.db66d5eb.css
vendored
Normal file
0
admin/dist/assets/index.db66d5eb.css
vendored
Normal file
1
admin/dist/assets/index.df18a620.js
vendored
Normal file
1
admin/dist/assets/index.df18a620.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{o as r,c as n}from"./index.ad419675.js";const o={};o.render=function(o,a){return r(),n("div",null,"Dashboard")};export default o;
|
||||
1
admin/dist/assets/login.3d6a4336.js
vendored
Normal file
1
admin/dist/assets/login.3d6a4336.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
var e=Object.defineProperty,o=Object.prototype.hasOwnProperty,a=Object.getOwnPropertySymbols,r=Object.prototype.propertyIsEnumerable,s=(o,a,r)=>a in o?e(o,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[a]=r,l=(e,l)=>{for(var t in l||(l={}))o.call(l,t)&&s(e,t,l[t]);if(a)for(var t of a(l))r.call(l,t)&&s(e,t,l[t]);return e};import{r as t,a as n,t as u,u as d,b as i,l as m,p,d as c,e as f,o as v,c as b,f as y,w as g,g as F,h as w,i as h}from"./index.ad419675.js";const _={name:"Login",setup(){const e=t(null),o=d(),a=n({ruleForm:{username:"",password:""},checked:!0,rules:{username:[{required:"true"}],password:[{required:"true"}]}});return l(l({},u(a)),{loginForm:e,submitForm:async()=>{e.value.validate((e=>{if(!e)return console.log("error submit!!"),!1;i.login(a.ruleForm).then((e=>{console.log(e),m("token",e.data.token),m("userInfo",e.data),o.push({name:"dashboard"})}))}))},resetForm:()=>{e.value.resetFields()}})}},x=F();p("data-v-35112e00");const O={class:"login-body"},P={class:"login-container"},V=w('<div class="head" data-v-35112e00><img class="logo" src="http://demo.nexusphp.org/favicon.ico" data-v-35112e00><div class="name" data-v-35112e00><div class="title" data-v-35112e00>NexusPHP</div><div class="tips" data-v-35112e00>Management system</div></div></div>',1),j=h("Submit");c();const k=x(((e,o,a,r,s,l)=>{const t=f("el-input"),n=f("el-form-item"),u=f("el-button"),d=f("el-form");return v(),b("div",O,[y("div",P,[V,y(d,{"label-position":"top",rules:e.rules,model:e.ruleForm,ref:"loginForm",class:"login-form"},{default:x((()=>[y(n,{label:"Username",prop:"username"},{default:x((()=>[y(t,{type:"text",modelValue:e.ruleForm.username,"onUpdate:modelValue":o[1]||(o[1]=o=>e.ruleForm.username=o),modelModifiers:{trim:!0},autocomplete:"off",onKeyup:g(r.submitForm,["enter"])},null,8,["modelValue","onKeyup"])])),_:1}),y(n,{label:"Password",prop:"password"},{default:x((()=>[y(t,{type:"password",modelValue:e.ruleForm.password,"onUpdate:modelValue":o[2]||(o[2]=o=>e.ruleForm.password=o),modelModifiers:{trim:!0},autocomplete:"off",onKeyup:g(r.submitForm,["enter"])},null,8,["modelValue","onKeyup"])])),_:1}),y(n,{style:{"margin-top":"50px"}},{default:x((()=>[y(u,{style:{width:"100%"},type:"primary",onClick:r.submitForm},{default:x((()=>[j])),_:1},8,["onClick"])])),_:1})])),_:1},8,["rules","model"])])])}));_.render=k,_.__scopeId="data-v-35112e00";export default _;
|
||||
1
admin/dist/assets/login.e4969203.css
vendored
Normal file
1
admin/dist/assets/login.e4969203.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.login-body[data-v-35112e00]{display:flex;justify-content:center;align-items:center;width:100%;background-color:#fff}.login-container[data-v-35112e00]{width:420px;height:500px;background-color:#fff;border-radius:4px;box-shadow:0 21px 41px 0 rgba(0,0,0,.2)}.head[data-v-35112e00]{display:flex;justify-content:center;align-items:center;padding:40px 0 20px 0}.head img[data-v-35112e00]{width:100px;height:100px;margin-right:20px}.head .title[data-v-35112e00]{font-size:28px;color:#1baeae;font-weight:700}.head .tips[data-v-35112e00]{font-size:12px;color:#999}.login-form[data-v-35112e00]{width:70%;margin:0 auto}.el-form--label-top .el-form-item__label{padding:0}.login-form .el-form-item{margin-bottom:12px}
|
||||
1
admin/dist/assets/table.43f553f4.js
vendored
Normal file
1
admin/dist/assets/table.43f553f4.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{a}from"./index.ad419675.js";const e=()=>a({loading:!1,query:{page:1,sort_field:"id",sort_type:"desc"},tableData:[],multipleSelection:[],total:0,currentPage:1,perPage:10}),t=(a,e)=>{e.tableData=a.data.data,e.page=a.data.meta.current_page,e.total=a.data.meta.total,e.currentPage=a.data.meta.current_page,e.perPage=a.data.meta.per_page},r=(a,e)=>{console.log("resetTableSort",a),e.query.page=1,e.query.sort_field=a.prop,e.query.sort_type=a.order};export{r as a,t as r,e as u};
|
||||
1
admin/dist/assets/user.627f6144.js
vendored
Normal file
1
admin/dist/assets/user.627f6144.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
var e=Object.defineProperty,a=Object.prototype.hasOwnProperty,t=Object.getOwnPropertySymbols,l=Object.prototype.propertyIsEnumerable,r=(a,t,l)=>t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[t]=l,n=(e,n)=>{for(var o in n||(n={}))a.call(n,o)&&r(e,o,n[o]);if(t)for(var o of t(n))l.call(n,o)&&r(e,o,n[o]);return e};import{r as o,j as s,b as d,t as u,u as i,v as m,p,d as c,e as g,k as f,o as h,c as b,m as C,f as y,g as x}from"./index.ad419675.js";import{u as w,r as v,a as S}from"./table.43f553f4.js";const _={name:"ExamUserTable",setup(){const e=o(null),a=i(),t=w();s((()=>{l()}));const l=async()=>{t.loading=!0;let e=await d.listExamUser(t.query);v(e,t),t.loading=!1};return n(n({},u(t)),{multipleTable:e,handleSelectionChange:e=>{t.multipleSelection=e},handleAdd:()=>{a.push({name:"user-form"})},handleEdit:e=>{a.push({name:"user-form",query:{id:e}})},handleDelete:async e=>{let a=await d.deleteExam(e);m.success(a.msg),t.query.page=1,await l()},handleDetail:e=>{a.push({name:"user-detail",query:{id:e}})},fetchTableData:l,changePage:e=>{t.query.page=e,l()},handleSortChange:e=>{S(e,t),l()},formatColumnUser:(e,a)=>e.user.username,formatColumnExam:(e,a)=>e.exam.name,formatColumnDownloaded:(e,a)=>e.downloaded_text})}},E=x();p("data-v-50017f64");const j=y("div",{class:"nexus-table-header"},[y("div",{class:"left"}),y("div",{class:"right"})],-1);c();const D=E(((e,a,t,l,r,n)=>{const o=g("el-table-column"),s=g("el-table"),d=g("el-pagination"),u=g("el-card"),i=f("loading");return h(),b(u,null,{header:E((()=>[j])),default:E((()=>[C(y(s,{ref:"multipleTable",data:e.tableData,"tooltip-effect":"dark",onSortChange:l.handleSortChange,onSelectionChange:l.handleSelectionChange},{default:E((()=>[y(o,{type:"selection",width:"55"}),y(o,{prop:"id",label:"Id",width:"60",sortable:"custom"}),y(o,{prop:"exam_id",label:"Exam",formatter:l.formatColumnExam},null,8,["formatter"]),y(o,{prop:"uid",label:"User",formatter:l.formatColumnUser},null,8,["formatter"]),y(o,{prop:"status_text",label:"Status"}),y(o,{prop:"created_at",label:"Created At"}),y(o,{label:"Action",width:"100"},{default:E((e=>[y("a",{style:{cursor:"pointer","margin-right":"10px"},onClick:a=>l.handleDetail(e.row.uid)},"Detail",8,["onClick"])])),_:1})])),_:1},8,["data","onSortChange","onSelectionChange"]),[[i,e.loading]]),y(d,{background:"",layout:"prev, pager, next",total:e.total,"page-size":e.perPage,"current-page":e.currentPage,onCurrentChange:l.changePage},null,8,["total","page-size","current-page","onCurrentChange"])])),_:1})}));_.render=D,_.__scopeId="data-v-50017f64";export default _;
|
||||
1
admin/dist/assets/user.b0fa70d4.css
vendored
Normal file
1
admin/dist/assets/user.b0fa70d4.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.nexus-table-header[data-v-50017f64]{display:flex;justify-content:space-between}
|
||||
BIN
admin/dist/favicon.ico
vendored
Normal file
BIN
admin/dist/favicon.ico
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
15
admin/dist/index.html
vendored
Normal file
15
admin/dist/index.html
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/admin/favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Vite App</title>
|
||||
<script type="module" crossorigin src="/admin/assets/index.ad419675.js"></script>
|
||||
<link rel="stylesheet" href="/admin/assets/index.94df6daa.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,9 +2,9 @@
|
||||
"name": "admin",
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"serve": "vite preview"
|
||||
"dev": "vite --mode development",
|
||||
"build": "vite build --mode production",
|
||||
"serve": "vite preview --mode preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^0.21.1",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="footer">
|
||||
<div class="left">Designed By Xiaomlove</div>
|
||||
<div class="left">NexusPHP v1.6.0-beta5</div>
|
||||
<div class="right">
|
||||
<a target="_blank" href="https://nexusphp.org/">nexusphp.org</a>
|
||||
</div>
|
||||
|
||||
1
admin/src/router/index.js
vendored
1
admin/src/router/index.js
vendored
@@ -2,6 +2,7 @@ import { createRouter, createWebHashHistory } from 'vue-router'
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHashHistory(), // hash模式:createWebHashHistory,history模式:createWebHistory
|
||||
base: '/admin/',
|
||||
routes: [
|
||||
{
|
||||
path: '/',
|
||||
|
||||
26
admin/src/utils/api.js
vendored
26
admin/src/utils/api.js
vendored
@@ -8,54 +8,54 @@ const api = {
|
||||
return axios.post('logout');
|
||||
},
|
||||
listAllowAgent: (params = {}) => {
|
||||
return axios.get('agent-allow', {params: params});
|
||||
return axios.get('agent-allows', {params: params});
|
||||
},
|
||||
storeAllowAgent: (params = {}) => {
|
||||
return axios.post('agent-allow', params);
|
||||
return axios.post('agent-allows', params);
|
||||
},
|
||||
updateAllowAgent: (id, params = {}) => {
|
||||
return axios.put('agent-allow/' + id, params);
|
||||
return axios.put('agent-allows/' + id, params);
|
||||
},
|
||||
getAllowAgent: (id) => {
|
||||
return axios.get('agent-allow/' + id);
|
||||
return axios.get('agent-allows/' + id);
|
||||
},
|
||||
deleteAllowAgent: (id) => {
|
||||
return axios.delete('agent-allow/' + id);
|
||||
return axios.delete('agent-allows/' + id);
|
||||
},
|
||||
|
||||
listUser: (params = {}) => {
|
||||
return axios.get('user', {params: params});
|
||||
return axios.get('users', {params: params});
|
||||
},
|
||||
getUser: (id, params = {}) => {
|
||||
return axios.get('user/' + id, {params: params});
|
||||
return axios.get('users/' + id, {params: params});
|
||||
},
|
||||
getUserBase: (params = {}) => {
|
||||
return axios.get('user-base', {params: params});
|
||||
},
|
||||
storeUser: (params = {}) => {
|
||||
return axios.post('user', params);
|
||||
return axios.post('users', params);
|
||||
},
|
||||
listUserMatchExams: (params = {}) => {
|
||||
return axios.get('user-match-exams', {params: params});
|
||||
},
|
||||
|
||||
listExam: (params = {}) => {
|
||||
return axios.get('exam', {params: params});
|
||||
return axios.get('exams', {params: params});
|
||||
},
|
||||
listExamIndex: (params = {}) => {
|
||||
return axios.get('exam-indexes', {params: params});
|
||||
},
|
||||
storeExam: (params = {}) => {
|
||||
return axios.post('exam', params);
|
||||
return axios.post('exams', params);
|
||||
},
|
||||
updateExam: (id, params = {}) => {
|
||||
return axios.put('exam/' + id, params);
|
||||
return axios.put('exams/' + id, params);
|
||||
},
|
||||
getExam: (id) => {
|
||||
return axios.get('exam/' + id);
|
||||
return axios.get('exams/' + id);
|
||||
},
|
||||
deleteExam: (id) => {
|
||||
return axios.delete('exam/' + id);
|
||||
return axios.delete('exams/' + id);
|
||||
},
|
||||
listClass: (params = {}) => {
|
||||
return axios.get('user-classes', {params: params});
|
||||
|
||||
4
admin/src/utils/axios.js
vendored
4
admin/src/utils/axios.js
vendored
@@ -3,7 +3,9 @@ import { ElMessage } from 'element-plus'
|
||||
import {localGet} from "./index"
|
||||
import router from '../router/index'
|
||||
|
||||
axios.defaults.baseURL = 'http://nexus-php8.tinyhd.net/api'
|
||||
console.log(import.meta.env)
|
||||
|
||||
axios.defaults.baseURL = import.meta.env.VITE_BASE_URL || '/api'
|
||||
axios.defaults.withCredentials = true
|
||||
axios.defaults.headers['X-Requested-With'] = 'XMLHttpRequest'
|
||||
axios.defaults.headers['Content-Type'] = 'application/json'
|
||||
|
||||
@@ -31,6 +31,13 @@
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Discovered" prop="is_discovered">
|
||||
<el-radio-group v-model="formData.is_discovered">
|
||||
<el-radio :label="0">No</el-radio>
|
||||
<el-radio :label="1">Yes</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Begin" prop="begin">
|
||||
<el-date-picker
|
||||
v-model="formData.begin"
|
||||
@@ -108,6 +115,7 @@ export default {
|
||||
register_time_range: []
|
||||
},
|
||||
status: '',
|
||||
is_discovered: ''
|
||||
},
|
||||
rules: {
|
||||
name: [
|
||||
@@ -119,6 +127,9 @@ export default {
|
||||
status: [
|
||||
{ required: 'true',}
|
||||
],
|
||||
is_discovered: [
|
||||
{ required: 'true',}
|
||||
],
|
||||
},
|
||||
})
|
||||
onMounted( () => {
|
||||
@@ -133,6 +144,7 @@ export default {
|
||||
state.formData.indexes = res.data.indexes
|
||||
state.formData.filters = res.data.filters
|
||||
state.formData.status = res.data.status
|
||||
state.formData.is_discovered = res.data.is_discovered
|
||||
})
|
||||
} else {
|
||||
let res = api.listExamIndex()
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="Index"
|
||||
label="Indexes"
|
||||
width="250px"
|
||||
>
|
||||
<template #default="scope" >
|
||||
@@ -51,13 +51,20 @@
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
label="Target User"
|
||||
width="400px"
|
||||
label="Target users"
|
||||
width="350px"
|
||||
>
|
||||
<template #default="scope" >
|
||||
<p style="white-space: pre-line" v-html="scope.row.filters_formatted"></p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
prop="is_discovered_text"
|
||||
label="Discovered"
|
||||
>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
prop="status_text"
|
||||
label="Status"
|
||||
@@ -105,19 +112,6 @@ export default {
|
||||
setup() {
|
||||
const multipleTable = ref(null)
|
||||
const router = useRouter()
|
||||
// const state = reactive({
|
||||
// loading: false,
|
||||
// query: {
|
||||
// page: 1,
|
||||
// sort_field: 'id',
|
||||
// sort_type: 'desc'
|
||||
// },
|
||||
// tableData: [], // 数据列表
|
||||
// multipleSelection: [], // 选中项
|
||||
// total: 0, // 总条数
|
||||
// currentPage: 1, // 当前页
|
||||
// pageSize: 10 // 分页大小
|
||||
// })
|
||||
|
||||
const state = useTable()
|
||||
|
||||
@@ -125,21 +119,12 @@ export default {
|
||||
console.log('ExamTable onMounted')
|
||||
fetchTableData()
|
||||
})
|
||||
// 获取轮播图列表
|
||||
const fetchTableData = async () => {
|
||||
state.loading = true
|
||||
let res = await api.listExam(state.query)
|
||||
renderTableData(res, state)
|
||||
state.loading = false
|
||||
}
|
||||
// const renderTableData = (res) => {
|
||||
// state.tableData = res.data.data
|
||||
// state.page = res.data.meta.current_page
|
||||
// state.total = res.data.meta.total
|
||||
// state.currentPage = res.data.meta.current_page
|
||||
// state.pageSize = res.data.meta.per_page
|
||||
// state.loading = false
|
||||
// }
|
||||
const handleAdd = () => {
|
||||
router.push({ name: 'exam-form' })
|
||||
}
|
||||
@@ -152,7 +137,6 @@ export default {
|
||||
state.query.page = 1;
|
||||
await fetchTableData()
|
||||
}
|
||||
// 选择项
|
||||
const handleSelectionChange = (val) => {
|
||||
state.multipleSelection = val
|
||||
}
|
||||
@@ -160,14 +144,6 @@ export default {
|
||||
state.query.page = val
|
||||
fetchTableData()
|
||||
}
|
||||
const handleStatus = (id, status) => {
|
||||
axios.put(`/goods/status/${status}`, {
|
||||
ids: id ? [id] : []
|
||||
}).then(() => {
|
||||
ElMessage.success('修改成功')
|
||||
fetchTableData()
|
||||
})
|
||||
}
|
||||
return {
|
||||
...toRefs(state),
|
||||
multipleTable,
|
||||
@@ -177,7 +153,6 @@ export default {
|
||||
handleDelete,
|
||||
fetchTableData,
|
||||
changePage,
|
||||
handleStatus
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<el-card>
|
||||
<template #header>
|
||||
<div class="card-header">
|
||||
<span>Base Info</span>
|
||||
<span>Base info</span>
|
||||
</div>
|
||||
</template>
|
||||
<table class="table-base-info">
|
||||
@@ -59,7 +59,7 @@
|
||||
<el-card v-if="examInfo">
|
||||
<template #header>
|
||||
<div class="card-header">
|
||||
<span>Exam</span>
|
||||
<span>Exam on the way</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-row>
|
||||
@@ -70,11 +70,11 @@
|
||||
<td>{{examInfo.exam && examInfo.exam.name}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Created At</td>
|
||||
<td>Created at</td>
|
||||
<td>{{examInfo.created_at}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Exam Time</td>
|
||||
<td>Exam time</td>
|
||||
<td>{{examInfo.begin}} ~ {{examInfo.end}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
3
admin/vite.config.js
vendored
3
admin/vite.config.js
vendored
@@ -3,5 +3,6 @@ import vue from '@vitejs/plugin-vue'
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig({
|
||||
plugins: [vue()]
|
||||
plugins: [vue()],
|
||||
base: '/admin/'
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user