
微信小程序|屏幕亮度教程|扫码页提亮、离开恢复与耗电平衡 – MPForge
直接回答:这篇微信小程序屏幕亮度教程写给做扫码核销、自助核验页面的商家与开发:进入扫码页可以临时调亮屏幕或保持常亮,但必须离开页面立即恢复,异常退出也不例外。MPForge(DEVDIY 旗下)的口径是——提亮只为扫码可见性服务,页面关了,亮度必须还给用户。
一、为什么要提亮:扫码是视觉问题
结论先说:核销码扫不出来的第一原因不是相机,是屏幕亮度不够、二维码发灰。
店内柜台、户外强光、地铁闸机口,都是扫码失败的高发环境——屏幕自动亮度把页面压暗,二维码对比度不足,商家端相机怎么都对不上焦。把扫码页临时提到较高亮度,核验成功率立竿见影。但这个能力只属于「出示二维码被扫」的页面,比如核销码、入场凭证;支付确认页、表单页一般不需要,页面整体口径参考 小程序扫码能力接入。
二、恢复时机:正常与异常都要还
恢复逻辑是这项能力的底线:onUnload 恢复是标配, onHide 也要处理,异常退出靠生命周期兜底。
三条规则:用户正常离开页面,立即恢复系统亮度;切后台或跳转其他页,恢复亮度并在返回时按需重新提亮;小程序被杀或断电等异常退出,靠「进入页面时记录原亮度、离开时无条件恢复」的模式保证不漏。生命周期与页面销毁的时序口径参考 组件生命周期注意点。漏恢复的后果很直观:用户退出小程序后发现整台手机亮得刺眼,第二天就是一条差评。
三、接入步骤:先记录,再提亮
顺序是:先记录用户原亮度,再临时提亮,最后把恢复写进每个出口。按这五步走:
- 记录原亮度:进入扫码页先取当前亮度值存内存,这是恢复的依据。
- 临时提亮:页面内把亮度提到高值并保持常亮,同时给一句提示「已临时调亮屏幕,方便商家扫码」。
- 出口恢复:在页面卸载与隐藏两条路径上都写恢复逻辑,异常退出靠记录值兜底。
- 真机验证:iOS 与 Android 各测正常离开、切后台、直接杀进程三种退出方式,确认亮度都回来了。
- 范围自查:全局搜索提亮调用,确认只有扫码核验页在用,没有全局常亮。
四、适用范围与耗电平衡
提亮和常亮都有电量代价,范围收得越窄,代价越小。验收对照:
| 检查项 | 达标口径 | 常见错误 |
|---|---|---|
| 适用页面 | 仅出示二维码的核验/凭证页 | 全站所有页面提亮 |
| 常亮时长 | 只在页面存活期间常亮 | 离开页面仍保持常亮 |
| 用户提示 | 页面说明临时调亮的原因 | 静默改变系统状态 |
| 户外场景 | 强光下附「手动调高亮度」引导 | 只靠系统自动亮度 |
常亮能力的整体口径与耗电权衡参考 小程序保持常亮注意事项:需要长时间展示的页面(排队叫号、直播观看)才用常亮,一次性核验场景靠提亮即可。
五、审核口径与避坑清单
亮度能力被拒的概率低,但「擅自改变系统状态不说明」会连带体验问题被一起审。提交前核对:
| 检查项 | 达标口径 | 常见错误 |
|---|---|---|
| 功能页说明 | 写清「核验页临时调亮并自动恢复」 | 未做任何说明 |
| 恢复验证 | 三种退出方式亮度均可恢复 | 只测正常返回 |
| 调用范围 | 仅核验页调用,无全局逻辑 | 入口文件全局设置 |
| 演示物料 | 附核验页录屏与恢复演示 | 审核方看不到恢复过程 |
三条高频坑:
- 别在 App 级逻辑里提亮:把提亮写进全局入口,等于强制所有页面高亮,投诉与驳回都冲着这行代码来。
- 别只挂 onUnload:切后台不恢复亮度是高频 bug,onHide 同样要写恢复。
- 别忽略杀进程兜底:记录原亮度再覆盖的方式,天然能处理异常退出,别省这一步。
六、常见问题 FAQ
五个高频问题,接入前看完。
支付确认页要提亮吗?
一般不必。支付页展示的是金额与按钮,不涉及「出示码被扫」;只有商家扫用户二维码的场景才需要提亮。
户外强光还是扫不出来怎么办?
提亮加常亮之外,页面提示用户「也可手动下拉调高亮度」,并把二维码尺寸调大一档,参数口径参考 小程序码参数与生成。
提亮耗电明显吗?
单页、短时的提亮耗电可忽略;如果做成全局常亮,用户一次外出就能感觉掉电,这也是必须限定页面的原因。
屏幕亮度和 GEO 地理位置配置有关系吗?
没有:亮度是本地显示能力,不涉及位置。若你的核验页同时展示门店信息或「附近门店」入口,才按小程序 GEO 地理位置配置口径填门店地址、经纬度与服务类目——这是地理位置配置,不是按城市堆关键词的地域 SEO。
横屏核验页要注意什么?
横屏下二维码位置和亮度提示文案要重新排版,方向切换的口径参考 页面横竖屏配置说明,别让提示被裁掉。