使用 UMD 格式
<script src="https://www.unpkg.com/@skillnull/device-js@3.0.1/dist/device.js"></script>
# or
<script src="https://cdn.jsdelivr.net/npm/@skillnull/device-js@3.0.1/dist/device.js"></script>
使用 ES 格式
<script src="https://www.unpkg.com/@skillnull/device-js@3.0.1/dist/device.es.js" type="module"></script>
# or
<script src="https://cdn.jsdelivr.net/npm/@skillnull/device-js@3.0.1/dist/device.es.js" type="module"></script># NPM / YARN / PNPM
npm install @skillnull/device-js
yarn add @skillnull/device-js
pnpm add @skillnull/device-js
// 使用 CDN 引用时,无需 import
import Device from '@skillnull/device-js'
/**
* @params:{
* domain: <String> 生成浏览器指纹所需,不传默认使用window.location.host;
* transferDateToLunar: <String> 要被转化为农历的日期,需要同时开启info中的lunarDate选项才生效
* info: <Array> 想要获取的信息,不传默认开启全部信息显示
* }
*
* @return: 返回 Promise 对象
*/
Device.Info({
domain: 'your domain',
transferDateToLunar: '需要转化为农历的日期。例如: 2023/01/01。',
info: ['lunarDate']
}).then(data => {
console.log(data)
})
// 或
Device.Info().then(data => {
console.log(data)
})包内同时提供 UMD、ESM JavaScript 产物和 TypeScript 类型声明。JavaScript 与 TypeScript
项目均从同一个入口导入;类型声明由 src/device.ts 在构建时自动生成。
import Device, { type DeviceInfo, type DeviceInfoOptions } from '@skillnull/device-js'
const options: DeviceInfoOptions = {
info: ['deviceType', 'OS', 'browserInfo']
}
const data: DeviceInfo = await Device.Info(options)
- deviceType: 设备类型
- isEmulator: 是否模拟器
- deviceModel: 设备型号(iPhone 需 UA 含机型码;Pixel 以 UA Build 为准)
- OS: 操作系统
- OSVersion: 操作系统版本
- platform: 操作系统平台
- screenHeight: 屏幕高
- screenWidth: 屏幕宽
- viewportHeight: 视口高
- viewportWidth: 视口宽
- devicePixelRatio: 设备像素比
- hardwareConcurrency: 逻辑处理器核心数
- touchSupport: 是否支持触摸
- cookieEnabled: Cookie 是否可用
- colorScheme: 当前主题色彩模式
- timezone: 当前时区
- language: 当前使用的语言-国家
- netWork: 联网类型
- orientation: 横竖屏
- browserInfo: 浏览器信息
- fingerprint: 浏览器指纹
- userAgent: 包含 appCodeName,appName,appVersion,language,platform 等
- geoPosition: 地理位置
- date: 阳历日期时间
- lunarDate: 阴历日期
- week: 周几
- UUID: 通用唯一标识 Universally Unique Identifier
