反饋已提交

網絡繁忙

行動端整合環境準備

1. 概述

網路環境暢通是實現整合的重要前提,本篇介紹整合所需的各種網路要求,以及對應網路環境下的部署配置。

注:微信、釘釘、飛書、WeLink 整合的環境準備相似,方案均可參考本文。

2. 網路要求

配置整合環境的操作,需要兩條網路線路都暢通:

1)報表伺服器上新增微信/釘釘/飛書應用時,需要能夠存取微信/釘釘/飛書伺服器;

2)行動裝置單點登入時,需要能存取報表伺服器。

2.1 報表伺服器存取微信/釘釘伺服器

2.1.1 新增微信/釘釘應用與同步通訊錄

微信/釘釘/飛書整合配置時,需要調取微信釘釘開發的API來實現單點整合。

  • 在「管理系統」的對應管理頁面,新增應用。對應配置如下:

QQ图片20240715095357.png

  • 在同步通訊錄的時候,可以透過API獲取微信/釘釘/飛書後台的一些token,使用者資訊等。對應配置如下:

QQ图片20240715095632.png

微信釘釘伺服器提供的API格式如下:

  • 微信:https://qyapi.weixin.qq.com/cgi-bin/xxxx

  • 釘釘:https://oapi.dingtalk.com/xxxx

  • 飛書:https://open.feishu.cn/open-apis/xxxx

網路要求:

故為保證整合正常配置,需要保證報表伺服器能夠正常存取微信/釘釘伺服器,正常呼叫這些API獲取資訊。

影響:

若報表伺服器無法存取微信/釘釘伺服器,則在上述應用新增和通訊錄同步階段,會因為網路異常而操作失敗。

2.1.2 釘釘整合使用檔案上傳元件

在整合環境下,若範本中配置有檔案上傳元件,在上傳圖片以後,圖片會儲存到微信/釘釘對應伺服器上,提供一個圖片路徑 url 給範本存取,此時需要報表伺服器能夠存取對應圖片儲存伺服器,保證圖片的正常載入。

微信釘釘圖片儲存路徑對應域名如下:

  • 微信:https://qyapi.weixin.qq.com/xxx

  • 釘釘:https://static.dingtalk.com/xxx

網路要求:

  • 微信:由於微信圖片儲存的域名與上述 2.1.1 中API呼叫域名一致,故不需要單獨配置網路。

  • 釘釘:釘釘圖片儲存的域名與釘釘API呼叫的域名不一致,需要單獨開放網路,確定報表伺服器可以存取圖片儲存域名伺服器。

影響:

如果這部分網路受阻,對釘釘整合環境整體使用沒有影響,但是在整合環境下,範本中檔案元件上傳圖片以後,對應圖片不會顯示在檔案元件欄中。

2.2 行動裝置存取報表伺服器

整合配置完後,通常是需要使用行動裝置來存取報表平台地址,查看對應的範本資料。

2.2.1 微信整合報表伺服器

由於微信管理平台對整合的地址有一定的要求,故報表伺服器一定是可以被外網存取的,並且一定是域名地址,不能用 IP 地址。

域名地址舉例http://xxx.xxx.com:xxx/webroot/decision。如果是http://IP:xxx/webroot/decision,是不可以做微信整合的。

注:請使用二級或二級以上域名,且需透過 ICP 備案。

當報表伺服器配置好域名存取地址以後,需要將對應的域名地址填寫到「微信管理>報表伺服器地址」欄中,點選「儲存」。

QQ图片20240715095945.png

這裏伺服器地址格式的填寫要求如下:

Finereport伺服器存取地址
報表伺服器地址填寫注意事項
http://IP:xxx/webroot/decision-IP地址不可用,需要轉化為外網域名地址
http://xxx.xxx.com:xxx/webroot/decisionhttp://xxx.xxx.com:xxx/webroot/decision-
http://xxx.xxx.com:xxxhttp://xxx.xxx.com:xxx/decision工程名預設的平台地址,需要在後面帶上/decision
https://xxx.xxx.com:xxx/webroot/decisionhttps://xxx.xxx.com:xxx/webroot/decision-
https://xxx.xxx.com/webroot/decisionhttps://xxx.xxx.com:443/webroot/decisionhttps協定地址且預設埠的,需要帶上預設埠443

2.2.2 釘釘整合報表伺服器

釘釘管理平台對整合的地址沒有域名的限制,只需要可以被外網存取即可(PS:因為行動裝置一般是在外網網路環境下存取平台的)。故報表伺服器可以是外網域名地址,也可以是外網 IP 地址。

當報表伺服器配置好外網存取地址以後,需要將對應的外網地址填寫到「釘釘管理>報表伺服器地址」欄中,並「儲存」。

QQ图片20240715100358.png

這裏伺服器地址格式的填寫要求如下:

Finereport伺服器存取地址伺服器地址填寫注意事項
http://IP:xxx/webroot/decisionhttp://IP:xxx/webroot/decision-
http://xxx.xxx.com:xxx/webroot/decisionhttp://xxx.xxx.com:xxx/webroot/decision-
http://xxx.xxx.com:xxxhttp://xxx.xxx.com:xxx/decision工程名預設的平台地址,需要在後面帶上/decision
https://xxx.xxx.com:xxx/webroot/decisionhttps://xxx.xxx.com:xxx/webroot/decision-
https://xxx.xxx.com/webroot/decisionhttps://xxx.xxx.com:443/webroot/decisionhttps協定地址且預設埠的,需要帶上預設埠443

2.2.3 飛書整合

與微信釘釘相同,見上文。

3. 網路檢查

對於「2. 網路要求」中,提到的網路場景,這裏給出較為簡單的檢查方法。

3.1 報表伺服器存取微信/釘釘/飛書伺服器

注:檢查網路能夠存取微信/釘釘伺服器,不可以透過直接將微信釘釘域名輸入瀏覽器中來檢查。

3.1.1 方案一:命令行ping

在報表環境所在的伺服器上,開啟 cmd 命令行視窗, ping 對應的微信/釘釘伺服器域名地址。如下圖所示:

  • 微信伺服器:ping qyapi.weixin.qq.com

  • 釘釘伺服器:ping oapi.dingtalk.com

  • 釘釘圖片儲存伺服器:ping static.dingtalk.com

  • 飛書伺服器:ping
    open.feishu.cn

2024-07-15_10-07-03.png

注:這裏ping的是微信釘釘API呼叫對應的域名,而並非登入微信釘釘後台管理平台的地址,例如微信管理平台域名為  work.weixin.qq.com  ,與API呼叫的域名不一致。

3.1.2 方案二:微信釘釘除錯工具檢查

如何使用除錯工具參考文檔: 微信釘釘除錯工具

  • 若檢查如下結果,說明網路暢通。

1721010086722.png

  • 若檢查如下異常,則說明網路異常,需要網路管理者調整網路環境。

20240715102904.png

3.2 行動裝置存取報表伺服器

用行動裝置,比如手機,在手機瀏覽器中存取平台地址http://xxxx:xxx/webroot/decision,看能否顯示報表登入頁。

能顯示則說明網路暢通;存取失敗則說明網路異常。

4. 不同網路情況下配置

4.1 網路順暢

若在「3. 網路檢查」 中檢查兩條網路線路均正常,則請查看文檔 微信管理 和 釘釘管理,可以進行對應的微信釘釘整合配置。

4.2 網路不通

若兩條線路任意一條線路存取有問題,可以請專門的網路管理者,對網路配置進行調整,進而實現兩條線路雙方通訊。

部分使用者,基於網路安全的考慮,可以透過 IP 外網映射實現「2.2 行動裝置存取報表伺服器」的網路要求,但是無法讓報表伺服器存取到微信伺服器,針對這種場景,這裏提供一個解決方案:

使用代理伺服器實現報表伺服器存取微信/釘釘/WeLink/飛書伺服器的網路要求。

配置步驟如下:

1)找一台伺服器作為代理伺服器,透過這台代理伺服器接收報表伺服器傳送的網路請求,並將請求轉發至微信/釘釘伺服器

以圖例為例,報表伺服器可以存取代理伺服器,代理伺服器可以存取微信/釘釘伺服器。

20240715103150.png

2)在代理伺服器172.16.0.12上,安裝nginx,下載安裝配置見:代理伺服器配置

3)在代理伺服器上配置 nginx 的正向代理。修改配置檔案conf/nginx.conf,在http{}之間新增如下程式碼:

  • 微信伺服器正向代理:

server {
    listen 8113;  // 微信代理伺服器埠
    server_name 172.16.0.12;  //代理伺服器IP
    location / {
        proxy_redirect off;
        proxy_pass https://qyapi.weixin.qq.com;#微信伺服器域名地址
    }
    location = /favicon.ico {
        log_not_found off;
    }
}
  • 釘釘伺服器正向代理

server {
    listen 8114;       // 釘釘代理伺服器埠
    server_name 172.16.0.12;    //釘釘代理伺服器IP
    location / {
        proxy_redirect off;
        proxy_pass https://oapi.dingtalk.com; #釘釘伺服器域名地址
    }
    location = /favicon.ico {
        log_not_found off;
    }
}
  • WeLink伺服器正向代理

server {
listen 8115; # welink代理伺服器埠
server_name 192.168.5.137; # welink代理伺服器IP
location / {
proxy_redirect off;
proxy_pass https://open.welink.huaweicloud.com; #welink伺服器域名
}
location = /favicon.ico {
log_not_found off;
}
}
  • 飛書伺服器正向代理

server {
listen 8116; # 飛書代理伺服器埠
server_name 192.168.5.137; # 飛書代理伺服器IP
location / {
proxy_redirect off;
proxy_pass https://open.feishu.cn; #飛書伺服器域名
}
location = /favicon.ico {
log_not_found off;
}
}

4)nginx 配置好以後啟動,然後在平台上微信/釘釘管理的「應用快捷配置>代理伺服器地址」中新增對應代理地址即可。

上述實體中對應的配置如下:

  • 微信管理配置代理伺服器地址為:http://172.16.0.12:8113

QQ图片20240715103424.png

  • 釘釘管理配置代理伺服器地址為:http://172.16.0.12:8114

QQ图片20240715103646.png

  • WeLink管理配置代理伺服器地址為:http://192.168.5.137:8115

  • 飛書管理配置代理伺服器地址為:http://192.168.5.137:8116

5)測試連結透過後「儲存」,則網路環境配置完成。

可以查看文檔 微信管理 、釘釘管理WeLink整合飛書整合,進行對應的整合配置。

注 1 :快捷配置中的代理伺服器配置項,僅在報表環境需要配置正向代理轉發時使用。

注 2 :2.1 報表伺服器存取微信/釘釘伺服器網路要求滿足的情況下,代理伺服器這裏不要填寫!

注 3 :平台地址,外網映射的ip/域名,範本地址,以及各類連結等,均不可以填寫至代理伺服器配置項中!

4.3 伺服器私有化部署

常用的微信/釘釘整合,都是使用的公網伺服器,即微信/釘釘後台管理平台地址如下:

部分使用者的微信/釘釘/飛書伺服器做了私有化部署,單獨搭建了一套伺服器環境,針對這種場景,也有對應的配置方案.

配置方案

1)獲取私有化微信/釘釘伺服器的API地址。

由於伺服器私有部署,對應伺服器的API呼叫域名就不能用公網的域名,需要在環境部署階段,瞭解微信/釘釘官方文檔,獲取對應私有化部署的伺服器API呼叫域名,這裏舉兩個例子:

例:微信私有化環境API域名為:https://private.weixin.com  ;釘釘私有化環境API域名為:https://private.dingtalk.com

注:實際私有化部署伺服器對應的API地址,請透過微信/釘釘官網部署文檔查看獲取。

2)檢查報表伺服器存取私有伺服器的網路情況。

參照 「 3.1.1」命令行檢查方法,在報表伺服器上ping對應的微信釘釘API域名。

  • 微信伺服器:    ping private.weixin.com

  • 釘釘伺服器:    ping private.dingtalk.com

  • 飛書伺服器:    ping open.feishu.cn

3)接 「步驟2)」的檢查結果,若 ping 通,則直接將微信釘釘的私有化域名填寫至代理伺服器頁面,如圖所示,私有化部署網路環境配置完成,可以查看說明文檔 微信管理 和 釘釘管理,進行對應的微信釘釘整合配置。

  • 微信代理伺服器配置:

QQ图片20240715104255.png

  • 釘釘代理伺服器配置:

QQ图片20240715104451.png

  • 飛書與微信釘釘步驟相同,見上文。

4)接「步驟2)」的檢查結果,若ping不通,顯示網路逾時或者丟包等結果,則需要參考 「 4.2 網路不通」 ,配置正向代理實現

網路要求:報表伺服器可以存取代理伺服器,代理伺服器可以存取私有化部署的微信釘釘伺服器。

正常安裝nginx後,修改nginx正向代理配置檔案,將配置程式碼中的微信/釘釘伺服器地址,改成私有化伺服器的地址。

  • 微信伺服器正向代理

server {
    listen 8113;  // 微信代理伺服器埠
    server_name 172.16.0.12;  //代理伺服器IP
    location / {
        proxy_redirect off;
        proxy_pass https://private.weixin.com;#微信私有伺服器域名地址
    }
    location = /favicon.ico {
        log_not_found off;
    }
}
  • 釘釘伺服器正向代理

server {
    listen 8114;       // 釘釘代理伺服器埠
    server_name 172.16.0.12;    //釘釘代理伺服器IP
    location / {
        proxy_redirect off;
        proxy_pass https://private.dingtalk.com; #釘釘私有伺服器域名地址
    }
    location = /favicon.ico {
        log_not_found off;
    }
}
  • 飛書伺服器代理與微信釘釘相同

server {
    listen 8115;       // 代理伺服器埠
    server_name 172.16.0.12;    //代理伺服器IP
    location / {
        proxy_redirect off;
        proxy_pass https://private.feishu.com; #私有伺服器域名地址
    }
    location = /favicon.ico {
        log_not_found off;
    }
}

5)nginx 配置好以後啟動,然後在平台上微信/釘釘管理的「應用快捷配置>代理伺服器地址」中新增對應代理地址即可。

測試連結透過後「儲存」,則網路環境配置完成。

上述實體中對應的配置如下:

  • 微信管理配置代理伺服器地址為:http://172.16.0.12:8113

QQ图片20240715104734.png

  • 釘釘管理配置代理伺服器地址為:http://172.16.0.12:8114

QQ图片20240715104922.png

  • 飛書伺服器代理與微信釘釘相同,見上文

5. 整合步驟

完成環境準備後,可以查看說明文檔 微信管理 、 釘釘管理 和飛書整合 ,進行對應的整合配置。

6. 注意事項

6.1 網路異常

報錯資訊:{"errorCode":10010006,"errorMsg":"獲取token失敗,weixin傳回資訊為:{}"}

排查步驟:3.1.1節能ping通微信服務,用 3.1.2 節測試工具就會報錯「網路異常」。但網路沒有問題

報錯原因:可能伺服器可以存取到微信伺服器卻配置了代理,刪掉代理伺服器即可。


附件列表


主題: 行動端應用
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙