真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

微信公眾平臺如何開發(fā)二維碼、創(chuàng)建菜單

小編給大家分享一下微信公眾平臺如何開發(fā)二維碼、創(chuàng)建菜單,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信平臺小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了肥鄉(xiāng)免費(fèi)建站歡迎大家使用!

一、二維碼

1、臨時二維碼,是有過期時間的,最長可以設(shè)置為在二維碼生成后的7天(即604800秒)后過期,但能夠生成較多數(shù)量。臨時二維碼主要用于帳號綁定等不要求二維碼永久保存的業(yè)務(wù)場景
2、永久二維碼,是無過期時間的,但數(shù)量較少(目前為最多10萬個)。永久二維碼主要用于適用于帳號綁定、用戶來源統(tǒng)計(jì)等場景。永久二維碼時最大值為100000(目前參數(shù)只支持1--100000)。

下面的代碼是獲取永久二維碼的事例:

/**
     * 獲取永久二維碼需要的ticket
     * @param $access_token access_token
     * @param $sceneId 場景值id
     * @return bool|mixed
     */
    public function getQrticket($access_token, $sceneId)
    {$url = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=' . $access_token;
        $raw = array(
                'action_name' => 'QR_LIMIT_SCENE',
                'action_info' => array(
                        'scene' => array(
                                'scene_id' => $sceneId
                        )
                )
        );
        $json = json_encode($raw);
        $res = $this->rawpost($url, $json);
        if ($res === false) {
            return false;
        }
        $qrres = json_decode($res, true);
        if (isset($qrres['errcode'])) {
            return false;
        }
        return $qrres;
    }

返回的JSON將如下圖所示:

微信公眾平臺如何開發(fā)二維碼、創(chuàng)建菜單

這個JSON中的URL就是二維碼的內(nèi)容,接下來就是將URL轉(zhuǎn)換為二維碼,高端點(diǎn)的話可以通過代碼,我偷懶了下,就直接用在線制作二維碼來做了。

這邊我通過微信掃二維碼而關(guān)注的,將會推送不同的提示消息。下面是部分的代碼:

if (isset($msgObj->EventKey) && preg_match('/qrscene_(.*)/', $msgObj->EventKey, $scene)) {
                //掃碼關(guān)注
                switch ($scene[1]) {
                    case AppConst::SCENE_ALCOHOL:
                        $pushData['Title'] = '標(biāo)題';
                        break;
                }
                $pushData['PicUrl'] = 'http://mmbiz.qpic.cn';
                $pushData['Description'] = '描述!';
                $pushData['Url'] = 'http://mp.weixin.qq.com';
                $msg = $weixin->createRawTuWenMsg($fromUserName, $openId, array($pushData));
                
            }

二、創(chuàng)建菜單

1、自定義菜單最多包括3個一級菜單,每個一級菜單最多包含5個二級菜單。

2、一級菜單最多4個漢字,二級菜單最多7個漢字,多出來的部分將會以“...”代替。

3、創(chuàng)建自定義菜單后,由于微信客戶端緩存,需要24小時微信客戶端才會展現(xiàn)出來。

測試時可以嘗試取消關(guān)注公眾賬號后再次關(guān)注,則可以看到創(chuàng)建后的效果。點(diǎn)擊查看在線文檔。

自定義菜單接口可實(shí)現(xiàn)多種類型按鈕,這里我就介紹了兩種,如下:

1、click:點(diǎn)擊推事件

用戶點(diǎn)擊click類型按鈕后,微信服務(wù)器會通過消息接口推送消息類型為event的結(jié)構(gòu)給開發(fā)者(參考消息接口指南),并且?guī)习粹o中開發(fā)者填寫的key值,開發(fā)者可以通過自定義的key值與用戶進(jìn)行交互;

2、view:跳轉(zhuǎn)URL

用戶點(diǎn)擊view類型按鈕后,微信客戶端將會打開開發(fā)者在按鈕中填寫的網(wǎng)頁URL,可與網(wǎng)頁授權(quán)獲取用戶基本信息接口結(jié)合,獲得用戶基本信息。

public function actionCreatemenu()
    {
        $token = $this->get('token');
        $innerWeixinKey = WEIXIN_INNER_KEY;
        $trueToken = md5('menu' . $innerWeixinKey . 'menu');
        if ($token != $trueToken) {
            $this->innerOutput(1, '無法通過請求認(rèn)證');
        }
        $weixin = new Weixin();
        //請注意菜單中的中文一定要采用某種方編碼
        $menu = array(
            'button' => array(
                    array(
                        'name' => $this->encodeZH('菜單一'),
                        'sub_button' => array(
                            array(
                                'type' => 'view',
                                'name' => $this->encodeZH('子菜單一'),
                                'key' => 'MENU_GENE_INDEX',
                                'url' => 'http://mp.weixin.qq.com/'
                            ),
                            array(
                                'type' => 'view',
                                'name' => $this->encodeZH('趣味文章'),
                                'key' => 'MENU_ARTICLE',
                                'url' => 'http://mp.weixin.qq.com'
                            ),
                            array(
                                'type' => 'view',
                                'name' => $this->encodeZH('產(chǎn)品預(yù)告'),
                                'key' => 'MENU_PRODUCT',
                                'url' => 'http://mp.weixin.qq.com/'
                            )
                        )
                    ),
                    array(
                        'name' => $this->encodeZH('產(chǎn)品流程'),
                        'sub_button' => array(
                            array(
                                'type' => 'view',
                                'name' => $this->encodeZH('武松打虎'),
                                'key' => 'MENU_GAME',
                                'url' => 'xxxx'
                            ),
                            array(
                                'type' => 'view',
                                'name' => $this->encodeZH('產(chǎn)品詳情'),
                                'key' => 'MENU_PRODUCT_DETAIL',
                                'url' => 'http://mp.weixin.qq.com/'
                            )
                        )
                    )
                )
        );
    
        $menuMsg = $this->decodeZHMsg(json_encode($menu));
        
        $accessMongo = new WeixinAccessToken();
        $access_token = $accessMongo->getAccessToken();
        if (!$access_token) {
            $this->innerOutput(2, '無法獲取access_token');
        }
        $weixin = new Weixin();
        $res = $weixin->customMenu($menuMsg, $access_token);
        if (!$res) {
            $this->innerOutput(3, '菜單創(chuàng)建失敗');
        }
        $this->innerOutput(0, '菜單創(chuàng)建成功');
    }

1、代碼的開始用WEIXIN_INNER_KEY做了一次簡單的校驗(yàn),不做也可以

2、開始組織菜單的結(jié)構(gòu)需要name、type等

3、獲取到普通的token,這里可以參照微信公眾平臺開發(fā)access_token、日志的方法獲取到。

4、注意上面的代碼中有encodeZH和decodeZHMsg這兩個方法,用于編碼的。

/**
     * 針對中文字符串編碼
     * @param $name
     * @return string
     */
    private function encodeZH($name)
    {
        return '[@' . base64_encode($name) . '@]';
    }
/**
     * 針對消息中存在中文編碼過的串進(jìn)行解碼
     * @param $msg
     * @return mixed
     */
    private function decodeZHMsg($msg)
    {
        return preg_replace_callback('/\[\@(.+?)\@\]/', function ($match) {
            return base64_decode($match[1]);
        }, $msg);
    }

看完了這篇文章,相信你對“微信公眾平臺如何開發(fā)二維碼、創(chuàng)建菜單”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


文章標(biāo)題:微信公眾平臺如何開發(fā)二維碼、創(chuàng)建菜單
當(dāng)前URL:http://weahome.cn/article/pogods.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部