实现功能

XQRobotWeCom

实现功能 成员函数
发送普通文本 sendText
发送Markdown文本 sendMarkdown
发送图文 sendArticles

本项目安装静态库到Qt

源代码

XQRobotDingDing源代码 里面还依赖一些其他类,在里面都可以找到,推荐整个克隆下来看方便

完整库源码


 

XQRobotDingDing头文件

#ifndef XQROBOTDINGDING_H
#define XQROBOTDINGDING_H
#include"XQRobot.h"
//钉钉在线文档https://open.dingtalk.com/document/robots/custom-robot-access
//钉钉机器人
class XQRobotDingDing:public XQRobot
{
	Q_OBJECT
public:
	XQRobotDingDing(QObject* parent = nullptr);
	~XQRobotDingDing();
	/*
	* @brief  获取令牌.
	* @retval 令牌
	* @note
	*/
	inline QString token()const;
	/*
	* @brief  获取密钥.
	* @retval 密钥
	* @note
	*/
	inline QString secret()const;
	/*
	* @brief  获取当前的标志.
	* @retval 标志
	* @note
	*/
	QString sign();
	/*
	* @brief  获取当前的url.
	* @retval url
	* @note
	*/
	QString url();
public:
	/*
	* @brief 设置令牌.
	* @param token:令牌
	* @retval None
	* @note
	*/
	void setToken(const QString& token);
	/*
	* @brief 设置密钥.
	* @param secret:密钥
	* @retval None
	* @note
	*/
	void setSecret(const QString& secret);
	/*
	* @brief 发送文本.
	* @param content:发送的文本内容
	* @param atMobiles:at人的手机号
	* @param atUserIds:at人的userid
	* @param isAtAll:是否at所有人
	* @retval 发送成功返回true
	* @note
	*/
	bool sendText(const QString& content, const QStringList& atMobiles = {}, const QStringList& atUserIds = {}, bool isAtAll = false);
	/*
	* @brief 发送图文链接.
	* @param title:发送的标题
	* @param text:发送的文本内容
	* @param messageUrl:跳转链接
	* @param picUrl:图片地址
	* @retval 发送成功返回true
	* @note
	*/
	bool sendArticles(const QString& title, const QString& text, const QString& messageUrl, const QString& picUrl= QString());
	/*
	* @brief 发送markdown.
	* @param title:发送的标题
	* @param text:发送的markdown内容
	* @param atMobiles:at人的手机号
	* @param atUserIds:at人的userid
	* @param isAtAll:是否at所有人
	* @retval 发送成功返回true
	* @note
	*/
	bool sendMarkdown(const QString& title, const QString& text, const QStringList& atMobiles = {}, const QStringList& atUserIds = {}, bool isAtAll = false);
protected:
	void init();
	//添加at相关参数
	void addAt(QJsonObject& parent, const QStringList& atMobiles = {}, const QStringList& atUserIds = {}, bool isAtAll = false);
protected:
	QString m_token;//令牌
	QString m_secret;//密钥
	qint64 m_timestamp = 0;//当前时间戳,单位是毫秒
};
#endif // !XQRobotDingDing_H

测试代码

XQRobotDingDing Robot;
//这条是显示调试信息发送的json文本,默认不开启,不看的话这行可以不要
Robot.setDebugModel(XQRobot::ShowJson, true);
//设置令牌,改成自己的
Robot.setToken("???");
//设置密钥改成自己的
Robot.setSecret("???");
//发送普通文本
Robot.sendText("这是一条Qt测试信息");
//发送图文链接
Robot.sendArticles("中秋节礼品领取", "今年中秋节公司有豪礼相送", "http://www.qq.com", "http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png");
//发送Markdown文本
Robot.sendMarkdown("杭州天气", "#### 杭州天气 @150XXXXXXXX \n > 9度,西北风1级,空气良89,相对温度73%\n > ![screenshot](https://img.alicdn.com/tfs/TB1NwmBEL9TBuNjy1zbXXXpepXa-2400-1218.png)\n > ###### 10点20分发布 [天气](https://www.dingtalk.com) \n");

企业微信实现效果

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐