qoe-pps
Version:
this is a qoe project of pps
45 lines (34 loc) • 1.13 kB
JavaScript
import {global} from './global'
const QOS_URL = '//10.3.12.100/qos'
export function extend (origin, extend) {
const properties = extend ? Object.getOwnPropertyNames(extend) : []
properties.forEach(function (property) {
origin[property] = extend[property]
})
}
export function send (params) {
if (global.navigator.sendBeacon && FormData) {
// 在浏览器关闭时也可以发送出数据,并且是异步的,并不会阻塞浏览器关闭
sendBeacon(params)
} else {
sendImg(params)
}
}
function sendBeacon (params) {
const properties = Object.keys(params)
const form = new FormData()
form.append('t', 1)
properties.forEach(property => form.append(property, params[property]))
global.navigator.sendBeacon(QOS_URL, form)
console.log('[QOE] sent: ' + QOS_URL)
}
function sendImg (params) {
let src = QOS_URL
const properties = Object.keys(params)
// TOFO p1 从urk中获取或者从配置中得到
src += `?t=10&` + properties.map(function (property) {
return property + '=' + params[property]
}).join('&')
new Image().src = src
console.log('[QOE] sent: ' + src)
}