成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

教你接入公眾號(hào)發(fā)博客彈幕

sean / 3481人閱讀

不知道你有沒有這么想過,在微信個(gè)人公眾號(hào)越來越普遍,自媒體越來越流行的時(shí)候,是否想過申請(qǐng)一個(gè)自己的微信公眾號(hào)折騰一下呢?在朋友圈里看到越來越多的小伙伴都在轉(zhuǎn)發(fā)自己微信公眾號(hào)里的文章,你會(huì)想我要搞個(gè)微信公眾號(hào)該折騰點(diǎn)什么呢?寫文章太沒新意,做內(nèi)容你沒素材。好了,那么本文就教你如何正確的折騰微信個(gè)人公眾號(hào)。

準(zhǔn)備工作

首先,得有一個(gè)帶有后端動(dòng)態(tài)語(yǔ)言的個(gè)人博客

其次,得有一個(gè)微信個(gè)人公眾號(hào)

最后,得會(huì)編程(比如,php、javascript等)

配置微信公眾號(hào)

登錄微信公眾平臺(tái),進(jìn)入開發(fā)->基本配置頁(yè)面,啟用服務(wù)器配置功能,如下圖:


具體接入并驗(yàn)證你的服務(wù)器地址請(qǐng)參考公眾號(hào)開發(fā)文檔,搞定這一步后,我們就可以開始寫服務(wù)端代碼(以php為例)
服務(wù)端主要用來接受微信post過來的數(shù)據(jù)并解析處理,以下是公眾號(hào)消息接受服務(wù)端代碼片段:

// 微信消息接收入口
function onHttpPostRequest($mock){
    $wxMsgBody = $mock;
    if(empty($wxMsgBody)){
        $wxMsgBody = file_get_contents("php://input");
    }

    $this->wxMsgBody = simplexml_load_string($wxMsgBody, "SimpleXMLElement", LIBXML_NOCDATA);
    $this->wxMsgType = strtoupper($this->wxMsgBody->MsgType);

    $this->comet();
}

// 將接受到的消息序列化后寫入文件,用來觸發(fā)前端的comet
public function comet() {
    $cometfile = WWW_PATH . "wechat.comet";
    if(!file_exists($cometfile)) {
        file_put_contents($cometfile, "");
    }
    $filemtime = filemtime($cometfile);
    $timing = time() - $filemtime;
    $wxMsgBody = (array)$this->wxMsgBody;
    if($timing > 1) {
        file_put_contents($cometfile, serialize($wxMsgBody));
    } else {
        file_put_contents($cometfile, serialize($wxMsgBody) . PHP_EOL, FILE_APPEND);
    }
}

以上完整代碼地址:indexAction.class.php

comet?

comet技術(shù)是N年前出來的一種基于HTTP長(zhǎng)連接的“服務(wù)器推”技術(shù),此處主要用來即時(shí)在博客頁(yè)面上顯示彈幕消息,它的核心代碼分服務(wù)端和客戶端主要如下:

 $value) {
    $msg = unserialize($value);
    if($msg["MsgId"] == $msgid) {
        break;
    }
    array_push($result, $msg);
}
$response = array();
$response["data"]      = $result;
$response["timestamp"] = $filemtime;
echo $callback . "(" . json_encode($response) . ")";
ob_flush();
flush();

以下代碼主要是在客戶端與服務(wù)端建立http長(zhǎng)連接

// 客戶端代碼 (javascript)
function Comet(url,cbk){
    var url          = url;
    var cbk          = cbk;
    var timestamp    = 0;
    var msgid = 0;
    var noerror      = true

    var main         = function(){
        $.ajax({
            type:"GET",
            url: url,
            dataType : "jsonp",
            timeout: 5000,
            data: {
                timestamp: timestamp,
                msgid: msgid
            }
        }).success(function(res){
            var isFrist = timestamp;
            timestamp = res.timestamp;
            if(res.data[0]) {
                   msgid = res.data[0]["MsgId"];
            }

            noerror = true;
            if(isFrist == 0)return false;
            if(cbk)cbk(res);
        }).complete(function() {
            if (!noerror){
                setTimeout(main, 10); 
            }else{
                setTimeout(main, 10); 
            }
            noerror = false;
        });
    };

    return main();
}

Comet("http://dev.sobird.me/_wechat.php", function(res) {
    var data = res.data;
    var danm={
       info: "", //文字 
       href: "", //鏈接 
       close: false, //顯示關(guān)閉按鈕 
       speed: 6, //延遲,單位秒,默認(rèn)6 
       color: randRgb(), //顏色,默認(rèn)白色 
       old_ie_color: randRgb(), //ie低版兼容色,不能與網(wǎng)頁(yè)背景相同,默認(rèn)黑色 
     }
    if(data.length > 0) {
        $.each(data, function(index, item) {
        var msgType = item.MsgType

        switch (msgType) {
            case "text" :
            var text = item.Content;
            danm.info = text;

                $("body").barrager(danm);
            break;
            case "image" :
            var img = "http://dev.sobird.me/wechat/pic?src=" + item.PicUrl;
            danm.img = img;

            disImage(img, function() {
                    $("body").barrager(danm);
            });
            break;
            default:
        }
    });
    }
});

完整代碼:Jaring.js 文件最底部

彈幕?

在博客上實(shí)現(xiàn)彈幕效果相對(duì)來講就簡(jiǎn)單了,在Github上有很多的開源庫(kù)(基于jQuery),我使用的是這個(gè)庫(kù): jquery.barrager.js,在博客中引入這個(gè)庫(kù)你就可以像下面這樣使用了

// 把官方示例挪過來~~
var item={
    img:"static/heisenberg.png", //圖片
    info:"彈幕文字信息", //文字
    href:"http://www.yaseng.org", //鏈接
    close:true, //顯示關(guān)閉按鈕
    speed:8, //延遲,單位秒,默認(rèn)8
    bottom:70, //距離底部高度,單位px,默認(rèn)隨機(jī)
    color:"#fff", //顏色,默認(rèn)白色
    old_ie_color:"#000000", //ie低版兼容色,不能與網(wǎng)頁(yè)背景相同,默認(rèn)黑色
}
$("body").barrager(item);

基于jQuery的彈幕效果,代碼簡(jiǎn)短,調(diào)整好合適的CSS樣式

體驗(yàn)效果

不妨現(xiàn)在就掃描下面二維碼,關(guān)注我的公眾號(hào)后,隨便發(fā)一點(diǎn)文字或圖片,然后到我的個(gè)人博客看看

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/83311.html

相關(guān)文章

  • 教你接入公眾號(hào)發(fā)博客彈幕

    不知道你有沒有這么想過,在微信個(gè)人公眾號(hào)越來越普遍,自媒體越來越流行的時(shí)候,是否想過申請(qǐng)一個(gè)自己的微信公眾號(hào)折騰一下呢?在朋友圈里看到越來越多的小伙伴都在轉(zhuǎn)發(fā)自己微信公眾號(hào)里的文章,你會(huì)想我要搞個(gè)微信公眾號(hào)該折騰點(diǎn)什么呢?寫文章太沒新意,做內(nèi)容你沒素材。好了,那么本文就教你如何正確的折騰微信個(gè)人公眾號(hào)。 準(zhǔn)備工作 首先,得有一個(gè)帶有后端動(dòng)態(tài)語(yǔ)言的個(gè)人博客 其次,得有一個(gè)微信個(gè)人公眾號(hào) 最后,得會(huì)...

    xiaolinbang 評(píng)論0 收藏0
  • 只需四個(gè)步驟幾行代碼,即可快速實(shí)現(xiàn)直播彈幕功能

    摘要:想要快速實(shí)現(xiàn)這些功能,需要進(jìn)行怎樣的操作呢其實(shí),實(shí)現(xiàn)直播彈幕功能只需四個(gè)步驟和幾行代碼現(xiàn)在,我們使用云巴,手把手教你實(shí)現(xiàn)直播彈幕功能吧步驟一注冊(cè)云巴賬號(hào)打開網(wǎng)址,或直接搜索云巴,進(jìn)行注冊(cè)并登錄。 在視頻直播中,互動(dòng)是不可缺少、不容小覷的內(nèi)容,主要包括發(fā)送彈幕、打賞、點(diǎn)贊等。想要快速實(shí)現(xiàn)這些功能,需要進(jìn)行怎樣的操作呢? 其實(shí),實(shí)現(xiàn)直播彈幕功能只需四個(gè)步驟和幾行代碼! 現(xiàn)在,我們使用云巴 ...

    guyan0319 評(píng)論0 收藏0
  • B 站直播間數(shù)據(jù)爬蟲

    摘要:站的彈幕服務(wù)器也有類似的機(jī)制,隨便打開一個(gè)未開播的直播間,抓包將看到每隔左右會(huì)給服務(wù)端發(fā)送一個(gè)心跳包,協(xié)議頭第四部分的值從修改為即可。 原文:B 站直播間數(shù)據(jù)爬蟲, 歡迎轉(zhuǎn)載項(xiàng)目地址:bilibili-live-crawler 前言 起因 去年在 B 站發(fā)現(xiàn)一個(gè)后期超強(qiáng)的 UP 主:修仙不倒大小眼,專出 PDD 這樣知名主播的吃雞精彩集錦,漲粉超快。于是想怎么做這樣的 UP,遇到的第一...

    xuweijian 評(píng)論0 收藏0
  • 2016年云巴產(chǎn)品更新合集

    摘要:實(shí)時(shí)彈幕使用云巴,直播平臺(tái)可快速實(shí)現(xiàn)視頻直播中發(fā)送彈幕打賞點(diǎn)贊等實(shí)時(shí)互動(dòng)功能。云巴聊天室支持圖片上傳文件發(fā)送文檔評(píng)論系統(tǒng)正式上線新增搜索功能,我們會(huì)做得更好。 SDK 篇 Android SDK 更新 Release 1.6.3后臺(tái)進(jìn)程相互拉起的特殊版本 Release 1.6.4增加 so 文件 Release 1.8.0支持小米、華為推送,無需注冊(cè)第三方賬號(hào) Release 1....

    CoffeX 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<