@flatbiz/device
v2.0.0
Published
增强 H5 设备信息采集能力:`deviceInfo` 支持自定义/自动获取 IP、屏幕分辨率字符串,并合并 UA 解析结果;补充 Vitest 单测与 Vite 本地演示。
Downloads
253
Readme
@flatbiz/device
增强 H5 设备信息采集能力:deviceInfo 支持自定义/自动获取 IP、屏幕分辨率字符串,并合并 UA 解析结果;补充 Vitest 单测与 Vite 本地演示。
Breaking Changes
deviceInfo改为异步 API:由同步函数改为async,返回Promise<FlatbizDevice>,调用方需使用await deviceInfo()或.then()- 移除
utils模块:getDeviceId统一从helper-get-deviceId导出,不再通过src/utils.ts
Features
- 新增
DeviceInfoOptions可选参数:ip:传入服务端下发的 IP,优先于自动获取autoGetIp:为true时通过https://api.ipify.org?format=json拉取公网 IP(默认false)isDebug:为true时在控制台输出非浏览器环境或解析失败等错误信息(默认false)
- 新增返回字段
ip、screenSize(格式{width}x{height},如390x844) - 非浏览器环境(
typeof window === 'undefined')安全返回{},避免 SSR/Node 直接调用抛错 - 新增 helpers:
getIp、getWindowSize;getDeviceId独立为helper-get-deviceId - 开发体验:补充 Vitest 单元测试;
yarn demo(Vite)可本地预览public/index.html
deviceInfo() 返回字段
H5 终端(FlatbizDeviceInfo)
ip、deviceId、languagescreenWidth、screenHeight、screenSize、screenDensitynetworkType、timezone、timezoneOffset、systemDate、systemTimecolorDepth、touchSupport、plugins、pluginNum、cookiesEnable
UA 解析(FlatbizUaParserResult)
userAgent、browserName、browserVersionengineName、engineVersionosName、osVersion、cpuModeldeviceType、deviceVendor、deviceModel
Usage
import { deviceInfo } from '@flatbiz/device';
// 自定义 IP(推荐由服务端下发)
const info = await deviceInfo({ ip: '203.0.113.1' });
// 自动获取公网 IP
const info2 = await deviceInfo({ autoGetIp: true });
// 调试模式
const info3 = await deviceInfo({ isDebug: true });