| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- export default function ({req}, inject) {
- let deviceType = {}
- deviceType.ios = false
- deviceType.android = false
- deviceType.pc = false
- deviceType.ios = false
- deviceType.wx = false
- deviceType.app = false
- deviceType.spider = false
-
- let cookie = '', ua = ''
-
- /** 通过UA判断设备类型 **/
- if (req && req.headers) {
- ua = req && req.headers && req.headers['user-agent'] || ''
- } else if (window && window.navigator){
- ua = window.navigator.userAgent
- }
- if (/(iPhone|iPad|iPod|iOS)/i.test(ua)) {
- deviceType.ios = true
- } else if (/(Android)/i.test(ua)) {
- deviceType.android = true
- } else {
- deviceType.pc = true
- }
-
- /** 通过cookie 判断是不是APP **/
- if (req && req.headers) {
- cookie = req.headers.cookie || ''
- } else if (document){
- cookie = document.cookie
- }
- if (/(x_app)/i.test(cookie)) {
- deviceType.app = true
- } else {
- deviceType.app = false
- }
-
- /** 判断是不是 微信 **/
- if (/(MicroMessenger)/i.test(ua)) {
- deviceType.wx = true
- }
-
- /** 判断是不是 蜘蛛 **/
- if (/(spider)/i.test(ua)) {
- deviceType.spider = true
- }
-
- deviceType.isMobile = function() {
- return deviceType.ios || deviceType.android
- }
-
- deviceType.isPC = function() {
- return deviceType.pc
- }
-
- deviceType.isWx = function() {
- return deviceType.wx
- }
-
- inject && inject('deviceType', deviceType)
- return deviceType
- }
|