不知道你有沒有這么想過,在微信個(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
不知道你有沒有這么想過,在微信個(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ì)...
摘要:想要快速實(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)在,我們使用云巴 ...
摘要:站的彈幕服務(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,遇到的第一...
摘要:實(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....
閱讀 1083·2021-11-16 11:45
閱讀 2731·2021-09-27 13:59
閱讀 1327·2021-08-31 09:38
閱讀 3158·2019-08-30 15:52
閱讀 1323·2019-08-29 13:46
閱讀 2095·2019-08-29 11:23
閱讀 1654·2019-08-26 13:47
閱讀 2502·2019-08-26 11:54