0

0

騰訊RTX的API開發,給RTX開個天窗,rtx_PHP教程

php中文网

php中文网

发布时间:2016-07-13 10:21:54

|

812人浏览过

|

来源于php中文网

原创

騰訊rtx的api開發,給rtx開個天窗,rtx

    好多人可能沒聽說rtx這個軟件,在此我簡單說明一下,這個軟件是騰訊為企業開發的一個內部聊天軟件,服務端不是在騰訊那邊,而是需要企業自己安裝到自己公司內部的服務器上,以供企業內部員工交流使用,功能和qq差不多,只是比qq弱一點罷了.

    嚴格說起來,其實RTX是有提供API接口的,只是不大太好,最近公司對此有需要,所以我就重寫了一下這個API.另外我重寫的主要原因是RTX自帶的API遇到中文會亂碼,而且還有很多雜七雜八的問題,上網搜結果發現關於RTX的API討論話題極少.估計是因為大家對這個軟件的關注程度不高的原因吧.

    試想一下,其實網站交互的時候我們除了可以用網站發郵件或手機簡訊之外還可以發送即時消息到RTX上,讓公司內部的員工能夠及時瞭解到網站訪問者的需求,爲了達到這個目的,因此我重寫了我們公司內部的RTX的API,重寫之後的API能實現新增RTX用戶,修改用戶資料,刪除用戶,獲取所有的用戶列表,根據狀態獲取某些用戶,獲取公司內部的組織架構,發送即時通知給某些用戶,發送即時消息給某些用戶等等,下邊我就直接上代碼了:

',var_dump($a),'
'; /**/ function _Add(){ $user=Fun::toGet('user'); //登入名 $pass=Fun::toGet('pass'); //登入密碼 $title=Fun::toGet('title'); //真實姓名 if($user=='' or $pass==''){exit('Error:'.__LINE__.', 登入名或密碼不能為空!');} $title=($title=='') ? $user : $title; if(!Fun::Preg("^[a-zA-Z0-9]{3,16}$",'chk',$user)){exit('Error:'.__LINE__.', 登入名稱只能有英文和數字組成,並且長度範圍是3~16');} if(!Fun::Preg("^[a-zA-Z0-9._]{3,16}$",'chk',$pass)){exit('Error:'.__LINE__.', 登入密碼只能有英文,數字和底線組成,並且長度範圍是3~16');} try{ $RootObj= new COM('RTXSAPIRootObj.RTXSAPIRootObj'); $RootObj -> ServerIP= '127.0.0.1'; $RootObj -> ServerPort= '8006'; $UserManagerObj=$RootObj -> UserManager; if(($UserManagerObj -> IsUserExist($user))===FALSE){ $UserManagerObj -> AddUser($user,0); //添加用户 $UserManagerObj -> SetUserPwd($user,$pass); $UserManagerObj -> SetUserBasicInfo($user,$title,0,'','','',0); echo '200 ok'; }else{ exit('Error:'.__LINE__.',用戶已存在!'); } }catch(Exception $e){ echo '
',Var_Dump($e->getMessage()),'
'; } die(); } /** 交流: QQ群:223494678 參數: key:必填,API密鈅 action:必填,操作指令 user:必填,只能由英文和數字組成,長度不能小於3 pass:必填,只能由英文,數字和底線組成,長度不能小於3 title:選填,用戶真實姓名,可以用中文 用法: $a=file_get_contents('http://10.20.30.40:8012/_api.php?key=d6904e27b5c274b1d6acaadda88ec131&action=mdy&user=7di&pass=123123&title='.iconv('UTF-8','big5','馮健')); echo '
',var_dump($a),'
'; /**/ function _Mdy(){ $user=Fun::toGet('user'); //登入名 $pass=Fun::toGet('pass'); //登入密碼 $title=Fun::toGet('title'); //真實姓名 if($user=='' or $pass==''){exit('Error:'.__LINE__.', 登入名或密碼不能為空!');} $title=($title=='') ? $user : $title; if(!Fun::Preg("^[a-zA-Z0-9]{3,16}$",'chk',$user)){exit('Error:'.__LINE__.', 登入名稱只能有英文和數字組成,並且長度範圍是3~16');} if(!Fun::Preg("^[a-zA-Z0-9._]{3,16}$",'chk',$pass)){exit('Error:'.__LINE__.', 登入密碼只能有英文,數字和底線組成,並且長度範圍是3~16');} try{ $RootObj= new COM('RTXSAPIRootObj.RTXSAPIRootObj'); $RootObj -> ServerIP= '127.0.0.1'; $RootObj -> ServerPort= '8006'; $UserManagerObj= $RootObj -> UserManager; if(($UserManagerObj -> IsUserExist($user))===TRUE){ $UserManagerObj -> SetUserPwd($user,$pass); //设置用户密码 $UserManagerObj -> SetUserBasicInfo($user,$title,0,'','','',0); echo '200 ok'; }else{ exit('Error:'.__LINE__.',用戶不存在!'); } }catch(Exception $e){ echo '
',Var_Dump($e->getMessage()),'
'; Die(); } } /** 交流: QQ群:223494678 參數: key:必填,API密鈅 action:必填,操作指令 user:必填,只能由英文和數字組成,長度不能小於3 pass:必填,只能由英文,數字和底線組成,長度不能小於3 title:選填,用戶真實姓名,可以用中文 用法: $a=file_get_contents('http://10.20.30.40:8012/_api.php?key=d6904e27b5c274b1d6acaadda88ec131&action=del&user=xxx'); echo '
',var_dump($a),'
'; /**/ function _Del(){ $user=Fun::toGet('user'); //登入名 $pass=Fun::toGet('pass'); //登入密碼 $title=Fun::toGet('title'); //真實姓名 if($user=='' or $pass==''){exit('Error:'.__LINE__.', 登入名或密碼不能為空!');} $title=($title=='') ? $user : $title; if(!Fun::Preg("^[a-zA-Z0-9]{3,16}$",'chk',$user)){exit('Error:'.__LINE__.', 登入名稱只能有英文和數字組成,並且長度範圍是3~16');} if(!Fun::Preg("^[a-zA-Z0-9._]{3,16}$",'chk',$pass)){exit('Error:'.__LINE__.', 登入密碼只能有英文,數字和底線組成,並且長度範圍是3~16');} try{ $RootObj= new COM('RTXSAPIRootObj.RTXSAPIRootObj'); $RootObj -> ServerIP= '127.0.0.1'; $RootObj -> ServerPort= '8006'; $UserManagerObj= $RootObj -> UserManager; if(($UserManagerObj -> IsUserExist($user))===TRUE){ $UserManagerObj -> DeleteUser($user); echo '200 ok'; }else{ exit('Error:'.__LINE__.',用戶不存在!'); } }catch(Exception $e){ echo '
',Var_Dump($e->getMessage()),'
'; Die(); } } /** 交流: QQ群:223494678 參數: key:必填,API密鈅 action:必填,操作指令 uid:必填,RTX號碼,不可以是登入名 did:必填,所屬部門的id 用法: $a=file_get_contents('http://10.20.30.40:8012/_api.php?key=d6904e27b5c274b1d6acaadda88ec131&action=setdept&uid=9534&did=18'); echo '
',var_dump($a),'
'; /**/ function _Setdept(){ $uid=Fun::toGet('uid'); //RTX號碼 $did=Fun::toGet('did'); //所屬部門的id if(!is_numeric($uid) or $uidnum_rows("update RTX_DeptUser set DeptID = {$did} where UserID={$uid}"); echo '200 ok'; die(); } /** 交流: QQ群:223494678 參數: key:必填,API密鈅 action:必填,操作指令 用法: $a=file_get_contents('http://10.20.30.40:8012/_api.php?key=d6904e27b5c274b1d6acaadda88ec131&action=userlist'); echo '
',var_dump(json_decode($a,TRUE)),'
'; die(); /**/ function _Userlist(){ $ACC=new Access('../db/rtxdb.mdb','',''); $a=$ACC->getlist("SELECT a.ID,a.UserName,a.Name,a.Gender,a.Mobile,a.Email,a.Phone,a.UserVersion,b.DeptID FROM `SYS_User` AS a,RTX_DeptUser AS b WHERE (a.AccountState=0 OR a.AccountState IS NULL) AND b.UserId=a.ID ORDER BY a.ID DESC"); foreach($a as $k=>$v){ if(!isset($a[$k]['Name']) or $a[$k]['Name']==''){continue;} $a[$k]['Name']=iconv('big5','UTF-8',$a[$k]['Name']); }unset($k,$v); header('Content-type: application/json; charset=UTF-8'); echo json_encode($a); die(); } /** 交流: QQ群:223494678 參數: key:必填,API密鈅 action:必填,操作指令 用法: $a=file_get_contents('http://10.20.30.40:8012/_api.php?key=d6904e27b5c274b1d6acaadda88ec131&action=deptlist'); echo '
',var_dump(json_decode($a,TRUE)),'
'; die(); /**/ function _Deptlist(){ $ACC=new Access('../db/rtxdb.mdb','',''); $a=$ACC->getlist("SELECT DeptID,PDeptID,DeptName,SortID FROM `RTX_Dept` ORDER BY PDeptID ASC,SortID ASC"); foreach($a as $k=>$v){ if(!isset($a[$k]['DeptName']) or $a[$k]['DeptName']==''){continue;} $a[$k]['DeptName']=iconv('big5','UTF-8',$a[$k]['DeptName']); }unset($k,$v); header('Content-type: application/json; charset=UTF-8'); echo json_encode($a); die(); } /** 交流: QQ群:223494678 參數: key:必填,API密鈅 action:必填,操作指令 user:必填,某人的登入名 用法: $a=file_get_contents('http://10.20.30.40:8012/_api.php?key=d6904e27b5c274b1d6acaadda88ec131&action=getstatus&user=7di'); echo $a; die(); /**/ function _Getstatus(){ $user = Fun::toGet('user'); $ObjApi= new COM('Rtxserver.rtxobj'); $objProp= new COM('Rtxserver.collection'); $ObjApi->Name = 'SysTools'; $objProp->Add('Username',$user); $r = @$ObjApi->Call2(0x2001,$objProp); echo($r); unset($user,$r,$objProp,$ObjApi); die(); } /** 交流: QQ群:223494678 參數: key:必填,API密鈅 action:必填,操作指令 status:必填,狀態值['offline','online','away'] 用法: $a=file_get_contents('http://10.20.30.40:8012/_api.php?key=d6904e27b5c274b1d6acaadda88ec131&action=getuserbystatus&status=away'); echo $a; die(); /**/ function _Getuserbystatus(){ $status=Fun::toGet('status'); $status=($status=='') ? 'online' : strtolower(trim($status)); if(!in_array($status,array('offline','online','away'))){ exit('Error:'.__LINE__.', status is not in offline online away!'); } $RootObj= new COM("RTXSAPIRootObj.RTXSAPIRootObj"); $RootObj -> ServerIP= '127.0.0.1'; $RootObj -> ServerPort= '8006'; $r = $RootObj->QueryUsersByState($status); echo ($r); unset($status,$r,$RootObj); die(); } /** 交流: QQ群:223494678 參數: key:必填,API密鈅 action:必填,操作指令 to:必填,誰要接收(多個人名之間要用分號分隔) tit:必填,通知的標題 msg:必填,通知的正文 tim:必填,通知顯示多久 用法: $msg=(iconv('UTF-8','big5','這是測息,正文!')); $tit=iconv('UTF-8','big5','這是標題!'); $a=file_get_contents('http://10.20.30.40:8012/_api.php?key=d6904e27b5c274b1d6acaadda88ec131&action=sendtz&tit='.$tit.'&msg='.$msg.'&to=7di;benhuang'); echo $a; die(); /**/ function _Sendtz(){ $to=Fun::toGet('to'); //誰要接收 $tit=Fun::toGet('tit'); //通知的標題 $msg=Fun::toGet('msg'); //通知的正文 $tim=Fun::toGet('tim'); //通知顯示多久 $tim = (strlen($tim) == 0 or !is_numeric($tim)) ? 100000 : $tim; if($to=='' or $msg=='' or $tit==''){ exit('Error:'.__LINE__.', 通知標題,正文,接收者均不可為空!'); } $RootObj= new COM("RTXSAPIRootObj.RTXSAPIRootObj"); $RootObj -> ServerIP= '127.0.0.1'; $RootObj -> ServerPort= '8006'; $RootObj->SendNotify($to,$tit,$tim,$msg); //txtReceivers.Text, txtTitle.Text, CInt(txtTime.Text), txtContent.Text unset($RootObj,$to,$tit,$msg,$tim); echo '200 ok'; die(); } /** 交流: QQ群:223494678 參數: key:必填,API密鈅 action:必填,操作指令 user:必填,發送者登入名 pass:必填,發送者登入密碼 to:必填,誰要接收(多個人名之間要用分號分隔) msg:必填,通知的正文 用法: $msg=(iconv('UTF-8','big5','這是測息,正文!')); $a=file_get_contents('http://10.20.30.40:8012/_api.php?key=d6904e27b5c274b1d6acaadda88ec131&action=sendim&user=admin&pass=bossadm.com.tw&to=7di;benhuang&msg='.$msg); echo $a; die(); /**/ function _Sendim(){ $user=Fun::toGet('user'); $pass=Fun::toGet('pass'); $to=Fun::toGet('to'); $msg=Fun::toGet('msg'); if($to=='' or $msg=='' or $user=='' or $pass==''){ exit('Error:'.__LINE__.', 每個參數均不可為空!'); } if(!Fun::Preg("^[a-zA-Z0-9]{3,16}$",'chk',$user)){exit('Error:'.__LINE__.', 登入名稱只能有英文和數字組成,並且長度範圍是3~16');} if(!Fun::Preg("^[a-zA-Z0-9._]{3,16}$",'chk',$pass)){exit('Error:'.__LINE__.', 登入密碼只能有英文,數字和底線組成,並且長度範圍是3~16');} $RootObj= new COM('RTXSAPIRootObj.RTXSAPIRootObj'); $RootObj -> ServerIP= '127.0.0.1'; $RootObj -> ServerPort= '8006'; $sid=Fun::guid(); $RootObj->SendIM($user,$pass,$to,$msg,$sid); echo '200 ok'; unset($user,$pass,$to,$msg,$sid,$RootObj); die(); }

 

Kaiber
Kaiber

Kaiber是一个视频生成引擎,用户可以根据自己的图片或文字描述创建视频

下载

 對RTX有興趣的朋友可以加我的QQ群一起討論,QQ群號是223494678

立即学习PHP免费学习笔记(深入)”;

RTX软件二次开发支持什开发语言?

RTX API接口适合于Windows平台上支持COM标准的任何开发语言和平台(VB、VC++、ASP、JAVA、C#、PB、Delphi、LotusScript等)。
参考资料:rtx.qq.com/...ok.CHM
 

腾讯通RTX JAVA的二次开发

rtx客户端接收吗?
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/852746.htmlTechArticle騰訊RTX的API開發,給RTX開個天窗,rtx 好多人可能沒聽說RTX這個軟件,在此我簡單說明一下,這個軟件是騰訊為企業開發的一個內部聊天軟件,服...

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

150

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

88

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

90

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

61

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

493

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

16

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

12

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

5

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 7.8万人学习

Rust 教程
Rust 教程

共28课时 | 4万人学习

Vue 教程
Vue 教程

共42课时 | 5.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号