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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
| import { getWindowInfo } from './get-window-info'
| import deviceId from 'uni-platform/helpers/uuid'
| import { getBrowserInfo } from '../base/get-browser-info'
| import { sortObject } from 'uni-shared'
|
| let browserInfo = {}
| let _initBrowserInfo = true
|
| function initBrowserInfo () {
| if (!_initBrowserInfo) return
| browserInfo = getBrowserInfo()
| }
|
| export function getDeviceInfo () {
| initBrowserInfo()
| const {
| deviceBrand,
| deviceModel,
| brand,
| model,
| platform,
| system,
| deviceOrientation,
| deviceType
| } = browserInfo
|
| return {
| brand,
| deviceBrand,
| deviceModel,
| devicePixelRatio: window.devicePixelRatio,
| deviceId: deviceId(),
| deviceOrientation,
| deviceType,
| model,
| platform,
| system
| }
| }
|
| export function getAppBaseInfo () {
| initBrowserInfo()
| const { theme, language, browserName, browserVersion } = browserInfo
|
| const appLanguage = uni
| ? uni.getLocale
| ? uni.getLocale()
| : language
| : language
|
| return {
| appId: __uniConfig.appId,
| appName: __uniConfig.appName,
| appVersion: __uniConfig.appVersion,
| appVersionCode: __uniConfig.appVersionCode,
| appLanguage,
| enableDebug: false,
| hostSDKVersion: undefined,
| hostPackageName: undefined,
| hostFontSizeSetting: undefined,
| hostName: browserName,
| hostVersion: browserVersion,
| hostTheme: theme,
| hostLanguage: language,
| language,
| SDKVersion: '',
| theme,
| version: ''
| }
| }
|
| /**
| * 获取系统信息-同步
| */
| export function getSystemInfoSync () {
| _initBrowserInfo = true
| initBrowserInfo()
| _initBrowserInfo = false
| const windowInfo = getWindowInfo()
| const deviceInfo = getDeviceInfo()
| const appBaseInfo = getAppBaseInfo()
| _initBrowserInfo = true
|
| const { ua, browserName, browserVersion, osname, osversion } = browserInfo
|
| const systemInfo = Object.assign(
| {},
| windowInfo,
| deviceInfo,
| appBaseInfo,
| {
| browserName,
| browserVersion,
| fontSizeSetting: appBaseInfo.hostFontSizeSetting,
| osName: osname.toLocaleLowerCase(),
| osVersion: osversion,
| osLanguage: undefined,
| osTheme: undefined,
| uniPlatform: 'web',
| uniCompileVersion: __uniConfig.compilerVersion,
| uniRuntimeVersion: __uniConfig.compilerVersion,
| ua
| }
| )
|
| delete systemInfo.screenTop
| delete systemInfo.enableDebug
| if (!__uniConfig.darkmode) delete systemInfo.theme
|
| return sortObject(systemInfo)
| }
| /**
| * 获取系统信息-异步
| */
| export function getSystemInfo () {
| return getSystemInfoSync()
| }
|
|