一种微信公众号接入设备、系统和方法及移动终端与流程

文档序号:12828977阅读:163来源:国知局
一种微信公众号接入设备、系统和方法及移动终端与流程
本发明涉及微信公众号接入技术,具体地,涉及一种微信公众号接入设备、系统和方法及移动终端。
背景技术
:随着计算机软件技术的快速发展,用户可以通过移动终端使用企业信息系统。微信公众号旨在帮助企业、政府机关、学校、医院等单位和非政府组织建立与员工、上下游合作伙伴及内部it系统间的连接,并能有效地简化管理流程、提高信息的沟通和协同效率、提升对一线员工的沟通、服务及管理能力。一般来说,传统意义上的企业信息系统包括两部分,一部分是oa系统,即办公类的,另一部分为业务系统,包括erp,hr,crm等等。企业的业务数据会不断在系统中累积,为企业的决策提供相关依据。对于用户来说,出差在外或者有事不在电脑旁,就会出现无法查看系统数据、请假、报销等工作事项,从而影响沟通办事效率。然而,通过微信公众号连接企业信息系统,用户就可以非常方便地在移动终端上进行各项办公操作。但是,在现有技术中,主要通过以下方法将企业信息系统集成在微信公众号中:企业信息系统中提供微信公众号所需的前端页面、业务数据、安装套件,并将企业信息系统部署在有外网的服务器上,供终端和腾讯服务器访问。这种方式对企业信息系统的网络环境有要求,而且各企业信息系统开发的界面和配置不统一,不利于人员开发和部署,影响用户体验。技术实现要素:本发明的目的是提供一种微信公众号接入设备、系统和方法及移动终端,用于解决在屏蔽网络环境的情况下接入微信公众号的问题。为了实现上述目的,本发明提供了一种微信公众号接入设备,该设备包括:权限校验模块,用于截获接入微信公众号的用户请求,并对该用户请求所对应的用户权限进行校验;通信模块,在所述权限校验模块检验通过的情况下转发所述用户请求至对应的企业信息模块;以及数据采集模块,用于接收所述企业信息模块响应于所述用户请求而发送的业务数据。相应地,本发明还提供了一种接入微信公众号的移动终端,该移动终端包括:发送模块,用于发送接入微信公众号的用户请求,该用户请求包括所述移动终端的用户的身份信息。相应地,本发明还提供了一种微信公众号接入系统,该系统包括:以上所描述的微信公众号接入设备;以上所描述的接入微信公众号的移动终端。相应地,本发明还提供了一种微信公众号接入方法,该方法包括:截获接入微信公众号的用户请求,并对该请求所对应的用户权限进行校验;在检验通过的情况下转发所述用户请求至对应的企业信息模块;以及接收所述企业信息模块响应于所述用户请求而发送的业务数据。通过上述技术方案,本发明通过校验用户权限来使移动终端通过用户请求接入企业信息模块,从而使用户可以非常方便地在移动终端上进行各项办公操作。本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:图1是本发明提供的微信公众号接入设备的框图;图2是本发明具体实施方式提供的微信公众号接入设备的框图;图3是本发明具体实施方式提供的微信公众号接入过程的流程图;图4是本发明具体实施方式提供的微信公众号接入过程的流程图;以及图5是本发明提供的微信公众号接入方法的流程图。具体实施方式以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。图1是本发明提供的微信公众号接入设备的框图,如图1所示,该设备包括权限校验模块、通信模块和数据采集模块。权限校验模块用于截获接入微信公众号的用户请求,并对该用户请求所对应的用户权限进行校验;通信模块在权限校验模块检验通过的情况下转发用户请求至对应的企业信息模块;数据采集模块,用于接收所述企业信息模块响应于所述用户请求而发送的业务数据。权限校验模块可以根据用户请求得到发出该用户请求的身份信息,该身份信息在注册微信公众号时采集得到,从而用户可以在任何网络环境下接入企业信息模块,即在任何网络环境下在移动终端上进行各项办公操作。本领域技术人员应当理解,现有技术中,例如在接入办公室oa系统时,权限校验模块通过校验ip地址来确定是否允许接入办公室oa系统,这就对网络环境有要求,即必须在固定的ip地址下才可以接入办公室oa系统。然而,通过本发明提供的技术方案,是在用户权限被校验的通过的情况下允许移动终端接入办公室oa系统,从而对网络环境没有要求,用户可以非常方便地在任何环境网络下在移动终端上进行办公操作。每一个企业的业务数据被存储在一个企业信息模块中,多个企业信息模块形成企业信息系统,也就是说,通过企业信息系统存储多个企业的业务数据,每一个企业的业务数据对应存储在一个企业信息模块中。企业信息模块在接收到通信模块发送的用户请求之后,调用数据采集模块得到响应于该用户请求的业务数据,通过下文描述可以得到,数据采集模块接收到该业务数据之后通过通信模块将该业务数据转发至页面展现模块。通信模块还用于通过预先存储的映射表得到用户请求所对应的企业信息模块。通信模块根据用户请求可以得到是哪个用户发出的该用户请求,从而可以知道是需要哪个企业的业务数据,所以通信模块可以根据用户请求来向对应的企业信息模块发送该用户请求。换句话说,用户请求包括发出该用户请求的用户的身份信息,权限校验模块根据身份信息对用户权限进行校验。本领域技术人员应当理解,在用户注册一微信公众号时,需要采集该用户的身份信息,从而在用户通过一移动终端发出用户请求时,就可以通过用户请求包含发出该用户请求的用户的身份信息。图2是本发明具体实施方式提供的微信公众号接入设备的框图,如图2所示,本发明提供的微信公众号接入设备还包括页面展现模块,该页面展现模块用于向移动终端展现业务数据;其中,该业务数据通过通信模块从数据采集模块转发至页面展现模块。具体来说,数据采集模块接收到企业信息模块响应于用户请求而发送的业务数据后,向页面展现模块发送该业务数据(一般是发送html页面信息),页面展现模块通过移动终端展示该业务数据。图3是本发明具体实施方式提供的微信公众好接入过程的流程图,如图3所示,该过程包括:步骤301,接收来自移动终端的用户请求,在此之前,用户通过移动终端在输入用户名和密码的情况下进入微信公众号,后台服务器在接收到该用 户请求之后,权限校验模块截获该用户请求对该用户请求进行解析,判断该用户请求是否来自微信,如果判断结果为是,进入步骤302,否者,返回error。本领域技术人员应当理解,在步骤301中,在回调模式下,微信公众号服务器将用户请求通过加密xml消息发送至后台服务器,后台服务器接收到该加密xml消息后进行解密。步骤302,对用户权限进行校验并查找相应的企业信息模块,首先权限校验模块通过验证接口(例如,oauth2.0验证接口)获取用户的身份信息,然后通过校验用户请求中是否包括代表用户身份的cookie来确定是否校验通过,具体校验方法为本领域常用技术,于此不予赘述。通信模块通过映射表得到发出用户请求的用户所要请求的业务数据属于哪个企业,从而可以得到应当将用户请求发送至哪个企业信息模块。步骤303,转发用户请求到相应的企业信息模块,权限校验模块在校验通过的情况下,通信模块转发用户请求到相应的企业信息模块。步骤304,采集业务数据并返回,企业信息模块通过数据采集模块得到响应于用户请求的业务数据并通过通信模块发送至页面展现模块。图4是本发明具体实施方式提供的微信公众号接入过程的流程图,如图4所示,该过程包括:步骤401,接收用户请求,后台服务器接收来自微信公众号的用户请求,首先,用户通过移动终端进入微信公众号,发送用户消息至后台服务器。回调模式下,腾讯服务器发送一条加密xml消息至后台服务器,格式为:<xml><tousername><![cdata[touser]]</tousername><agentid><![cdata[toagentid]]</agentid><encrypt><![cdata[msg_encrypt]]</encrypt></xml>其中,msg_encrypt为经过加密的密文,agentid为接收的应用id,可在 应用的设置页面获取,tousername为企业号的corpid。步骤402,对用户权限进行校验,如果未校验成功,进入步骤403,如果校验成功,进入步骤404,其中,后台服务器解密接收到的xml,调用intdecryptmsg(conststring&smsgsignature,conststring&stimestamp,conststring&snonce,conststring&spostdata,string&smsg)对msg_encrypt解密,若解密失败说明未校验成功,进入步骤403,其中,各参数的意义参见下表:参数是否必须说明smsgsignature是从回调url中获取的msg_signature参数stimestamp是从回调url中获取的timestamp参数snonce是从回调url中获取的nonce参数spostdata是从回调url中获取的整个post数据smsg是用于返回解密后的msg,以进行xml组织步骤403,返回错误。步骤404,通信模块转发用户请求,具体来说,解密后的msg_encryt格式为:<xml><tousername><![cdata[touser]]></tousername><fromusername><![cdata[fromuser]]></fromusername><createtime>1348831860</createtime><msgtype><![cdata[text]]></msgtype><content><![cdata[thisisatest]]></content><msgid>1234567890123456</msgid><agentid>1</agentid></xml>根据content明文查询命令映射表(即为反应用户与企业信息模块的映 射关系的映射表),找到对应的service,封装成message对象通过已建立的netty通信通道发送到企业信息系统进行取数。否则返回错误信息。步骤405,采集业务数据并返回,具体来说,企业信息模块通过数据采集模块调用message对象中的服务,执行服务得到结果集,将结果返回到后台服务器。步骤406,后台服务器对业务数据进行加密,后台服务器将结果集(即,所请求的业务数据)组织成xml,调用intencryptmsg(conststring&sreplymsg,conststring&stimestamp,conststring&snonce,string&sencryptmsg)加密成密文,其中,各参数的意义参见下表:参数是否必须说明sreplymsg是返回的消息体原文stimestamp是时间戳,调用方生成snonce是随机数,调用方生成sencryptmsg是用于返回的密文,以xml组织步骤407,将业务数据发送至用户终端进行显示,具体来说,将加密的xml密文以httppost请求的方式发送到消息发送接口:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=access_token,腾讯服务器会通过通信模块将业务数据转发至页面展现模块,并通过用户终端进行显示。相应地,本发明还提供了一种接入微信公众号的移动终端,该移动终端包括发送模块,该发送模块用于发送接入微信公众号的用户请求,该用户请求包括移动终端的用户的身份信息。相应地,本发明还提供了一种微信公众号接入系统,该系统包括:以上所描述的微信公众号接入设备;以及以上所描述的接入微信公众号的移动终 端。图5是本发明提供的微信公众号接入方法的流程图,如图5所示,该方法包括:截获接入微信公众号的用户请求,并对该用户请求所对应的用户权限进行校验;在检验通过的情况下转发所述用户请求至对应的企业信息模块;以及接收所述企业信息模块响应于所述用户请求而发送的业务数据。需要说明的是,本发明提供的微信公众号接入方法的具体细节及益处与本发明提供的微信公众号接入设备类似,于此不予赘述。以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。通过本发明提供的技术方案,可以屏蔽企业信息系统网络环境对接入的影响,采用第三方插件安装方式实现统一配置降低接入公众号难度。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1