SeaTable enterprise 4.1.x 版本开始支持配置微信
实现的效果
-
电脑网页上用微信扫码登录 SeaTable
-
手机微信 APP 内部网页链接点击登录 SeaTable
-
微信公众号消息通知(微信公众号模版消息上限为每天 100000 次)
要点
-
注册微信服务号需要给微信提供营业执照和注册费
-
微信要求必须有公网域名可访问且备案
-
服务器必须能访问到公网的微信 API
需要开通的微信平台
-
微信开放平台-网站应用
-
微信公众平台-服务号,并配置模版消息
-
将服务号绑定到开放平台
-
注:网站应用和服务号用来获取微信用户信息,实现 SeaTable 微信登录和绑定功能
微信开放平台-网站应用
-
登录后点击 管理中心 - 网站应用 - 创建网站应用 ,按照官方文档进行创建。其中授权回调域填写部署 SeaTable 的域名。
-
应用创建成功后点击 查看 ,记录下 AppID, AppSecret
微信公众平台-服务号
-
选择 服务号 ,按照官方文档进行注册。
-
登录后点击 设置与开发-基本配置 ,记录下 AppID, AppSecret 。填写 IP白名单 ,下面的 服务器配置 不用填写
-
点击 公众号设置 - 功能设置 - 网页授权域名 ,填写部署 SeaTable 的域名,按照说明通过 SeaTable Nginx 进行配置和验证(可联系我们协助配置)
-
点击 模板消息 - 从类目模板库中添加 - 搜索 待反馈任务提醒 , 详细内容 填写如下,并记录下 模板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
微信公众号消息通知 定时任务
为了及时收到公众号消息通知,还需要配置定时任务,同步微信扫描登录的用户数据
-
进入 SeaTable 容器: docker exec -it seatable bash
-
创建目录: mkdir -p /opt/seatable/conf/seatable_custom_functions && cd /opt/seatable/conf/seatable_custom_functions
-
把脚本拷贝到容器内并添加权限:
docker cp /xx/sync_mp_weixin_openid.py seatable:/opt/seatable/conf/seatable_custom_functions/
docker cp /xx/sync_mp_weixin_openid.sh seatable:/opt/seatable/conf/seatable_custom_functions/
touch __init__.py ## 注意是2个下划线 "__"
chmod +x sync_mp_weixin_openid.sh ##添加执行权限
-
退出容器,在宿主机上 crontab 添加定时任务脚本,每天 02 点运行一次:
crontab -e
0 2 * * * docker exec -d seatable /opt/seatable/conf/seatable_custom_functions/sync_mp_weixin_openid.sh