Example.php 4.1 KB
<?php

namespace app\admin\controller\dinghorn;

use think\Hook;

/**
 * 钉钉小喇叭调用例子
 */
class Example
{

    /*使用模板发送消息*/
    public function example1()
    {
        $template_id = 1;//模板ID

        Hook::listen('msg_notice', $template_id);

        // 方法二
        /*$res = Hook::listen('msg_notice',$template_id,['content' => '自定义消息内容'],true);
		if ($res['errcode'] != 0) {
        	echo "发送失败,请查看日志";
        }*/
    }

    /*
     * 先实例化,再调用模板发送消息
     * 此方式,可以传递第三个参数:模板变量键值对
     * 若模板变量已预先定义,则会自动获取值,无需在此传递,若有传递,则会覆盖预定义的模板变量
     * 若模板变量没有在后台预先定义,则会从您传递的参数三中查找
     */
    public function example3()
    {
        $template_code = 'test_tpl';// 模板ID或Code

        // 参数二更多使用方式请参考:\application\admin\controller\dinghorn\Example.php 的 example2 方法
        $dinghorn = new \addons\dinghorn\Dinghorn();
        $res      = $dinghorn->msgNotice($template_code, ['content' => '自定义消息内容,调用时才赋值的变量:${dynamic_variable}'], [
            'dynamic_variable' => '赋值成功~'
        ]);

        if ($res['errcode'] != 0) {
            echo '发送失败,请查看日志!';
        } else {
            echo '发送成功!';
        }
    }

    /*静态调用*/
    public function example4()
    {
        $template_code = 'test_tpl';// 模板ID或Code

        $res = \addons\dinghorn\Dinghorn::msgNotice($template_code, ['content' => '静态调用自定义消息内容,调用时才赋值的变量:${dynamic_variable}'], [
            'dynamic_variable' => '赋值成功~'
        ]);

        if ($res['errcode'] != 0) {
            echo '发送失败,请查看日志!';
        } else {
            echo '发送成功!';
        }
    }

    public function run()
    {
        return 'run';
    }

    /*此方法用于演示:模板变量的值设置为方法的情况*/
    public function test($params)
    {
        return '我是 Example 下面的 test 方法 -> ' . $params;
    }

    /**
     * 若您发现模板不能满足您的需求,可以模板为基础,再随时自定义消息的数据
     * 通常在通知中的数据变化多端时使用
     * 必须设置模板ID/Code首先会调用模板内的所有数据,自定义数据再覆盖到模板数据上
     * 以下字段根据消息类型不同,需要的字段也不尽相同,详见注释
     */
    public function example2()
    {
        $template_id = 1;//模板ID/Code

        Hook::listen('msg_notice', $template_id, [
            'robot_ids'       => '发送机器人',// 将机器人ID以小写逗号分隔格式如:1,2
            'title'           => '自定义消息标题',// 只 链接、markdown、actionCard 消息类型拥有此属性
            'content'         => '自定义消息内容',// 文本、链接、markdown、actionCard 拥有此属性
            'picurl_image'    => '',// 自定义图片URL,只 链接 拥有此属性
            'msg_url'         => '',// 自定义点击消息的链接URL,链接、actionCard整体跳转 拥有此属性
            'hide_avatar'     => 0,// 自定义是否隐藏头像 actionCard 拥有此属性
            'btn_orientation' => 1,// 自定义按钮排列方式 actionCard多按钮 拥有此属性
            'single_title'    => '阅读全文',// 自定义卡片下的链接文字 actionCard整体跳转 拥有此属性
            'btns'            => [
                'title'     => '按钮标题',
                'actionURL' => ''// 按钮链接URL
            ],// 自定义按钮组,actionCard多按钮 拥有此属性
            'links'           => [
                'title'      => '自定义链接标题',
                'messageURL' => '自定义链接URL',
                'picURL'     => '自定义链接图片URL'
            ],// 自定义链接组,链接类型的消息,拥有此属性
        ]);
    }
}