第三方登录
QQ登录 微信登录
排版就来 时代定制是国内领先的协作排版系统

时代定制api开发demo源码讲解及技术实现原理

2017-07-13 18:58:00

首先打开时代定制企业会员中心,进入API设置页面,点击下载时代定制的api开发demo (需要登录后操作)。

然后将下载后的代码解压到文件夹,根据需要查看PHP或NET的源码示例。

接着布置demo到本地虚拟服务器上进行调试,demo本身经过轻微调整可以直接运行,不依赖数据库和其他程序。我们检测下是否能正常获取时代定制的登录信息,先根据api.php的代码注释配置好API信息:

然后打开默认的示例主页demo.php(net的则为demo.aspx)。

如果有部分错误,只需调整相应代码即可。因为本次仅仅测试下是否能和时代定制进行通信,以及权限是否正常。

最后,将demo直接连文件夹复制到自己的网站根目录,开始进行正式接入。

 

【前端js接入】

时代定制的这个API有个最大的特点,就是一旦一方登录过了,则再打开对方的站点时,是不弹出任何授权页面的,用户是感觉不到登录的。非常适合后台的嵌入开发,将对方的功能页面嵌入到自己的网站内,而用户无需登录。所以前端几乎没有多少工作,主要是在需登录的网页里引用下登录验证Js文件。

demo.php顶部代码如下:

第一个红框里的为测试页用到的js,第三个红框是测试加密解密函数的(注意:不要自行修改加密函数代码,若修改了请验证结果是否和示例的一致),第二个红框里的内容为核心api代码,在操作api的地方需要调用。

还有底部的登录框则是模拟登录而已,请根据自己的站点实际需要调整。登录时代定制任意会员,然后打开demo.php,若能显示出来时代定制的会员信息,则表示已经正确访问到时代定制了。

接下来就是测试从自己的网站登录后访问时代定制了。

我可以先将demo复制至自家网站目录,对接好后后台登录代码部分,然后将自家站点的登录信息去登录时代定制。

 

【后台代码接入】

主要是数据库插入shidai_id字段,以便进行会员唯一性的关联。针对数据量不多的一般企业站和小规模的商城,推荐使用下方触发器的方式添加,以减少对原站点代码的修改,加快开发进度。

 set new.shidai_id=replace(uuid(),'-',''); 

前台每个页面调用的会员状态均来自下方代码。

首先从cookies里读取“时代定制登录标记”,若登录过则根据记录的开放会员信息,向时代定制请求获取完整的会员登录信息。注意,若时代定制会员中心里没有开启API则会返回相应的错误信息。

此外就是判断会员的是否已经注册,没注册则在自家站点进行注册。

示例demo_ajax.php存放了被demo.php进行ajax调用的函数,函数make_ticket()用于加密会员登录票券信息,当会员在本站登录后,需要将登录信息通过前台jsonp的方式传给时代定制,以请求时代定制进行登录该会员。

 

【管理中心接入】

不同于网站的普通会员,网站管理员的权限非常高,可以对所有整个网站进行管理。通过将时代定制企业会员中心的功能网页嵌入到你站点的管理中心后,自家的管理员则无需再打开时代定制的网站,只需登录自家站点后台,即可访问需要的时代定制企业管理中心的功能页面。

为了保持自家网站后台原有的管理员权限系统,网站管理中心采用单向登录,即只允许登录自家站点后台后,访问时代定制,但是不允许时代定制登录后访问自家站点的后台管理中心。

 主要参考api.php中的 params_signin_shidai_admin() 函数和 demo_admin_login.js 文件进行开发。提醒:开发过程请保证严谨的思路。