# 微信服务号集成微协同

# 1.1 前置条件

满足使用条件才可以进行私有化微信功服务号部署。

  1. 请确认协同系统可以与微协同系统网络互相联通,否则无法进行配置。
  2. 请确认微协同系统可以访问微信服务号,否则无法推送消息。
  3. 层级目录不能有中文名称。
  4. 协同系统的访问地址是公网地址,必须是备案的域名,OA在内网的客户可以使用反向代理,分离部署方案。
  5. 微协同服务器地址必须为备案的域名,端口为80或者443,且必须是公网地址。后续再配置该地址的时候,只需要配置域名即可,无需配置端口。(例如地址为:https://weixin.seeyon.com:443,那么只需要配置https://weixin.seeyon.com。无需配置端口。仅仅是微协同地址的配置,OA地址依然是正常配置需要携带端口)
  6. OA版本必须高于或等于8.0SP2版本才支持私有化部署。
  7. 私有化部署微协同仅支持服务号集成,不支持订阅号集成
  8. 确认用户是什么类型服务,下面表示服务号。

1762153764242.png

  1. 微协同访问地址以及OA访问地址如果是通过nginx配置的,那么请在nginx-conf配置文件中,将underscores_in_headers on配置信息加到http块中去即可。 可参考链接:https://blog.csdn.net/loongshawn/article/details/78199977

(如果忽略此步骤,微协同将无法收到消息!!! 配置完毕后请在微协同基础配置处重新点击确定保存通过)

1762154985763.png

# 1.2 部署微服务

# 1.2.1 微协同文件

解压wx-core-service.zip文件:

1678245491641.png

# 1.2.2 改名jdk和wx-core-service 文件夹名称

修改完毕后,保证jdk与wx-core-service这两个文件夹在同一层级

1678245839023.png

# 1.2.2.1 Linux环境

若为Linux环境,修改下wx-core-service文件夹所有文件权限, 执行chmod -R 777 wx-core-service

1762154145631.png

# 1.2.3 微服务端口配置

端口配置如需更改,修改\wx-core-service\conf目录下的server.xml。具体步骤如下:

1715232557983.png

1715232564451.png

如果微协同服务地址为https的话,需要增加以下配置(增加配置后需要重启对应服务)

(如果忽略此步骤,微协同将无法配置成功!!!)

首先在nginx的nginx.conf中加入:

proxy_set_header X-Forwarded-Proto $scheme;

然后到\wx-core-service\conf目录下修改server.xml文件,添加:

   <Valve className="org.apache.catalina.valves.RemoteIpValve"
    remoteIpHeader="X-forwarded-For"
    protocolHeader="X-Forwarded-Proto"
    ProtocolHeaderHttpsValue="https"
    httpsServerPort="xxx"/>

注意:所加内容必须是放到Host标签下的第一个位置,如下图所示

1762154788399.png

# 1.2.4 数据库配置

安装mysql,新建数据库wxt,字符集UTF-8,客户端执行seeyonwx.sql进行数据库初始化。

注意:

1.linux环境在/etc/my.cnf中的[mysqld]后添加添加如下配置,表名不区分大小写:

lower_case_table_names=1

2.微协同服务使用的数据库为MySQL,私有化部署包中数据库连接的jar包版本为5.1.38,如果客户使用更高版本的MySQL,请下载对应兼容版本的数据库连接jar包。wx-core-service\webapps\ROOT\WEB-INF\lib该目录下的mysql-connector-java-8.0.20.jar注意替换为数据库对应的版本。如下图所示,需要下载高版本的jar替换低版本的。

1678245579139.png

# 1.2.5 修改hibernate.properties

wx-core-service\webapps\ROOT\WEB INF\classes\hibernate.properties 文件中数据库配置,如下图:

1715232718614.png

如果MySQL的版本是小于6的,配置文件中的信息需要做如下修改:

useSSL=false&

1762155158153.png

如果MySQL的版本是大于6的,配置文件中的信息需要做如下修改:

useSSL=false&serverTimezone=Asia/Shanghai&

1762155212311.png

# 1.2.6 修改sysinfo.properties

\wx-core-service\webapps\ROOT\WEB-INF\classes\sysinfo.properties

qyapi_url :企业微信地址,若企业微信私有部署,写私有部署企业微信地址。 wx_url :微协同服务外网域名地址(切记要增加协议 http://或https:// 鉴于服务号的地址的端口只能是80或443,因此不需要配置端口。例如:https://weixin.seeyon.com,无端口配置 qyAdmin:设置登录名(后续登录微协同管理后台使用)。 qyPassword:设置密码(后续登录微协同管理后台使用。

注意:服务号配置参考:1.3.1 服务号开发信息配置到sysinfo

1715232787734.png

# 1.2.7 启动服务

\wx-core-service\bin中,点击startup.bat启动:

1715232803548.png

访问对应端口得到这个页面即表示启动正常:

1715232814086.png

# 1.3 微信服务号后端配置

# 1.3.1 微协同安装程序webapps\ROOT\WEB-INF\classes此路径下的sysinfo.properties文件配置微信公众号的appid和appsecret相应信息

下图中ip白名单配置微协同服务器的地址,并将appid和appsecret配置到sysinfo.properties文件中

1762155603540.png 1762155626776.png

# 1.3.2 微信公众号,配置功能设置以及安全域名

根据微信公众号的要求配置业务域名、JS接口安全域名、网页授权域名(此处注意域名和sysinfo.properties文件中的wx_url一致,但这里只写域名,不需要协议和端口)注意的是微协同服务是必须是80或者是https对应的443端口

1、业务域名:将微协同服务的地址填上后保存即可 2、JS接口安全域名:将微协同服务的地址填上后保存,并将该txt文件下载下来,放在微协同服务器微协同安装目录下webapps\ROOT下,然后启动微协同服务,然后关闭当前页

1762155771237.png

3、网页授权域名:将微协同服务的地址填上后保存

1762155794357.png

# 1.4 配置微信公众号菜单

微信公众号已有菜单:在原来的菜单上创建一个菜单,选择跳转网页

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=https://微协同地址/menuController/getMenu?accountid=&response_type=code&scope=snsapi_base&state=123#wechat_redirect

APPID:微信公众号的APPID

微协同地址: 微协同服务的地址

1762155848058.png

1762155866033.png

微信公众号没有菜单:微协同的后台管理中创建,也可以根据有菜单的情况创建

# 1.5 消息模板配置

1、公众号设置-账号详情-服务类目处,先添加"商业服务-企业管理"类目

1691636410876.png

2、如果没有开通模板消息,需要先开通,一般1-2天就可以了

1762155935134.png

1762155956836.png

1762155970397.png

3、在模板消息-类模板库中搜索“OA”模板名称,找到"OA系统流程审批通知"标题,进入详情进行配置。注意模板详情中的关键词展示顺序,一定要如图所示,不能多也不能少。

1691636589546.png

1691636944158.png

4、配置sysinfo.properties文件,将模板ID配置到mp_message_template_id参数项中,mp_message_template_title参数项配置oa_approval即可。保存后重启微协同服务即可生效。

1691637167889.png

1691637380960.png

# 1.6 配置OA后台

1、协同服务器地址为OA外网地址,请注意格式,端口后面不要携带 “/” 斜杠这些东西。默认端口为80或443的时候也需要填写上。

2、微协同服务器地址为微协同访问外网地址,请注意格式,端口后面不要携带 “/” 斜杠这些东西。默认端口为80或443的时候不需要填写上。(此处的地址与和sysinfo.properties文件中的wx_url一致,也和公众号后台配置的网页授权等地址一致,一模一样。)

1715234099750.png

编撰人:het、tanghu