項目介紹:小程序是關於教師直播,因此須要對教師上傳的音頻和圖片進行校驗html
方法:調用微信API(詳情參考here)上傳音頻or圖片,微信異步返回校驗結果json
流程:小程序
一、獲取小程序全局惟一後臺接口調用憑據(access_token
)調用絕大多數後臺接口時都需使用 access_token,開發者須要進行妥善保存。api
1 const request = require('request'); 2 3 // 獲取小程序全局惟一後臺接口調用憑據(access_token) 4 // 參數:appid-它其實就是小程序的「身份證號碼」 secret-AppSecret(小程序密鑰) 可在Web登陸小程序帳號 在設置---開發設置中 獲取 5 var getAccessToken = function(appid, secret){ 6 return new Promise(function(resolve, reject){ 7 let wxApi = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${secret}` 8 request(wxApi, function (error, response, data) { 9 var wxApiData = JSON.parse(data) 10 if (wxApiData.access_token) { 11 resolve(wxApiData.access_token) 12 } else { 13 reject(wxApiData.errcode) 14 } 15 }); 16 }) 17 }
二、調用檢驗API微信
1 // 參數 access_token-上面獲得 media_url-文件地址,必定要能打開下載不然微信不能識別 media_type-1:音頻;2:圖片 2 var wxCheck = function(access_token, media_url, media_type){ 3 return new Promise(function(resolve, reject){ 4 let wxApi = `https://api.weixin.qq.com/wxa/media_check_async?access_token=${access_token}` 5 let reqData = { 6 media_url: media_url, 7 media_type: parseInt(media_type) 8 } 9 request({ 10 url: wxApi, 11 method: "POST", 12 json: true, 13 headers: { 14 "content-type": "application/json", 15 }, 16 body: reqData 17 }, function (error, response, wxApiData) { 18 console.log(wxApiData, typeof(wxApiData), "wxApiData") 19 if (wxApiData.errcode == 0) { // 檢測請求已接受 20 resolve(wxApiData.trace_id) 21 } else { 22 reject(wxApiData.errmsg) 23 } 24 }); 25 }) 26 }
三、微信異步返回檢測結果(注意:下面代碼必需要配置微信的推送消息,微信方可返回結果,詳情參考here)app
開發者實現HTTP/HTTPS接口供微信返回結果,再根據本身的業務邏輯實現代碼。異步