博客评论从多说换到网易云跟帖

多说官方宣布17年6月1号停止维护,一个优秀的评论系统从此倒下了,令人唏嘘不已,还是要感谢多说团队多年的付出。眼下留给博主们的选择也就畅言网易云跟帖了。经过综合考虑选择了网易跟帖,下面就来介绍下接入流程。

1.登录网易帐号,配置下站点信息:https://manage.gentie.163.com/#/site

2.选择获取代码的banner,复制到博客需要用到评论的地方。我的代码如下:

<div id="cloud-tie-wrapper" class="cloud-tie-wrapper"></div>  
<script src="https://img1.cache.netease.com/f2e/tie/yun/sdk/loader.js"></script>  
<script>  
var cloudTieConfig = {  
  url: document.location.href, 
  sourceId: "",
  productKey: "bd70e56e57bb4e1b9e0ea0b0c921428a",
  target: "cloud-tie-wrapper"
};
var yunManualLoad = true;  
Tie.loader("aHR0cHM6Ly9hcGkuZ2VudGllLjE2My5jb20vcGMvbGl2ZXNjcmlwdC5odG1s", true);  
</script>  

sourceId 配置为当前博文的主键, 标题或者文章id或者文章路径都行

3.部署到服务器,重启服务器或者刷新页面,就可以看到网易评论框了,部署是非常简单的。

4.在获取代码的页面可以设置皮肤,和评论框的一些信息。基本上样式就只能配置这么多了,自己自己还想定制就只能自己写代码强制修改css了。

5.网易云跟帖是支持从多说导入数据的。先从duoshuo下载之前的数据,下载下来是一个zip包,名字类似13751999009017.zip,解压后是export.json,再切换到网易的数据统计界面,选择数据导入功能,接下来你懂的。

6.接下来才是本篇文章的重点。也是云跟帖不足的一个地方。之前多说收到评论会在博客的右上角提示,云跟帖就没有这个功能,而且也不会收到邮件,这样就不能即时的处理评论。好在提供了收到评论的回调功能,所以我们自己来实现发送邮件的功能。

7.在获取代码里面有个优化设置功能,需要我们自己设置接口来接受评论推送。以下邮件评论提示由php来实现。php模拟邮箱登录发送邮件采用如下库:http://download.csdn.net/download/zhong960725/9755214
,亲测能正常使用,需要配置smtp服务区,端口,帐号和密码等。 网易通过结果返回的数据如下:

[
    {
        "title": "云跟贴体验文章",
        "url": "http://rasca1xsss",
        "sourceId": "2",
        "ctime": 1461333601000,
        "comments": [
            {
                "cid": "2555053846",
                "content": "来自云跟贴的测试数据",
                "ctime": 1471252987000,
                "pid": "0",
                "ip": "220.181.102.177",
                "source": "web",
                "anonymous": false,
                "attachment": {
                    "type": 0,
                    "desc": "",
                    "info": ""
                },
                "user": {
                    "userId": "95738681",
                    "nickname": "网易云跟贴官方",
                    "avatar": "http://cms-bucket.nosdn.127.net/ec18d69788bb43aa866884633d212df720161220225628.jpg"
                }
            }
        ]
    }
]

这是我基于上面的发送邮件库写的具体实现

<?php  
header("Content-type: text/html; charset=utf-8");  
date_default_timezone_set("Asia/Shanghai");  
/**
 * Created by PhpStorm.
 * User: pengwei
 * Date: 17/4/17
 * Time: 下午11:25
 */


$receiver = $_REQUEST;
if(count($receiver) > 0) {  
    $content = implode(',', $receiver);
    $json = json_decode($content);
    if(isset($json) && count($json) > 0) {
        require_once("./functions.php");
        $title = $json[0]->title;
        $url = $json[0]->url;
        $ctime = $json[0]->ctime;
        $date = date('Y-m-d H:i:s', $ctime/1000);
        $name = $json[0]->comments[0]->user->nickname;
        $userId = $json[0]->comments[0]->user->userId;
        $comment = $json[0]->comments[0]->content;
        $flag = sendMail('123456.qq.com',"您的博客收到一条来自{$name}({$userId})的新评论",
            "文章标题:<br/><a target='_blank' href='{$url}'>{$title}</a><br/><br/>评论内容:<br/>{$name}({$userId}): {$comment}<br/><br/>评论时间:<br/>{$date}<br/><br/><br/>{$content}");
        file_put_contents('./comment.txt', $flag ? "success!" : "failure!");
    }
}


?>

优化设置里面的回推结果设置如下就好http://yourDomain/comment.php

8.完成后的效果,收到评论后如下提示: