微信開放平臺提供了微信的一些開放接口,好比微信登陸、分享支付等,爲其餘各平臺應用提供支持服務。網上資料比較鬆散,加上一些陌生概念,使得簡單流程並無串連起來,本文總結了uniapp上實現安卓app微信登陸的權限申請、開發的具體操做流程,但願對你有用。html
首先註冊一個微信開放平臺[1]帳號,微信的平臺一共有4個,這個開放平臺就是開放微信的登陸分享支付等內容給app、網頁、小程序等使用。具體過程就不細說了,郵箱帳號要注意不要與微信其餘地方用到的相沖突就好了。java
帳號註冊成功後登陸,進入管理中心,選擇移動應用,建立移動應用,按步驟來就好了,可能惟一會讓你卡住的就是應用簽名了。我走到這一步時徹底是懵逼狀態,不知道啥是應用簽名。ios
看上面的說明,應用簽名主要是用來進行身價驗證,之因此說是二次校驗,是相對於登陸用戶來講的。通常狀況下,你登陸了開放平臺就能夠申請了,如今多了這個簽名,你得再折騰一下,證實本身擁有這個應用的開發權限。通常狀況下,安卓的app發佈在小廠大都是用的公共測試證書,如今要生成應用簽名就得用自有證書了。有了自有證書,就能夠生成微信開放平臺要的這個應用簽名了。那這個自有證書怎麼來呢?接下來,看看怎麼折騰出來這個自有證書和應用簽名吧。json
jre是java開發環境,能夠用cmd命令窗口用java命令判斷下當前環境是否有jre,若是提示**'java' 不是內部或外部命令,也不是可運行的程序或批處理文件**,那說明沒有安裝;若是像這樣輸出內容就是已經安裝過了:小程序
若是沒有安裝就要下載jre安裝包:https://www.oracle.com/java/technologies/javase-downloads.html微信
安裝好以後,從新打開cmd,再次輸入java就能夠看到正常輸出相關內容了。接下來,還要把jre安裝路徑添加到系統環境變量中:oracle
d: set PATH=%PATH%;"C:\Program Files\Java\jre1.8.0_201\bin"複製代碼
用cmd輸入以上命令,第一行意思是切換到d盤,這個目錄隨意,是用來存放接下來會生成的簽名證書的,你能夠再建一個文件夾而後cd進去。回車後,在第二行意思是將jre命令添加到臨時環境變量中,後面的地址根據你的jre實際安裝地址來。這步以後,後面的操做生成的文件就會生成在當前文件夾中。app
上面步驟正常後,就能夠輸入下面的keytool -genkey命令就能夠生成證書了。這裏要注意下,testalias 和 test.keystore中的'test'都是能夠修改的,能夠替換爲本身項目中的名字。ide
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore複製代碼
回車後,輸入密碼,好比123456,密碼看不見的,不要輸錯了,後面的按提示填就能夠了,通常輸入英文或拼音。最後提示是否正確時,不要回車了,輸入y確認正確,不然要再重來一次。工具
確認後,又提示密鑰口令,這個直接回車相同就行。
若是提示這個,就把這個指令複製了粘貼執行,輸入前面設置的口令123456就能夠了。
最後在當前執行命令的文件夾裏就能看到應用證書了。
前面是生成證書,這一步終於能夠生成簽名了。
這一步很簡單,用hbuilderx進行app雲打包,在彈出框中選擇安卓的自有證書打包方式。這個自有證書就是咱們剛纔生成的證書,興不興奮,咱們也是有證書的人了!?下面三欄,別名、密碼都是前面的操做步驟中寫過的,沒忘記就寫上吧,而後選擇證書文件,剩下的都是常規操做,最後打包就能夠了。
先到微信開放平臺下載簽名生成工具[2],下載好以後,在手機端安裝,輸入安卓包名。
這裏有坑,要注意下,uniapp的mainfest.json文件配置中,appid必須是'_UNI_'開頭,因此你的配置文件中得是'_UNI_'開頭的,可是打包時的包名跟那個配置又是兩個體系,互不影響,你能夠在這裏把名字改下,把uni這個頭去掉。由於這個包名後面要跟ios版本一塊兒用,你得跟ios同樣,相信打過包的人應該能明白我在說啥。
輸入正確的包名,點擊下面的按鈕就生成了一串id,這個就是——應用簽名!真是費勁!
有了簽名,你就能夠按照微信開放平臺的流程申請移動應用了,就是本文的第一張圖,輸入簽名,一步步走就行。
最後就是這樣子了,表明你提交成功,能夠耐心的等了(三天了,沒變化):
等審覈經過,就能夠申請微信登陸等功能了。
最後要說的一點就是,app或者你資料中提交的相關域名網站不要給登陸界面,不然可能會審覈不經過,由於他們進不去,看不了固然沒法審覈。
ok,若是對你有用就點個贊或者幫忙轉發吧!謝謝鼓勵!
持續更新中