详细描述、使用方法等
本插件涉及的代码量可能较多,请耐一点哦~~
1.安装准备和添加路由创建接口
1.1编辑文件 ”\application\route.php“ 在第7行结尾处按回车添加以下代码
'release'=>['index/index/releaseP',['t'=>'\d+', 'ext'=>'json']],
1.2编辑文件”\application\index\controller\Index.php“在大约205行的 } 后按回车,之后插入以下代码,即创建一个可以用来监控的入口点
/**
* 定时发布插件
* @return string
*/
public function releaseP($t){
hook('timingT',['token'=>$t]);
return;
}
2.前端页面相关HOOK挂钩
2.1 投稿页面 - 编辑文件 ”\template\c_default\html\articles_add.html“ 在大约164行处添加钩子 {:hook('timingR')} 显示效果如下
可以根据实际情况做出相应的调整
2.2个人中心页面HOOK - 编辑文件 ”\template\u_default\html\index_article.html“ 在大约67行下添加钩子 {:hook('timingHU')}
3.后端页面相关HOOK挂钩
3.1添加文章发布钩子 编辑文件 "\application\index\controller\Articles.php" 在大约107行处 下方添加一下一大段代码
if(hook('timingC', ['test'=>'1'], true, 'test') === 'ok'){//验证插件状态
$data['t_type'] = 'V';//动了就破坏风水了!!!
$data = hook('timingC', $data, true);//交给插件处理
if($data['state'] === false){
//报错拜拜
return json(['code'=>0, 'msg'=>$data['msg']]);
}else{
$enable = $data['enable'];
$data = $data['data'];//数据复原
}
}
3.2 添加文章发布钩子 编辑文件 "\application\index\controller\Articles.php" 在大约133行处 下方添加一下一大段代码 即在return上面添加代码!!!
if(hook('timingC', ['test'=>'1'], true, 'test') === 'ok'){//验证插件状态
$data['t_type'] = 'I';//动了就破坏风水了!!!
$data['aid'] = $article->id;//动了就破坏风水了!!!
$data['enable'] = $enable;//动了就破坏风水了!!!
hook('timingC', $data);
}
4.后台审批点挂钩
4.1后台审批钩子 - 编辑文件 ”\application\admin\controller\Articles.php“ 在大约156行下方添加钩子 hook('timingA',['data'=>$data]);
注意!!!看清楚是在public function update()的方法中
5.配置HTTP监控网站服务
使用 阿里云的云监控为例
1.首先进入控制台
2.进入控制台后
3.进入网站后台->模板插件->插件管理->设置 获取token值,然后拼接url地址,规则为 http(s)://网站域名/release/t/Token值.json
如https://www.ld80.cn/release/t/138a7d823a04708ccb7413866ecbe69edc98a7c0.json
我们测试访问以下
接口正常
4.知道URL地址后继续配置监控服务, 添加完需要等待几分钟!
我们来验证一下
投稿文章,插件后台为待审核状态(免审核例外),需要文章审批通过才能发布
审批完后 插件后台显示为 定时发布 等待时间到咯 现在是 2018年12月10日22:07:34
已发布状态
----END----