wecomchan/go-wecomchan
zhiyang7 f9b71fa733 默认使用text消息类型 2021-08-30 11:19:41 +08:00
..
Dockerfile add: Go版新增图片类型的推送消息 2021-08-17 15:19:31 +08:00
Dockerfile.architecture 修改多架构构建,并推送fcbhank最新代码镜像到docker hub 2021-08-25 17:07:23 +08:00
README.md 修改多架构构建,并推送fcbhank最新代码镜像到docker hub 2021-08-25 17:07:23 +08:00
docker-compose.yml 添加docker-compose 一键部署及环境变量传入, 添加镜像仓库地址 2021-07-04 11:01:31 +08:00
go.mod 适配POST模式传参,兼容serverchan模式传参 2021-08-30 11:02:36 +08:00
go.sum 适配POST模式传参,兼容serverchan模式传参 2021-08-30 11:02:36 +08:00
wecomchan.go 默认使用text消息类型 2021-08-30 11:19:41 +08:00

README.md

go-wecomchan

what's new

添加 Dockerfile.architecture 使用docker buildx支持构建多架构镜像。

关于docker buildx build 使用方式参考官方文档:

https://docs.docker.com/engine/reference/commandline/buildx_build/

配置说明

直接使用和构建二进制文件使用需要golang环境并且网络可以安装依赖。
docker构建镜像使用需要安装docker不依赖golang以及网络。

修改默认值

修改的sendkey企业微信公司ID 等默认值为你的企业中的相关信息,如不设置运行时和打包后都可通过环境变量传入。

var Sendkey = GetEnvDefault("SENDKEY", "set_a_sendkey")
var WecomCid = GetEnvDefault("WECOM_CID", "企业微信公司ID")
var WecomSecret = GetEnvDefault("WECOM_SECRET", "企业微信应用Secret")
var WecomAid = GetEnvDefault("WECOM_AID", "企业微信应用ID")
var WecomToUid = GetEnvDefault("WECOM_TOUID", "@all")
var RedisStat = GetEnvDefault("REDIS_STAT", "OFF")
var RedisAddr = GetEnvDefault("REDIS_ADDR", "localhost:6379")
var RedisPassword = GetEnvDefault("REDIS_PASSWORD", "")

直接使用

如果没有添加默认值需要先引入环境变量以SENDKEY为例

export SENDKEY=set_a_sendkey 依次引入环境变量后,执行 go run .

build命令构建二进制文件使用

  1. 构建命令 go build

  2. 启动 ./wecomchan

构建docker镜像使用推荐不依赖golang不依赖网络

新增打包好的镜像可以直接使用

已经更新latest镜像为 @fcbhank 的最新代码并支持arm64设备。也可通过aozakiaoko/go-wecomchan:v2 获取最新镜像。

  1. 构建镜像 docker build -t go-wecomchan .

  2. 修改默认值后启动镜像 docker run -dit -p 8080:8080 go-wecomchan

  3. 通过环境变量启动镜像并启用redis

docker run -dit -e SENDKEY=set_a_sendkey \
-e WECOM_CID=企业微信公司ID \
-e WECOM_SECRET=企业微信应用Secret \
-e WECOM_AID=企业微信应用ID \
-e WECOM_TOUID="@all" \
-e REDIS_STAT=ON \
-e REDIS_ADDR="localhost:6379" \
-e REDIS_PASSWORD="" \
# aozakiaoko/go-wecomchan 已经更新镜像为 @fcbhank 的最新代码并支持arm64设备。
# v2 fcbhank/go-wecomchan
-p 8080:8080 go-wecomchan

如不使用redis不要传入最后三个关于redis的环境变量(REDIS_STAT|REDIS_ADDR|REDIS_PASSWORD)

  1. 环境变量说明
名称 描述
SENDKEY 发送时用来验证的key
WECOM_CID 企业微信公司ID
WECOM_SECRET 企业微信应用Secret
WECOM_AID 企业微信应用ID
WECOM_TOUID 需要发送给的人,详见企业微信官方文档
REDIS_STAT 是否启用redis换缓存token,ON-启用 OFF或空-不启用
REDIS_ADDR redis服务器地址如不启用redis缓存可不设置
REDIS_PASSWORD redis的连接密码如不启用redis缓存可不设置

使用docker-compose 部署

修改docker-compose.yml 文件内上述的环境变量,之后执行

docker-compose up -d

调用方式

  • v1_推送文本 访问 http://localhost:8080/wecomchan?sendkey=你配置的sendkey&&msg=需要发送的消息&&msg_type=text

  • v2_推送文本or图片

# 推送文本消息
curl --location --request GET 'http://localhost:8080/wecomchan?sendkey={你的sendkey}&msg={你的文本消息}&msg_type=text'

# 推送图片消息
curl --location --request POST 'http://localhost:8080/wecomchan?sendkey={你的sendkey}&msg_type=image' \
--form 'media=@"test.jpg"'

后续预计添加

  • Dockerfile 打包镜像(不依赖网络环境)
  • 通过环境变量传递企业微信idsecret等镜像一次构建多次使用
  • docker-compose redis + go-wecomchan 一键部署