希望这次修好了。。。

希望这次修好了。。。

如你所见,leancloud要限制白嫖用户定时任务,使其不能用于自动唤醒。。。这就使我的自动提醒功能失效了。。。

但是,作为一个白嫖党,我是绝对不会升级标准版实例的(一天1.06USD。。。)所以,为解决这个问题,我只能借助搜索引擎。。。

好在已经有人提出了解决方案

其原理为北京时间8点到晚上23点只要有人访问博客就会触发js发ajax请求唤醒云引擎。由于云引擎睡眠的时候发请求不一定会成功(但是有请求就会醒)所有没有做请求失败处理。请求发送后设置cookie避免20分钟内刷新等操作重复发请求。

使用方法

把以下js代码放在valine的初始化代码后面,没必要放body里,记得把云引擎地址改成自己的。valine-admin配置里的ADMIN_URL就是云引擎地址。

var engine = document.cookie.replace(/(?:(?:^|.*;\s*)engine\s*\=\s*([^;]*).*$)|^.*$/, "$1") || '0';
if(engine!='1') {
  fetch('https://quan.suning.com/getSysTime.do')
  .then(function(response) {
    return response.json();
  })
  .then(function(date) {
    var hours = new Date(date.sysTime2).getHours();
    if(hours>7 && hours<23){
      fetch('https://你云引擎的地址');
      var exp = new Date(date.sysTime2);
      exp.setTime(exp.getTime() + 20*60*1000);
      document.cookie = "engine=1;path=/;expires="+ exp.toGMTString();
    }
  })
}