Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Petua untuk melaksanakan fungsi perkongsian tersuai dalam program mini WeChat menggunakan PHP

Petua untuk melaksanakan fungsi perkongsian tersuai dalam program mini WeChat menggunakan PHP

王林
王林asal
2023-05-31 20:21:162232semak imbas

Dengan populariti program mini WeChat, semakin ramai pembangun memberi perhatian kepada kemahiran pembangunan dan amalan terbaik program mini WeChat. Salah satu ciri penting ialah fungsi perkongsian tersuai, kerana ini membantu meningkatkan pengalaman pengguna dan kesan komunikasi program mini. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi perkongsian tersuai dalam program mini WeChat.

1. Prinsip perkongsian program mini WeChat

Dalam program mini WeChat, prinsip pelaksanaan fungsi perkongsian tersuai adalah serupa dengan akaun rasmi WeChat. Apabila pengguna mengklik butang "Kongsi", program mini akan menghantar permintaan kepada pelayan WeChat untuk mendapatkan maklumat perkongsian halaman program mini. Pelayan WeChat akan mengembalikan data JSON yang mengandungi maklumat seperti berkongsi tajuk, berkongsi penerangan, berkongsi pautan dan berkongsi imej, dan program mini akan memaparkan maklumat ini dalam kotak perkongsian pop timbul.

2. Langkah pelaksanaan maklumat perkongsian tersuai

1 Dapatkan access_token

Sebelum menggunakan fungsi perkongsian tersuai, kita perlu mendapatkan akses_token applet WeChat terlebih dahulu token untuk mengakses WeChat API. Kita boleh menggunakan kod berikut untuk mendapatkan access_token:

$wx_appid = 'your_appid'; // 小程序的appid
$wx_appsecret = 'your_appsecret'; // 小程序的appsecret
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$wx_appid}&secret={$wx_appsecret}";
$result = json_decode(file_get_contents($url), true);
$access_token = $result['access_token'];

2. Dapatkan jsapi_ticket

Mendapatkan jsapi_ticket adalah untuk tandatangan yang diperlukan semasa memanggil WeChat API kemudian menggunakan JSSDK. Kita boleh menggunakan kod berikut untuk mendapatkan jsapi_ticket:

$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={$access_token}&type=jsapi";
$result = json_decode(file_get_contents($url), true);
$jsapi_ticket = $result['ticket'];

3. Jana tandatangan

Dalam halaman program mini, kita perlu menggunakan JSSDK yang disediakan oleh WeChat untuk memanggil API WeChat. Walau bagaimanapun, sebelum menggunakan JSSDK, kami perlu menjana tandatangan untuk mengesahkan kesahihan pemanggil. Kami boleh menggunakan kod berikut untuk menjana tandatangan:

$noncestr = mt_rand(); // 生成随机字符串
$timestamp = time(); // 生成时间戳
$url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; // 当前页面的URL
$string = "jsapi_ticket={$jsapi_ticket}&noncestr={$noncestr}&timestamp={$timestamp}&url={$url}";
$signature = sha1($string); // 生成签名

4 Tetapkan maklumat perkongsian

Melalui langkah di atas, kami telah memperoleh maklumat yang diperlukan, dan seterusnya kami perlu menghantar maklumat yang diperolehi. kepada pelanggan Program kecil. Kami boleh menggunakan kod berikut untuk menyediakan maklumat perkongsian:

$share_info = array(
    'title' => 'your_share_title', // 分享标题
    'desc' => 'your_share_desc', // 分享描述
    'link' => 'your_share_link', // 分享链接
    'imgUrl' => 'your_share_imgurl', // 分享图片
);
$jsapi_config = array(
    'debug' => false, // 是否开启调试模式
    'appId' => $wx_appid, // 小程序的appid
    'timestamp' => $timestamp, // 时间戳
    'nonceStr' => $noncestr, // 随机字符串
    'signature' => $signature, // 签名
    'jsApiList' => array('onMenuShareAppMessage', 'onMenuShareTimeline', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone'), // 需要使用的微信API列表
);
$share_info_json = json_encode($share_info);
$jsapi_config_json = json_encode($jsapi_config);
echo "<script>var share_info = {$share_info_json}; var jsapi_config = {$jsapi_config_json};</script>";

5 Panggil JSSDK dalam halaman

Akhir sekali, perkenalkan perpustakaan JSSDK di bahagian bawah halaman dan panggil API JSSDK dalam. tempat yang sesuai. Kita boleh menggunakan kod berikut untuk memperkenalkan perpustakaan JSSDK ke dalam halaman:

<script src="https://res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>

Di mana kita perlu menggunakan fungsi perkongsian tersuai dalam halaman, kita boleh menggunakan kod berikut untuk memanggil API WeChat:

wx.config(jsapi_config); // 初始化JSSDK库
wx.ready(function () {
    // onMenuShareAppMessage:分享给好友
    wx.onMenuShareAppMessage({
        title: share_info.title,
        desc: share_info.desc,
        link: share_info.link,
        imgUrl: share_info.imgUrl,
        success: function () {
            // 用户确认分享后执行的回调函数
        },
        cancel: function () {
            // 用户取消分享后执行的回调函数
        }
    });

    // onMenuShareTimeline:分享到朋友圈
    wx.onMenuShareTimeline({
        title: share_info.title,
        link: share_info.link,
        imgUrl: share_info.imgUrl,
        success: function () {
            // 用户确认分享后执行的回调函数
        },
        cancel: function () {
            // 用户取消分享后执行的回调函数
        }
    });

    // onMenuShareQQ:分享到QQ
    wx.onMenuShareQQ({
        title: share_info.title,
        desc: share_info.desc,
        link: share_info.link,
        imgUrl: share_info.imgUrl,
        success: function () {
            // 用户确认分享后执行的回调函数
        },
        cancel: function () {
            // 用户取消分享后执行的回调函数
        }
    });

    // onMenuShareWeibo:分享到微博
    wx.onMenuShareWeibo({
        title: share_info.title,
        desc: share_info.desc,
        link: share_info.link,
        imgUrl: share_info.imgUrl,
        success: function () {
            // 用户确认分享后执行的回调函数
        },
        cancel: function () {
            // 用户取消分享后执行的回调函数
        }
    });

    // onMenuShareQZone:分享到QQ空间
    wx.onMenuShareQZone({
        title: share_info.title,
        desc: share_info.desc,
        link: share_info.link,
        imgUrl: share_info.imgUrl,
        success: function () {
            // 用户确认分享后执行的回调函数
        },
        cancel: function () {
            // 用户取消分享后执行的回调函数
        }
    });
});

3. Ringkasan

Untuk melaksanakan fungsi perkongsian tersuai dalam applet WeChat, anda perlu melalui langkah-langkah mendapatkan access_token, jsapi_ticket dan menjana tandatangan, dan akhirnya memanggil API JSSDK dalam halaman untuk melengkapkan fungsi perkongsian. Walaupun proses pelaksanaan agak rumit, anda hanya perlu menambah sekeping kod pada halaman program mini untuk mencapai fungsi perkongsian yang indah dan meningkatkan pengalaman pengguna dan kesan komunikasi.

Atas ialah kandungan terperinci Petua untuk melaksanakan fungsi perkongsian tersuai dalam program mini WeChat menggunakan PHP. 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