自从发布了"个人网站与动网整合非官方方法"后,经常有网友来咨询动网整合的相关事情,我也常常建议大家好好去看下"PDO通行接口开发人员参考规范 1.0",因为一旦你知道了怎么去使用它,就会发现其实整合并不是一件困难的事情,并且比我的非官方方法有更大的灵活性,毕竟去改动网数据库表总不是非常的完美。

一、数据同步原理

pdo

假设A、B两个系统要实现会员数据同步,同步过程是这样的:当A系统要注册(登录/注销/资料修改/删除用户)时,就发一条消息告诉B系统说,我要注册 (登录/注销/资料修改/删除用户)了,B系统收到消息后在其系统内进行注册(登录/注销/资料修改/删除用户),完成后返回一条消息告诉A系统执行的结果(成功/失败),如果成功,A系统继续在其系统内进行注册(登录/注销/资料修改/删除用户)操作,如果失败则中止本次操作,反之亦然。

1.数据格式

现在我们引进两个词语:请求和响应,对于上述过程中发出消息我们称它为请求,返回消息我们称它为响应。对于请求和响应的数据格式,PDO是有规定的,它应是一个构造良好的xml文档。标准的请求和响应数据格式如下:

1<?xml version="1.0" encoding="gb2312"?>
2<root>
3<appid>程序标识</appid>
4<action>请求类型(用户名检测/注册/登录/注销/资料修改/删除用户)</action>
5<syskey>安全码</syskey>
6<username>用户名</username>
7<可选元素列表 />
8</root>

 

 1<?xml version="1.0" encoding="gb2312"?>
 2<root>
 3<appid>程序标识</appid>
 4<status>请求结果</status>
 5<needcookie>是否需要写cookie</needcookie>
 6<body>
 7    <message>操作不成功时的错误说明</message>
 8<可选元素列表 />
 9 </body>
10</root>

在请求的XML文档中有些节点是必需的,有些节点是可选的,必需的节点总结如下:

1.注册(reguser):appid,action,syskey,username,password,email,question,answer
2.登录(login):appid,action,syskey,username
3.注销(logout):appid,action,syskey,username
4.资料修改(update):appid,action,syskey,username
5.删除用户(delete):appid,action,syskey,username
6.注册时检测用户名是否可用(checkname):appid,action,syskey,username

在响应的XML文档中有三个节点是必需的:appid,status,message

2.数据如何传递?

对于请求,将使用XMLHttpRequest对象的Send方法以post方式发送,然后再从XMLHttpRequest对象的responseXML属性中获取响应数据。

3.接口安全码

接口安全码(syskey节点)是用来检验程序间传输的数据来源合法性的依据,它的值是由username节点的值和各程序接口配置文件中用户定义的密钥连接起来,再进行16位MD5加密得出一个定长32字节的字符串。 Read the rest of this entry