wuhongyuq 5 năm trước cách đây
mục cha
commit
6c8dc520aa
7 tập tin đã thay đổi với 33 bổ sung18 xóa
  1. 1 1
      .env
  2. 5 1
      src/layout/index/logo.vue
  3. 2 2
      src/router/index.js
  4. 3 2
      src/store/login.js
  5. 13 9
      src/store/user/mutations.js
  6. 6 2
      src/views/login.vue
  7. 3 1
      vue.config.js

+ 1 - 1
.env

@@ -1,2 +1,2 @@
 VUE_APP_AXIOS_BASE_URL = ''
-VUE_APP_ROUTER="/www"
+VUE_APP_ROUTER="/platlogin"

+ 5 - 1
src/layout/index/logo.vue

@@ -3,7 +3,11 @@
     <el-row>
       <el-col :span="24" class="logo">
         <span v-if="info.logourl">
-          <el-image style="width:690px;height:66px;" :src="info.logourl"></el-image>
+          <el-image style="width:690px;height:66px;" :src="info.logourl">
+            <div slot="error" class="image-slot">
+              <el-image style="width:690px;height:66px;" :src="logourl"></el-image>
+            </div>
+          </el-image>
         </span>
         <span v-else>
           <el-image style="width:690px;height:66px;" :src="logourl"></el-image>

+ 2 - 2
src/router/index.js

@@ -5,7 +5,7 @@ Vue.use(VueRouter);
 
 const routes = [
   {
-    path: '/login',
+    path: '/',
     meta: { title: '登陆' },
     component: () => import('../views/login.vue'),
   },
@@ -13,7 +13,7 @@ const routes = [
 
 const router = new VueRouter({
   mode: 'history',
-  base: process.env.BASE_URL,
+  base: process.env.NODE_ENV === 'development' ? '' : process.env.VUE_APP_ROUTER,
   routes,
 });
 

+ 3 - 2
src/store/login.js

@@ -5,7 +5,7 @@ import { Notification } from 'element-ui';
 const jwt = require('jsonwebtoken');
 Vue.use(Vuex);
 const api = {
-  interface: `/api/user/login`,
+  interface: `/api/market/user/login`,
   updatePassword: '/api/user/pwd_edit',
 };
 const state = () => ({});
@@ -27,7 +27,7 @@ const actions = {
     if (isWx) res = await this.$axios.$post(`${api.wxLogin}`, user);
     else res = await this.$axios.$post(`${api.interface}`, user);
     const setUser = (token, commit) => {
-      localStorage.setItem('token', JSON.stringify(user));
+      localStorage.setItem('token', token);
       commit('setUser', token, { root: true });
     };
     if (res.errcode == '0') {
@@ -38,6 +38,7 @@ const actions = {
       //   type: 'success',
       //   duration: 2000,
       // });
+      return res;
     } else {
       if (needReturn) return res;
       else {

+ 13 - 9
src/store/user/mutations.js

@@ -1,21 +1,27 @@
 const jwt = require('jsonwebtoken');
-
 export const setUser = (state, payload) => {
   let res = true;
   //登陆时
   if (payload) {
     state.token = payload;
-    let user = jwt.decode(payload);
-    console.log(user);
   } else {
     //已经登陆,切换路由时取出用户信息放在总store中
     let token = localStorage.getItem('token');
-    if (token) {
+    if (token && token !== 'guest') {
       state.user = jwt.decode(token);
+    } else if (token && token == 'guest') {
+      let user = localStorage.getItem('user');
+      state.user = JSON.parse(user);
     } else {
-      res = false;
-      state.user = undefined;
-      console.warn('用户未登录');
+      let timestamp = new Date().getTime();
+      let user = {
+        // id: `guest${timestamp}`,
+        name: `游客${timestamp}`,
+      };
+      state.user = user;
+      localStorage.setItem('token', 'guest');
+      localStorage.setItem('user', JSON.stringify(user));
+      console.warn('游客身份');
     }
   }
   return res;
@@ -23,7 +29,5 @@ export const setUser = (state, payload) => {
 
 export const deleteUser = (state, payload) => {
   state.user = {};
-  state.menuList = [];
   localStorage.removeItem('user');
-  localStorage.removeItem('menuList');
 };

+ 6 - 2
src/views/login.vue

@@ -39,13 +39,17 @@ export default {
       }
     },
     async submitLogin(form) {
-      await this.toLogin({ user: form });
+      const res = await this.toLogin({ user: form });
+      if (!res) return;
+      if (res.role == '1') {
+        window.location.href('./admin');
+      }
     },
     async submitRegister(forms) {
       let data = this.forms;
       let res = await this.userCreate(data);
       let msg = `注册成功`;
-      if (this.$checkRes(res, msg)) this.$router.push({ path: '/login' });
+      this.$checkRes(res, msg);
     },
   },
   computed: {

+ 3 - 1
vue.config.js

@@ -1,6 +1,7 @@
 const path = require('path');
 module.exports = {
-  publicPath: '/',
+  publicPath: process.env.NODE_ENV === 'development' ? '/' : process.env.VUE_APP_ROUTER,
+  // outputDir: process.env.VUE_APP_ROUTER,
   configureWebpack: config => {
     Object.assign(config, {
       // 开发生产共同配置
@@ -65,6 +66,7 @@ module.exports = {
       },
       '/api': {
         target: 'http://free.liaoningdoupo.com',
+        // target: 'http://10.16.10.72:9004',
         changeOrigin: true,
         ws: true,
         // pathRewrite: { '^/api/affairs': '/api' },