一下里面的坑
后端是PHP進 行消息發送 官方發送數據例子如下:
最開始 為了構造一個json數據格式,
第一步:我是先把 數據構造成一個多維數組 $arr,
第二步:$json_data = json_en買粉絲de($arr),然后再 $json = urlde買粉絲de($json_data);
第三步:再然后 就是 通過 curl_init 進行發送了,這里不再詳述。
接下來有個坑,發送不成功,錯誤信息 如下
{ “err買粉絲de”:40165,“errmsg”:"invalid weapp pagepath}
百度下,很快有了答案,說官方文檔有誤,把 pagepath 改為 path 即可,我試了下,果然可以,消息推送正常,開心壞了!
奇怪的事情發生了,點擊推送消息后沒有跳轉到小程序指定頁面,一直是首頁!
然后百度搜索各種答案,有說 路徑參數名,改為 page(試了下居然可以),有的說 為 pagepath(這不是剛跳出來的坑嗎?為啥別人居然可以成功發送?)
經過各種測試終于發現問題所在,第二步有問題!json_en買粉絲de() 把原來數組中的路徑 斜杠轉義了! 'pages/auth/auth?id=6' 變成了 'pages\/auth\/auth?id=6' 難怪找不到路徑!
后來看了下手冊,有防止 json_en買粉絲de() 轉義 斜杠的參數
JSON_UNESCAPED_SLASHES (不轉義斜杠,對應的數字 64)
然后把第二步 改為 $json_data = json_en買粉絲de($arr, JSON_UNESCAPED_SLASHES )
還得把 頁面參數由 path 改為 pagepath (不改會報錯!)
再發送消息就可以正常接收并跳轉到指定小程序頁面啦!下面是我的構造的正確的多維數組格式