修改测试BUG

This commit is contained in:
guanj
2026-06-18 16:35:16 +08:00
parent 13f11596e4
commit 8527939eb1
44 changed files with 1329 additions and 953 deletions

View File

@@ -1,4 +1,12 @@
const AXIS_DECIMALS = 2
/** 与 formatAxisLabel 小数位一致,刻度步长不得小于此值,避免标签重复 */
const MIN_TICK_STEP = 10 ** -AXIS_DECIMALS
export interface YAxisRange {
min: number
max: number
interval: number
}
export function roundAxisValue(val: number, decimals = AXIS_DECIMALS): number {
if (!Number.isFinite(val)) return 0
@@ -12,12 +20,61 @@ export function formatAxisLabel(value: number): string {
return String(Number(roundAxisValue(value).toFixed(AXIS_DECIMALS)))
}
/** 根据数据范围计算与显示精度对齐的刻度步长 */
function calcNiceTickInterval(range: number, maxTicks = 6): number {
if (!Number.isFinite(range) || range <= 0) return MIN_TICK_STEP
const raw = range / maxTicks
const magnitude = 10 ** Math.floor(Math.log10(raw))
const normalized = raw / magnitude
let niceFactor: number
if (normalized <= 1) niceFactor = 1
else if (normalized <= 2) niceFactor = 2
else if (normalized <= 5) niceFactor = 5
else niceFactor = 10
let interval = niceFactor * magnitude
if (interval < MIN_TICK_STEP) {
interval = MIN_TICK_STEP
} else {
interval = Math.ceil(interval / MIN_TICK_STEP) * MIN_TICK_STEP
}
return roundAxisValue(interval)
}
/** 将 min/max 对齐到刻度步长边界 */
function alignAxisToInterval(min: number, max: number, interval: number): { min: number; max: number } {
const alignedMin = Math.floor(min / interval) * interval
let alignedMax = Math.ceil(max / interval) * interval
if (alignedMax <= alignedMin) {
alignedMax = alignedMin + interval
}
return {
min: roundAxisValue(alignedMin),
max: roundAxisValue(alignedMax)
}
}
function buildYAxisRange(axisMin: number, axisMax: number): YAxisRange {
const interval = calcNiceTickInterval(axisMax - axisMin)
const aligned = alignAxisToInterval(axisMin, axisMax, interval)
return {
...aligned,
interval
}
}
/** 瞬间波形 Y 轴范围 */
export function calcShuYAxisRange(dataMin: number, dataMax: number): { min: number; max: number } {
export function calcShuYAxisRange(dataMin: number, dataMax: number): YAxisRange {
const min = Number(dataMin)
const max = Number(dataMax)
if (!Number.isFinite(min) || !Number.isFinite(max)) {
return { min: 0, max: 1 }
return buildYAxisRange(0, 1)
}
let axisMax = max * 1.1
@@ -29,18 +86,15 @@ export function calcShuYAxisRange(dataMin: number, dataMax: number): { min: numb
axisMin = min - pad
}
return {
min: roundAxisValue(axisMin),
max: roundAxisValue(axisMax)
}
return buildYAxisRange(axisMin, axisMax)
}
/** RMS 波形 Y 轴范围 */
export function calcRmsYAxisRange(dataMin: number, dataMax: number): { min: number; max: number } {
export function calcRmsYAxisRange(dataMin: number, dataMax: number): YAxisRange {
const min = Number(dataMin)
const max = Number(dataMax)
if (!Number.isFinite(min) || !Number.isFinite(max)) {
return { min: 0, max: 1 }
return buildYAxisRange(0, 1)
}
let axisMax = max * 1.06 * 1.1
@@ -52,8 +106,5 @@ export function calcRmsYAxisRange(dataMin: number, dataMax: number): { min: numb
axisMin = min - pad
}
return {
min: roundAxisValue(axisMin),
max: roundAxisValue(axisMax)
}
return buildYAxisRange(axisMin, axisMax)
}

View File

@@ -77,10 +77,10 @@ function createAxios<Data = any, T = ApiPromise<Data>>(
config.url == '/cs-harmonic-boot/limitRateDetailD/limitProbabilityData' ||
config.url == '/system-boot/dictTree/queryByCode' ||
config.url == '/system-boot/dictTree/queryByid' ||
config.url == '/system-boot/dictTree/query'||
config.url == '/cs-harmonic-boot/csevent/f47Curve'||
config.url == '/cs-harmonic-boot/sysExcel/querySysExcel'||
config.url == '/cs-device-boot/csLedger/lineTree'||
config.url == '/system-boot/dictTree/query' ||
config.url == '/cs-harmonic-boot/csevent/f47Curve' ||
config.url == '/cs-harmonic-boot/sysExcel/querySysExcel' ||
config.url == '/cs-device-boot/csLedger/lineTree' ||
config.url == '/cs-harmonic-boot/pqSensitiveUser/getUserDevTree'
)
)
@@ -103,7 +103,10 @@ function createAxios<Data = any, T = ApiPromise<Data>>(
config.headers.Authorization = 'Basic bmpjbnRlc3Q6bmpjbnBxcw=='
}
}
if (config.url == '/user-boot/user/generateSm2Key' || config.url == '/pqs-auth/oauth/token') {
if (
config.url == '/user-boot/user/generateSm2Key' ||
config.url == '/pqs-auth/oauth/token'
) {
config.headers.Authorization = 'Basic bmpjbnRlc3Q6bmpjbnBxcw=='
}