亚洲女同成aV人片在线观看|亚洲www啪成人一区二区麻豆|亚洲国产中日韩精品综合|亚洲国产成人精品一级片|亚洲无码在线视频免费

小程序客服自動(dòng)回復(微信小程序客服自動(dòng)回復消息功能采坑)
發(fā)布時(shí)間:2026-05-05 09:52:09

小程序接入客服,小程ヽ(′▽?zhuān)?ノ序客信小消息我們就需要調用微信客服功能。服自復微很簡(jiǎn)單,程序采坑只需要在頁(yè)面中使用

<button open-type="contact" />

可以顯示進(jìn)入客服會(huì )話(huà)按鈕??头?/p>

然后我們就能登錄網(wǎng)頁(yè)版的自動(dòng)微信公眾平臺的客( ???)服頁(yè)面進(jìn)去回復各種千奇百怪的問(wèn)題了。

但(╬?益?)是回復有個(gè)問(wèn)題,我們如何做到自動(dòng)回復呢?小程序客信小消息

那么就需要通過(guò)自己的服務(wù)器去通過(guò)微信端請求服務(wù),完成這項工作。服自復微

接入指引 · 小程序

developers.weixin.qq.com

附上官網(wǎng)接入指南,程序采坑這可是客服相當的簡(jiǎn)潔。

First

填寫(xiě)??服務(wù)器配置的自動(dòng)圖:

在這里填寫(xiě)的同時(shí)我們需要在后臺寫(xiě) get 請求驗證。

官方提??供了一個(gè)非常簡(jiǎn)潔的回復一個(gè) php 代碼。??。小程序客信小消息那是服自復微相當的坑爹啊。

這里我是程序采坑用 expre??ss 寫(xiě)得提??供一個(gè)例子

function checkSignature(params) { var key = [params.token, params.timestamp, params.nonce].sort().join(''); var sha1 = crypto(′▽?zhuān)?.createHash('sha1'); sha1.update(key); return sha1.digest('hex') ==??= params.signature; }app.get('/wxlalalala', function(req, res, next) { let token = 'xxxxx'; // 填寫(xiě)服務(wù)器配置上??所填的token let isCheckヽ(′ー`)ノ = chヽ(′▽?zhuān)?ノeckSignature((╥_╥){(′ω`) signature: req.query.signature, timestamp: req.query.timestamp, nonce: req.query.nonce, token: token, }); req.body = req.quer??y.echostr; res.send(req.body); re?turn req.body; });

然后我們就完成了最關(guān)鍵的一步。之后就可以(yi)去寫(xiě)??,客戶(hù)發(fā)了什么我們就自動(dòng)回啥的邏輯。

Second

當我們去接受客戶(hù)發(fā)的消息和事件,我們都需要去通(tong)過(guò)一個(gè)post去接受。

當然第一我們需要先去拿`access_token`。沒(méi)有這個(gè)我們啥事情都做不了。

給上一個(gè)官方網(wǎng)站:

接口調用憑證 · 小程序

developers.weixin.qq.com???

但(?Д?)是毫無(wú)代碼示例,算了(le)還在自(′ω`)己擼吧。

以下自己的code:

let access_token = '';const getAccessToken = function() { if (access_token !== '') { return access_token; } let URL ='https://??api(′?`*).weixin.qq.com/cgi-bin/token?grant_type= client_credential&??amp;appid=xxxx&secret=sssss'; // grant_type一定要(?Д?)填client_credential. let options = { method: 'GET', url: URL, }; retu(◎_◎;)rnヽ(′▽?zhuān)?/ new Promise((resolve, reject) => { request(options, function(err, res, body) { if (res) { access_token = JSON.parse(body).access_toke??n; let expires_in = parseInt(JSON.parse(body).expires_in) - 10; setTimeout((??) => { access_(°□°)token = ''; }, expires_in * 1000); resol(′;ω;`)ve(access_token); } else { reject(err); } }); });};

因為token有7200s的過(guò)期時(shí)間,所以就存在內存里了。

Ok這個(gè)我們就有`access_token`能去做客服自動(dòng)回復啦!

Third

再來(lái)一個(gè)官方客服發(fā)送消息的文檔:

發(fā)送客服消息 · 小程序

?

developers.weixin.qq.com

發(fā)現又是啥都沒(méi)用。。。

還是自(zi)己動(dòng)手寫(xiě)一個(gè)吧。。畢竟那么精瘦的文檔。。T T.那就寫(xiě)一個(gè)回復文本消息的吧!??其他的類(lèi)似自己擴展。(′ω`)

const post??Json = function(param) { var options = { url: param.url, method: 'POST', body: paヽ(′?`)ノram.body, json: true, }; request(options, function callback(error, response, data) { if (!error && respon(?Д?)se.statusCode == 200) { param.suc(???)cess(response.er??rcode); } else { param.error(error); } }); }; async function sendTextMessage(content, data, access_token) { await postJson({ url: 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=' + access_??t??ok??en, body: { tous???er: data.FromUserName, msgtype: 'text', te??xt: { content: content, }, }, success: function(res) { console.log(res, 'send successed!1'); }, error: function(??err) { console.log(err); }, }); }

Last

回復的函數也寫(xiě)好了,來(lái)到最后根據客戶(hù)發(fā)來(lái)的消息我們作為智能(°o°)客服去回消息啦!不多說(shuō)??直接上code。文檔。。。就算了只能看看參數啥的。。哎

客服消息 · 小程序

?

developers.weixin.qq.com

app.post('/wxlalalalla', (req, res, next) => { let token = 'xxxxx';// 填寫(xiě)服務(wù)器配置那的token let reqBody?? = req.body; let isCheck = checkSignature({ signature: req.query.si??gnature, timestamp: req.query.timestamp, nonce: req.query.nonce, token: token, }); if (isCheck) { let welcome= '歡迎(′ω`)'; switch (reqBody.MsgTyp??e) { case 'text': { //文本消息 sendTextMessag(′ω`)e('您好,【'+reqBody.Content+'】是(╯°□°)╯︵ ┻━┻未知命令,已轉發(fā)給人工處理(li)。\n'+welcomeTips, reqBody, getAccessToken()); break; } case?? 'image': { //用戶(hù)在客服會(huì )話(huà)中發(fā)送圖片消息 sendImageMessag(′_`)e('xxxxxxx', reqBody, getAccessToken()); break; } case 'event': { sendTextMessage(wel??come, reqBody, getAccessToken()); break; } default??: break; } } res.send('success'); next(); res.end(); });

完成啦愉快的使用自動(dòng)客服回復??!

亚洲女同成aV人片在线观看|亚洲www啪成人一区二区麻豆|亚洲国产中日韩精品综合|亚洲国产成人精品一级片|亚洲无码在线视频免费 安西县| 介休市| 来安县| 长治县| 都匀市| 莲花县| 静海县| 东兰县| 农安县| 三穗县| 抚远县| 汉源县| 永吉县| 炎陵县| 梨树县| 吉首市| 乌鲁木齐县| 贵阳市| 焉耆| 始兴县| 叶城县| 鞍山市| 吉安市| 汕尾市| 西吉县| 台湾省| 鄯善县| 酒泉市| 定结县| 南充市| 和平县| 栖霞市| 宝山区| 海城市| 清河县| 比如县| 荥阳市| 南康市| 卢龙县| 喜德县| 蒙城县| http://444 http://444 http://444 http://444 http://444 http://444