目前通达OA11版的OA精灵客户端已不再支持Windows XP系统,会导致部分老电脑OA精灵客户端提示升级并在升级后无法使用。

一、官方给的临时解决方案:

清空 MYOA\webroot\attachment\im\update\pc 目录下的所有文件。

该方案有一个缺点:导致所有OA精灵的PC客户端都无法进行自动更新。

二、通过修改更新请求的返回内容来对不同的客户端返回不同的结果。

1、启动时的更新检查

思路:PC端OA精灵在启动时会请求 /ispirit/update.php?client_version=xxx 的地址来获取客户端更新信息,我们只要通过识别 client_version 将2017版客户端的更新请求信息修改即可。

修改方法:通过修改 nginx 识别请求文件,并判断 query_string 的内容来区别对待,这样就可以在不修改PHP文件的情况下达到我们的目的,又能保证新客户端的正常更新。

在 nginx 的配置文件中加入如下代码:

....
http {
    ...
    server {
        ...
        location /ispirit/update.php {
            if ($query_string ~* ^(.*)client_version=10\.(.*)$)
            {
                return 200 '{"status":"0","msg":"\u6682\u65e0\u66f4\u65b0\u4fe1\u606f"}';
            }
            ....
        }
....

2、菜单页的更新检查

在 /ispirit/index.php 中存在判断版本并显示更新页面而不是菜单页面的跳转逻辑,此处需要修改文件,按如下修改(将下面第二行内容注释,并增加第三行内容):

......
# echo "\";\r\n\r\nif(is_check_ver!=2 && show_down_url==0 && myoa_ver_short>i_version)\r\n{\r\n    (function($){\r\n        $(document).ready(function($){\r\n            location=\"down_ispirit.php?I_VER='\"+myoa_ver_short+\"'\";\r\n            exit;\r\n        });\r\n    })(jQuery);\r\n}\r\n\r\n";
echo "\";\r\n";
......


原文链接地址:https://blog.exsvc.cn/article/tongda-oa-11-pc-ispirit-winxp.html
转载请注明:转载自 易科博客 ,谢谢!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注