Skip to content

skillnull/DeviceJs

Repository files navigation

DeviceJS

License MIT

CDN

使用 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)

INFO 配置项

  • 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

About

JS获取设备信息(操作系统信息、地理位置、UUID、横竖屏状态、设备类型、网络状态、浏览器信息、生成浏览器指纹、日期、生肖、周几等)

Topics

Resources

License

Stars

254 stars

Watchers

3 watching

Forks

Contributors