feat(app): 添加平台信息工具并将其集成到应用初始化中
- 创建 utils/platform.ts 以提取并规范化设备/操作系统信息 - 将 globalData 中的普通 `system` 字符串替换为结构化的 `platformInfo` 对象 - 推导硬件/软件详情、设备类别和平台标志 - 更新 TypeScript 类型定义以支持新的平台数据类型
This commit is contained in:
1 parent
58cd96aaa3
commit
f19f4b8d41
3 files changed
+150
-6
No files matched your search
+31
-5
@@ -1,4 +1,6 @@
|
||||
// app.ts
|
||||
import { getPlatformInfo } from './utils/platform'
|
||||
|
||||
App<IAppOption>({
|
||||
globalData: {
|
||||
navBarHeight: 0, // 导航栏总高度
|
||||
@@ -10,19 +12,43 @@ App<IAppOption>({
|
||||
tabbarHeight: 0, // 底部导航栏高度
|
||||
safeAreaBottom: 0, // 底部安全区域坐标
|
||||
safeAreaInsetBottom: 0, // 中间区域内容的底边坐标
|
||||
system: '', // 系统信息
|
||||
platformInfo: {
|
||||
hardware: {
|
||||
deviceClass: 'unknown',
|
||||
brand: '',
|
||||
model: '',
|
||||
abi: '',
|
||||
deviceAbi: '',
|
||||
cpuType: '',
|
||||
memorySize: '',
|
||||
},
|
||||
software: {
|
||||
clientPlatform: 'unknown',
|
||||
rawClientPlatform: '',
|
||||
operatingSystem: 'unknown',
|
||||
system: '',
|
||||
wechatVersion: '',
|
||||
baseLibraryVersion: '',
|
||||
hostAppId: '',
|
||||
},
|
||||
isMobile: false,
|
||||
isDesktop: false,
|
||||
isDevtools: false,
|
||||
},
|
||||
token: '',
|
||||
},
|
||||
onLaunch() {
|
||||
// 1. 获取胶囊按钮位置信息
|
||||
// 获取小程序宿主环境信息
|
||||
const platformInfo = getPlatformInfo()
|
||||
this.globalData.platformInfo = platformInfo
|
||||
|
||||
// 获取胶囊按钮位置信息
|
||||
const menuButtonInfo = wx.getMenuButtonBoundingClientRect()
|
||||
|
||||
// 2. 获取系统窗口信息
|
||||
// 获取系统窗口信息
|
||||
const windowInfo = wx.getWindowInfo()
|
||||
const deviceInfo = wx.getDeviceInfo()
|
||||
|
||||
// 赋值基础信息
|
||||
this.globalData.system = deviceInfo.system
|
||||
this.globalData.menuRight = windowInfo.screenWidth - menuButtonInfo.right
|
||||
this.globalData.menuTop = menuButtonInfo.top
|
||||
this.globalData.menuHeight = menuButtonInfo.height
|
||||
|
||||
Reference in new issue
Block a user