1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
  | <template> 
 |    <div id="app"> 
 |      <router-view></router-view> 
 |    </div> 
 |  </template> 
 |    
 |  <script> 
 |  export default { 
 |    name: 'app', 
 |    data(){ 
 |      return { 
 |        isLogin: false, 
 |        userInfo: { //保存用户信息 
 |          nick: null, 
 |          ulevel: null, 
 |          uid: null, 
 |          portrait: null 
 |        } 
 |      } 
 |    }, 
 |    created() { 
 |      if(!this.$cookies.get("session")){ 
 |        //如果没有登录状态则跳转到登录页 
 |        this.$router.push('/login'); 
 |      } 
 |    }, 
 |    //监听路由检查登录 
 |    watch:{ 
 |      "$route" : 'checkLogin' 
 |    }, 
 |    mounted(){ 
 |      //组件开始挂载时获取用户信息 
 |      // this.getUserInfo(); 
 |    }, 
 |    methods: { 
 |      //请求用户的一些信息 
 |      getUserInfo(){ 
 |        var userinfo = this.$cookies.get("session"); 
 |      }, 
 |      checkLogin(){ 
 |        //检查是否存在session 
 |        //cookie操作方法在源码里有或者参考网上的即可 
 |        if(!this.$cookies.get("session")){ 
 |          //如果没有登录状态则跳转到登录页 
 |          this.$router.push('/login'); 
 |        } 
 |      }, 
 |      getCookie: function (cname) { 
 |        var name = cname + "="; 
 |        var ca = document.cookie.split(';'); 
 |        for (var i = 0; i < ca.length; i++) { 
 |          var c = ca[i]; 
 |          while (c.charAt(0) == ' ') c = c.substring(1); 
 |          if (c.indexOf(name) != -1) return c.substring(name.length, c.length); 
 |        } 
 |        return ""; 
 |      } 
 |    }, 
 |    components: {} 
 |  }; 
 |  </script> 
 |    
 |  <style> 
 |  html, 
 |  body, 
 |  #app { 
 |    margin: 0 0; 
 |    background-color: #e9eef3; 
 |    height: 100%; 
 |  } 
 |  .el-header, 
 |  .el-footer { 
 |    /* background-color: #b3c0d1; */ 
 |    color: #333; 
 |    text-align: center; 
 |    line-height: 60px; 
 |  } 
 |  .el-main { 
 |    background-color: #e9eef3; 
 |    color: #333; 
 |    text-align: center; 
 |    padding-top: 0px !important; 
 |  } 
 |  </style> 
 |  
  |