集成梦云社区

概念术语:

客户原系统:是指客户要集成社区的系统,它可以是APP应用,也可以是微信公众号,还可以是其它任何语言开发出来的WEB系统

梦云社区从诞生的那一刻起,就被赋予有一个神圣的使命:使客户原系统快速拥有社区功能。也就是用户只需要简单的几步配置,就可以轻松为自己的客户原系统开通社区,从而为用户节省大量开发时间和开发成本。

梦云社区的集成可分为轻度集成和重度集成。轻度集成是指梦云社区与客户原系统之间的数据不用互相干涉,仅是功能上的集合。比如在一个微信订阅号的菜单里加入社区的入口地址,微信用户点这个菜单就会自动跳转到社区里,点其它菜单进入其它相应的功能,这些功能与社区之间互相不关联。重度集成则相反,它是指梦云社区与集成的客户原系统之间有数据共享和交互,比如在需要用户登录的APP应用里,用户登录APP应用后,当点到社区时,用户也会自动增加上社区,实现APP应用和社区之间用户信息共享和单点登录(单点登录是指在一个地方登录,其它相关联的地方也全部自动登录上,有一个地方退出,其它地方也全部自动退出)。其中轻度集成最简单,只需要简单几步就可以完成集成,重度集成由相对复杂些。不过不用担心,下面的教程会很仔细地教大家如何进行集成。

一、轻度集成

1、URL集成

a、在微信公众号原生后台实现菜单集成

b、在WeiPHP微信管理系统实现公众号菜单集成

c、在微信公众号原生后台实现关键词回复集成

d、在WeiPHP微信管理系统实现公众号关键词回复集成

e、Android应用实现菜单集成

f、Ios应用实现菜单集成

2、微信服务号免登录集成

免登录实现的前题条件:认证的服务号

二、重度集成

场景一:登录功能在客户原系统,以客户原系统为中心,社区作为子系统集成

集成步骤:

第一步:实现同步登录

用户进入社区时,要在URL带上Token和用户ID

请求方式:GET

参数:userId 用户ID,可以是原系统的用户ID,也可以是加密后用户ID。但加密后的用户ID要与原ID能一一对应上,保证社区通过这个用户ID能获取或者更新原系统用户信息

第二步:实现同步退出

用户在客户原系统退出登录成功后,需要系统推送一条退出成功的通知给社区,让社区自动完成退出

请求地址:http://social.weiphp.cn/api/setLogout?token=YOUR TOKEN

请求方式:POST

参数:userId 用户ID

第三步:实现被动用户资料获取,方便在社区里自动注册

社区会根据需要从客户原系统获取用户资料,因此原系统需要对社区开放一个接口,这个接口地址需要在社区里注册一下

请求方式:POST

参数:userId 用户ID

返回值(json格式):

nickname 用户昵称

....

第四步:主动更新社区里的用户资料

用户在客户原系统更新资料后,需要系统推送一条更新成功的通知给社区,社区会自动从第三步提供的接口获取到用户的新资料

请求地址:http://social.weiphp.cn/api/updateNotice?token=YOUR TOKEN

请求方式:POST

参数:userId 用户ID

第五步:上传用户信息,方便更新原系统的用户资料(非必须,可根据实际需求)

用户在社区更新用户资料时,如果也需要同时更新到原系统,这个接口地址需要在社区里注册一下

请求方式:POST

参数:userId 用户ID

返回值(json格式):

nickname 用户昵称

.....

场景二:在社区里登录,以社区为中心,客户原系统作为其子系统集成

1、单点登录集成

2、API集成

可实现单点登录,用户信息(用户昵称,手机号码,头像等)互通和用户积分互通功能

接口使用说明:

token:调用接口密钥,调用服务器接口时要带上参数token,作为服务验证数据。

userid:原系统用户加密ID,需要保证在原系统中用户的唯一标识

参数说明:*参数为必填参数,其他选填

返回值说明:

失败:status大于0

array (

'status' =>$code,

'message' =>$message.$code.'--'.$this->error_info[$code] ,

'data' =>$data

)

成功:status等于0,返回信息包含在$data中

array (

'status' =>$code,

'message' =>$message.$code.'--'.$this->error_info[$code] ,

'data' =>$data

)

一、如何获取token?

申请社区成功后社区系统将会对社区自动生成一个appid 和appsecret 。用这两个值通过以下接口换取token

token过期时间为一小时且每天只能请求200次,请原系统注意缓存。

发送参数方式:POST

获取token:

参数: *appid ----社区appid

*appsecret ----社区appsecret

Url: http://social.weiphp.cn/index.php?s=/Home/Api/get_token

Return:

array (

'status' => $code,

'message' => $message.$code.'--'.$this->error_info[$code],

'data' => array (

'data' =>'data'

)

二、如何获取appid 和appsecret ?

用社区管理员账号登录社区

社区配置 => 系统管理 => 社区配置

在初始化账号信息中可以找到

三、原系统调用接口登录

发送参数方式:POST

参数 *token

*userid

nickname 原系统用户昵称

sex 性别 0-保密 1-男 2-女

headimgurl 用户头像链接

mobile 手机号码

Url: http://social.weiphp.cn/index.php?s=/Home/Api/login

Return:

array (

'success' =>true ,

'message' =>'You accessed my APIs!' ,

'data' => array ('PHPSESSID'=>'sessionid')

)

原系统调用此几口后,社区将自动识别该用户,并将该用户在社区中登录,为了确保用户进入社区后是登录状态,原系统还要将返回的cookie数据进行处理,要生成cookie。打开社区时浏览器自动提交该cookie,才可以识别用户的登录状态。

四、原系统提示更新用户资料到社区:

为了使原系统与社区系统用户资料保持一致,当用户在原系统中修改个人信息时,原系统应该调用社区接口实现个人信息的同步

发送参数方式:POST

参数 *token

*Userid

nickname 原系统用户昵称

sex 性别 0-保密 1-男 2-女

headimgurl 用户头像链接

mobile 手机号码

email 邮箱

city 城市

province 省份

country 国家

Url :http://social.weiphp.cn/index.php?=/Home/Api/updateNotice

Return:

array (

'success' => true,

'message' =>>'You accessed my APIs!',

'data' =>$data

)

五、 原系统必须提供获取原系统用户信息接口--用于用户自动注册

配置原系统接口信息

发送参数方式:POST

社区系统将post如下参数至原系统所提供的接口:

userid 原系统用户id

appid 社区分配的appid

appsecret 社区的密钥

请返回如下格式的用户信息(json格式){"nickname":"nickname","sex":"0","userid":"userid","headimgurl":"headimgurl","mobile":"mobile"}

六、 原系统须提供修改原系统用户信息接口--用于社区主动更新原系统用户信息

用户在社区中修改个人信息将通过此接口更新至原系统

发送参数方式:POST

社区系统将post如下参数至原系统所提供的接口:

userid 原系统用户id

appid 社区分配的appid

appsecret 社区的密钥

nickname 原系统用户昵称

sex 性别 0-保密 1-男 2-女

headimgurl 用户头像链接

mobile 手机号码

email 邮箱

city 城市

province 省份

country 国家

请返回如下格式的用户信息(json格式){"nickname":"nickname","sex":"0","userid":"userid","headimgurl":"headimgurl","mobile":"mobile"}