zdcms让后台有内容需要审核时通过微信通知审核成员的实现方法

今天来说说当有新的会员或者管理人员发布了新的内容,后台有内容需要审核时,通过微信通知审核成员的实现方法。

具体步骤,打开以下目录中的config/hooks.php文件,编辑加入以下代码。

\Phpcmf\Hooks::on('module_verify_after', function($data) { 
    // 会员发布内容审核时,通知后台审核员·
    
   $row = dr_string2array($data['content']);
    log_message('error', '《'.$row['title'].'》进入审核通知钩子');
    $vid = max(0, $data['vid']);
    $cache = \Phpcmf\Service::C()->get_cache('verify');
    if ($cache && $vid && $cache[$vid]) {
        $verify = $cache[$vid];
        if ($verify['value']['role']) {
            $role = \Phpcmf\Service::C()->get_cache('auth');
            $rid = $verify['value']['role'][$data['status']]; // 通知的角色
            if ($rid) {
                $user = \Phpcmf\Service::M()->table('admin_role_index')->where('roleid', $rid)->getAll();
                if ($user) {
                    foreach ($user as $t) {
                        $rt = \Phpcmf\Service::M('member')->weixin_template($t['uid'], 
                            '这里填写你申请微信模板消息的id号', 
                            [
                                // 这里的参数你需要根据你的模板消息参数来设置,格式为下面的数组参数
                                'keyword1' => [
                                  'value' => $row['title'],
                                  'color' => '',
                                ],
                                'keyword2' => [
                                  'value' => dr_date(SYS_TIME),
                                  'color' => '',
                                ],
                                'remark' => [
                                  'value' => '请尽快登陆后台处理',
                                  'color' => '',
                                ],
                            ]
                        );
                        if ($rt['code']) {
                            log_message('error', '《'.$row['title'].'》审核通知成员('.$t['uid'].')成功');
                        } else {
                            log_message('error', '《'.$row['title'].'》审核通知成员('.$t['uid'].')失败:'.$rt['msg']);
                        }
                        
                    }
                } else {
                    log_message('error', '《'.$row['title'].'》审核的角色组的成员('.$vid.')不存在');
                }
            } else {
                log_message('error', '《'.$row['title'].'》审核的角色组('.$vid.')不存在');
            }
        } else {
            log_message('error', '《'.$row['title'].'》审核id('.$vid.')没有设置流程');
        }
    } else {
        log_message('error', '《'.$row['title'].'》审核id('.$vid.')不存在');
    }
    
});


其中下面的代码;

log_message

是日志记录,正式上线的时候可以取消这个函数。


评论