上一篇,我们讲到我开发环境的配置,还没配置好开发环境或再看一遍开发环境配置?接下来,我们开始coding......

在coding之前,我们先添加引用。

我们在SDK的安装目录中引用这个文件。

引用之后,我们会在bin目录下看到这些dll文件。

之后,我们在在cs文件中引用

接下来,我们就可以真正进行coding啦。

先初始化服务器配置

int retval;
//初始化服务器属性
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = "172.0.0.1" RootObj.ServerPort ="8006"; //设置服务器端口

然后进行相关的代码操作,我写了一部分实现的代码,大家可以根据SDK文档写自己的代码。

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using RTXSAPILib;
using System.Data;
using System.Configuration;
/// <summary>
/// RTXactive 的摘要说明
/// </summary>
public class RTXactive
{
private static string Ip = ConfigurationManager.AppSettings["rtxServerIP"]; //RTX服务器IP地址 127.0.0.1
private static short Iport = Convert.ToInt16(ConfigurationManager.AppSettings["rtxServerAppPort"]);//RTX服务器端口,8006;
/// <summary>
/// 发送消息提醒(待办事宜)
/// </summary>
/// <param name="receiverAccount">接收者</param>
/// <param name="title">标题</param>
/// <param name="holdtime">停留时间 0为等待用户关闭,以毫秒计</param>
/// <param name="content">发送内容,自动识别链接</param>
/// <returns></returns>
public static int SendNotify(string receiverAccount, string title, string holdtime, string content)
{
int retval;
//初始化服务器属性
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口 try
{
RootObj.SendNotify(receiverAccount, title, , content); //获取版本信息
retval = ;
return retval;
}
catch (Exception xe)
{
retval = ;
return retval;
}
}
/// <summary>
/// 发送IM聊天消息
/// </summary>
/// <param name="senderAccount">发送人</param>
/// <param name="password">发送人密码</param>
/// <param name="receiver">接收者,不能超过128人一次</param>
/// <param name="content">发送内容</param>
/// <returns>0为发送出错 1为成功</returns>
public int SendIM(string senderAccount, string password, string receiver, string content)
{
int retval; //初始化服务器属性
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
//获致sessionkey
string sessionKey = GetSessionKey(senderAccount);
try
{
RootObj.SendIM(senderAccount, password, receiver, content, sessionKey);
retval = ;
return retval;
}
catch (Exception xe)
{
retval = ;
return retval;
}
}
/// <summary>
/// 获得session
/// </summary>
/// <param name="Account">账号</param>
/// <returns></returns>
public static string GetSessionKey(string Account) //服务器端代码
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
string SessionKey = "";
RTXSAPILib.RTXSAPIUserAuthObj UserAuthObj = RootObj.UserAuthObj; //创建一个用户认证对象
try
{
SessionKey = "{" + UserAuthObj.GetSessionKey(Account) + "}"; //通过用户认证对象获取SessionKey
}
catch (Exception ex)
{
return ex.Message.ToString();
}
return SessionKey; //返回SessionKey
}
/// <summary>
/// 添加用户
/// </summary>
/// <param name="bstrUserName">用户名</param>
/// <param name="lAuthType">用户类型</param>
/// <returns></returns>
public static int AddUser(string bstrUserName, int lAuthType)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.UserManager.AddUser(bstrUserName, lAuthType);
return ;
}
catch (Exception ex)
{
return ;
}
}
/// <summary>
/// 删除用户
/// </summary>
/// <param name="userAccount">用户账号</param>
/// <returns></returns>
public static bool DeleteUserAccount(string userAccount)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.UserManager.DeleteUser(userAccount); return true;
}
catch (Exception xe)
{
return false; }
}
/// <summary>
/// 设置用户密码
/// </summary>
/// <param name="bstrUserName">用户名</param>
/// <param name="bstrPwd">密码</param>
/// <returns></returns>
public static int AddUser(string bstrUserName, string bstrPwd)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.UserManager.SetUserPwd(bstrUserName, bstrPwd);
return ;
}
catch (Exception ex)
{
return ;
}
}
/// <summary>
/// 检查是否存在用户
/// </summary>
/// <param name="userAccount">用户账号</param>
/// <returns></returns>
public static bool IfExist(string userAccount)
{
int retval;
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
return RootObj.UserManager.IsUserExist(userAccount);
}
catch (Exception ex)
{
return false;
}
} /// <summary>
/// 检查用户在线状态
/// </summary>
/// <param name="userAccount">用户账号</param>
/// <returns></returns>
public static string QueryUserState(string userAccount)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
return RootObj.QueryUserState(userAccount); }
catch (Exception ex)
{
return "Error";
}
}
/// <summary>
/// 用户名转换为RTX帐号
/// </summary>
/// <param name="bstrUserName"></param>
/// <returns></returns>
public int UserNameToUin(String bstrUserName)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport;
try
{
return RootObj.UserManager.UserNameToUin(bstrUserName); }
catch (Exception e)
{
return ;
}
}
/// <summary>
/// RTX帐号转换为用户名
/// </summary>
/// <param name="lUin"></param>
/// <returns></returns>
public string UinToUserName(int lUin)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport;
try
{
return RootObj.UserManager.UinToUserName(lUin); }
catch (Exception e)
{
return "noUin";
}
}
/// <summary>
/// //添加部门
/// </summary>
/// <param name="DeptName">部门名</param>
/// <param name="ParentDeptId">父部门ID</param>
/// <returns></returns>
public int addDept(String DeptName, String ParentDeptId)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.DeptManager.AddDept(DeptName, ParentDeptId);
return ;
}
catch (Exception ex)
{
return ;
}
}
/// <summary>
/// 删除部门
/// </summary>
/// <param name="DeptName">部门名</param>
/// <param name="ifDelectChild">是否删除子部门</param>
/// <returns></returns>
public int deleteDept(String DeptName, bool ifDelectChild)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.DeptManager.DelDept(DeptName, ifDelectChild);
return ;
}
catch (Exception ex)
{
return ;
}
}
/// <summary>
/// 修改部门名
/// </summary>
/// <param name="DeptName">旧部门名</param>
/// <param name="newDeptName">新部门名</param>
/// <returns></returns>
public int setDept(String DeptName, string newDeptName)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.DeptManager.SetDeptName(DeptName, newDeptName);
return ;
}
catch (Exception ex)
{
return ;
}
}
/// <summary>
/// 查看部门名是否存在
/// </summary>
/// <param name="DeptName">部门名</param>
/// <returns></returns>
public int deptIsExist(String DeptName)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
if (RootObj.DeptManager.IsDeptExist(DeptName))
{
return ;
}
else
{
return ;
} }
catch (Exception ex)
{
return ;
}
}
/// <summary>
/// 获取部门下的所有用户
/// </summary>
/// <param name="bstrDeptName">部门名</param>
/// <returns></returns>
public String getDeptUsers(String bstrDeptName)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
string DeptUsers = "";
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
DeptUsers = RootObj.DeptManager.GetDeptUsers(bstrDeptName);
return DeptUsers;
}
catch (Exception ex)
{
return "noUser";
}
}
/// <summary>
/// 将用户添加到部门下
/// </summary>
/// <param name="bstrUserName">用户名</param>
/// <param name="bstrSrcDeptName"></param>
/// <param name="bstrDestDeptName"></param>
/// <param name="bIsCopy"></param>
public void AddUserToDept(String bstrUserName, string bstrSrcDeptName, string bstrDestDeptName, bool bIsCopy)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.DeptManager.AddUserToDept(bstrUserName,bstrSrcDeptName,bstrDestDeptName,bIsCopy);
}
catch (Exception ex)
{ }
}
/// <summary>
/// 设置用户信息
/// </summary>
/// <param name="bstrUserName">用户id</param>
/// <param name="bstrName">姓名</param>
/// <param name="lGender">性别</param>
/// <param name="bstrMobile">电话</param>
/// <param name="bstrEMail">邮箱</param>
/// <param name="bstrPhone">手机</param>
/// <param name="lAuthType">权值</param>
public void SetUserBasicInfo(String bstrUserName, string bstrName, int lGender, string bstrMobile, string bstrEMail, string bstrPhone, int lAuthType)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.UserManager.SetUserBasicInfo(bstrUserName, bstrName, lGender, bstrMobile, bstrEMail, bstrPhone, lAuthType);
}
catch (Exception ex)
{ }
}
/// <summary>
/// 将用户从部门中删除
/// </summary>
/// <param name="bstrUserName">用户名</param>
/// <param name="bstrDestDeptName">部门名</param>
public void DelUserFromDept(String bstrUserName, string bstrDestDeptName)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.DeptManager.DelUserFromDept(bstrUserName, bstrDestDeptName);
}
catch (Exception ex)
{ }
}
}

RTX基本操作(发送待办事宜、发送消息,增删改查用户、部门)的代码就在这啦,后面咱将还有两篇,一个是RTX单点登录,一个是RTX反向单点登录。

这次还是一样,有问题可以留言哈。

最新文章

  1. TCP/IP协议(二)tcp/ip基础知识
  2. __new__静态方法
  3. android之handle
  4. jq判断 复选框是否被选中 亲测可用
  5. NOIP2012借教室[线段树|离线 差分 二分答案]
  6. Netty 自动重连
  7. 如何在本地配置php分析工具xhprof
  8. Objective-C语言多态性
  9. [C程序设计语言]第五部分
  10. poj2352消防站
  11. python的一些总结1
  12. android 14 进度条和拖动条
  13. Swift - 10 - assert(断言)
  14. Mono For Android中简单实现按钮的动画效果
  15. L4,an exciting trip
  16. Visual Studio 2017 离线安装方式
  17. MFC入门教程01 Windows编程基础
  18. python中html解析-Beautiful Soup
  19. python panda::dataframe常用操作
  20. DRF 权限 频率

热门文章

  1. BZOJ3142 [Hnoi2013]数列
  2. Jenkins项目构建结果通知Email的替代方案Wall Display插件
  3. 虚拟机软件bochs编译使用问题
  4. lua中的table、stack和registery
  5. 12.04 redmine
  6. 如何判断ios设备中是否安装了某款应用
  7. Linux添加新盘扩容空间
  8. OpenGLES入门笔记三
  9. css中关于居中的那点事儿
  10. python学习笔记-(五)字符串&amp;字典