微信集成

SeaTable enterprise 4.1.x 版本开始支持配置微信
实现的效果
  • 电脑网页上用微信扫码登录 SeaTable
  • 手机微信 APP 内部网页链接点击登录 SeaTable
  • 微信公众号消息通知(微信公众号模版消息上限为每天 100000 次)
要点
  1. 注册微信服务号需要给微信提供营业执照和注册费
  2. 微信要求必须有公网域名可访问且备案
  3. 服务器必须能访问到公网的微信 API
需要开通的微信平台
  • 微信开放平台-网站应用
  • 微信公众平台-服务号,并配置模版消息
  • 将服务号绑定到开放平台
  • 注:网站应用和服务号用来获取微信用户信息,实现 SeaTable 微信登录和绑定功能
微信开放平台-网站应用
  1. 进入 微信开放平台,点击右上角注册 ,如有问题查看微信开放平台官方文档:注册问题
  2. 注册完成后查看微信开放平台官方文档:网站应用创建流程
  3. 登录后点击 管理中心-网站应用-创建网站应用,按照官方文档进行创建。其中授权回调域填写部署 SeaTable 的域名。
  4. 应用创建成功后点击查看,记录下 AppID, AppSecret
微信公众平台-服务号
  1. 查看微信公众平台官方文档:注册流程指引
  2. 进入 微信公众平台,点击右上角立即注册
  3. 选择服务号,按照官方文档进行注册。
  4. 登录后点击 设置与开发-基本配置,记录下 AppID, AppSecret。填写IP白名单,下面的 服务器配置 不用填写
  5. 点击 公众号设置 - 功能设置 - 网页授权域名,填写部署 SeaTable 的域名,按照说明通过 SeaTable Nginx 进行配置和验证(可联系我们协助配置)
  6. 点击 模板消息 - 从类目模板库中添加 - 搜索 待反馈任务提醒,详细内容填写如下,并记录下 模板ID
{{first.DATA}}
通知内容:{{keyword1.DATA}}
通知时间:{{keyword2.DATA}}
{{remark.DATA}}
将微信服务号绑定到微信开放平台
SeaTable 配置文件
  • 进入 SeaTable 容器:docker exec -it seatable bash
  • 编辑配置文件:vim /opt/seatable/conf/dtable_web_settings.py
  • 追加以下内容
ENABLE_WEIXIN=True

WEIXIN_APP_ID='xxxxxx'# 开放平台 AppID
WEIXIN_APP_SECRET='xxxxxx'# 开放平台 AppSecret

MP_WEIXIN_APP_ID='xxxxxx'# 公众平台 AppID
MP_WEIXIN_APP_SECRET='xxxxxx'# 公众平台 AppSecret

MP_WEIXIN_MESSAGE_TEMPLATE_ID='xxxxxx'# 公众平台 消息通知模版ID
  • 重启服务:seatable.sh restart
微信公众号消息通知 定时任务
为了及时收到公众号消息通知,还需要配置定时任务,同步微信扫描登录的用户数据
  • 下载脚本并且拷贝到宿主机:sync_mp_weixin_openid.py 和 sync_mp_weixin_openid.sh
  • 进入 SeaTable 容器:docker exec -it seatable bash
  • 创建目录:mkdir -p /opt/seatable/conf/seatable_custom_functions && cd /opt/seatable/conf/seatable_custom_functions
  • 把脚本拷贝到容器内并添加权限:
dockercp/xx/sync_mp_weixin_openid.pyseatable:/opt/seatable/conf/seatable_custom_functions/
dockercp/xx/sync_mp_weixin_openid.shseatable:/opt/seatable/conf/seatable_custom_functions/
touch__init__.py## 注意是2个下划线 "__"
chmod+xsync_mp_weixin_openid.sh##添加执行权限
  • 退出容器,在宿主机上 crontab 添加定时任务脚本,每天 02 点运行一次:
 crontab-e

 02***dockerexec-dseatable/opt/seatable/conf/seatable_custom_functions/sync_mp_weixin_openid.sh