今天遇到了一個(gè)天坑密似,我這么相信微信焙矛,結(jié)果被微信偷偷坑死了一回。
微信小程序解密encryptedData數(shù)據(jù)字符串残腌,服務(wù)端php村斟,官方下載的demo,如圖:
用的官方demo抛猫,在開發(fā)工具里的模擬器中蟆盹,以及ios手機(jī)上測試,都正常闺金,結(jié)果偏偏在android手機(jī)上卻報(bào)json解析錯(cuò)誤的bug逾滥,硬是花費(fèi)了大半天的是時(shí)間查找bug,原以為是兼容性問題败匹,結(jié)果最后才發(fā)現(xiàn)是官方的wxBizDataCrypt.php中<?php 前面多了幾個(gè)空格寨昙,導(dǎo)致android設(shè)備讀取的json字符串多了幾個(gè)隱形字符,也就是utf-8的BOM頭掀亩,json解析錯(cuò)誤舔哪。
解決辦法,如圖:
我用的是phpstorm槽棍,直接去除bom就好了捉蚤,這還是官方給出的demo,既然出這樣的bug,微信女揭,我還能如何相信你傲祛怼?