Lazy loaded image
💬Twikoo评论功能添加
字数 1695阅读时长 5 分钟
2025-2-1
2025-2-14
type
status
date
slug
summary
tags
category
icon
password
本文章由BarryZed原创,其中方法来自tangly1024Twikoo官方

前言

  • 虽然伟大的tangly1024佬在这里已经比较明确的写出了流程与注意事项,但经过了这么长的时间后MongoDB AtlasTwikoo都进行了版本更新;同时也为了记录我的部署流程,写下此篇博客。
  • 一开始是想在我的网站中整体添加一个完整的账号系统,经过ChatGPT与DeepSeek的推荐,LeanCloud其实是最好的选择,但将LeanCloud部署到我的网页需要将我的网站完成IPC备案,这个备案呢有要求网站必须在中国国内有服务器,Vercel无法实现,只能放弃账号系统,先将评论功能加上。
  • 本博客写于我完成Twikoo部署后,部分靠回忆完成,所以可能以下的步骤中不是每一步都是必要的。若您想按照我的路线进行部署,请在细节或卡住的地方详细阅读Twikoo官方文档,我也会在文中贴出文档的链接。

部署过程

申请MongoDB Atlas账号

  1. 进入MongoDB Atlas官网,注册账号(可用Google账号登陆)
  1. 在套餐选择时选择 M0 即可
    1. notion image
  1. 按要求创建好第一个Database。注意:好像只有第一个Database能选择免费的方案,之后的数据库只能付费,所以创建时注意每个选项,仔细阅读;不懂的就不用改。
  1. 创建完毕后应进入如下界面
    1. notion image

获取 MongoDB 连接字符串

  1. 在左侧进入 Database Access 点击 Add New Database User
    1. notion image
  1. 设置用户,其中的密码建议用浏览器(我是Edge)自带的强密码生成器,这样密码强度够强而且浏览器还能自动记住密码。 此处假设我设置的用户名为:BarryZed 密码为:123456
    1. notion image
      notion image
  1. 在左侧进入 Network Access 点击 Add IP Address,添加网络白名单
    1. notion image
  1. 获取 MongoDB 连接字符串
    1. notion image
      notion image
  1. 将自己的账号密码替换 <db_username><db_password> 加入字符串得到一个形如 xxxxxx+srv://BarryZed:123456@xxxx.xxxx.xxxx.xxx/?xxxxxxxxxxxxxxxxxxxxxxxxxxxxx的字符串(即MongoDB 连接字符串)
    1. 连接字符串包含了连接到 MongoDB 数据库的所有信息,一旦泄露会导致评论被任何人添加、修改、删除,并有可能获取你的 SMTP、图床 token 等信息。请妥善记录这一字符串,之后需要填入到 Twikoo 的部署平台里。 ——Twikoo官方文档

将Twikoo项目部署进Vercel

  1. 登录Vercel
  1. 点击这里导入项目
  1. 通过环境变量添加MongoDB 连接字符串
    1. notion image
      环境变量名(Key): MONGODB_URI 环境变量值(Value)为MongoDB 连接字符串
      notion image
  1. 重新部署
    1. notion image
      重新部署成功后点击紫框后网页应有“…Twikoo 云函数运行正常…”字样。此时复制完整的网址(包括 https://.....),这就是你的Twikoo后台地址,此页面上"version":"x.x.xx" 中的 x.x.xx 就是你目前的Twikoo版本号
可选步骤:因Vercel分配的默认网址在国内访问较慢,所以可选步骤是将Twikoo绑定到自己的域名中。(tangly1024大佬的绑定教程
  1. Vercel端添加域名。注意:此处域名不加 https:// ,且可以不是顶级域名,即可以为形如 comments.xxxxx.com/top/... 的域名
    1. notion image
      成功绑定后
      成功绑定后
  1. 用你的域名服务商解析CNAME(我在阿里云购买的域名,所以去这里,其他的也大同小异,与最开始配置CNAME记录相同,只不过名称改为上图中绿框内的)
  1. 登陆后进入右上角"控制台” → 点击左侧"域名” → 左侧“域名列表” → 找到你的域名,单击右侧“解析” → 左上角“添加记录”
    1. 绿框与黄框填入与上图相同的内容
      绿框与黄框填入与上图相同的内容
  1. 此时返回Vercel,域名应会自动刷新并呈现如下图的效果,绑定成功。
    1. notion image
  1. 此时点击你配置好的域名,此时应跳转至与此步结尾处打开的网页内容相同的网页;此时复制完整的网址(包括 https://.....),这就是你新的Twikoo后台地址
  1. 在Vercel中打开之前博客的项目,配置环境变量,并重新部署博客网站。
    1. 环境变量名(Key): NEXT_PUBLIC_COMMENT_ENV_ID 环境变量值(Value)为Twikoo后台地址
      notion image
      notion image
  1. 部署完毕后打开你的博客的随意一篇文章,翻到最底,如果能看到Twikoo,就表示已经成功,可以跳至Twikoo的配置
  1. 若文章底部只有“ Twikoo ”文字,但没有评论区(像我一样),则跟我继续下面的步骤。
  1. 进入GitHub
    1. notion image
  1. 将Twikoo下的package.json中的 latest 改为上文中的你的版本号 x.x.xx
  1. 进入你的NotionNext项目中的conf/comment.config.js,并按下方代码中的注释修改。
    1. 再次进入Vercel重新部署你的博客。

    Twikoo配置

    随意进入一篇文章的评论区,点击右侧齿轮图标,注册登录,开始配置。
    因为大多数的可配置选项在项目下方都有很清楚的说明,所以我只写几个比较难懂的选项。
    通用
    • COMMENT_BG_IMG :需要将图片上传到图床中,较为麻烦且效果很不好,建议留空。
    插件
    • SHOW_IMAGE :由于免费数据库只有512MB,所以建议 false关闭功能
    即时通知
    SC_MAIL_NOTIFY :若不为 true 好像无法收到邮件通知
    邮件通知
    因为我想让它把评论邮件发进我的163邮箱,所以以下为163邮箱的通知设置
    • SMTP_SERVICE163
    • SMTP_USER :建议与 SENDER_EMAIL 相同
    • SMTP_PASS :输入在163邮箱获取的SMTP服务授权码
    163邮箱获取SMTP服务授权码方法
    1. 登录163邮箱,进入POP3/SMTP/IMAP设置
      1. notion image
    1. 开启POP3/SMTP服务
      1. notion image
    1. 按要求发完短信后复制屏幕上的授权码至刚刚的SMTP_PASS
    (全部配置完记得去最下面保存

    Enjoy it!

    上一篇
    激活Windows系统与Office系列软件
    下一篇
    更新日志

    评论
    Loading...