Files
one-pipe-card-h5/utils/common.js
sexygoat 6bf56a4b4c first
2026-01-22 17:25:30 +08:00

92 lines
1.8 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 公共工具函数
*/
/**
* 生成随机浮点数参数rfm
* 用于接口请求的防重复参数
* @returns {number} 0到1之间的随机浮点数
*/
export function generateRfm() {
return Math.random();
}
/**
* 获取当前时间戳
* @returns {number} 当前时间戳
*/
export function getTimestamp() {
return Date.now();
}
/**
* 生成带时间戳的随机参数
* @returns {number} 带时间戳的随机数
*/
export function generateTimestampRfm() {
return Math.random() + Date.now() / 1000000;
}
/**
* 构建通用请求参数
* @param {Object} customParams - 自定义参数
* @returns {Object} 包含通用参数的对象
*/
export function buildCommonParams(customParams = {}) {
return {
rfm: generateRfm(),
...customParams
};
}
/*
* 转换成GB
* */
export function convertToGB(value, type) {
if (type === 'flowSize') {
// flowSize 单位是 MB转换为 GB
return (value / 1024).toFixed(2);
} else if (type === 'totalBytesCnt') {
// totalBytesCnt 单位是 MB转换为 GB
return (value / 1024).toFixed(2);
}
return value;
}
/**
* 秒转时间字符串
* @param {number} seconds 秒
* @returns {string} HH:mm:ss
*/
export function formatSecondsToTime(seconds) {
if (!seconds && seconds !== 0) return '00:00:00';
const h = Math.floor(seconds / 3600);
const m = Math.floor((seconds % 3600) / 60);
const s = seconds % 60;
return (
String(h).padStart(2, '0') + ':' +
String(m).padStart(2, '0') + ':' +
String(s).padStart(2, '0')
);
}
/**
* 根据信号强度(dBm)返回信号等级与体验描述
* @param {number} dbm 信号强度(负数,如 -65
* @returns {string}
*/
export function getSignalText(dbm) {
if (!dbm) {
return '未知'
}
if (dbm >= -50) {
return '极强'
}
if (dbm >= -70) {
return '良好'
}
return '一般'
}