cari
Rumahapplet WeChatPembangunan program mini怎样开启小程序客服功能
怎样开启小程序客服功能Mar 13, 2020 pm 01:26 PM
perkhidmatan pelangganProgram minihidupkanWeChat

怎样开启小程序客服功能

怎样开启小程序客服功能    

开启自定义的小程序的客服功能,需要两步,

第一步:在自己的微信平台开通消息推送的功能

具体的在官方wiki里有https://developers.weixin.qq.com/miniprogram/introduction/custom.html#%E5%A1%AB%E5%86%99%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81%E9%85%8D%E7%BD%AE

第二步:完成自己的后台

前提:你的服务器可以被微信访问。

流程:用户出发某个事件后,向微信服务器发送数据包,如果你开启消息推送服务(第一步),那么微信服务器会进行数据的处理转发,具体的格式是xml还是json取决于你在微信后台的选择,我这里选择的json,微信通过主动调用你的接口将数据包返回给你,如果你想向用户响应某个信息,需要某个接口向微信服务器发送你的响应数据包,里面包含客服的openid.具体的详情看代码。

<?php
header(&#39;Content-type:text&#39;);
define("TOKEN", "mytoken");

class Mini extends Controller{
    private $appid = &#39;&#39;;
    private $secret = &#39;&#39;;
    public function check(){     //校验服务器地址URL
        if (isset($_GET[&#39;echostr&#39;])) {
            $this->valid();
        }else{
            $this->responseMsg();
        }
    }
    public function valid()
    {
        $echoStr = $_GET["echostr"];
        if($this->checkSignature()){
            header(&#39;content-type:text&#39;);
            echo $echoStr;
            exit;
        }else{
            echo $echoStr.&#39;+++&#39;.TOKEN;
            exit;
        }
    }
    private function checkSignature()
    {
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];
    
        $token = TOKEN;
        $tmpArr = array($token, $timestamp, $nonce);
        sort($tmpArr, SORT_STRING);
        $tmpStr = implode( $tmpArr );
        $tmpStr = sha1( $tmpStr );
    
        if( $tmpStr == $signature ){
            return true;
        }else{
            return false;
        }
    }
    public function responseMsg()
    {
        $postStr = file_get_contents(&#39;php://input&#39;);//因为我的环境是php7
        if (!empty($postStr) && is_string($postStr)){
            $postArr = json_decode($postStr,true);
            if(!empty($postArr[&#39;MsgType&#39;]) && $postArr[&#39;MsgType&#39;] == &#39;text&#39;){   //文本消息
                $fromUsername = $postArr[&#39;FromUserName&#39;];   //发送者openid
                $toUserName = $postArr[&#39;ToUserName&#39;];       //小程序id
                $textTpl = array(
                    "ToUserName"=>$fromUsername,
                    "FromUserName"=>$toUserName,
                    "CreateTime"=>time(),
                    "MsgType"=>"transfer_customer_service",
                );
                exit(json_encode($textTpl));
            }elseif(!empty($postArr[&#39;MsgType&#39;]) && $postArr[&#39;MsgType&#39;] == &#39;image&#39;){ //图文消息
                $fromUsername = $postArr[&#39;FromUserName&#39;];   //发送者openid
                $toUserName = $postArr[&#39;ToUserName&#39;];       //小程序id
                $textTpl = array(
                    "ToUserName"=>$fromUsername,
                    "FromUserName"=>$toUserName,
                    "CreateTime"=>time(),
                    "MsgType"=>"transfer_customer_service",
                );
                exit(json_encode($textTpl));
            }elseif($postArr[&#39;MsgType&#39;] == &#39;event&#39; && $postArr[&#39;Event&#39;]==&#39;user_enter_tempsession&#39;){ 
                $fromUsername = $postArr[&#39;FromUserName&#39;];  

           $data = array(
                               "touser"=>$fromUsername,
                               "msgtype"=>"link",
                                "link"=>[
                                    "title"=>&#39;this is title&#39;,
                                    "description"=> "Is Really A Happy Day",
                                    "url":=>"URL",
                                    "thumb_url"=>"THUMB_URL"
                                ]
                           );
          $json = json_encode($data,JSON_UNESCAPED_UNICODE); 
                $access_token = $this->get_accessToken();
                $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$access_token;
                //将数据返给微信服务器进行转发。
                $this->curl_post($url,$json);
                
            }else{
                exit(&#39;aaa&#39;);
            }
        }else{
            echo "";
            exit;
        }
    }
  
    public function get_accessToken(){
        if(cache(&#39;access_token&#39;)){
            return cache(&#39;access_token&#39;);
        }
        /* 不在有效期,重新发送请求,获取access_token */
        else{
            $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appid}&secret={$this->secret}";
            $result = curl_get_https($url);
            $res = json_decode($result,true);   //json字符串转数组
            if($res){
                cache(&#39;access_token&#39;,$res[&#39;access_token&#39;],7100);
                return cache(&#39;access_token&#39;);
            }else{
                return &#39;api return error&#39;;
            }
        }
    }
    /**
     * @Author   callmelx
     * @DateTime 2018-10-06
     * @return   [type]     [description]
     */
    public function curl_post($url,$data=&#39;&#39;){
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
        if (!empty($data)){
            curl_setopt($curl, CURLOPT_POSTFIELDS,$data);
        }
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        //curl_setopt($curl, CURLOPT_HTTPHEADER, $headers );
        $output = curl_exec($curl);
        if (curl_errno($curl)) {
            echo &#39;Errno&#39;.curl_error($curl);//捕抓异常
        }
        curl_close($curl);
        if($output == 0){
            echo &#39;success&#39;;exit;
        }
    }
}

有几个坑需要注意一下,如果你的token验证总是失败:

1.建议你看一下自己server服务器的token与现在的token是否相同。

2.如果你发现自己的代码绝对没有问题,token也绝对没有问题的话,而且还是报错,那么我建议检查一下自己服务器的文件的权限问题了,如果你是tp框架,检查一下啊自己的runtime是否给了777,如果你是给755的话可能还是不会起作用。

推荐学习:小程序开发

Atas ialah kandungan terperinci 怎样开启小程序客服功能. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
win11内存完整性要不要开win11内存完整性要不要开Jan 06, 2024 am 08:53 AM

win11和win10一样,为了保护系统推出了内存完整性功能,但是很多朋友不知道这个功能有什么用,那么win11内存完整性要不要开呢,其实这与电脑系统有关系。win11内存完整性要不要开:答:如果电脑配置高,或者只是日常办公影音可以开;如果我们的电脑配置较差,或者追求高性能的话不要开。win11内存完整性相关介绍:1、内存完整性原理是硬件虚拟化创建隔离的环境。2、它保护好我们的系统,保护内存安全。3、缺点是,开启该功能后会随时运行,占用内存,降低性能。4、而且一旦开启,关闭起来也会比较麻烦,一定

如何启用Win11的VBS功能如何启用Win11的VBS功能Dec 25, 2023 pm 02:09 PM

要是之前将vbs关闭之后想要开启了,也是可以开启的,我们可以使用命令代码将其开启,下面一起来看看如何开启vbs吧,其实还是很简单的。win11vbs如何开启:1、首先我们点击“开始菜单”。2、然后点击“windows终端”。3、接着输入“bcdedit/sethypervisorlaunchtypeauto”。4、然后重启电脑,打开开始菜单,在搜索栏中搜索“系统信息”。5、然后找打“基于虚拟化的安全性”是否开启即可。

Win7如何开启vt虚拟化Win7如何开启vt虚拟化Jun 29, 2023 pm 02:47 PM

  Win7如何开启vt虚拟化?有用户因为在自己的电脑上使用了手机模拟器,但是在运行软件的时候,提示我们的电脑没有开启vt虚拟化功能。那么我们怎么去主板中开启这个功能,很多小伙伴不知道怎么详细操作,小编下面整理了win7系统在主板开启vt虚拟化功能教学,如果你感兴趣的话,跟着小编一起往下看看吧!  win7系统在主板开启vt虚拟化功能教学  1、首先我们重启电脑,使用热键进入bios设置。  2、点击右下角的AdvancedMode。  3、在高级选项中选择CPU设置。  4、然后找到下方的VT

win10如何开启电脑摄像头权限的介绍win10如何开启电脑摄像头权限的介绍Jul 11, 2023 am 11:57 AM

在win10系统中,很多用户会跟好朋友或家人视频聊天,或者要拍照的时候就会用到摄像头功能,可是一些win10系统用户却发现电脑无法打开摄像头提示无权限,这样就无法视频聊天了,该怎么处理呢,随小编一起来看看具体的解决方案。1、首先查看一下相机权限有没有开启。“win+i”快捷键打开设置窗口,这时候我们就可以看到隐私下方的相机了,点击它。2、左侧栏找到相机,右侧我们就可以看到此设备的相机的访问权限已关闭,点击更改。3、选择开启即可,下面就可以打开摄像头啦。以上就是win10开启电脑摄像头权限的详细操

win10如何启用以太网禁用:详细步骤win10如何启用以太网禁用:详细步骤Jan 03, 2024 pm 09:51 PM

经常有使用win10系统的小伙伴问以太网禁用怎么开启,其实这个操作非常的简单,需要去进入网络的设置中才可以进行,接下来小编带大家一起来看看吧。win10以太网禁用怎么开启:1、首先点击右下角的网络连接图标,打开网络和Internet设置。2、然后去点击以太网。3、之后点击“更改适配器选项”。4、此时可以右击“以太网”,选择禁用就可以了。

如何在Windows 10中启用麦克风权限如何在Windows 10中启用麦克风权限Jan 02, 2024 pm 11:17 PM

最近很小伙伴发现电脑麦克风打不开,而现如今无论是台式电脑还是笔记本电脑都会带有麦克风的功能,这也为我们提供了大大的方便,但有很多的朋友在使用的过程中会突然发现自己的电脑麦克风没有了声音,下面小编就来教给大家电脑麦克风打开该怎么解决。具体的一起来看看吧。win10麦克风权限在开启的方法1、在Windows10系统下打开录音机时,弹出“您需要在设置中设置麦克风”的提示。2、这时我们可以点击屏幕左下角的开始按钮,在弹出的菜单中选择“设置”菜单项。3、在打开的Windows设置窗口中点击“隐私”图标。4

开启Win11的休眠模式的方法开启Win11的休眠模式的方法Jan 08, 2024 pm 02:45 PM

当我们要长时间离开电脑,但是又不想关机的时候,就可以让电脑进入休眠模式,不过在更新win11后,我们找不到win11休眠模式怎么开启了,其实只要在控制面板里打开即可。win11休眠模式怎么开启方法一:使用开始菜单点击底部开始菜单,接着点击电源按钮,在其中就能休眠了。方法二:运用高级用户菜单1、在桌上面的搜索框中搜索并打开“控制面板”,点开“硬件和声音”选项,点击电源选项下的“更改电源按钮的功能”。2、进入后,点击“更改当前不可用的设置”,、最后勾选“休眠”,并保存就能执行休眠功能了。方法三:指令

体验共享功能的开启步骤——Win10如何操作?体验共享功能的开启步骤——Win10如何操作?Dec 28, 2023 pm 02:36 PM

最新版的Windows10系统提供了体验共享功能,可以通过共享方便快速的与附近的电脑进行数据交换,那么怎么样开启Windows10系统的体验共享功能呢?下面跟小编一起来看看吧。Win10开启体验共享功能的详细步骤在Win10系统中,右键点击桌面上的“开始”按钮,选择“设置”的菜单项。然后,在系统设置窗口中,点击一下左侧边栏的“体验共享”菜单选项。在右侧窗口点击并找到“跨设备共享”的设置项,打开“允许其他设备上的应用”。最后我们选择“附近的任何人”菜单项,这样就可以与附近设备进行共享文件。

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),