fix(display): 改用 #m2 模式显示 PIN 数字,修复 #m3 不支持数字导致的显示错误

Made-with: Cursor
This commit is contained in:
stswangzhiping
2026-03-19 08:52:52 +08:00
parent 33046948b9
commit ce7f9f028e

View File

@@ -113,15 +113,14 @@ class Display {
showPinMiddle4(pin) { showPinMiddle4(pin) {
const s = String(pin || ''); const s = String(pin || '');
const mid4 = s.length >= 6 ? s.slice(1, 5) : s.padStart(4, '0').slice(-4); const mid4 = s.length >= 6 ? s.slice(1, 5) : s.padStart(4, '0').slice(-4);
// 不加空格分隔符,内容直接跟在 #m3 后,否则空格占用第一个显示位 // #m2 模式支持数字4字符直接跟在模式号后无空格
this._write('#m3' + mid4); this._write('#m2' + mid4);
log.info('display', `显示屏 → PIN 中间4位: ${mid4}`); log.info('display', `显示屏 → PIN 中间4位: ${mid4}`);
} }
_write(val) { _write(val) {
try { try {
// 用 printf 避免 echo 的换行符导致 sysfs 写入失败 execSync(`echo "${val}" | tee ${DISPLAY_PATH} > /dev/null`, { timeout: 3000 });
execSync(`printf '%s' "${val}" | tee ${DISPLAY_PATH} > /dev/null`, { timeout: 3000 });
} catch (e) { } catch (e) {
log.warn('display', `写入失败: ${e.message}`); log.warn('display', `写入失败: ${e.message}`);
} }