zoukankan      html  css  js  c++  java
  • YII 钉钉接口 实时 报告

    实现需求之前:先准备好钉钉软件  --->  在钉钉里面创建技术群  --> 设置里面有个 机器人什么的, 把它打开。 然后按照流程配置,这个可以百度,完事了,会有个链接, 算是一个接口吧。这个链接是独一无二的。

    https://oapi.dingtalk.com/robot/send?access_token=**********************************


    项目中找到 钉钉 的类 我的是在 commen oolsDingNotify

    然后 写方法,目的在于这个方法,放在某个功能下面,如果程序跑到该功能的部分了,就会触发钉钉报告,机器人会根据数据,自动在群里发信息,说发生了什么事。

    我这里写的是用户举报的提醒。 如果用户举报了什么东西,钉钉群里就会自动通知。

    public static function Report($title,$text)
    {

    //$_SERVER['HTTP_HOST'] 当前请求的 Host: 头部的内容 。
    // 这里只有用户在
    http://v2.admin.haiwaiuni.com 举报时才提醒
      if($_SERVER['HTTP_HOST'] ==  'http://v2.admin.haiwaiuni.com')  {  
    try {

    $webHook = Yii::$app->params['ding-notify-url']['Report'];

    $client = new Client();i

    //下面有颜色的这个格式是钉钉手册里面的。直接看手册,需要什么数据,拿来改巴改巴就行
    $response = $client->request("POST", $webHook, [
    'json' => [
    "actionCard" => [
    "title" => $title,
    "text" => $text,
    "hideAvatar" => "0",
    "btnOrientation" => 0,
    "singleTitle" => "请点击打开举报页面,查看详情",
    "singleURL" => "http://v2.admin.test1.ukwelife.com" // 该网址就是钉钉报的信息,你点击它就会进到相应页面
    ],
    "msgtype" => "actionCard"
    ]
    ]);
    return true;
    } catch (Exception $e) {
    Yii::error($e); // 出错的话,可以在这里var_dump($e->getMessage) 查看错误是因为什么产生的
    return false;
    }
    }
    }



    因为用户举报需要点击举报按钮吧? 然后找到该按钮的接口, 把该方法写在接口方法里去调用。
    这个函数就是举报接口下面的,那么在该方法下面调用钉钉提醒
    public function actionReportCreate() {

    ...... // 巴拉巴拉连接数据库取了一堆举报的 内容的相关数据
    .... //
         DingNotify::Report(
    "有用户举报", // 对应上面的 $title
    " // 下面的对应上面的$test
    举报原因 :$data[reason]
    举报说明 :$data[content]
    话题文字 :$data[topic]
    "
    );
    }

    程序到这里还没完,你运行会报错, 说是方法Report没定义, 为啥会这样 ? 因为你还没配置好呢
     $webHook = Yii::$app->params['ding-notify-url']['Report'];

    没有配置 ding-notify-url 呀,数组不是瞎写的。 应该在 ding-notify-url 下面把Report配置进去

    我的配置文件在commenconfigparams.php里面。
    找到
    return[
          'ding-notify-url' => [

    // 在这里面加入
         'Report' => 'https://oapi.dingtalk.com/robot/send?access_token=**********************************'  //这个链接 就是文章开头写的
          ],
      ];
      好了,这样只要用户举报, 钉钉就可以自动在群里提醒了,





  • 相关阅读:
    修改mysql root 密码
    web.xml中contextConfigLocation的作用
    项目中提示找不到class,跟命名规则有关系RulesConfigDao
    myBatis抛出异常Result Maps collection already contains value ...
    mysql 远程访问授权
    maven项目依赖小试牛刀+私库
    eclipse中复制项目更名注意事项
    在eclipse中的tomcat内存设置
    广告宣传单页制作的注意事项
    Linux系统的负载与CPU、内存、硬盘、用户数监控的shell脚本
  • 原文地址:https://www.cnblogs.com/wangshuazi/p/9649349.html
Copyright © 2011-2022 走看看