TP5 PHP發送小程序訂閱消息 - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 小程序相關 >

TP5 PHP發送小程序訂閱消息

發表時(shí)間:2020-9-25

發布人(rén):融晨科技

浏覽次數:58

發送訂閱消息之(zhī)前你先去申請模闆 , 公共的(de)直接選用就(jiù)可以(yǐ), 沒有符合的(de)你還得申請,審核時(shí)間有點久,
然後根據你申請的(de)模闆來(lái)填寫模闆需要(yào / yāo)的(de)參數就(jiù)好了(le/liǎo), 前提是(shì)用戶要(yào / yāo)授權接收訂閱消息 , 不(bù)然用戶是(shì)收不(bù)到(dào)的(de) , 如果想要(yào / yāo)以(yǐ)後可以(yǐ)實現自動發送, 可以(yǐ)引導用戶永久授權 . 這(zhè)樣就(jiù)不(bù)用每次都需要(yào / yāo)授權,因爲(wéi / wèi)現在(zài)訂閱消息隻有一次性訂閱消息

//根據小程序裏面的(de)模闆消息來(lái)設置
$msg = [
    'time3' => ['value'=> date('Y-m-d H:i:s', time())],
    'thing4' => ['value'=> $userName['name']],
     'thing2' => ['value'=> $userInfo['content']],
     'phrase8' => ['value'=> "報價消息"],
     'thing7' => ['value'=> "您當前有{$count}條未讀消息, 可能需要(yào / yāo)盡快處理"],
     ];
     													用戶的(de)openid
$sendSubscribeMessage[] = $this->sendSubscribeMessage($userOpneid['wx_openid'], 
'Mpfk11CE1uTnElfGbsSQ9Y6wjejdXtg2fhSpxvQYSRw', 'pages/myPrice/index', $msg);

   //access_token
        $access_token = $this->getAccessToken();
        //請求url
        $url = 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=' . $access_token ;

    /***
     * @param $touser  //需要(yào / yāo)接受訂閱消息的(de)openid
     * @param $template_id //模闆ID
     * @param $page //點擊返回頁面路徑
     * @param $dataArray //訂閱格式請參照小程序訂閱消息模闆中的(de)格式
     * @return array
     * 訂閱消息模闆
     */
    public function sendSubscribeMessage($touser, $template_id, $page, $dataArray)
    {
        //access_token 一般都存在(zài)緩存 , 
        $access_token = $this->getAccessToken();
        //請求url
        $url = 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=' . $access_token ;

        //發送内容
        $data = [] ;
        $data['touser'] = $touser;  //用戶的(de)openid
        $data['template_id'] = $template_id; //所需下發的(de)訂閱模闆id

        //點擊模闆卡片後的(de)跳轉頁面,僅限本小程序内的(de)頁面。支持帶參數,(示例index?foo=bar)。該字段不(bù)填則模闆無跳轉。
        $data['page'] = $page;
        //模闆内容,格式形如 { "key1": { "value": any }, "key2": { "value": any } }
        $data['data'] = $dataArray;

        //跳轉小程序類型:developer爲(wéi / wèi)開發版;trial爲(wéi / wèi)體驗版;formal爲(wéi / wèi)正式版;默認爲(wéi / wèi)正式版
        $data['miniprogram_state'] = 'trial';
        $data['lang'] = 'zh_CN';
        $json_data = json_encode($data);
        $http = new Http();
        return [
            'openid' => $touser,
            'data' => $http->curlRequest($url, $json_data)//這(zhè)裏面就(jiù)是(shì)個(gè)curl請求 , 轉成數組返回
        ];
    }

    /***
     * @return mixed
     * 獲取access_token
     */
    protected function getAccessToken()
    {
        $AccessToken = Cache::get('accessToken');
        if ($AccessToken) return $AccessToken; else{
            $model = new Http();
            $access_token = $model->curlRequest('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$this->appid.'&secret='.$this->appsecret);
            $access_token = $access_token['access_token'];
            Cache::set('accessToken',$access_token, 5400);
            return Cache::get('accessToken');
        }

    }

相關案例查看更多