detection
Advanced tools
Comparing version 0.0.13 to 0.0.14
@@ -8,7 +8,5 @@ /** | ||
readonly height: number; | ||
readonly multiple: boolean; | ||
constructor(width: number, height: number, multiple: boolean); | ||
constructor(width: number, height: number); | ||
} | ||
export declare class Info { | ||
[name: string]: any; | ||
} | ||
@@ -64,6 +62,5 @@ export declare class DateTime { | ||
screen: DeviceError | boolean; | ||
readonly deviceMap: Map<string, Array<Device>>; | ||
readonly devices: Array<Device>; | ||
constructor(); | ||
addDevice(device: any): void; | ||
getDevice(kind?: string): Array<Device>; | ||
} | ||
@@ -79,33 +76,3 @@ export declare function getNetwork(): Promise<Network>; | ||
export declare function getDeviceInfo(): Promise<DeviceInfo>; | ||
interface ScreenOrientation { | ||
angle: number; | ||
type: string; | ||
} | ||
interface ScreenDetailed { | ||
availHeight: number; | ||
availLeft: number; | ||
availTop: number; | ||
availWidth: number; | ||
colorDepth: number; | ||
devicePixelRatio: number; | ||
height: number; | ||
isExtended: boolean; | ||
isInternal: boolean; | ||
isPrimary: boolean; | ||
label: string; | ||
left: number; | ||
orientation: ScreenOrientation; | ||
pixelDepth: number; | ||
top: number; | ||
width: number; | ||
} | ||
interface ScreenDetails { | ||
currentScreen: ScreenDetailed; | ||
screens: Array<ScreenDetailed>; | ||
} | ||
/** | ||
* 获取屏幕信息 | ||
*/ | ||
export declare function getDisplays(): Promise<ScreenDetails>; | ||
/** | ||
* 手动检测 设备支持度检测 | ||
@@ -117,3 +84,2 @@ */ | ||
private speaker?; | ||
private screen?; | ||
testMicrophone(handle: Function): Promise<{ | ||
@@ -131,6 +97,2 @@ yes: () => void; | ||
}; | ||
testShareScreen(handle: Function): Promise<{ | ||
yes: () => void; | ||
no: () => void; | ||
}>; | ||
} | ||
@@ -141,3 +103,2 @@ export declare function getTester(): Tester; | ||
getDeviceInfo(): Promise<DeviceInfo>; | ||
getDisplays(): Promise<ScreenDetails>; | ||
getTester(): Tester; | ||
@@ -144,0 +105,0 @@ } |
@@ -17,6 +17,5 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
export class ScreenInfo { | ||
constructor(width, height, multiple) { | ||
constructor(width, height) { | ||
this.width = width; | ||
this.height = height; | ||
this.multiple = multiple; | ||
} | ||
@@ -64,25 +63,8 @@ } | ||
this.screen = true; | ||
this.deviceMap = new Map(); | ||
Object.defineProperty(this, 'devices', { | ||
get: () => this.getDevice() | ||
}); | ||
this.devices = []; | ||
} | ||
addDevice(device) { | ||
let { kind, label, groupId, deviceId } = device; | ||
let devices = this.deviceMap.get(kind) || []; | ||
devices.push({ kind, label, groupId, deviceId }); | ||
this.deviceMap.set(kind, devices); | ||
this.devices.push({ kind, label, groupId, deviceId }); | ||
} | ||
getDevice(kind) { | ||
let devices = []; | ||
if (!kind) { | ||
this.deviceMap.forEach(items => { | ||
devices.push(...items); | ||
}); | ||
} | ||
else { | ||
devices = this.deviceMap.get(kind) || []; | ||
} | ||
return devices; | ||
} | ||
} | ||
@@ -163,9 +145,6 @@ const parseError = (err) => { | ||
let browser = ua.browser; | ||
let screen = new ScreenInfo(win.screen.width * win.devicePixelRatio, win.screen.height * win.devicePixelRatio, win.screen.isExtended); | ||
let screen = new ScreenInfo(window.screen.width * window.devicePixelRatio, window.screen.height * window.devicePixelRatio); | ||
let language = navigator.language; | ||
let processor = navigator.hardwareConcurrency; | ||
let info = new BaseInfo(ua.os, { | ||
name: ua.browser, | ||
version: ua.version | ||
}, navigator.userAgent, screen, navigator.language, navigator.hardwareConcurrency); | ||
let info = new BaseInfo(ua.os, { name: ua.browser, version: ua.version }, navigator.userAgent, screen, navigator.language, navigator.hardwareConcurrency); | ||
info.network = yield getNetwork(); | ||
@@ -214,22 +193,2 @@ // 获取地区 与 时间 | ||
/** | ||
* 获取屏幕信息 | ||
*/ | ||
export function getDisplays() { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { | ||
if (!win.getScreenDetails) { | ||
reject({ code: 'NotSupport', message: '浏览器版本过低,无法获取屏幕信息' }); | ||
return; | ||
} | ||
try { | ||
let { currentScreen, screens } = yield win.getScreenDetails(); | ||
resolve({ currentScreen, screens }); | ||
} | ||
catch (e) { | ||
reject(e); | ||
} | ||
})); | ||
}); | ||
} | ||
/** | ||
* 手动检测 设备支持度检测 | ||
@@ -337,37 +296,2 @@ */ | ||
} | ||
testShareScreen(handle) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
try { | ||
let video = document.createElement('video'); | ||
video.autoplay = true; | ||
video.loop = true; | ||
video.controls = true; | ||
let mediaDevices = navigator.mediaDevices; | ||
let stream = yield mediaDevices.getDisplayMedia({ video: true }); | ||
video.srcObject = stream; | ||
handle(video); | ||
const stop = () => { | ||
stream.getTracks()[0].stop(); | ||
}; | ||
return { | ||
yes: () => { | ||
this.screen = true; | ||
stop(); | ||
}, no: () => { | ||
this.screen = false; | ||
stop(); | ||
} | ||
}; | ||
} | ||
catch (e) { | ||
this.screen = false; | ||
return { | ||
yes: () => { | ||
}, | ||
no: () => { | ||
}, | ||
}; | ||
} | ||
}); | ||
} | ||
} | ||
@@ -374,0 +298,0 @@ export function getTester() { |
{ | ||
"name": "detection", | ||
"version": "0.0.13", | ||
"version": "0.0.14", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "./lib/index", |
14202
398