历史版本8 :移动端集成问题排查手册 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

针对微信、钉钉、飞书、WeLink集成遇到的问题,提供排查手册帮助用户快速定位和解决这些问题。

2. 问题排查流程编辑

遇到移动端集成相关问题时,可以先按照以下流程图进行排查,如果仍未解决可以继续查看本文第 3 节的内容。

流程图中调试功能对应的文档见:微信钉钉推送/单点/同步失败日志定位

1665648472379401.png

3. 具体问题排查编辑

如果按照流程排查仍未解决问题,可以按照具体问题进行排查和解决,下面表格中列出一些具体问题及解决方案。

功能场景
功能点问题现象解决方案
应用管理服务器地址部署访问报错无法加载

服务器地址不能以 / 结尾,主要是会影响生成链接拼接参数和定时调度推送链接的生成

可修改单点链接或平台访问地址规避这个问题,服务器地址要以/decision结尾,不能只写http(s)://域名:端口

通讯录同步飞书同步不到用户

飞书应用目前只支持可见范围是全体成员,如果选择单个部门,飞书管理的用户管理处无法获取到飞书用

移动端插件 11.0.65 版本之后支持可见范围是部门,可以更新插件解决该问题

其他配置插件注册
插件过期后更换 lic 仍显示未注册

1)确认插件是否是二开定制插件

2)多个环境进行测试,确认 lic 是否异常(帆软市场异常会导致当时申请的 lic 功能异常)

同步用户平台报错同步失败,失败原因:树构建失败,XX部门找不到对应父部门

1)创建的微信应用,可见范围只是根部门下的某个部门,修改应用的可见范围为根部门或使用 tag 标签(tag标签只能够选单个用户,如果勾选了部门是无法同步的)

2)企业微信私有部署,不想设置可见范围是根部门,也不支持根据 tag 标签修改应用可见范围,可联系帆软技术支持通过二次开发处理

成员管理点击成员管理报错500检查 plugins 下是否有多个版本的集成插件,关闭工程删掉多余的插件,保证工程重启后 plugins 下只有要用的版本即可
单点登录失败显示移动端的登录页面1)微信管理后台自建应用的应用主页填写的不是单点链接

单点链接的生成参考 4.2.3 节:企业微信集成

2)所有用户都显示登录页面

平台用户和集成用户都正常添加可查看,可能是匹配方式错误,参考文档 4.3 节 企业微信集成

平台用户或集成用户里没有用户数据,平台用户没有数据添加,集成用户没有数据可参考上方“通讯录-同步”

3)部分用户显示登录页面

该用户在平台被禁用

平台用户或集成用户的数据缺失导致匹配失败,例如匹配方式为手机号匹配,微信钉钉通讯录里有手机号123,但是平台用户表里没有手机号123。需要保持两边数据一致

4)查看日志 weixin.log 等集成插件的日志

日志中查看,单点登录时间节点的日志记录,查看单点登录的报错,按照报错提示解决

显示PC的登录页面安装HTML5移动端展示插件后,按照上边的方案进行处理
用户有自己的门户登录页,登录门户账号后会跳转到平台登录页而不是直接访问首页/目录/单张模板

用户自己写了门户登录页,却没有放行微信请求,可以抓包定位到问题并且放行 /weixin/single/login请求

钉钉、飞书、WeLink同理:/dingtalk/single/login    /feishu/single/login    /welink/single/login

报错钉钉报错:errorMessage:corpid不合法

1)应用 A 生成的链接放在应用 B 的应用首页

2)跨版本升级(9升11/10升11)之后没有在钉钉管理后台更新单点链接

单点链接的生成参考 4.2.3 节:企业微信集成

微信报错:“errorCode:500,errorMsg:com.fr.plugin.weixin.server.WeiXinTokenMissedException”

1662049626AFQJ.png

1)检查网络

  • 去平台微信管理》应用管理,编辑已存在的应用,保存,看能不能保存上,可以说明网络正常,不行则网络不通,检查网络

  • 同步通讯录看能否获取用户列表,不行说明网络可能有问题

  • 用调试工具看下基本信息,token能否获取,获取不到的话一般也是网络问题

   10.0 调试工具格式:http://域名:端口/工程名/decision/url/weixin/start/debugger

   11.0 管理系统-微信管理-调试工具

  • 去报表服务器上ping  qyapi.weixin.qq.com,看能否 ping 通,或者如果配置了正向代理的话,看下代理服务器是否有问题

  • 检查服务器是否多个网卡,多网卡的话是否每个网卡都能访问到微信服务器

  • 是否为集群环境,是的话,检查每个节点的网络环境

2)配置问题

微信后台配置的链接有问题

指向的是别的环境的地址链接,或者说配置好链接以后前端微信应用删除重加了,导致后台配置的链接无效

处理方法就是:去微信管理》应用快捷配置里,选择应用,点击一键配置,重新配置;或者微信管理》应用快捷配置里,生成单点链接以后重新配置到微信应用后台

3)重启服务器

若一键配置无效,可采用重启服务器的方式,服务器重启,所有的代码重新执行,可以解决大部分问题

4)手机微信退出重登

如以上方法都不行,建议微信账号退出重登试试,因为有可能是手机这边有缓存引起的

推送
推送失败钉钉群推送失败:获取不到钉钉应用,请检查网络配置钉钉后台未开启获取群会话信息权限
钉钉群推送只有第一个群能收到消息

钉钉后台群会话消息权限未全部开启,下边两个都要开放权限

“chat相关接口的管理权限”、“chat相关接口的读取权限”

任务推送失败检查下微信钉钉插件与 JAR 版本是否匹配
偶发推送失败

1)检查用户匹配关系,是否有定时更新通讯录,平台用户管理用户定时更新

2)是否使用 Nginx,微信返回的数据大小超出 Nginx 的缓冲区大

偶发推送失败-Oracle数据库

Oracle 锁表导致平台定时调度执行异常问题

1)描述:

定时调度快照生成成功,偶尔几个用户的邮件发送失败,用户不确定、用户数量不确定
2)解决:

修改$ORACLE_HOME/network/admin/sqlnet.ora,添加或者修改成sqlnet.expire_time=0,即关闭 Oracle 的连接状态检测;修改数据连接的连接池属性,最大等待时间设置为50000毫秒;修改定时任务超过时间,ScheduleSettingConfig.taskTimeout再当前值的基础上再加3分钟,即480000毫秒

消息接收用户收不到消息

1)重新手动同步下用户是否解决

2)用户是否匹配了平台用户

3)用户匹配的平台用户是否在推送的范围内

定时任务部分用户收不到消息

1)用户是否匹配了平台用

2)用户匹配的平台用户是否在推送的范围内

3)检查在触发消息推送的时间点,是否有同步通讯录的操作,导致匹配关系更新或更新不及时出现匹配失败

某一个用户收不到消息

1)是否为多企业用户,若用户添加两个企业,则 10 和 11 分别更新插件至 10.5.13,11.0.62,对应版本处理过多企业同名用户匹配的问题

2)在同步通讯录中是否能找到对应用户

3)用户是否匹配了平台用户

4)用户匹配的平台用户是否在推送的范围内
消息内容推送的消息内容字数限制微信钉钉 API 的一些限制

参考:https://developer.work.weixin.qq.com/document/path/90236

文本消息:消息内容,最长不超过 2048 个字节,超过将截断

图文消息:标题,不超过 128 个字节,描述,不超过 512 个字节

提示找不到模板文件

1)检查webroot/WEB-INF/schedule/任务名/时间/对应文件夹下,是否有文件生成

2,确认是否有两个环境配置了同一个应用,不支持两个工程配置同一个微信/钉钉/飞书/WeLink应用,会相互排挤的,除非是集群的两个子节点

3)确认是否是集群环境,是的话是否两个节点间的数据没有同步,导致打开模板访问的是未同步数据的节点

消息能打开,显示内容有问题

与微信钉钉无关,是定时结果在 H5 下显示问题

若是新自适应模板的推送,先更新下新自适应插件看看

推送出来的消息,用户权限错乱检查是否在推送的时间点,有其他同步,ETL取数等事件在同步处理,影响到了
查看定时结果链接页面空白

推送的是否是新自适应frm模板,如果是新表单更新决策报表新自适应插件到 2.0.19 版本

如无法升级插件到 2.0.19 可能是 JAR 比较旧,低于插件适配的 JAR 版本,建议推送自定义链接

参数生效生成单点的模板链接,设置参数不生效 now(),fine_username定时调度,设置参数=fine_username不生效,可能导致文件控件无法使用
图文推送图文推送的图片封面偶发不显示

1)确认是否是集群环境

2)集群环境下,检查集群各个节点是否正常,状态服务器文件服务器是否配置,文件缓存是否开启

图文推送图片收不到

1)检查任务是否配置了图片

2)将图片重新上传试试

钉钉集成
应用添加不上1)IP白名单没开放

2)报表服务器不能访问钉钉服务器


通讯录同步失败

1)报表服务器不能访问钉钉服务器

2)钉钉通讯录相关的权限没有开放出来

3)钉钉接口频率调用超出限制了


钉钉单点登录慢

1)H5 第一次需要下载 JS,JS 比较大

2)访问钉钉的接口请求比较耗时,比如 DNS 解析域名等