Valine评论异常解决

博客由于加载原因关了一段时间,今天发现不但之前的评论消失,而且新评论总显示无法提交。

解决方案

首先 Valine项目 确定正常运行
https://cdn.jsdelivr.net/npm/valine@1.4.16/dist/Valine.min.js 访问也没有任何问题
考虑到Valine是基于LeanCloud建立起的评论系统,登录LeanCloud看官方无改动
果然:

公告
us-api.leancloud.cn 已下线
1月17日
为了简化配置、提升系统稳定性,以及满足合规性要求,LeanCloud 国际版的 us-api.leancloud.cn 已于 2021 年 11 月 23 日下线。国际版已于 2019 年 1 月 1 日正式独立运营,且独立运营之前很长一段时间 SDK 早已采用根据应用 ID 生成的子域名作为 API 入口,不再使用 us.api.leancloud.cn。因此除了还在使用版本非常老的 SDK 的应用外,绝大部分开发者不受影响,不需要进行任何操作。如遇到问题,请点击「查看详情」了解如何更新 SDK 或 SDK 初始化配置。

也就是LeanCloud对 us-api.leancloud.cn 的域名不再维护了,用这个域名去读取和添加数据必然是无效的,得指定自定义服务器URL才能使用。
方法如下:

  1. 自定义URL:登录LeanCloud,找到应用,进设置,应用凭证,服务器地址下面有一个 REST API 服务器地址,复制备用;
  2. Valine配置修改:添加一行 serverURLs: 'https://xxxxxxxx.api.lncldglobal.com' (ps: xxxxxxxx就是Appid的前八位字符);

示例:

<script>
  new Valine({
    el: '#vcomments',
    appId: '<%= site.customConfig.appID %>',
    appKey: '<%= site.customConfig.appKey %>',
    avatar: '<%= site.customConfig.avatar %>',
    placeholder: '<%= site.customConfig.placeholder %>',
    pageSize: '<%= site.customConfig.pageSize %>',
    lang: '<%= site.customConfig.lang %>',
    enableQQ: 'true' === '<%= site.customConfig.enableQQ %>',
    visitor: 'true' === '<%= site.customConfig.visitor %>',
    highlight: 'true' === '<%= site.customConfig.highlight %>',
    avatarForce: 'true' === '<%= site.customConfig.avatarForce %>',
    serverURLs: 'https://xxxxxxxx.api.lncldglobal.com'
  });
</script>
  1. 重新部署即可。

ps: notice 'xxxx'

Server酱 微信推送版本升级

再进行评论Test时,发现Server酱更新,公告旧版API随时可能下线,那自然要换了。
原先推送设置参考的 这篇文章
所以要做的就很明确了:

  1. 获取新的 sendkey:登录新版Server酱 ,复制sendkey备用;

  2. 更改环境变量:登录LeanCloud,云引擎,设置,源码部署下面将原来的 SCKEY 变量重新赋予前边复制好的值,保存;

  3. 改request地址:
    这里发生一个尴尬的问题,当初我是直接调用sviptzk的仓库部署的,现在发现404了😂。于是,重新找了一个Valine-Admin-Server,fork了下 https://github.com/yangfanbit/Valine-Admin-Server),sendmail的js推送url改成sctapi就行,如下:

  4. 重新部署,使环境变量生效;

  5. 测试:

    Bingo!