Skip to content

Commit e22298f

Browse files
committed
访问信息增加具体信息
1 parent acad909 commit e22298f

File tree

6 files changed

+96
-5
lines changed

6 files changed

+96
-5
lines changed

docs/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<!DOCTYPE html><html lang=zh_CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=/vue-blog/favicon.ico><title>vue-blog</title><link href=/vue-blog/css/group-about.94e0f907.css rel=prefetch><link href=/vue-blog/css/group-about~group-home~group-list.7213465d.css rel=prefetch><link href=/vue-blog/css/group-admin.ffe0a336.css rel=prefetch><link href=/vue-blog/css/group-detail.f09c0c11.css rel=prefetch><link href=/vue-blog/css/group-editor.e30eec0a.css rel=prefetch><link href=/vue-blog/css/group-home.5f2aeab2.css rel=prefetch><link href=/vue-blog/css/group-list.2fa5ebeb.css rel=prefetch><link href=/vue-blog/css/group-signIn.f23c9712.css rel=prefetch><link href=/vue-blog/js/group-about.86e94a3a.js rel=prefetch><link href=/vue-blog/js/group-about~group-home~group-list.2ffa8f2b.js rel=prefetch><link href=/vue-blog/js/group-admin.284fef7b.js rel=prefetch><link href=/vue-blog/js/group-detail.cb1b8a52.js rel=prefetch><link href=/vue-blog/js/group-editor.90363819.js rel=prefetch><link href=/vue-blog/js/group-home.a8d6f0fc.js rel=prefetch><link href=/vue-blog/js/group-list.9e2e1d53.js rel=prefetch><link href=/vue-blog/js/group-signIn.3ac936f2.js rel=prefetch><link href=/vue-blog/css/app.4f4ae23f.css rel=preload as=style><link href=/vue-blog/css/chunk-vendors.8eacee8b.css rel=preload as=style><link href=/vue-blog/js/app.021cfab8.js rel=modulepreload as=script><link href=/vue-blog/js/chunk-vendors.560bdd41.js rel=modulepreload as=script><link href=/vue-blog/css/chunk-vendors.8eacee8b.css rel=stylesheet><link href=/vue-blog/css/app.4f4ae23f.css rel=stylesheet></head><body><noscript><strong>We're sorry but vue-blog doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script type=module src=/vue-blog/js/chunk-vendors.560bdd41.js></script><script type=module src=/vue-blog/js/app.021cfab8.js></script><script>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script src=/vue-blog/js/chunk-vendors-legacy.8172aa9c.js nomodule></script><script src=/vue-blog/js/app-legacy.e9cd7928.js nomodule></script></body></html>
1+
<!DOCTYPE html><html lang=zh_CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=/vue-blog/favicon.ico><title>vue-blog</title><script src="http://pv.sohu.com/cityjson?ie=utf-8"></script><link href=/vue-blog/css/group-about.94e0f907.css rel=prefetch><link href=/vue-blog/css/group-about~group-home~group-list.7213465d.css rel=prefetch><link href=/vue-blog/css/group-admin.ffe0a336.css rel=prefetch><link href=/vue-blog/css/group-detail.f09c0c11.css rel=prefetch><link href=/vue-blog/css/group-editor.8ac701e4.css rel=prefetch><link href=/vue-blog/css/group-home.5f2aeab2.css rel=prefetch><link href=/vue-blog/css/group-list.2fa5ebeb.css rel=prefetch><link href=/vue-blog/css/group-signIn.f23c9712.css rel=prefetch><link href=/vue-blog/js/group-about.86e94a3a.js rel=prefetch><link href=/vue-blog/js/group-about~group-home~group-list.2ffa8f2b.js rel=prefetch><link href=/vue-blog/js/group-admin.217c604f.js rel=prefetch><link href=/vue-blog/js/group-detail.cb1b8a52.js rel=prefetch><link href=/vue-blog/js/group-editor.14a4521b.js rel=prefetch><link href=/vue-blog/js/group-home.a8d6f0fc.js rel=prefetch><link href=/vue-blog/js/group-list.9e2e1d53.js rel=prefetch><link href=/vue-blog/js/group-signIn.3ac936f2.js rel=prefetch><link href=/vue-blog/css/app.43758a9b.css rel=preload as=style><link href=/vue-blog/css/chunk-vendors.8eacee8b.css rel=preload as=style><link href=/vue-blog/js/app.27127f15.js rel=modulepreload as=script><link href=/vue-blog/js/chunk-vendors.1510f57c.js rel=modulepreload as=script><link href=/vue-blog/css/chunk-vendors.8eacee8b.css rel=stylesheet><link href=/vue-blog/css/app.43758a9b.css rel=stylesheet></head><body><noscript><strong>We're sorry but vue-blog doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script type=module src=/vue-blog/js/chunk-vendors.1510f57c.js></script><script type=module src=/vue-blog/js/app.27127f15.js></script><script>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script src=/vue-blog/js/chunk-vendors-legacy.a9de3e9c.js nomodule></script><script src=/vue-blog/js/app-legacy.8191f63d.js nomodule></script></body></html>

public/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
<meta name="viewport" content="width=device-width,initial-scale=1.0">
77
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
88
<title>vue-blog</title>
9+
<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
910
</head>
1011
<body>
1112
<noscript>

src/App.vue

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,64 @@ export default {
6464
},
6565
mounted () {
6666
this.$Progress.finish()
67+
const userAgent = this.getBrowserInfo()
68+
this.$store.commit('setUserAgent', {
69+
system: userAgent[0],
70+
browser: userAgent[1],
71+
browserVersion: userAgent[2],
72+
ip: window.returnCitySN ? window.returnCitySN.cip : '',
73+
city: window.returnCitySN ? window.returnCitySN.cname : ''
74+
})
75+
},
76+
methods: {
77+
getBrowserInfo () {
78+
const agent = navigator.userAgent.toLowerCase()
79+
const arr = []
80+
const system = agent.split(' ')[1].split(' ')[0].split('(')[1]
81+
arr.push(system)
82+
const regStrEdge = /edge\/[\d.]+/gi
83+
const regStrIe = /trident\/[\d.]+/gi
84+
const regStrFirefox = /firefox\/[\d.]+/gi
85+
const regStrChrome = /chrome\/[\d.]+/gi
86+
const regStrSafari = /safari\/[\d.]+/gi
87+
const regStrOpera = /opr\/[\d.]+/gi
88+
// IE
89+
if (agent.indexOf('trident') > 0) {
90+
arr.push(agent.match(regStrIe)[0].split('/')[0])
91+
arr.push(agent.match(regStrIe)[0].split('/')[1])
92+
return arr
93+
}
94+
// Edge
95+
if (agent.indexOf('edge') > 0) {
96+
arr.push(agent.match(regStrEdge)[0].split('/')[0])
97+
arr.push(agent.match(regStrEdge)[0].split('/')[1])
98+
return arr
99+
}
100+
// firefox
101+
if (agent.indexOf('firefox') > 0) {
102+
arr.push(agent.match(regStrFirefox)[0].split('/')[0])
103+
arr.push(agent.match(regStrFirefox)[0].split('/')[1])
104+
return arr
105+
}
106+
// Opera
107+
if (agent.indexOf('opr') > 0) {
108+
arr.push(agent.match(regStrOpera)[0].split('/')[0])
109+
arr.push(agent.match(regStrOpera)[0].split('/')[1])
110+
return arr
111+
}
112+
// Safari
113+
if (agent.indexOf('safari') > 0 && agent.indexOf('chrome') < 0) {
114+
arr.push(agent.match(regStrSafari)[0].split('/')[0])
115+
arr.push(agent.match(regStrSafari)[0].split('/')[1])
116+
return arr
117+
}
118+
// Chrome
119+
if (agent.indexOf('chrome') > 0) {
120+
arr.push(agent.match(regStrChrome)[0].split('/')[0])
121+
arr.push(agent.match(regStrChrome)[0].split('/')[1])
122+
return arr
123+
}
124+
}
67125
}
68126
}
69127
</script>

src/main.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ router.beforeEach((to, from, next) => {
3333
store.commit('setSource', CancelToken.source())
3434
Vue.axios.post('/adminviews/add', {
3535
from: from.fullPath,
36-
to: to.fullPath
36+
to: to.fullPath,
37+
...store.state.userAgent
3738
})
3839
next()
3940
})

src/store/index.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,13 @@ export default new Vuex.Store({
1919
email: '',
2020
admin: '',
2121
authority: 0
22+
},
23+
userAgent: {
24+
system: '',
25+
browser: '',
26+
browserVersion: '',
27+
ip: '',
28+
city: ''
2229
}
2330
},
2431
getters: {
@@ -36,6 +43,9 @@ export default new Vuex.Store({
3643
},
3744
setUserInfo (state, obj) {
3845
state.userInfo = obj
46+
},
47+
setUserAgent (state, obj) {
48+
state.userAgent = obj
3949
}
4050
},
4151
actions: {

src/views/AdminViews.vue

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,37 @@
4242
<el-table-column
4343
prop="time"
4444
label="日期"
45-
width="220">
45+
width="180">
4646
</el-table-column>
4747
<el-table-column
4848
prop="routeFrom"
4949
label="from路由"
50-
width="220">
50+
width="130">
5151
</el-table-column>
5252
<el-table-column
5353
prop="routeTo"
54-
label="to路由">
54+
label="to路由"
55+
width="130">
56+
</el-table-column>
57+
<el-table-column
58+
prop="clientIp"
59+
label="ip地址"
60+
width="150">
61+
</el-table-column>
62+
<el-table-column
63+
prop="clientCity"
64+
label="城市"
65+
width="150">
66+
</el-table-column>
67+
<el-table-column
68+
prop="clientBrowser"
69+
label="浏览器"
70+
width="100">
71+
</el-table-column>
72+
<el-table-column
73+
prop="clientSystem"
74+
label="系统"
75+
width="100">
5576
</el-table-column>
5677
</el-table>
5778
<div style="margin: 15px 0 0;">

0 commit comments

Comments
 (0)