|
@@ -1,14 +1,14 @@
|
|
<template>
|
|
<template>
|
|
- <div id="app">
|
|
|
|
- <div class="head">
|
|
|
|
- <div class="logo">
|
|
|
|
- <img
|
|
|
|
- style="height: 40px; margin-top: 10px"
|
|
|
|
- class="left nav-icon"
|
|
|
|
- src="https://x.cocorobo.cn/icons/logo.png"
|
|
|
|
- @click="goto()"
|
|
|
|
- />
|
|
|
|
- <!-- <span
|
|
|
|
|
|
+ <div id="app">
|
|
|
|
+ <div class="head">
|
|
|
|
+ <div class="logo">
|
|
|
|
+ <img
|
|
|
|
+ style="height: 40px; margin-top: 10px"
|
|
|
|
+ class="left nav-icon"
|
|
|
|
+ src="https://x.cocorobo.cn/icons/logo.png"
|
|
|
|
+ @click="goto()"
|
|
|
|
+ />
|
|
|
|
+ <!-- <span
|
|
style="
|
|
style="
|
|
font-size: 28px;
|
|
font-size: 28px;
|
|
font-family: 'GT Walsheim Pro Trial Bold';
|
|
font-family: 'GT Walsheim Pro Trial Bold';
|
|
@@ -17,158 +17,159 @@
|
|
"
|
|
"
|
|
>CocoBlockly</span
|
|
>CocoBlockly</span
|
|
> -->
|
|
> -->
|
|
- </div>
|
|
|
|
- <div class="user_head" v-if="this.$store.state.userId">
|
|
|
|
- <span class="user_name">{{ this.$store.state.userName }}</span>
|
|
|
|
- <div>
|
|
|
|
- <i></i>
|
|
|
|
- <el-button type="text" style="color: white" @click="logout"
|
|
|
|
- >退出</el-button
|
|
|
|
- >
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="user_head" v-if="this.$store.state.userId">
|
|
|
|
+ <span class="user_name">{{ this.$store.state.userName }}</span>
|
|
|
|
+ <div>
|
|
|
|
+ <i></i>
|
|
|
|
+ <el-button type="text" style="color: white" @click="logout"
|
|
|
|
+ >退出</el-button
|
|
|
|
+ >
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
|
|
- <div style="background: #fff; height: calc(100% - 67.5px); width: 100%">
|
|
|
|
- <!-- main 内容 -->
|
|
|
|
- <keep-alive v-if="$route.meta.keepAlive">
|
|
|
|
- <!-- 这里是会被缓存的视图组件 -->
|
|
|
|
- <router-view v-if="$route.meta.keepAlive" />
|
|
|
|
- </keep-alive>
|
|
|
|
- <!-- 这里是不被缓存的视图组件 -->
|
|
|
|
- <router-view v-if="!$route.meta.keepAlive" />
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div style="background: #e5e5e5; height: calc(100% - 88.5px); width: 100%">
|
|
|
|
+ <!-- main 内容 -->
|
|
|
|
+ <keep-alive v-if="$route.meta.keepAlive">
|
|
|
|
+ <!-- 这里是会被缓存的视图组件 -->
|
|
|
|
+ <router-view v-if="$route.meta.keepAlive" />
|
|
|
|
+ </keep-alive>
|
|
|
|
+ <!-- 这里是不被缓存的视图组件 -->
|
|
|
|
+ <router-view v-if="!$route.meta.keepAlive" />
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-export default {
|
|
|
|
- name: "App",
|
|
|
|
- created() {
|
|
|
|
- //在页面加载时读取sessionStorage里的状态信息
|
|
|
|
- if (sessionStorage.getItem("store")) {
|
|
|
|
- this.$store.replaceState(
|
|
|
|
- Object.assign(
|
|
|
|
- {},
|
|
|
|
- this.$store.state,
|
|
|
|
- JSON.parse(sessionStorage.getItem("store"))
|
|
|
|
- )
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
|
|
+ export default {
|
|
|
|
+ name: "App",
|
|
|
|
+ created() {
|
|
|
|
+ //在页面加载时读取sessionStorage里的状态信息
|
|
|
|
+ if (sessionStorage.getItem("store")) {
|
|
|
|
+ this.$store.replaceState(
|
|
|
|
+ Object.assign(
|
|
|
|
+ {},
|
|
|
|
+ this.$store.state,
|
|
|
|
+ JSON.parse(sessionStorage.getItem("store"))
|
|
|
|
+ )
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
|
|
- //在页面刷新时将vuex里的信息保存到sessionStorage里
|
|
|
|
- window.addEventListener("beforeunload", () => {
|
|
|
|
- sessionStorage.setItem("store", JSON.stringify(this.$store.state));
|
|
|
|
- });
|
|
|
|
- this.login();
|
|
|
|
- },
|
|
|
|
- methods: {
|
|
|
|
- goto() {
|
|
|
|
- this.$router.push("/");
|
|
|
|
- },
|
|
|
|
- login() {
|
|
|
|
- //debugger;
|
|
|
|
- // console.log("1");
|
|
|
|
- var _this = this;
|
|
|
|
- _this.ajax
|
|
|
|
- .get(`${_this.$store.state.server}getcookieuserid`)
|
|
|
|
- .then((res) => {
|
|
|
|
- var userid = res.data[0][0].userid;
|
|
|
|
- // var userid = "4be5e344-ce1a-11e9-a839-028edca3b798";
|
|
|
|
- _this.$store.commit("update", ["userId", userid]);
|
|
|
|
- _this.ajax
|
|
|
|
- .get(
|
|
|
|
- `${_this.$store.state.edu}admin/userinfo/userinfoById/${userid}/`
|
|
|
|
- )
|
|
|
|
- .then((r) => {
|
|
|
|
- let data = r.data[0][0];
|
|
|
|
- console.log(data);
|
|
|
|
- _this.$store.commit("update", [
|
|
|
|
- "userName",
|
|
|
|
- data.alias || data.username,
|
|
|
|
- ]);
|
|
|
|
- });
|
|
|
|
- if (res.data[0][0]) {
|
|
|
|
- _this.setState({
|
|
|
|
- userId: res.data[0][0].userid,
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- .catch((err) => {
|
|
|
|
- // _this.props.history.push("/login");
|
|
|
|
- // window.alert(err.response.data)
|
|
|
|
- window.location.href = "https://edu.cocorobo.cn/course/login?type=1";
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
- logout() {
|
|
|
|
- this.ajax
|
|
|
|
- .post(`${this.$store.state.server}logout`)
|
|
|
|
- .then((res) => {
|
|
|
|
- if (res.data) {
|
|
|
|
- window.location.href =
|
|
|
|
- "https://edu.cocorobo.cn/course/login?type=1";
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- .catch((err) => {});
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
-};
|
|
|
|
|
|
+ //在页面刷新时将vuex里的信息保存到sessionStorage里
|
|
|
|
+ window.addEventListener("beforeunload", () => {
|
|
|
|
+ sessionStorage.setItem("store", JSON.stringify(this.$store.state));
|
|
|
|
+ });
|
|
|
|
+ this.login();
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ goto() {
|
|
|
|
+ this.$router.push("/");
|
|
|
|
+ },
|
|
|
|
+ login() {
|
|
|
|
+ //debugger;
|
|
|
|
+ // console.log("1");
|
|
|
|
+ var _this = this;
|
|
|
|
+ _this.ajax
|
|
|
|
+ .get(`${_this.$store.state.server}getcookieuserid`)
|
|
|
|
+ .then((res) => {
|
|
|
|
+ var userid = res.data[0][0].userid;
|
|
|
|
+ // var userid = "4be5e344-ce1a-11e9-a839-028edca3b798";
|
|
|
|
+ _this.$store.commit("update", ["userId", userid]);
|
|
|
|
+ _this.ajax
|
|
|
|
+ .get(
|
|
|
|
+ `${_this.$store.state.edu}admin/userinfo/userinfoById/${userid}/`
|
|
|
|
+ )
|
|
|
|
+ .then((r) => {
|
|
|
|
+ let data = r.data[0][0];
|
|
|
|
+ console.log(data);
|
|
|
|
+ _this.$store.commit("update", [
|
|
|
|
+ "userName",
|
|
|
|
+ data.alias || data.username,
|
|
|
|
+ ]);
|
|
|
|
+ });
|
|
|
|
+ if (res.data[0][0]) {
|
|
|
|
+ _this.setState({
|
|
|
|
+ userId: res.data[0][0].userid,
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ .catch((err) => {
|
|
|
|
+ // _this.props.history.push("/login");
|
|
|
|
+ // window.alert(err.response.data)
|
|
|
|
+ window.location.href = "https://edu.cocorobo.cn/course/login?type=1";
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ logout() {
|
|
|
|
+ this.ajax
|
|
|
|
+ .post(`${this.$store.state.server}logout`)
|
|
|
|
+ .then((res) => {
|
|
|
|
+ if (res.data) {
|
|
|
|
+ window.location.href =
|
|
|
|
+ "https://edu.cocorobo.cn/course/login?type=1";
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ .catch((err) => {});
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ };
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style>
|
|
<style>
|
|
-* {
|
|
|
|
- margin: 0;
|
|
|
|
- padding: 0;
|
|
|
|
-}
|
|
|
|
-body {
|
|
|
|
- font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB",
|
|
|
|
- "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
|
|
|
|
-}
|
|
|
|
-#app {
|
|
|
|
- height: 100%;
|
|
|
|
- width: 100%;
|
|
|
|
- /* background: #e6eaf0; */
|
|
|
|
- /* min-width: 1380px; */
|
|
|
|
- background: #fff;
|
|
|
|
- min-width: 1000px;
|
|
|
|
-}
|
|
|
|
-.head {
|
|
|
|
- height: 67.5px;
|
|
|
|
- width: 100%;
|
|
|
|
- background-color: #2c4fcd;
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
- min-width: 1000px;
|
|
|
|
-}
|
|
|
|
-.logo {
|
|
|
|
- margin-left: 20px;
|
|
|
|
- cursor: pointer;
|
|
|
|
-}
|
|
|
|
-.user_head {
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
- margin-left: auto;
|
|
|
|
- margin-right: 20px;
|
|
|
|
- font-size: 18px;
|
|
|
|
- font-weight: 600;
|
|
|
|
-}
|
|
|
|
-.user_head .user_name {
|
|
|
|
- color: #fff;
|
|
|
|
- margin-right: 10px;
|
|
|
|
-}
|
|
|
|
-.user_head div {
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
- cursor: pointer;
|
|
|
|
-}
|
|
|
|
-.user_head i {
|
|
|
|
- background-image: url("./assets/exit.png");
|
|
|
|
- width: 25px;
|
|
|
|
- height: 25px;
|
|
|
|
- background-size: 100% 100%;
|
|
|
|
- margin-top: 1px;
|
|
|
|
- line-height: 25px;
|
|
|
|
- vertical-align: text-top;
|
|
|
|
- background-repeat: no-repeat;
|
|
|
|
-}
|
|
|
|
|
|
+ * {
|
|
|
|
+ margin: 0;
|
|
|
|
+ padding: 0;
|
|
|
|
+ }
|
|
|
|
+ body {
|
|
|
|
+ font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB",
|
|
|
|
+ "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
|
|
|
|
+ }
|
|
|
|
+ #app {
|
|
|
|
+ height: 100%;
|
|
|
|
+ width: 100%;
|
|
|
|
+ /* background: #e6eaf0; */
|
|
|
|
+ /* min-width: 1380px; */
|
|
|
|
+ /* background: #fff; */
|
|
|
|
+ background: #e5e5e5;
|
|
|
|
+ min-width: 1000px;
|
|
|
|
+ }
|
|
|
|
+ .head {
|
|
|
|
+ height: 67.5px;
|
|
|
|
+ width: 100%;
|
|
|
|
+ background-color: #2c4fcd;
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ min-width: 1000px;
|
|
|
|
+ }
|
|
|
|
+ .logo {
|
|
|
|
+ margin-left: 20px;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ }
|
|
|
|
+ .user_head {
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ margin-left: auto;
|
|
|
|
+ margin-right: 20px;
|
|
|
|
+ font-size: 18px;
|
|
|
|
+ font-weight: 600;
|
|
|
|
+ }
|
|
|
|
+ .user_head .user_name {
|
|
|
|
+ color: #fff;
|
|
|
|
+ margin-right: 10px;
|
|
|
|
+ }
|
|
|
|
+ .user_head div {
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ }
|
|
|
|
+ .user_head i {
|
|
|
|
+ background-image: url("./assets/exit.png");
|
|
|
|
+ width: 25px;
|
|
|
|
+ height: 25px;
|
|
|
|
+ background-size: 100% 100%;
|
|
|
|
+ margin-top: 1px;
|
|
|
|
+ line-height: 25px;
|
|
|
|
+ vertical-align: text-top;
|
|
|
|
+ background-repeat: no-repeat;
|
|
|
|
+ }
|
|
</style>
|
|
</style>
|