『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 4416|回复: 34

[流程系列] [node-red]小改了下企业微信节点,增加图片上传获取url的功能

[复制链接]

33

主题

685

帖子

4361

积分

论坛元老

Rank: 8Rank: 8

积分
4361
金钱
3666
HASS币
50
发表于 2022-2-11 15:33:58 | 显示全部楼层 |阅读模式
本帖最后由 huang7dede 于 2022-2-11 15:41 编辑

先试试美女大家能不能看到,能看到代表获取到的url可以发论坛,当图床用,不能看到那就只能在微信里发.因为官方文档写的是url在企业微信以外发图片不会显示,不过我测试好像现在没啥限制.

                               
登录/注册后可看大图


是把原企业微信节点的临时素材上传功能拆出来小改了下,版权归属原作者@FlashSoft.
先要安装了企业微信节点,再安装这个,相当于是一个功能补丁,安装后会看到面板里多了一个上传图片节点.
node-red节点管理搜node-red-contrib-bizwechat-image
图片上传到微信平台,返回图片url地址
获取到的url地址怎么用自己发挥.


                               
登录/注册后可看大图


#### #基于[企业微信节点](https://flows.nodered.org/node/node-red-contrib-bizwechat "企业微信节点")的图片上传补丁节点,可生成返回图片url供后续使用.


企业微信节点有上传临时素材节点,但返回的是素材的媒体ID,不是直接的url,这个是返回的url.
有什么用呢,好像也没啥用,当图床?
好处是在微信中发图片url链接访问比较快,毕竟图片存在微信服务器里,而且点击链接后,微信不会弹出"*非微信官方网页,请确认是否继续访问*."的页面.


------------


##### ###### 以下为企业微信官方文档介绍
上传图片得到图片URL,该URL永久有效
返回的图片URL,仅能用于图文消息正文中的图片展示,或者给客户发送欢迎语等;若用于非企业微信环境下的页面,图片将被屏蔽。
每个企业每月最多可上传3000张图片,每天最多可上传1000张图片
图片文件大小应在 5B ~ 2MB 之间.

------------

###### 各人自行测试,我测试时使用范围没有限制,复制url到电脑浏览器可以打开图片,复制到手机浏览器用流量也可以打开图片.
###### 范例流程
---例子:
游客,如果您要查看本帖隐藏内容请回复




评分

参与人数 3金钱 +42 收起 理由
+ 20 高手,这是高手!
dscao + 10 感谢楼主分享!
咸味土豆 + 12 厉害了word楼主!

查看全部评分

回复

使用道具 举报

71

主题

1146

帖子

6313

积分

论坛元老

Rank: 8Rank: 8

积分
6313
金钱
5162
HASS币
30
发表于 2022-2-11 19:04:28 | 显示全部楼层
hass都挂载公网上了,已经不缺url图片了吧
回复

使用道具 举报

32

主题

1983

帖子

5035

积分

论坛元老

Rank: 8Rank: 8

积分
5035
金钱
3052
HASS币
50
QQ
发表于 2022-2-11 22:41:26 | 显示全部楼层
牛批牛批
我不生产技术,我只是技术的搬运工。
回复

使用道具 举报

15

主题

636

帖子

2179

积分

金牌会员

Rank: 6Rank: 6

积分
2179
金钱
1543
HASS币
0
发表于 2022-2-11 23:51:12 | 显示全部楼层
dede大神真牛批。。。

佩服。
回复

使用道具 举报

76

主题

1356

帖子

1万

积分

元老级技术达人

积分
18143
金钱
16747
HASS币
290
发表于 2022-2-16 11:26:18 | 显示全部楼层
如果能同时返回url和media_id就更好了
回复

使用道具 举报

33

主题

685

帖子

4361

积分

论坛元老

Rank: 8Rank: 8

积分
4361
金钱
3666
HASS币
50
 楼主| 发表于 2022-2-16 12:24:10 | 显示全部楼层
dscao 发表于 2022-2-16 11:26
如果能同时返回url和media_id就更好了

临时素材那个也可以传图片,就是返回media_id,,不过media_id是会过期的,好像是3天还是多少小时忘了
回复

使用道具 举报

76

主题

1356

帖子

1万

积分

元老级技术达人

积分
18143
金钱
16747
HASS币
290
发表于 2022-2-16 13:25:50 | 显示全部楼层
本帖最后由 dscao 于 2022-2-16 13:28 编辑
huang7dede 发表于 2022-2-16 12:24
临时素材那个也可以传图片,就是返回media_id,,不过media_id是会过期的,好像是3天还是多少小时忘了 ...

现在这样的效果就需要用两个上传,一个取地址用于打开后显示,一个取ID用于消息直接显示,微信素材库就多占一个相同的文件吧。
2.jpg

不过本来是直接存在ha中的,这也是看你这个插件,就试试上传到微信素材,本地保留可以设置最少时间以节省ha主机的磁盘空间。
回复

使用道具 举报

33

主题

685

帖子

4361

积分

论坛元老

Rank: 8Rank: 8

积分
4361
金钱
3666
HASS币
50
 楼主| 发表于 2022-2-16 13:43:59 | 显示全部楼层
dscao 发表于 2022-2-16 13:25
现在这样的效果就需要用两个上传,一个取地址用于打开后显示,一个取ID用于消息直接显示,微信素材库就多 ...

懂你得意思,,你这用的应该是模板消息,,不过我用的是news类型
直接显示和点开显示都可以放url,可以放同样url,也可以是不同url,所以media_id用不上.

类似这样
newMsg = {
            "payload": {
            "touser": user,
            "msgtype": "news",
            "news": {
                "articles":[
                    {
                    "title": "历史用电--点击查看详情",
                    "description": value,
                    "picurl": "https://wework.qpic.cn/wwpic/405857_gyZ57Hc0Qm2l6N8AAAAAAAAA",
                    "url": "https://wework.qpic.cn/wwpic/381487_1F3OqzGWRTOqpfWBBBBBBBBBBB"
                    }
                    ]
                }
            }
        }
回复

使用道具 举报

1

主题

54

帖子

152

积分

注册会员

Rank: 2

积分
152
金钱
98
HASS币
0
发表于 2022-2-17 21:49:27 | 显示全部楼层
谢谢啊 看看怎么用
回复

使用道具 举报

0

主题

49

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
金钱
206
HASS币
0
发表于 2022-2-21 19:13:41 | 显示全部楼层
企业微信节点,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-20 21:56 , Processed in 0.094400 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表