提交 f0b67ac7 编写于 作者: D DCloud_LXH

fix(getSystemInfo): 修复 app 上获取版本缺少platform。新增 H5 平台支持获取windows、linux、mac

上级 69b4fd3f
......@@ -86,7 +86,7 @@ export function getSystemInfo () {
windowHeight,
statusBarHeight,
language: plus.os.language,
system: plus.os.version,
system: `${platform} ${plus.os.version}`,
version: plus.runtime.innerVersion,
fontSizeSetting: '',
platform,
......
......@@ -11,6 +11,18 @@ const isAndroid = /android/i.test(ua)
* 是否iOS设备
*/
const isIOS = /iphone|ipad|ipod/i.test(ua)
/**
* 是否是Windows设备
*/
const isWindows = ua.match(/Windows NT ([\d|\d.\d]*)/i)
/**
* 是否是Mac设备
*/
const isMac = /Macintosh|Mac/i.test(ua)
/**
* 是否是Linux设备
*/
const isLinux = /Linux|X11/i.test(ua)
/**
* 获取系统信息-同步
*/
......@@ -69,6 +81,61 @@ export function getSystemInfoSync () {
break
}
}
} else if (isWindows || isMac || isLinux) {
model = 'PC'
const osversionFind = ua.match(/\((.+?)\)/)[1]
if (isWindows) {
osname = 'Windows'
osversion = ''
switch (isWindows[1]) {
case '5.1':
osversion = 'XP'
break
case '6.0':
osversion = 'Vista'
break
case '6.1':
osversion = '7'
break
case '6.2':
osversion = '8'
break
case '6.3':
osversion = '8.1'
break
case '10.0':
osversion = '10'
break
}
const framework = osversionFind.match(/[Win|WOW]([\d]+)/)
if (framework) {
osversion += ` x${framework[1]}`
}
} else if (isMac) {
osname = 'Mac'
osversion = osversionFind.match(/Mac OS X (.+)/) || ''
if (osversion) {
osversion = osversion[1].replace(/_/g, '.')
// '10_15_7' or '10.16; rv:86.0'
if (osversion.indexOf(';') !== -1) {
osversion = osversion.split(';')[0]
}
}
} else if (isLinux) {
osname = 'Linux'
osversion = osversionFind.match(/Linux (.*)/) || ''
if (osversion) {
osversion = osversion[1]
// 'x86_64' or 'x86_64; rv:79.0'
if (osversion.indexOf(';') !== -1) {
osversion = osversion.split(';')[0]
}
}
}
} else {
osname = 'Other'
osversion = '0'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册