互软研发团队

Talk is cheap. Show me the code.

基于WeChatJavascriptSdk的企业微信jsapi访问出错提示"接口调用超过限制"解决方案

# 问题现象

基于MobilePortal整合企业微信以后,频繁刷新应用一段时间会出现提示:微信获取JavaScriptTicket异常:45009,文本:api freq out of limit, hint: [1545303237_2_5380272362b73d58bce5bb54879e0216], more info at https://open.work.weixin.qq.com/devtool/query?e=45009。

# 问题原因

造成以上问题的原因是企业微信提供的过期时间字段(expires_in)没有被赋值给过期时间重新计算,导致每次请求jsapi ticket都是过期重新获取状态。

#解决方案

更新附件的Beyondbit.Web.Infrastructure.dll文件,如果目前使用的该dll版本大于2.0.6929.1可以忽略该问题。

Beyondbit.Web.Infrastructure.dll (84KB)

UFFICE 7 移动解决方案-钉钉

# 钉钉解决方案说明

## 文件说明
1. SSO 2.5.zip
(此文件是最近版本SSO的部署文件,能很好的兼容移动端、微信端、钉钉端)
2. 移动门户解决方案.zip
(此文件是完整的可以使用的一个vs 2015的代码项目,里面已经配置好,如何整合钉钉、
微信端。你们只需要根据示例创建自己的页面即可。需要的配置请看web.config里面的说明)

## 部署

### SSO 部署
将 SSO 2.5.zip 文件解压后,直接部署到IIS 即可,里面是setting.xml可以旧有的配置,
同时web.config中memcachedDB 配置,可以配置和旧有的SSO一致,也可以新建一个不同的数据库。
web.config里面有钉钉的一些配置,请去钉钉的开发中心去获取



### 移动门户部署
将web.config里面的单点登录配置,使用上面的SSO部署后的地址,以及缓存数据库保持一致。
然后部署即可。

页面开发中,我们只建议使用mvc来创建view, 但是view里面是没有任何后台代码的,全部使用html,
然后借用ajax去调用后台的数据。
至于页面的样式可以参考uffice 7的移动演示站点,https://uffice.beyondbit.com:2006/mobileportal
用户名guest 密码 123456.

uffice 7的移动app也是基于这个解决方案开发的。


> **注意**
在创建钉钉用户的时候,切记要填写一个UserID的字段,这个字段就是在统一授权中的UserUid。
如果这个字段没写或者值不对,上面的解决方案,整合后,将不能获取到正确的用户映射。




钉钉解决方案.zip (16.1MB)