1、O2Server服务器正常运行,系统安装部署请参考文档《如何在服务器上安装部署O2OA》
2、以拥有管理员权限的用户账号登录O2OA(翱途)开发平台,如:xadmin
3、管理与配置公众号需要用户自行准备微信公众号管理账户,注册地址:https://mp.weixin.qq.com
管理员登录微信公众号管理平台,在左边菜单导航底部的【开发】部分找到【基本配置】菜单,点击进入配置页面,如下图所示:
这里的配置可以分两种情况:
1)如果公众号管理平台中已经开启过服务器配置功能,可能代表公司已经有其他应用在使用微信公众号了。那么只需要把一些关键信息复制到O2OA开发平台系统设置中公众号相关的配置文件(mpweixin.json)中就行了,配置方法后面会详细阐述。
2)如果公众号管理平台中没有开启过服务器配置功能,则需要先启用服务器配置信息。这里需要注意的是,因为微信公众平台的要求,服务器必须要用http(80)或者 https(443)这两个默认端口。O2OA服务器端口设置如下图所示(请注意,sample.o2oa.net是兰德网络的官方演示服务器,请替换为您部署的服务器域名):
注意:开启服务器配置,会清除掉原有的公众号菜单,如果之前已经在使用微信公众号处理业务,最好先备份记录一下原有的菜单结构和数据。
开发者ID(AppID)这个是默认生成的,需要复制到配置文件(mpweixin.json)中
开发者密码(AppSecret) 这个需要开启,并记录下这个值,需要复制到配置文件(mpweixin.json)中
IP白名单 这个需要配置,就是你们部署的O2OA服务器的外网的ip地址,O2OA需要访问微信服务器,如果没有配置ip地址,微信那边会拒绝访问。
服务器地址(URL) http://O2OA服务器的外网访问地址/x_program_center/jaxrs/mpweixin/check
令牌(token) 自定义字符串,可以自行写一个,比如o2oa。需要复制到配置文件(mpweixin.json)中
消息加密密钥(EncodingAESKey)这个用旁边的自动生成按钮,点击生成一个就行。需要复制到配置文件(mpweixin.json)中
消息加密方式 选择明文模式。
填写和生成各种参数完成后先不要点击保存,先将这些参数配置到O2OA后台的一个配置文件中,请参考下述O2OA服务器配置mpweixin.json配置文件说明:
使用管理员登录O2OA系统,打开系统设置 -> 移动端配置 -> 应用集成 -> 微信公众号集成,把前面公众号管理平台生成的参数填入对应的位置,如下图所示界面:
或者直接到在部署O2OA服务器的文件系统中在o2server/config目录下找到配置文件mpweixin.json并进行修改,
(如果没有config目录,请在o2server目录中创建config目录;如果config目录中没有mpweixin.json文件,请从o2server/configSample目录中复制mpweixin.json文件到o2server/config目录中进行修改;请注意只有o2server/config目录的配置文件才会生效)
将参数填入,配置信息如下:
{
"enable": true,
"appid":"填入AppID",
"appSecret":"填入AppSecret",
"token":"填入token",
"encodingAesKey":"填入EncodingAESKey",
"enablePublish":true // 是否启用发布菜单功能
}
mpweixin.json文件修改完成之后保存文件,并重启O2OA服务器让配置修改生效。
服务器重启后,开发者就可以使用管理员账号在系统设置-移动端配置-APP工具中对公众号对公众号菜单进行配置,并且保存。
保存时提示配置成功就表示公众号和O2OA服务器关联集成已经成功。
如果微信公众号启用了服务器配置,那公众号的菜单将由配置的服务器管理,不能在公众号的管理平台编辑,所以O2OA开发平台直接提供了管理公众号菜单的能力,如下图所示:
目前菜单支持3种形式,分别是发送文字消息、点击菜单打开一个网页、点击菜单打开一个关联小程序。第一级菜单最多支持3个子菜单,第二级菜单最多支持5个子菜单。
O2OA开发平台的业务可以关联到公众号的菜单中,并使用公众号内嵌的网页形式打开O2OA开发平台中设计的页面与表单,完成办公相关的业务操作,如下图所示:
在O2OA中注册的用户关注公众号之后,需要将公众号用户账号和O2OA的内部注册的用户账号进行一次绑定,这样公众号用户和O2OA的用户之间才能建立联系,实现在公众号上直接打开并且处理O2OA内部的工作页面。所以我们需要尝试创建两个网页菜单:绑定账号与工作页面。
因为绑定账号为O2OA开发平台提供的能力,所以页面地址为固定的URL,请参考下方信息并且修改后填入:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=【wx1c0c41e607a8b6fe】&redirect_uri=【https】%3A%2F%2F【sample.o2oa.net】%2Fx_desktop%2Fmpweixinsso.html%3Ftype%3Dbind&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
URL中需要注意修改【】符号包含的内容:第一个是appid,第二个是http 或 https,第三个是访问O2OA的域名
微信公众号一般具有相当多不同的功能点,工作界面一般代表在微信公众号上点击菜单跳转到的O2OA开发平台准备的业务模块首页。页面跳转链接的写法也相对固定,描述如下:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=【wx1c0c41e607a8b6fe】&redirect_uri=【https】%3A%2F%2F【sample.o2oa.net】%2Fx_desktop%2Fmpweixinsso.html%3Ftype%3Dlogin%26redirect%3Dportalmobile.html%253Fid%253D【mobilePortal】&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
根据自己部署的服务器,URL中需要注意修改【】符号包含的内容:第一个是appid,第二个是http 或 https,第三个是O2OA访问域名,第四个是跳转的门户ID(门户标识)
门户ID(门户标识)的获取方法:
使用管理员进入已经开发好的门户应用,在门户应用的门户属性信息中可以获取门户标识信息
目前微信公众号只支持主动给用户发送模版消息,模版消息是服务号才有的功能。所以要实现O2OA开发平台的待办消息推送给公众号的用户,使用的公众号必须是服务号。
使用管理员登录公众号开放平台,在菜单【功能】模块下的【模版消息】菜单中进行相关配置。
如果没有【模版消息】这个菜单,可以点击下面的 添加功能插件 中找到模版消息,添加到菜单中,如下图所示:
在模版消息的模版库中找一个待办消息类的模版,点击详情可以查看模版的格式,如下图所示:
这里主要关注详细内容,也就是模版的内容,里面有几个参数表示可以替换成需要的业务字段,最终消息的展示结果可以看左边的内容示例。可以把这个模版添加到我的模版中。
准备好模版后,使用管理员登录O2OA开发平台,到 系统设置 -> 移动端配置 -> 应用集成 -> 微信公众号集成 中把模版消息id和对应的参数字段填入到配置中:
或者直接到O2OA服务器配置o2server/config/mpweixin.json配置文件(如果没有config目录,请在o2server目录中创建config目录;如果config目录中没有mpweixin.json文件,请从o2server/configSample目录中复制mpweixin.json文件到o2server/config目录中进行修改;请注意只有o2server/config目录的配置文件才会生效),配置信息如下图所示:
{
"enable": true,
"appid":"填入AppID",
"appSecret":"填入AppSecret",
"token":"填入token",
"encodingAesKey":"填入EncodingAESKey",
"enablePublish":true, // 是否启用发布菜单功能
"portalId":"O2OA门户ID,工作处理完成后打开的门户页面的id",
"messageEnable": true, //模版消息是否启用
"tempMessageId": "模版消息id",
"fieldList": [
{"name": "title", "tempName": "keyword1"},
{"name": "creatorPerson", "tempName": "keyword2"},
{"name": "activityName", "tempName": "keyword3"}
]
}
这里有几个字段配置:
portalId : O2OA门户ID,工作处理完成后打开的门户页面的id
messageEnable : 模版消息是否启用,启用才会发送待办消息到用户
tempMessageId : 模版消息id,就是上面选择的那个模版的ID
fieldList : 这个是模版的内容中业务字段的对应关系,目前O2OA提供了这几个业务字段 【creatorPerson:创建人, activityName: 当前节点, processName: 流程名称, startTime: 开始时间, title 标题】。
fieldList配置就是把业务字段和模版内容字段一一对应起来,name 代表业务字段名,tempName 代表模版字段名。 如 {"name": "title", "tempName": "keyword1"} 就表示把O2OA工作的title字段,放入到模版内容的keyword1字段的位置上去。
另外,模版中 first 和 remark 字段是固定形式,不需要配置。公众号配置完成之后,使用的效果如下图所示:
以上是如何将如何将O2OA(翱途)开发平台中的业务集成到微信公众号实现公众号办公的详细说明,希望对您有帮助。