chao 1 anno fa
parent
commit
b7fb94a407

+ 1 - 1
dist/assets/Details-DTo34pbh.js → dist/assets/Details-Fg9yewOh.js

@@ -1 +1 @@
-import{u as m,r as i,o as p,a as r,b as a,c as t,w as o,d as c,e as u,t as b,f,g as h,C as v,h as k,P as y,i as g,j as C}from"./index-WxIvyf8D.js";const x={class:"iframDiv"},w={__name:"Details",setup(N){const{query:n,params:s}=m();console.log(n,s);const e=i("");return p(()=>{e.value=s.title}),(V,B)=>{const l=r("el-breadcrumb-item"),_=r("el-breadcrumb"),d=r("el-page-header");return a(),t(d,null,{breadcrumb:o(()=>[c(_,{separator:"/"},{default:o(()=>[c(l,{to:{path:"/"}},{default:o(()=>[u(" 首页 ")]),_:1}),c(l,null,{default:o(()=>[u(b(f(s).title),1)]),_:1})]),_:1})]),default:o(()=>[h("div",x,[e.value=="课程列表"?(a(),t(v,{key:0})):e.value=="资源中心"?(a(),t(k,{key:1})):e.value=="实践中心"?(a(),t(y,{key:2})):e.value=="其他课程资源"?(a(),t(g,{key:3})):C("",!0)])]),_:1})}}};export{w as default};
+import{u as m,r as i,o as p,a as r,b as a,c as t,w as o,d as c,e as u,t as b,f,g as h,C as v,h as k,P as y,i as g,j as C}from"./index-B9lk71Hz.js";const x={class:"iframDiv"},w={__name:"Details",setup(N){const{query:n,params:s}=m();console.log(n,s);const e=i("");return p(()=>{e.value=s.title}),(V,B)=>{const l=r("el-breadcrumb-item"),_=r("el-breadcrumb"),d=r("el-page-header");return a(),t(d,null,{breadcrumb:o(()=>[c(_,{separator:"/"},{default:o(()=>[c(l,{to:{path:"/"}},{default:o(()=>[u(" 首页 ")]),_:1}),c(l,null,{default:o(()=>[u(b(f(s).title),1)]),_:1})]),_:1})]),default:o(()=>[h("div",x,[e.value=="课程列表"?(a(),t(v,{key:0})):e.value=="资源中心"?(a(),t(k,{key:1})):e.value=="实践中心"?(a(),t(y,{key:2})):e.value=="其他课程资源"?(a(),t(g,{key:3})):C("",!0)])]),_:1})}}};export{w as default};

+ 1 - 1
dist/assets/admin-W7yUmpdR.js → dist/assets/admin-HZ-67jzo.js

@@ -1 +1 @@
-import{_ as v,k as x,r as c,b as m,l as k,p as C,m as h,g as r,a as l,c as w,w as e,d as t,e as _}from"./index-WxIvyf8D.js";const S=o=>(C("data-v-5156346f"),o=o(),h(),o),$={class:"adminStudent"},g=S(()=>r("div",{style:{width:"100%",height:"100%"}},[r("iframe",{src:"//beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/works?userid=a77e9404-efec-11e9-96f9-028edca3b798&oid=45facc0a-1211-11ec-80ad-005056b86db5&org=",frameborder:"0",allow:"camera *; fullscreen *;fullscreen 'src'"})],-1)),B=[g],I={__name:"adminStudent",setup(o){return x({user:"",region:"",date:""}),c(0),c(5),c(4),c(10),(s,a)=>(m(),k("div",$,B))}},N=v(I,[["__scopeId","data-v-5156346f"]]),O=r("span",null,"学生管理",-1),V=r("span",null,"班级管理",-1),E={__name:"admin",setup(o){const s=a=>{console.log(a)};return(a,n)=>{const d=l("el-menu-item"),u=l("el-sub-menu"),f=l("el-menu"),p=l("el-col"),b=l("el-row");return m(),w(b,null,{default:e(()=>[t(p,{span:4},{default:e(()=>[t(f,{"default-active":"2",class:"el-menu-vertical-demo",onOpen:a.handleOpen,onClose:a.handleClose},{default:e(()=>[t(u,{index:"1"},{title:e(()=>[O]),default:e(()=>[t(d,{index:"1-1",onClick:n[0]||(n[0]=i=>s(1))},{default:e(()=>[_("账号管理")]),_:1}),t(d,{index:"1-2",onClick:n[1]||(n[1]=i=>s(2))},{default:e(()=>[_("学生评价")]),_:1})]),_:1}),t(u,{index:"2"},{title:e(()=>[V]),default:e(()=>[t(d,{index:"2-1",onClick:n[2]||(n[2]=i=>s(3))},{default:e(()=>[_("班级管理")]),_:1}),t(d,{index:"2-2",onClick:n[3]||(n[3]=i=>s(4))},{default:e(()=>[_("学生评价")]),_:1})]),_:1})]),_:1},8,["onOpen","onClose"])]),_:1}),t(p,{span:20},{default:e(()=>[t(N)]),_:1})]),_:1})}}};export{E as default};
+import{_ as v,k as x,r as c,b as m,l as k,p as C,m as h,g as r,a as l,c as w,w as e,d as t,e as _}from"./index-B9lk71Hz.js";const S=o=>(C("data-v-5156346f"),o=o(),h(),o),$={class:"adminStudent"},g=S(()=>r("div",{style:{width:"100%",height:"100%"}},[r("iframe",{src:"//beta.pbl.cocorobo.cn/pbl-teacher-table/dist/#/works?userid=a77e9404-efec-11e9-96f9-028edca3b798&oid=45facc0a-1211-11ec-80ad-005056b86db5&org=",frameborder:"0",allow:"camera *; fullscreen *;fullscreen 'src'"})],-1)),B=[g],I={__name:"adminStudent",setup(o){return x({user:"",region:"",date:""}),c(0),c(5),c(4),c(10),(s,a)=>(m(),k("div",$,B))}},N=v(I,[["__scopeId","data-v-5156346f"]]),O=r("span",null,"学生管理",-1),V=r("span",null,"班级管理",-1),E={__name:"admin",setup(o){const s=a=>{console.log(a)};return(a,n)=>{const d=l("el-menu-item"),u=l("el-sub-menu"),f=l("el-menu"),p=l("el-col"),b=l("el-row");return m(),w(b,null,{default:e(()=>[t(p,{span:4},{default:e(()=>[t(f,{"default-active":"2",class:"el-menu-vertical-demo",onOpen:a.handleOpen,onClose:a.handleClose},{default:e(()=>[t(u,{index:"1"},{title:e(()=>[O]),default:e(()=>[t(d,{index:"1-1",onClick:n[0]||(n[0]=i=>s(1))},{default:e(()=>[_("账号管理")]),_:1}),t(d,{index:"1-2",onClick:n[1]||(n[1]=i=>s(2))},{default:e(()=>[_("学生评价")]),_:1})]),_:1}),t(u,{index:"2"},{title:e(()=>[V]),default:e(()=>[t(d,{index:"2-1",onClick:n[2]||(n[2]=i=>s(3))},{default:e(()=>[_("班级管理")]),_:1}),t(d,{index:"2-2",onClick:n[3]||(n[3]=i=>s(4))},{default:e(()=>[_("学生评价")]),_:1})]),_:1})]),_:1},8,["onOpen","onClose"])]),_:1}),t(p,{span:20},{default:e(()=>[t(N)]),_:1})]),_:1})}}};export{E as default};

File diff suppressed because it is too large
+ 4 - 0
dist/assets/index-B9lk71Hz.js


File diff suppressed because it is too large
+ 0 - 4
dist/assets/index-WxIvyf8D.js


File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-fvF7X49J.css


+ 2 - 2
dist/index.html

@@ -5,8 +5,8 @@
     <link rel="icon" href="./favicon.ico">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>课程资源平台</title>
-    <script type="module" crossorigin src="./assets/index-WxIvyf8D.js"></script>
-    <link rel="stylesheet" crossorigin href="./assets/index-Zw_WvUt7.css">
+    <script type="module" crossorigin src="./assets/index-B9lk71Hz.js"></script>
+    <link rel="stylesheet" crossorigin href="./assets/index-fvF7X49J.css">
   </head>
   <body>
     <div id="app"></div>

+ 9 - 1
src/App.vue

@@ -3,9 +3,12 @@ import { onMounted } from 'vue'
 import { RouterLink, RouterView } from 'vue-router'
 import Header from './views/header.vue';
 import axios from 'axios';
+import {userInfoStore} from './stores/counter'
+
+const store = userInfoStore()
 
 onMounted(() => {
-  console.log(11,window.location)
+  console.log(11,store)
   // 通过 grant_code 获取登录信息
   let isGrantCode = getUrlParam(window.location.href, 'grant_code')
   axios.defaults.headers = {'content-type': 'application/json;charset=utf-8'}
@@ -21,6 +24,11 @@ onMounted(() => {
       }
       axios.post('//cloud.cocorobo.cn/api/getUserInfo', JSON.stringify(accessTokenParams)).then(r => {
         console.log(r)
+        if(r.data.code == 0){
+          store.user = res.data.data
+        }else{
+
+        }
       })
     })
   }

+ 39 - 9
src/components/header/headerRight.vue

@@ -1,21 +1,42 @@
 <template>
     <div class="header_right">
-        <div>
-            <img src="" alt="">
-            <router-link  to="/admin"><span>管理后台</span></router-link>
+        <div v-if="isLogin">
+            <div v-if="admin">
+                <img src="" alt="">
+                <router-link to="/admin"><span>管理后台</span></router-link>
+            </div>
+            <div>
+                <img src="" alt="">
+                <span>{{ store.userName }}</span>
+            </div>
         </div>
-        <div>
-            <img src="" alt="">
-            <span @click="linkLogin()">用户名称</span>
+        <div v-else>
+            <el-button @click="linkLogin()">登录</el-button>
         </div>
-
     </div>
 </template>
 
 <script setup>
-import { ref } from "vue"
+import { ref, onMounted } from "vue"
+
+import { userInfoStore } from '../../stores/counter'
+
+const user = userInfoStore()
+const isLogin = ref(false)
+const admin = ref(false)
+const userName = ref('')
+onMounted(() => {
+    console.log(user)
+    if(user){
+        isLogin.value = true
+        userName.value = user.userName
+        if(user.currentRole=="areaAdministrator"||user.currentRole=="userAdministrator"||user.currentRole=="securityAuditor"||user.currentRole=="schoolAdministrator"||user.currentRole=="schoolSecurityAuditor"||user.currentRole=="teacher"){
+            admin.value = true
+        }
+    }
+})
 
-const linkLogin = ()=>{
+const linkLogin = () => {
     console.log('11111')
     window.location.href = `http://szedutest.changyan.cn/thirdauth/oauth2/authorize?service=initService&scope=all&response_type=code&app_id=94c720f0634b4bad890dc9223de01166&redirect_uri=https://cloud.cocorobo.cn/testapi`
 }
@@ -25,6 +46,9 @@ const linkLogin = ()=>{
     display: flex;
 
     div {
+        line-height: 60px;
+        padding-right: 20px;
+
         img {
 
             vertical-align: middle;
@@ -35,6 +59,12 @@ const linkLogin = ()=>{
             line-height: 60px;
 
         }
+
+        .el-button {
+
+            background: rgba(54, 129, 252, 1);
+            color: #fff;
+        }
     }
 }
 </style>

+ 5 - 5
src/stores/counter.js

@@ -1,12 +1,12 @@
 import { ref, computed } from 'vue'
 import { defineStore } from 'pinia'
 
-export const useCounterStore = defineStore('counter', () => {
-  const count = ref(0)
-  const doubleCount = computed(() => count.value * 2)
+export const userInfoStore = defineStore('counter', () => {
+  const user = ref({})
+  const doubleCount = computed(() => user)
   function increment() {
-    count.value++
+    user
   }
 
-  return { count, doubleCount, increment }
+  return { user, doubleCount, increment }
 })

Some files were not shown because too many files changed in this diff