企业微信群机器人开发

news2024/11/26 9:34:11

准备工作

  • 已经注册了有效的企业微信账号,并且在客户端上已经登录
  • 现有或者新建有效的包含多名企业微信成员的群聊

创建群聊机器人

右键群聊->管理聊天信息->添加群机器人

 

使用群机器人 

在终端某个群组添加机器人之后,创建者可以在机器人详情页看的该机器人特有的webhookurl。开发者可以按以下说明向这个地址发起HTTP POST 请求,即可实现给该群组发送消息。下面举个简单的例子.
假设webhook是:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693a91f6-……

特别特别要注意:一定要保护好机器人的webhook地址,避免泄漏!不要分享到github、博客等可被公开查阅的地方,否则坏人就可以用你的机器人来发垃圾消息了。

以下是用curl工具往群组推送文本消息的示例(注意要将url替换成你的机器人webhook地址,content必须是utf8编码):

curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693axxx6-7aoc-4bc4-97a0-0ec2sifa5aaa' \
   -H 'Content-Type: application/json' \
   -d '
   {
    	"msgtype": "text",
    	"text": {
        	"content": "hello world"
    	}
   }'
  • 自定义机器人支持文本(text)、markdown(markdown)、图片(image)、图文(news)四种消息类型。
  • 机器人的text/markdown类型消息支持在content中使用<@userid>扩展语法来@群成员。

消息类型及数据格式

文本类型

{
    "msgtype": "text",
    "text": {
        "content": "广州今日天气:29度,大部分多云,降雨概率:60%",
		"mentioned_list":["wangqing","@all"],
		"mentioned_mobile_list":["13800001111","@all"]
    }
}
参数是否必填说明
msgtype消息类型,此时固定为text
content文本内容,最长不超过2048个字节,必须是utf8编码
mentioned_listuserid的列表,提醒群中的指定成员(@某个成员),@all表示提醒所有人,如果开发者获取不到userid,可以使用mentioned_mobile_list
mentioned_mobile_list手机号列表,提醒手机号对应的群成员(@某个成员),@all表示提醒所有人

markdown类型

{
    "msgtype": "markdown",
    "markdown": {
        "content": "实时新增用户反馈<font color=\"warning\">132例</font>,请相关同事注意。\n
         >类型:<font color=\"comment\">用户反馈</font>
         >普通用户反馈:<font color=\"comment\">117例</font>
         >VIP用户反馈:<font color=\"comment\">15例</font>"
    }
}
参数是否必填说明
msgtype消息类型,此时固定为markdown
contentmarkdown内容,最长不超过4096个字节,必须是utf8编码

图片类型

{
    "msgtype": "image",
    "image": {
        "base64": "DATA",
		"md5": "MD5"
    }
}
参数是否必填说明
msgtype消息类型,此时固定为image
base64图片内容的base64编码
md5图片内容(base64编码前)的md5值

注:图片(base64编码前)最大不能超过2M,支持JPG,PNG格式 

图文类型 

{
    "msgtype": "news",
    "news": {
       "articles" : [
           {
               "title" : "中秋节礼品领取",
               "description" : "今年中秋节公司有豪礼相送",
               "url" : "www.qq.com",
               "picurl" : "http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png"
           }
        ]
    }
}
参数是否必填说明
msgtype消息类型,此时固定为news
articles图文消息,一个图文消息支持1到8条图文
title标题,不超过128个字节,超过会自动截断
description描述,不超过512个字节,超过会自动截断
url点击后跳转的链接。
picurl图文消息的图片链接,支持JPG、PNG格式,较好的效果为大图 1068*455,小图150*150。

 

文件类型

{
    "msgtype": "file",
    "file": {
 		"media_id": "3a8asd892asd8asd"
    }
}
参数是否必填说明
msgtype消息类型,此时固定为file
media_id文件id,通过下文的文件上传接口获取

 

模版卡片类型

文本通知模版卡片

{
    "msgtype":"template_card",
    "template_card":{
        "card_type":"text_notice",
        "source":{
            "icon_url":"https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0",
            "desc":"企业微信",
            "desc_color":0
        },
        "main_title":{
            "title":"欢迎使用企业微信",
            "desc":"您的好友正在邀请您加入企业微信"
        },
        "emphasis_content":{
            "title":"100",
            "desc":"数据含义"
        },
        "quote_area":{
            "type":1,
            "url":"https://work.weixin.qq.com/?from=openApi",
            "appid":"APPID",
            "pagepath":"PAGEPATH",
            "title":"引用文本标题",
            "quote_text":"Jack:企业微信真的很好用~\nBalian:超级好的一款软件!"
        },
        "sub_title_text":"下载企业微信还能抢红包!",
        "horizontal_content_list":[
            {
                "keyname":"邀请人",
                "value":"张三"
            },
            {
                "keyname":"企微官网",
                "value":"点击访问",
                "type":1,
                "url":"https://work.weixin.qq.com/?from=openApi"
            },
            {
                "keyname":"企微下载",
                "value":"企业微信.apk",
                "type":2,
                "media_id":"MEDIAID"
            }
        ],
        "jump_list":[
            {
                "type":1,
                "url":"https://work.weixin.qq.com/?from=openApi",
                "title":"企业微信官网"
            },
            {
                "type":2,
                "appid":"APPID",
                "pagepath":"PAGEPATH",
                "title":"跳转小程序"
            }
        ],
        "card_action":{
            "type":1,
            "url":"https://work.weixin.qq.com/?from=openApi",
            "appid":"APPID",
            "pagepath":"PAGEPATH"
        }
    }
}

请求参数

参数类型必须说明
msgtypeString消息类型,此时的消息类型固定为template_card
template_cardObject具体的模版卡片参数

template_card的参数说明

参数类型必须说明
card_typeString模版卡片的模版类型,文本通知模版卡片的类型为text_notice
sourceObject卡片来源样式信息,不需要来源样式可不填写
source.icon_urlString来源图片的url
source.descString来源图片的描述,建议不超过13个字
source.desc_colorInt来源文字的颜色,目前支持:0(默认) 灰色,1 黑色,2 红色,3 绿色
main_titleObject模版卡片的主要内容,包括一级标题和标题辅助信息
main_title.titleString一级标题,建议不超过26个字。模版卡片主要内容的一级标题main_title.title和二级普通文本sub_title_text必须有一项填写
main_title.descString标题辅助信息,建议不超过30个字
emphasis_contentObject关键数据样式
emphasis_content.titleString关键数据样式的数据内容,建议不超过10个字
emphasis_content.descString关键数据样式的数据描述内容,建议不超过15个字
quote_areaObject引用文献样式,建议不与关键数据共用
quote_area.typeInt引用文献样式区域点击事件,0或不填代表没有点击事件,1 代表跳转url,2 代表跳转小程序
quote_area.urlString点击跳转的url,quote_area.type是1时必填
quote_area.appidString点击跳转的小程序的appid,quote_area.type是2时必填
quote_area.pagepathString点击跳转的小程序的pagepath,quote_area.type是2时选填
quote_area.titleString引用文献样式的标题
quote_area.quote_textString引用文献样式的引用文案
sub_title_textString二级普通文本,建议不超过112个字。模版卡片主要内容的一级标题main_title.title和二级普通文本sub_title_text必须有一项填写
horizontal_content_listObject[]二级标题+文本列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过6
horizontal_content_list.typeInt模版卡片的二级标题信息内容支持的类型,1是url,2是文件附件,3 代表点击跳转成员详情
horizontal_content_list.keynameString二级标题,建议不超过5个字
horizontal_content_list.valueString二级文本,如果horizontal_content_list.type是2,该字段代表文件名称(要包含文件类型),建议不超过26个字
horizontal_content_list.urlString链接跳转的url,horizontal_content_list.type是1时必填
horizontal_content_list.media_idString附件的media_id,horizontal_content_list.type是2时必填
horizontal_content_list.useridString成员详情的userid,horizontal_content_list.type是3时必填
jump_listObject[]跳转指引样式的列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过3
jump_list.typeInt跳转链接类型,0或不填代表不是链接,1 代表跳转url,2 代表跳转小程序
jump_list.titleString跳转链接样式的文案内容,建议不超过13个字
jump_list.urlString跳转链接的url,jump_list.type是1时必填
jump_list.appidString跳转链接的小程序的appid,jump_list.type是2时必填
jump_list.pagepathString跳转链接的小程序的pagepath,jump_list.type是2时选填
card_actionObject整体卡片的点击跳转事件,text_notice模版卡片中该字段为必填项
card_action.typeInt卡片跳转类型,1 代表跳转url,2 代表打开小程序。text_notice模版卡片中该字段取值范围为[1,2]
card_action.urlString跳转事件的url,card_action.type是1时必填
card_action.appidString跳转事件的小程序的appid,card_action.type是2时必填
card_action.pagepathString跳转事件的小程序的pagepath,card_action.type是2时选填

图文展示模版卡片

{
    "msgtype":"template_card",
    "template_card":{
        "card_type":"news_notice",
        "source":{
            "icon_url":"https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0",
            "desc":"企业微信",
            "desc_color":0
        },
        "main_title":{
            "title":"欢迎使用企业微信",
            "desc":"您的好友正在邀请您加入企业微信"
        },
        "card_image":{
            "url":"https://wework.qpic.cn/wwpic/354393_4zpkKXd7SrGMvfg_1629280616/0",
            "aspect_ratio":2.25
        },
        "image_text_area":{
            "type":1,
            "url":"https://work.weixin.qq.com",
            "title":"欢迎使用企业微信",
            "desc":"您的好友正在邀请您加入企业微信",
            "image_url":"https://wework.qpic.cn/wwpic/354393_4zpkKXd7SrGMvfg_1629280616/0"
        },
        "quote_area":{
            "type":1,
            "url":"https://work.weixin.qq.com/?from=openApi",
            "appid":"APPID",
            "pagepath":"PAGEPATH",
            "title":"引用文本标题",
            "quote_text":"Jack:企业微信真的很好用~\nBalian:超级好的一款软件!"
        },
        "vertical_content_list":[
            {
                "title":"惊喜红包等你来拿",
                "desc":"下载企业微信还能抢红包!"
            }
        ],
        "horizontal_content_list":[
            {
                "keyname":"邀请人",
                "value":"张三"
            },
            {
                "keyname":"企微官网",
                "value":"点击访问",
                "type":1,
                "url":"https://work.weixin.qq.com/?from=openApi"
            },
            {
                "keyname":"企微下载",
                "value":"企业微信.apk",
                "type":2,
                "media_id":"MEDIAID"
            }
        ],
        "jump_list":[
            {
                "type":1,
                "url":"https://work.weixin.qq.com/?from=openApi",
                "title":"企业微信官网"
            },
            {
                "type":2,
                "appid":"APPID",
                "pagepath":"PAGEPATH",
                "title":"跳转小程序"
            }
        ],
        "card_action":{
            "type":1,
            "url":"https://work.weixin.qq.com/?from=openApi",
            "appid":"APPID",
            "pagepath":"PAGEPATH"
        }
    }
}

请求参数

参数类型必须说明
msgtypeString模版卡片的消息类型为template_card
template_cardObject具体的模版卡片参数

template_card的参数说明

参数类型必须说明
card_typeString模版卡片的模版类型,图文展示模版卡片的类型为news_notice
sourceObject卡片来源样式信息,不需要来源样式可不填写
source.icon_urlString来源图片的url
source.descString来源图片的描述,建议不超过13个字
source.desc_colorInt来源文字的颜色,目前支持:0(默认) 灰色,1 黑色,2 红色,3 绿色
main_titleObject模版卡片的主要内容,包括一级标题和标题辅助信息
main_title.titleString一级标题,建议不超过26个字
main_title.descString标题辅助信息,建议不超过30个字
card_imageObject图片样式
card_image.urlString图片的url
card_image.aspect_ratioFloat图片的宽高比,宽高比要小于2.25,大于1.3,不填该参数默认1.3
image_text_areaObject左图右文样式
image_text_area.typeInt左图右文样式区域点击事件,0或不填代表没有点击事件,1 代表跳转url,2 代表跳转小程序
image_text_area.urlString点击跳转的url,image_text_area.type是1时必填
image_text_area.appidString点击跳转的小程序的appid,必须是与当前应用关联的小程序,image_text_area.type是2时必填
image_text_area.pagepathString点击跳转的小程序的pagepath,image_text_area.type是2时选填
image_text_area.titleString左图右文样式的标题
image_text_area.descString左图右文样式的描述
image_text_area.image_urlString左图右文样式的图片url
quote_areaObject引用文献样式,建议不与关键数据共用
quote_area.typeInt引用文献样式区域点击事件,0或不填代表没有点击事件,1 代表跳转url,2 代表跳转小程序
quote_area.urlString点击跳转的url,quote_area.type是1时必填
quote_area.appidString点击跳转的小程序的appid,quote_area.type是2时必填
quote_area.pagepathString点击跳转的小程序的pagepath,quote_area.type是2时选填
quote_area.titleString引用文献样式的标题
quote_area.quote_textString引用文献样式的引用文案
vertical_content_listObject[]卡片二级垂直内容,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过4
vertical_content_list.titleString卡片二级标题,建议不超过26个字
vertical_content_list.descString二级普通文本,建议不超过112个字
horizontal_content_listObject[]二级标题+文本列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过6
horizontal_content_list.typeInt模版卡片的二级标题信息内容支持的类型,1是url,2是文件附件,3 代表点击跳转成员详情
horizontal_content_list.keynameString二级标题,建议不超过5个字
horizontal_content_list.valueString二级文本,如果horizontal_content_list.type是2,该字段代表文件名称(要包含文件类型),建议不超过26个字
horizontal_content_list.urlString链接跳转的url,horizontal_content_list.type是1时必填
horizontal_content_list.media_idString附件的media_id,horizontal_content_list.type是2时必填
horizontal_content_list.useridString成员详情的userid,horizontal_content_list.type是3时必填
jump_listObject[]跳转指引样式的列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过3
jump_list.typeInt跳转链接类型,0或不填代表不是链接,1 代表跳转url,2 代表跳转小程序
jump_list.titleString跳转链接样式的文案内容,建议不超过13个字
jump_list.urlString跳转链接的url,jump_list.type是1时必填
jump_list.appidString跳转链接的小程序的appid,jump_list.type是2时必填
jump_list.pagepathString跳转链接的小程序的pagepath,jump_list.type是2时选填
card_actionObject整体卡片的点击跳转事件,news_notice模版卡片中该字段为必填项
card_action.typeInt卡片跳转类型,1 代表跳转url,2 代表打开小程序。news_notice模版卡片中该字段取值范围为[1,2]
card_action.urlString跳转事件的url,card_action.type是1时必填
card_action.appidString跳转事件的小程序的appid,card_action.type是2时必填
card_action.pagepathString跳转事件的小程序的pagepath,card_action.type是2时选填

消息发送频率限制

每个机器人发送的消息不能超过20条/分钟。

文件上传接口

素材上传得到media_id,该media_id仅三天内有效
media_id只能是对应上传文件的机器人可以使用

请求方式:POST(HTTPS
请求地址:https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=KEY&type=TYPE

使用multipart/form-data POST上传文件, 文件标识名为"media"
参数说明:

参数必须说明
key调用接口凭证, 机器人webhookurl中的key参数
type固定传file

POST的请求包中,form-data中媒体文件标识,应包含有 filename、filelength、content-type等信息

filename标识文件展示的名称。比如,使用该media_id发消息时,展示的文件名由该字段控制

请求示例:

POST https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa&type=file HTTP/1.1
Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468
Content-Length: 220

---------------------------acebdf13572468
Content-Disposition: form-data; name="media";filename="wework.txt"; filelength=6
Content-Type: application/octet-stream

mytext
---------------------------acebdf13572468--

 返回数据:

{
   "errcode": 0,
   "errmsg": "ok",
   "type": "file",
   "media_id": "1G6nrLmr5EC3MMb_-zK1dDdzmd0p7cNliYu9V5w7o8K0",
   "created_at": "1380000000"
}

参数说明:

参数说明
type媒体文件类型,分别有图片(image)、语音(voice)、视频(video),普通文件(file)
media_id媒体文件上传后获取的唯一标识,3天内有效
created_at媒体文件上传时间戳

上传的文件限制:

  • 要求文件大小在5B~20M之间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/740312.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Unity天空盒的制作及使用】使用HDR图或六面图制作天空盒及天空盒的几种使用方式

前言【Unity天空盒的制作及使用】使用HDR图或六面图制作天空盒及天空盒的几种使用方式一 、制作天空盒材质1.1 使用HDR文件1.2 使用六张图片二、天空盒的使用方式2.1 场景中设置天空盒2.2 相机中设置天空盒总结前言 Unity工程中每次打开工程映入眼帘的蓝灰过渡的画面就是Unity默…

随笔 --- 是否可以用左右子树结点数差来衡量二叉树是否平衡?

这道题目来自mooc上浙江大学由陈越 、何钦铭老师主讲的数据结构课程上。 题目如下&#xff1a; 由于评论区关闭&#xff0c;在这里写下我自己的思路&#xff1a; 根据要求使用结点数来衡量是否是平衡时&#xff0c;极端条件是NR 2NL 或者反之。 如果构建二叉树时恰好构建为斜…

xxl-job使用详解(包含部分踩坑信息)

概念 XXL-JOB 是一个分布式任务调度平台&#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。 分布式下&#xff0c;每个服务都可以搭建为集群&#xff0c;这样的好处是可以将任务切片分给每一个服务从而实现并行执行&#xff0c;提高任务调度的处理效率。 在…

你真的会CSS?来看看这几个效果怎么做!

最近阿锋在超市排队买菜&#xff08;辣条&#xff09; 一个大叔一边给孩子买吃的一边说&#xff1a; 这些都是增加记忆力的&#xff0c;对孩子好&#xff01; 蓝莓&#xff0c;深海鱼&#xff0c;全麦面包&#xff0c;坚果儿&#xff0c;十六个核桃 不禁感叹现在的孩子们还真是…

6个美化代码片段转换截图图片在线工具推荐

有些截图的代码片段不是太美观&#xff0c;我们可以用统一的代码片段美化截图工具&#xff1a; 文章目录&#xff1a; 1、Codeimg 2.、Carbon 3、Ray.so 4、CodeKeep 5、Chalk.ist 6、Codepng Codeimg 支持设置设备系统&#xff0c;比如可选 MacOs、Windows系统样式。以及设置…

QT error: C2039: “jifen_lineEdit”: 不是“Ui::UIMainFrame”的成员

问题&#xff1a;新增控件不在ui_.h文件中 前提&#xff1a; 在ui界面新增了一个edit控件&#xff0c;在对应cpp中使用ui->jifen_lineEdit时就报错 error: C2039: “jifen_lineEdit”: 不是“Ui::UIMainFrame”的成员 或者error: no member named jifen_lineEdit in Ui::U…

java项目之二手手机回收平台系统(ssm+mysql+jsp)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的二手手机回收平台系统。技术交流和部署相关看文章末尾&#xff01; 开发环境&#xff1a; 后端&#xff1a; 开发语言&#xff1a;Java 框…

论文怎么导入endnotes

我不怎么用pdf直接导入&#xff0c;感觉基本信息还要重新填比较麻烦&#xff0c;期刊基本都支持直接导入了&#xff0c; 1、知网&#xff1a; 随机选择一篇论文&#xff1a; 说实话搜索之前我以为没有结果的&#xff08;x 注意先点击前面的选中&#xff0c;然后点击导出分…

【七天入门数据库】第三天 MySQL的库表操作

系列文章传送门&#xff1a; 【七天入门数据库】第一天 MySQL的安装部署 【七天入门数据库】第二天 数据库理论基础 【七天入门数据库】第三天 MySQL的库表操作 文章目录 一、SQL语句书写规范 二、数据库的操作 三、表的基本操作 四、表的约束 五、存储引擎 六、MySQ…

密码学入门——消息认证码

文章目录 参考书目一、简介二、消息认证码的使用步骤三、消息认证码的应用实例四、消息认证码的实现方法五、认证加密六、HMAC 参考书目 图解密码技术&#xff0c;第三版 一、简介 使用消息认证码可以确认自己收到的消息是否就是发送者的本意&#xff0c;也就是说&#xff0…

python实现压缩与解压(zlib)

本文将使用python的zlib与base64进行压缩与解压 其中base64模块用于对字节流与字符串的转换&#xff0c;zlib用于数据的压缩与解压 同时在后面附上在JS中遇到需要压缩解压的案例 解压代码&#xff1a; import base64 import zlibinput_string eJwlzT1OAzEQBeC7pJjSf1rHu0h…

yum方式安装mysql 8.0.33失败,缺少依赖包

配置网络源 [rootlocalhost yum.repos.d]# ping www.163.com PING z163picipv6.v.bsgslb.cn (61.184.215.68) 56(84) bytes of data. 64 bytes from 61.184.215.68 (61.184.215.68): icmp_seq1 ttl128 time13.2 ms 64 bytes from 61.184.215.68 (61.184.215.68): icmp_seq2 tt…

造船码头行车限位器与驾驶室控制柜无线通讯

随着我国海洋交通的快速发展&#xff0c;船舶信息化管理的建设&#xff0c;无线通信资源的配置&#xff0c;将先进的无线通信技术引入水上交通安全的监管业务中已是大势所趋。码头安装(设备和系统的安装) 船舶下水后常停靠于厂内舾装码头, 以安装船体设备, 机电设备&#xff0c…

第6集丨JavaScript 使用原型(prototype)实现继承——最佳实战3

目录 一、原型继承与属性拷贝1.1 功能说明1.2 功能测试 二、多重继承2.1 功能实现2.2 功能测试 三、寄生式继承四、构造器借用4.1 简单实现4.2 进化版4.2.1 功能实现4.2.2 案例测试 五、借用构造器和原型复制六 综合案例6.1 需求说明6.2 代码实现 一、原型继承与属性拷贝 1.1 功…

免费的音频转文字软件这么多,音频转文字软件推荐有哪些?

在一次音频转文字工作者的聚会上&#xff0c;艾米和迈克正在探讨如何提高他们的工作效率。他们都深知手动转录音频文件的困难和耗时&#xff0c;因此开始讨论是否有一种音频转文字软件可以推荐。 迈克&#xff1a;嘿&#xff0c;艾米&#xff01;我们都知道&#xff0c;音频转…

Scratch 星际飞船

Scratch 星际飞船 本程序主要增加了背景切换功能&#xff0c;飞船跟随鼠标移动&#xff0c;接触到右边的方块时切换到下一张背景&#xff0c;切换后飞船移动到左边&#xff0c;左边的椭圆则相反。随机生成另外两种飞船角色为背景&#xff0c;接触到边缘后移除。 图形化程序如下…

【算法与数据结构】150、LeetCode逆波兰表达式求值

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;我们常看见的表达式是中缀表达式&#xff08;关于中缀表达式的定义可以参考前缀、中缀、后缀表达式&am…

0经验也能轻松设计商标logo的方法

如今&#xff0c;越来越多的人开始创业&#xff0c;而拥有一个好看的商标就显得尤为重要。但是&#xff0c;很多人并不具备设计技能&#xff0c;对于商标设计也是一头雾水。不过&#xff0c;现在有了一键logo设计应用&#xff0c;即使零经验的人也能轻松设计出自己满意的商标。…

IoT开发者为王,涂鸦智能硬核“靠边站”

文 | 智能相对论 作者 | 沈浪 6月底&#xff0c;全球化IoT开发平台服务商涂鸦智能开了个TUYA开发者大会&#xff0c;面向行业传达了两个关键的信息点&#xff1a; 1. 当前IoT领域的行业竞争不再局限于技术、渠道的单一纬度&#xff0c;开始演化为整体的生态之争。 2. 紧随行…

STM32 Proteus仿真双机串口通讯同步电子时钟系统数码管显示 -0060

STM32 Proteus仿真双机串口通讯同步电子时钟系统数码管显示 -0060 Proteus仿真小实验&#xff1a; STM32 Proteus仿真双机串口通讯同步电子时钟系统数码管显示 -0060 功能&#xff1a; 硬件组成&#xff1a;本系统由2个设备组成 设备1&#xff1a;STM32F103R6单片机 8位数…