在Java中调企微机器人发送消息到群里

目录

如何使用群机器人

消息类型及数据格式

文本类型

markdown类型

图片类型

图文类型

文件类型

模版卡片类型

文本通知模版卡片

图文展示模版卡片

消息发送频率限制

文件上传接口


Java  执行语句 

String url = "webhook的Url";

String result = HttpRequest.post(url)
.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.76")
.header("Content-Type", "application/json")
.body(json)
.execute().body();

摘自企微机器人开发说明

如何使用群机器人

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

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

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

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

消息类型及数据格式

文本类型

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

markdown类型

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

目前支持的markdown语法是如下的子集:

  1. 标题 (支持1至6级标题,注意#与文字中间要有空格)
    1. # 标题一
    2. ## 标题二
    3. ### 标题三
    4. #### 标题四
    5. ##### 标题五
    6. ###### 标题六
  2. 加粗
    1. **bold**
  3. 链接
    1. [这是一个链接](http://work.weixin.qq.com/api/doc)
  4. 行内代码段(暂不支持跨行)
    1. `code`
  5. 引用
    1. > 引用文字
  6. 字体颜色(只支持3种内置颜色)
    1. <font color="info">绿色</font>
    2. <font color="comment">灰色</font>
    3. <font color="warning">橙红色</font>

图片类型

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

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

图文类型

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

文件类型

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

模版卡片类型

文本通知模版卡片

  1. {
  2. "msgtype":"template_card",
  3. "template_card":{
  4. "card_type":"text_notice",
  5. "source":{
  6. "icon_url":"https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0",
  7. "desc":"企业微信",
  8. "desc_color":0
  9. },
  10. "main_title":{
  11. "title":"欢迎使用企业微信",
  12. "desc":"您的好友正在邀请您加入企业微信"
  13. },
  14. "emphasis_content":{
  15. "title":"100",
  16. "desc":"数据含义"
  17. },
  18. "quote_area":{
  19. "type":1,
  20. "url":"https://work.weixin.qq.com/?from=openApi",
  21. "appid":"APPID",
  22. "pagepath":"PAGEPATH",
  23. "title":"引用文本标题",
  24. "quote_text":"Jack:企业微信真的很好用~\nBalian:超级好的一款软件!"
  25. },
  26. "sub_title_text":"下载企业微信还能抢红包!",
  27. "horizontal_content_list":[
  28. {
  29. "keyname":"邀请人",
  30. "value":"张三"
  31. },
  32. {
  33. "keyname":"企微官网",
  34. "value":"点击访问",
  35. "type":1,
  36. "url":"https://work.weixin.qq.com/?from=openApi"
  37. },
  38. {
  39. "keyname":"企微下载",
  40. "value":"企业微信.apk",
  41. "type":2,
  42. "media_id":"MEDIAID"
  43. }
  44. ],
  45. "jump_list":[
  46. {
  47. "type":1,
  48. "url":"https://work.weixin.qq.com/?from=openApi",
  49. "title":"企业微信官网"
  50. },
  51. {
  52. "type":2,
  53. "appid":"APPID",
  54. "pagepath":"PAGEPATH",
  55. "title":"跳转小程序"
  56. }
  57. ],
  58. "card_action":{
  59. "type":1,
  60. "url":"https://work.weixin.qq.com/?from=openApi",
  61. "appid":"APPID",
  62. "pagepath":"PAGEPATH"
  63. }
  64. }
  65. }

请求参数

参数类型必须说明
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链接类型,0或不填代表是普通文本,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时选填
图文展示模版卡片

  1. {
  2. "msgtype":"template_card",
  3. "template_card":{
  4. "card_type":"news_notice",
  5. "source":{
  6. "icon_url":"https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0",
  7. "desc":"企业微信",
  8. "desc_color":0
  9. },
  10. "main_title":{
  11. "title":"欢迎使用企业微信",
  12. "desc":"您的好友正在邀请您加入企业微信"
  13. },
  14. "card_image":{
  15. "url":"https://wework.qpic.cn/wwpic/354393_4zpkKXd7SrGMvfg_1629280616/0",
  16. "aspect_ratio":2.25
  17. },
  18. "image_text_area":{
  19. "type":1,
  20. "url":"https://work.weixin.qq.com",
  21. "title":"欢迎使用企业微信",
  22. "desc":"您的好友正在邀请您加入企业微信",
  23. "image_url":"https://wework.qpic.cn/wwpic/354393_4zpkKXd7SrGMvfg_1629280616/0"
  24. },
  25. "quote_area":{
  26. "type":1,
  27. "url":"https://work.weixin.qq.com/?from=openApi",
  28. "appid":"APPID",
  29. "pagepath":"PAGEPATH",
  30. "title":"引用文本标题",
  31. "quote_text":"Jack:企业微信真的很好用~\nBalian:超级好的一款软件!"
  32. },
  33. "vertical_content_list":[
  34. {
  35. "title":"惊喜红包等你来拿",
  36. "desc":"下载企业微信还能抢红包!"
  37. }
  38. ],
  39. "horizontal_content_list":[
  40. {
  41. "keyname":"邀请人",
  42. "value":"张三"
  43. },
  44. {
  45. "keyname":"企微官网",
  46. "value":"点击访问",
  47. "type":1,
  48. "url":"https://work.weixin.qq.com/?from=openApi"
  49. },
  50. {
  51. "keyname":"企微下载",
  52. "value":"企业微信.apk",
  53. "type":2,
  54. "media_id":"MEDIAID"
  55. }
  56. ],
  57. "jump_list":[
  58. {
  59. "type":1,
  60. "url":"https://work.weixin.qq.com/?from=openApi",
  61. "title":"企业微信官网"
  62. },
  63. {
  64. "type":2,
  65. "appid":"APPID",
  66. "pagepath":"PAGEPATH",
  67. "title":"跳转小程序"
  68. }
  69. ],
  70. "card_action":{
  71. "type":1,
  72. "url":"https://work.weixin.qq.com/?from=openApi",
  73. "appid":"APPID",
  74. "pagepath":"PAGEPATH"
  75. }
  76. }
  77. }

请求参数

参数类型必须说明
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是文件附件
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时必填
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发消息时,展示的文件名由该字段控制

请求示例:

  1. POST https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa&type=file HTTP/1.1
  2. Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468
  3. Content-Length: 220
  4. ---------------------------acebdf13572468
  5. Content-Disposition: form-data; name="media";filename="wework.txt"; filelength=6
  6. Content-Type: application/octet-stream
  7. mytext
  8. ---------------------------acebdf13572468--

返回数据:

  1. {
  2. "errcode": 0,
  3. "errmsg": "ok",
  4. "type": "file",
  5. "media_id": "1G6nrLmr5EC3MMb_-zK1dDdzmd0p7cNliYu9V5w7o8K0",
  6. "created_at": "1380000000"
  7. }

参数说明:

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

上传的文件限制:

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

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

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

相关文章

pytest - Getting Start

前言 项目开发中有很多的功能&#xff0c;通常开发人员需要对自己编写的代码进行自测&#xff0c;除了借助postman等工具进行测试外&#xff0c;还需要编写单元测试对开发的代码进行测试&#xff0c;通过单元测试来判断代码是否能够实现需求&#xff0c;本文介绍的pytest模块是…

【超详细!各版本通用Matlab入门教程】0基础学会可用于毕业论文制图、数学,线代概率论运算等

MATLAB 下载、安装方法&#xff1a; 【若未安装环境&#xff0c;可以点击下方链接教程先学习安装&#xff0c;再进行MATLAB入门学习】 点击下方文字&#xff1a;即可跳转MATLAB下载&安装教程 下载&安装MATLAB 1.常识 1.1注释方法 % 中文内容【注释内容】 %% 段落注…

计算机导论10-软件与软件工程

文章目录 软件软件的概念软件的定义软件的特征 软件的保护与授权软件的法律保护软件许可 软件工程软件危机软件危机的概念产生软件危机的原因 软件工程的概念软件工程的定义软件工程基本原理软件工程框架软件工程三要素 软件工程方法学软件工程方法软件工程工具软件工程过程 软…

Mysql 编译安装部署

Mysql 编译安装部署 环境&#xff1a; 172.20.26.198&#xff08;Centos7.6&#xff09; 源码安装Mysql-5.7 大概步骤如下&#xff1a; 1、上传mysql-5.7.28.tar.gz 、boost_1_59_0.tar 到/usr/src 目录下 2、安装依赖 3、cmake 4、make && make install 5、…

(上) C语言中的语句分类及分支语句:if语句、switch语句介绍

目录 前言 一、语句的分类 1. 空语句 2. 表达式语句 3. 函数调用语句 4. 复合语句 5. 控制语句 二、分支语句 1. if语句 (1) if的使用 (2) else的使用 (3) 分支中包含多条语句 (4) 嵌套if (5) 悬空else问题 2. switch语句 (1) if语句和switch语句的对比 (2) s…

触摸屏监控双速电动机-确定地址分配

I/O地址分配 当选择了PLC之后&#xff0c;首先需要确定的是系统中各I/O点的绝对地址。在某些PLC 中1/O绝对地址的分配方式共有固定地址型、自动分配型、用户定义型3种。实际所使用的方式取决于所采用的PLC的CPU型号、编程软件、软件版本、编程人员的选择等因素。 本任务输入信…

鸿蒙 HarmonyOS ArkTS ArkUI 动画 中心缩放、顶部缩放、纵向缩放

EntryComponentstruct Index {State widthA: number 200State heightA: number 200onPageShow():void{animateTo ( {duration: 2000,iterations: -1,curve:Curve.Linear}, () > {this.widthA 0this.heightA 0} )}build() {Column() {// 中心缩放Column(){}.width(this.wi…

QT+opencv源码编译

时间记录&#xff1a;2024/1/20 一、版本介绍 QT5.12.7cmake3.22.0opencv4.5.4 二、编译步骤 &#xff08;1&#xff09;下载opencv源码&#xff0c;然后安装&#xff0c;opencv的安装即对源码的解压过程&#xff0c;解压后的文件目录如下 &#xff08;2&#xff09;openc…

全开源多城市同城信息小程序源码(Laravel 框架),同城分类信息发布便民小程序系统【非DZ】

同城生活分类信息小程序&#xff0c;人才招聘、房产二手 多城市地区同城分类信息发布&#xff0c;商家入驻等功能 小程序前后端代码开源无加密&#xff0c;可进行二次开发 【源码运行要求】 1、需要已认证的微信小程序 2、已备案的域名及服务器空间 推荐使用宝塔面板LinuxPHP…

热血江湖服务端服务器架设教程

热血江湖服务端服务器架设教程 大家好&#xff0c;我是艾西今天简单的说下热血江湖架设需要哪些东西然后怎么操作&#xff0c;不管你是自己玩还是对外开放&#xff0c;这对于有兴趣的小伙伴总的都是一件好事。技多不压身就是这么个道理&#xff0c;当你需要用上时还希望能记起…

Addressables(1) 从安装到加载单个/多个资源

不想再配改那些狗屎路径&#xff0c;准备研究一下Adressable&#xff0c;据说可以用key加载指定的资源 刚安装下来&#xff0c;随便搞了个资源勾选了一下addressable的框框&#xff0c;多了好多东西啊 概念铺天盖地而来&#xff0c;ok 没事的 慢慢来&#xff01; 前置知识 P…

欧科云链与《警察技术》联合发布技术专题.pdf

欧科云链受《警察技术》邀请&#xff0c;于第201期期刊正式刊登“区块链生态安全与虚拟货币犯罪治理”技术专题。欧科云链作为该技术专题主要作者&#xff0c;直接参与本次期刊2篇文章撰写&#xff0c;同时为多篇文章提供欧科云链的最新数据和研究成果。 《警察技术》期刊创办于…

Python seaborn库的安装与图像的背景风格(Seaborn篇-01)

Python seaborn库的安装与图像的背景风格(Seaborn篇-01)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

使用docker配置semantic slam

一.Docker环境配置 1.拉取Docker镜像 sudo docker pull ubuntu:16.04拉取的为ununtu16版本镜像&#xff0c;环境十分干净&#xff0c;可以通过以下命令查看容器列表 sudo docker images 如果想删除多余的docker image&#xff0c;可以使用指令 sudo docker rmi -f <id&g…

linux 使用笔记

1.查看运行内存 a.Free 快速查看内存的方法&#xff0c;也是经常使用的命令&#xff0c; -h 更人性化的显示内存的单元 -m 以M的形式显示 b.Top Top命令提供了实时性的运行中的程序的资源使用统计。可以根据内存的使用和大小来进行排序。 如上所示&#xff0c;top命令可以看…

伊恩·斯图尔特《改变世界的17个方程》波动方程笔记

主要是课堂的补充&#xff08;yysy&#xff0c;我觉得课堂的教育模式真有够无聊的&#xff0c;PPT、写作业、考试&#xff0c;感受不到知识的魅力。 它告诉我们什么&#xff1f; 小提琴琴弦上某个小段的加速度&#xff0c;与相邻段相对于该段的平均位移成正比。 为什么重要&…

“GPC爬虫池有用吗?

作为光算科技的独有技术&#xff0c;在深入研究谷歌爬虫推出的一种吸引谷歌爬虫的手段 要知道GPC爬虫池是否有用&#xff0c;就要知道谷歌爬虫这一概念&#xff0c;谷歌作为一个搜索引擎&#xff0c;里面有成百上千亿个网站&#xff0c;对于里面的网站内容&#xff0c;自然不可…

c语言算法——大数相加

C数据类型 类型与描述1基本数据类型 它们是算术类型&#xff0c;包括整型&#xff08;int&#xff09;、字符型&#xff08;char&#xff09;、浮点型&#xff08;float&#xff09;和双精度浮点型&#xff08;double&#xff09;。2枚举类型&#xff1a; 它们也是算术类型&am…

R语言的ggplot2绘制分组折线图?

R绘制分组折线图.R 首先看数据情况&#xff1a;group有3组。Time有3组&#xff0c;数据意思是在3组3个时间点测量了某指标&#xff0c;现在要绘制组1、组2、组3某指标y按时间的变化趋势 数据情况&#xff1a; 看看最终的效果图如下&#xff1a; 下面是本次使用的代码 .libPat…

OpenHarmony 应用开发入门 (二、应用程序包结构理解及Ability的跳转,与Android的对比)

在进行应用开发前&#xff0c;对程序的目录及包结构的理解是有必要的。如果之前有过android开发经验的&#xff0c;会发现OpenHarmony的应用开发也很简单&#xff0c;有很多概念是相似的。下面对比android分析总结下鸿蒙的应用程序包结构&#xff0c;以及鸿蒙对比android的诸多…