diff --git a/src/routes/GroupHome.js b/src/routes/GroupHome.js index fc23085..d577d68 100644 --- a/src/routes/GroupHome.js +++ b/src/routes/GroupHome.js @@ -638,10 +638,18 @@ class GroupHome extends React.Component { url: "PF/HomeTitle/OrderPaged", onComplete: (ret) => { if (this._isMounted && ret) { + const safetySlogan = ret[0].TITLE; + // 计算文本长度(中文按1个字符,英文/数字按0.5个字符计算) + const charCount = safetySlogan.replace(/[a-zA-Z0-9]/g, 'aa').length; + + // 设置基础速率:每4个字符需要1秒 + const baseSpeed = 4; + // 计算动画时间(最低5秒,最高60秒) + const duration = Math.max(5, Math.min(60, charCount / baseSpeed)); this.setState({ - safetySloganOne: ret[0].TITLE, + safetySloganOne: safetySlogan, // safetySloganOne: "1.安全方针:以人为本、关注健康、依法治企、安全发展。 2.安全理念:一切风险皆可控,一切事故皆可防!3.安全方针:以人为本、关注健康、依法治企、安全发展。4.安全方针:以人为本、关注健康、依法治企、安全发展。5.安全方针:以人为本、关注健康、依法治企、安全发展。 6.安全理念:一切风险皆可控,一切事故皆可防!7.安全方针:以人为本、关注健康、依法治企、安全发展。8.安全方针:以人为本、关注健康、依法治企、安全发展。", - animationDuration: ret[0].SECOND, + animationDuration: duration, sliderColor: ret[0].COCOR, sliderSize: ret[0].FONTSIZE diff --git a/src/routes/Home.js b/src/routes/Home.js index c6989ec..a5c0c73 100644 --- a/src/routes/Home.js +++ b/src/routes/Home.js @@ -522,10 +522,18 @@ class Home extends React.Component { url: "PF/HomeTitle/OrderPaged", onComplete: (ret) => { if (this._isMounted&&ret) { + const safetySlogan = ret[0].TITLE; + // 计算文本长度(中文按1个字符,英文/数字按0.5个字符计算) + const charCount = safetySlogan.replace(/[a-zA-Z0-9]/g, 'aa').length; + + // 设置基础速率:每4个字符需要1秒 + const baseSpeed = 4; + // 计算动画时间(最低5秒,最高60秒) + const duration = Math.max(5, Math.min(60, charCount / baseSpeed)); this.setState({ - safetySloganOne: ret[0].TITLE, + safetySloganOne: safetySlogan, // safetySloganOne: "1.安全方针:以人为本、关注健康、依法治企、安全发展。 2.安全理念:一切风险皆可控,一切事故皆可防!3.安全方针:以人为本、关注健康、依法治企、安全发展。4.安全方针:以人为本、关注健康、依法治企、安全发展。5.安全方针:以人为本、关注健康、依法治企、安全发展。 6.安全理念:一切风险皆可控,一切事故皆可防!7.安全方针:以人为本、关注健康、依法治企、安全发展。8.安全方针:以人为本、关注健康、依法治企、安全发展。", - animationDuration: ret[0].SECOND, + animationDuration: duration, sliderColor: ret[0].COCOR, sliderSize: ret[0].FONTSIZE