123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- import Vue from "vue";
- import App from "./App.vue";
- import router from "./router";
- import store from "./store";
- // import "./registerServiceWorker";
- import "./plugins/iview.js";
- import "./styles/global.css";
- // import "./plugins/tracking.js";
- // import "./plugins/face.js";
- import "qm-tracking/tracking.js";
- import "qm-tracking/face.js";
- import axiosPlugin from "./utils/axios";
- import "./utils/monitors";
- import MainLayout from "@/components/MainLayout/MainLayout.vue";
- Vue.use(axiosPlugin);
- Vue.config.productionTip = process.env.NODE_ENV !== "production";
- Vue.component("main-layout", MainLayout);
- if (process.env.NODE_ENV !== "production") {
- // 测试vue cli打包的环境变量
- console.log("环境检查: process.env.NODE_ENV === " + process.env.NODE_ENV);
- }
- if (process.env.NODE_ENV === "development") {
- console.log("非生产环境:准备自动登录");
- (async () => {
- if (window.sessionStorage.getItem("token")) {
- console.log("非生产环境: 已有token,自动登录");
- return;
- }
- console.log("非生产环境: 没有token,自动登录");
- const response = await fetch("/api/ecs_core/auth/login", {
- method: "POST",
- headers: {
- "Content-Type": "application/json;charset=UTF-8",
- },
- body: JSON.stringify({
- domain: process.env.VUE_APP_LOGIN_DOMAIN,
- accountValue: process.env.VUE_APP_LOGIN_ACCOUNT_VALUE,
- password: process.env.VUE_APP_LOGIN_PASSWORD,
- accountType: process.env.VUE_APP_LOGIN_ACCOUNTTYPE,
- }),
- });
- let data = await response.json();
- if (data.token) {
- window.sessionStorage.setItem("token", data.token);
- window.localStorage.setItem("key", data.key);
- window.localStorage.setItem("domain", process.env.VUE_APP_LOGIN_DOMAIN);
- const student = await (await fetch(
- "/api/ecs_core/student/getStudentInfoBySession",
- {
- method: "GET",
- headers: {
- "Content-Type": "application/json;charset=UTF-8",
- key: data.key,
- token: data.token,
- },
- }
- )).json();
- const user = { ...data, ...student };
- window.localStorage.setItem("user-for-reload", JSON.stringify(user));
- } else {
- console.log(data.desc);
- }
- })();
- }
- Vue.mixin({
- beforeCreate() {
- if (document.getElementById("app-placeholder"))
- document.getElementById("app-placeholder").remove();
- },
- mounted() {
- // console.log("mixin hook called");
- [...document.getElementsByTagName("a")].forEach(e => {
- e.addEventListener("click", function(event) {
- event.preventDefault();
- });
- });
- },
- methods: {
- async serverLog(level, logText) {
- try {
- await this.$http.post(
- "/api/ecs_core/log/studentClient/" + level,
- logText,
- {
- headers: {
- "Content-Type": "text/plain",
- },
- }
- );
- } catch (error) {
- console.log(error);
- }
- },
- logout(cause = "") {
- localStorage.removeItem("phoneVerified");
- window._hmt.push(["_trackEvent", "退出", cause]);
- this.$router.push("/login/" + localStorage.getItem("domain") + cause);
- },
- },
- });
- if (
- process.env.NODE_ENV === "development" &&
- process.env.VUE_APP_ENABLE_VUE_RENDER_LOGS === "true"
- ) {
- require("./plugins/vueLifecylceLogs");
- }
- new Vue({
- router,
- store,
- render: h => h(App),
- }).$mount("#app");
|