前言:
作為一個(gè)運(yùn)維人員不背鍋,誰(shuí)背呢!
正文:
開(kāi)發(fā)人員和前端人員寫(xiě)好了微信小程序,然后坑出現(xiàn)了,安卓上打死不能一鍵登錄。然后開(kāi)始排查,
開(kāi)始從數(shù)據(jù)上著手,不管是使用postman進(jìn)行模擬測(cè)試數(shù)據(jù),還是通過(guò)抓包查看數(shù)據(jù),無(wú)任何問(wèn)題,但是就是微信小程序無(wú)法判斷改數(shù)據(jù)是json數(shù)據(jù)。
后來(lái)繼續(xù)測(cè)試,打console.log 斷點(diǎn),拋數(shù)據(jù)出來(lái)查看發(fā)現(xiàn) 該數(shù)據(jù) 確實(shí)也存在問(wèn)題,直接使用res.data 使用typeof 查看 確實(shí)為字符串,但是使用JSON.parse 卻拋的微信小程序 百度都不能百度的錯(cuò)誤, 懷疑要么就是數(shù)據(jù)問(wèn)題 要么就是微信小程序內(nèi)置的問(wèn)題!
因?yàn)樵搯?wèn)題只有安卓可以,ios是沒(méi)問(wèn)題的 不應(yīng)該啊~。
過(guò)程不在贅述,這個(gè)問(wèn)題是由
調(diào)用了這里下載的文件所致,很神奇的原因(筆者公司使用的php)
不管是linux使用file查看 還是 vi 查看 :set fileencoding 都是沒(méi)問(wèn)題的 ,把以下文件內(nèi)容刪了 重新自己寫(xiě)文件 在代碼貼進(jìn)去 就沒(méi)問(wèn)題了 得已解決

排查的方法是 接口打斷點(diǎn),一直打到這幾個(gè)文件出問(wèn)題,就算這幾個(gè)文件 就寫(xiě)<?php 也是有問(wèn)題的
雖然具體原因不知道 但是確實(shí)這奇異的做法 解決了這個(gè)問(wèn)題
最終發(fā)現(xiàn)原因:原來(lái) 是因?yàn)?<?php 前邊有一個(gè) <feff>
本地調(diào)試 調(diào)用上傳 官方說(shuō)明:
wx.uploadFile(OBJECT)
看情況應(yīng)該是支持https 但是在實(shí)際開(kāi)發(fā)過(guò)程中 https 并不能使用 http 倒是可以
報(bào)錯(cuò)為:

然后問(wèn)群里:都說(shuō)很明顯啊 證書(shū)錯(cuò)誤,會(huì)翻譯的人都知道吧?
但是事實(shí)上我們的接口也是使用 https 本地自己的證書(shū)也是沒(méi)有問(wèn)題的。故作為一個(gè)運(yùn)維人員的我 苦逼的搜索資料 還有就是進(jìn)行一系列測(cè)試
測(cè)試是從直接寫(xiě)demo 調(diào)線(xiàn)上接口開(kāi)始調(diào)試,盡管使用線(xiàn)上接口依然這個(gè)錯(cuò)誤 猜測(cè)是不是這個(gè)東西壓根就沒(méi)有經(jīng)過(guò)什么配置 相當(dāng)于被寫(xiě)死了的感覺(jué)~~
后來(lái) 搜索文章 某大牛說(shuō)道:

案例二:
wx.uploadFile 這個(gè)方法同時(shí) 上傳圖片 和文字類(lèi),默認(rèn)不會(huì)對(duì)返回的數(shù)據(jù)json處理。。使用 res.data=JSON.parse(res.data); 即可解決
前不少人在用wx.uploadFile組件時(shí)發(fā)現(xiàn)了各種問(wèn)題,什么編碼問(wèn)題、網(wǎng)站證書(shū)問(wèn)題等等,但有一個(gè)問(wèn)題是沒(méi)有解決的,
就是iOS的手機(jī)可以上傳文件,而安卓的手機(jī)不行。我也嘗試了各種辦法,比如設(shè)置請(qǐng)求時(shí)的header 參數(shù),檢查網(wǎng)站服務(wù)器權(quán)限等等,
但還是無(wú)功而返。然后……解決的辦法是…………………………
升級(jí)安卓手機(jī)端的微信,必須要升級(jí)到 6.5.2 版本以上?。。。?br /> 這樣就和iOS版的微信版本一樣了,然后就可以正確上傳文件了?。。。。?!
一億只草泥馬奔騰而過(guò)…………………………
所以建議大家可以用 wx.getSystemInfo 獲取微信版本號(hào)判斷一下是否6.5.2以上,否則提示用戶(hù)升級(jí)微信。
備注:建議升級(jí)到最新版本安卓及ios版本,最新版本查詢(xún)地址:http://weixin.qq.com/備注:測(cè)試版本無(wú)法在上述地址內(nèi)看到