版本更新

This commit is contained in:
Zhang.WH
2025-09-03 15:54:41 +08:00
parent 0b93d16b64
commit 8f82322d10
3290 changed files with 154339 additions and 23829 deletions

View File

@@ -0,0 +1,58 @@
import { bodyTemperature, TOP_KEYS, HEAD_HEIGHT, LINE_HEIGHT } from './config'
export default class viewConfig {
constructor({
width = 640, // outer width, in pixels
height = 400, // outer height, in pixels
marginTop = 20, // top margin, in pixels
marginRight = 20, // right margin, in pixels
marginBottom = 50, // bottom margin, in pixels
marginLeft = 30, // left margin, in pixels
stroke = 'currentColor', // stroke color of line and dots
strokeWidth = 2, // stroke width of line and dots
strokeLinecap = 'round', // stroke line cap of line
strokeLinejoin = 'round', // stroke line join of line
renderData
} = {}) {
// 基础配置赋值
this.width = width
this.height = height
this.stroke = stroke
this.strokeWidth = strokeWidth
this.strokeLinecap = strokeLinecap
this.renderData = renderData
this.strokeLinejoin = strokeLinejoin
this.marginRight = marginRight
this.marginLeft = marginLeft
this.marginBottom = marginBottom
this.marginTop = marginTop
// 计算属性赋值
this.contentWidth = width - marginLeft - marginRight
this.step = this.contentWidth / 8
this.bottomPos = height - HEAD_HEIGHT - marginTop - (marginBottom - 30) // 底部坐标30是因为默认的30忘记计算了后续的按照30的偏移量计算
this.tableHeight = height - marginBottom - HEAD_HEIGHT
const { micoStep, verticalHeight } = this.utilsGetMicoPos(
this.step,
this.bottomPos
)
this.micoStep = micoStep
this.verticalHeight = verticalHeight
this.X_OFFSET = micoStep / 2 // 为了让图标在小格子居中展示,需要进行一个偏移
this.xRange = [this.step, width - marginLeft - marginRight] // [60, 860]
this.topPos = marginTop + HEAD_HEIGHT
this.topKeysPos = LINE_HEIGHT * (TOP_KEYS.length + 1) // 1 是时间那一行
this.bottomKeysPosStart = this.topKeysPos + verticalHeight + 20
this.yRange = [this.bottomKeysPosStart - 20, this.topKeysPos]
}
// 获取折线区域的高度
utilsGetMicoPos(step, botpos) {
const micoStep = (step * 7) / 42 // 折线小格子的宽度
const verticalLength = bodyTemperature[1] - bodyTemperature[0] // 根据体温来计算格子
const verticalHeight = micoStep * 5 * verticalLength
return {
micoStep,
verticalHeight
}
}
}