ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:18.40KB ,
资源ID:5196917      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5196917.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(UCenter开发基础手册API接口.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

UCenter开发基础手册API接口.docx

1、UCenter开发基础手册API接口UCenter开发手册 API接口 (-09-06 11:50:33)Discuz!文档 UCenter开发手册API接口如下关于文献阐述以及代码样例,均以 PHP 程序为例。UCenter API 接口文献必要存储于应用程序根目录“api/”目录中,且文献名可以自定义,默以为 uc.php,即“api/uc.php”。文献构造可分为 4 某些,包括 12 个接口项目。第 1 某些为常量定义、第 2 某些为告知方式判断以及初始化输入参数、第 3 某些为接口类代码段、第 4 某些为函数定义。1、常量定义define(UC_CLIENT_VERSION,1.5.

2、0);/note UCenter 版本标记define(UC_CLIENT_RELEASE,1031);define(API_DELETEUSER,1);/note 顾客删除 API 接口开关define(API_RENAMEUSER,1);/note 顾客改名 API 接口开关define(API_GETTAG,1);/note 获取标签 API 接口开关define(API_SYNLOGIN,1);/note 同步登录 API 接口开关define(API_SYNLOGOUT,1);/note 同步登出 API 接口开关define(API_UPDATEPW,1);/note 更改顾客密码

3、 开关define(API_UPDATEBADWORDS,1);/note 更新核心字列表 开关define(API_UPDATEHOSTS,1);/note 更新域名解析缓存 开关define(API_UPDATEAPPS,1);/note 更新应用列表 开关define(API_UPDATECLIENT,1);/note 更新客户端缓存 开关define(API_UPDATECREDIT,1);/note 更新顾客积分 开关define(API_GETCREDITSETTINGS,1);/note 向 UCenter 提供积分设立开关define(API_GETCREDIT,1);/not

4、e 获取顾客某项积分 开关define(API_UPDATECREDITSETTINGS,1);/note 更新应用积分设立 开关define(API_RETURN_SUCCEED,1);define(API_RETURN_FAILED,-1);define(API_RETURN_FORBIDDEN,-2); 常量定义某些定义了接口所用到 14 个接口项目开关设立,“1”为启动“0”为关闭。如果启动,则代码段运营后返回 API_RETURN_SUCCEED,否则返回 API_RETURN_FORBIDDEN。接口运营失败则返回 API_RETURN_FAILED。 2、告知方式判断以及初始化输

5、入参数if(!defined(IN_UC) error_reporting(0);set_magic_quotes_runtime(0);define(DISCUZ_ROOT,substr(dirname(_FILE_),0,-3);defined(MAGIC_QUOTES_GPC) | define(MAGIC_QUOTES_GPC,get_magic_quotes_gpc();require_once DISCUZ_ROOT./config.inc.php;$_DCACHE = $get = $post = array();$code = $_GETcode;parse_str(_auth

6、code($code,DECODE,UC_KEY),$get);if(MAGIC_QUOTES_GPC) $get = _stripslashes($get);$timestamp = time();if($timestamp - $gettime 3600) exit(Authracation has expiried); if(empty($get) exit(Invalid Request);$action = $getaction;require_once DISCUZ_ROOT./uc_client/lib/xml.class.php;$post = xml_unserialize(

7、file_get_contents(php:/input);if(in_array($getaction,array(test,deleteuser,renameuser,gettag,synlogin,synlogout,updatepw,updatebadwords,updatehosts,updateapps,updateclient,updatecredit,getcreditsettings,updatecreditsettings) require_once DISCUZ_ROOT./include/db_.$database.class.php;$GLOBALSdb = new

8、dbstuff;$GLOBALSdb-connect($dbhost,$dbuser,$dbpw,$dbname,$pconnect,true,$dbcharset);$GLOBALStablepre = $tablepre;unset($dbhost,$dbuser,$dbpw,$dbname,$pconnect);$uc_note = new uc_note();exit($uc_note-$getaction($get,$post); else exit(API_RETURN_FAILED); else define(DISCUZ_ROOT,$appextraapppath);requi

9、re_once DISCUZ_ROOT./config.inc.php;require_once DISCUZ_ROOT./include/db_.$database.class.php;$GLOBALSdb = new dbstuff;$GLOBALSdb-connect($dbhost,$dbuser,$dbpw,$dbname,$pconnect,true,$dbcharset);$GLOBALStablepre = $tablepre;unset($dbhost,$dbuser,$dbpw,$dbname,$pconnect);通过常量 IN_UC 来判断接口文献是通过远程 HTTP

10、方式访问还是直接包括方式调用2、接口代码段接口类名称为 uc_note ,接口名称作为此类一种办法,uc_note 代码构造大体如下: class uc_note var $dbconfig = ;/var $db = ;var $appdir = ;function _serialize($arr,$htmlon = 0) if(!function_exists(xml_serialize) include_once DISCUZ_ROOT./uc_client/lib/xml.class.php;return xml_serialize($arr,$htmlon);function uc_

11、note() $this-appdir = substr(dirname(_FILE_),0,-3);$this-dbconfig = $this-appdir./config.inc.php;function test($get,$post) return API_RETURN_SUCCEED;function deleteuser($get,$post) return API_RETURN_SUCCEED; 详细可以参照Discuz7.0.0代码中/api/uc.phptest此接口供仅测试连接。当 UCenter 发起 test 接口祈求时,如果成功获取到接口返回 API_RETURN_

12、SUCCEED 值,表达 UCenter 和应用通讯正常。deleteuser当 UCenter 删除一种顾客时,会发起 deleteuser 接口祈求,告知所有应用程序删除相应顾客。输入参数放在 $getids 中,值为用逗号分隔顾客 ID。如果删除成功则输出 API_RETURN_SUCCEED。deleteuser 接口示例 (PHP)renameuser当 UCenter 更改一种顾客顾客名时,会发起 renameuser 接口祈求,告知所有应用程序改名。输入参数 $getuid 表达顾客 ID,$getoldusername 表达旧顾客名,$getnewusername 表达新顾客名

13、。如果修改成功则输出 API_RETURN_SUCCEED。renameuser 接口示例 (PHP)updatepw当顾客更改顾客密码时,此接口负责接受 UCenter 发来新密码。输入参数 $getusername 表达顾客名,$getpassword 表达新密码。如果修改成功则输出 API_RETURN_SUCCEED。updatepw 接口示例 (PHP)gettag如果应用程序存在标签功能,可以通过此接口把应用程序标签数据传递给 UCenter。输入参数放在 $getid 中,值为标签名称。输出数组需通过 uc_serialize 解决。integer 0 标签名称 array 1

14、标签数据 mixed xxx 自定义 自定义各种数组项,索引名任意,一同返回给 UCenter。为了保证应用间数据共享,您需要在“应用管理管理”“标签单条显示模板”和“标签模板标记阐明”设立模板和阐明。模板中 “xxx”表达标签数据索引,代表相应数据。如扩展数据模板中“image”将显示“image”数组项内容。 gettag 接口示例 (PHP)synlogin如果应用程序需要和其她应用程序进行同步登录,此某些代码负责标记指定顾客登录状态。输入参数放在 $getuid 中,值为顾客 ID。此接口为告知接口,无输出内容。同步登录需使用 P3P 原则。synlogin 接口示例 (PHP)syn

15、logout如果应用程序需要和其她应用程序进行同步退出登录,此某些代码负责撤销顾客登录状态。此接口为告知接口,无输入参数和输出内容。同步退出需使用 P3P 原则。synlogout 接口示例 (PHP)updatebadwords当 UCenter 词语过滤设立变更时,此接口负责告知所有应用程序更新后词语过滤设立内容。设立内容用 POST 方式提交到接口。接口运营完毕输出 API_RETURN_SUCCEED。updatebadwords 接口示例 (PHP)updatehosts当 UCenter 域名解析设立变更时,此接口负责告知所有应用程序更新后域名解析设立内容。设立内容用 POST 方

16、式提交到接口。接口运营完毕输出 API_RETURN_SUCCEED。updatehosts 接口示例 (PHP)updateapps当 UCenter 应用程序列表变更时,此接口负责告知所有应用程序更新后应用程序列表。设立内容用 POST 方式提交到接口。接口运营完毕输出 API_RETURN_SUCCEED。updateapps 接口示例 (PHP)updateclient当 UCenter 基本设立信息变更时,此接口负责告知所有应用程序更新后基本设立内容。设立内容用 POST 方式提交到接口。接口运营完毕输出 API_RETURN_SUCCEED。updateclient 接口示例 (P

17、HP)updatecredit当某应用执行了积分兑换祈求接口函数 uc_credit_exchange_request() 后,此接口负责告知被兑换目应用程序所需修改顾客积分值。输入参数 $getcredit 表达积分编号,$getamount 表达积分增减值,$getuid 表达顾客 ID。updatecredit 接口示例 (PHP)getcreditsettings此接口负责把应用程序积分设立传递给 UCenter,以供 UCenter 在积分兑换设立中使用。此接口无输入参数。输出数组需通过 uc_serialize 解决。输出数组单条构造: 1 维 KEY 2 维 KEY array

18、n 积分编号 string 0 积分名称 string 1 积分单位 如: array( 1 = array(威望,), 2 = array(金钱,枚),) getcreditsettings 接口示例 (PHP)updatecreditsettings此接口负责接受 UCenter 积分兑换设立参数。输入参数放在 $getcredit 中,值为设立参数数组。接口运营完毕输出 API_RETURN_SUCCEED。输入数组单条构造: 1 维 KEY 2 维 KEY array appid 应用程序 ID integer appiddesc 积分兑换目的应用程序 ID integer credi

19、tdesc 积分兑换目的积分编号 integer creditsrc 积分兑换源积分编号 string title 积分名称 string unit 积分单位 integer ratio 积分兑换比率 如: array( 1 = array( appiddesc = 2, creditdesc = 1, creditsrc = 1, title = 金钱, unit = 枚, ratio = 2, ),) updatecreditsettings 接口示例 (PHP)getcredit此接口用于把应用程序中指定顾客积分传递给 UCenter。输入参数 $getuid 为顾客 ID,$getcr

20、edit 为积分编号。接口运营完毕输出积分值。getcredit 接口示例 (PHP)4、函数定义接口函数中必要包括如下函数,否则无法对的对 UCenter 传递过来数据进行解码。 function authcode($string,$operation = DECODE,$key = ,$expiry = 0) $ckey_length = 4;$key = md5($key ?$key :UC_KEY);$keya = md5(substr($key,0,16);$keyb = md5(substr($key,16,16);$keyc = $ckey_length ?($operation

21、 = DECODE ?substr($string,0,$ckey_length):substr(md5(microtime(),-$ckey_length) :;$cryptkey = $keya.md5($keya.$keyc);$key_length = strlen($cryptkey);$string = $operation = DECODE ?base64_decode(substr($string,$ckey_length) :sprintf(0d,$expiry ?$expiry + time() :0).substr(md5($string.$keyb),0,16).$st

22、ring;$string_length = strlen($string);$result = ;$box = range(0,255);$rndkey = array();for($i = 0;$i = 255;$i+) $rndkey$i = ord($cryptkey$i % $key_length);for($j = $i = 0;$i 256;$i+) $j = ($j + $box$i + $rndkey$i) % 256;$tmp = $box$i;$box$i = $box$j;$box$j = $tmp;for($a = $j = $i = 0;$i 0) & substr(

23、$result,10,16) = substr(md5(substr($result,26).$keyb),0,16) return substr($result,26); else return ; else return $keyc.str_replace(=,base64_encode($result);function uc_serialize($arr,$htmlon = 0) include_once UC_CLIENT_ROOT./lib/xml.class.php;return xml_serialize($arr,$htmlon);function uc_unserialize($s) include_once UC_CLIENT_ROOT./lib/xml.class.php;return xml_unserialize($s);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1