微信小程序內容校驗之node實現

項目介紹:小程序是關於教師直播,因此須要對教師上傳的音頻和圖片進行校驗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 }

三、微信異步返回檢測結果(注意:下面代碼必需要配置微信的推送消息,微信方可返回結果,詳情參考hereapp

開發者實現HTTP/HTTPS接口供微信返回結果,再根據本身的業務邏輯實現代碼。異步

相關文章
相關標籤/搜索