RTX二次开发(二)(基于ASP.NET)

时间:2023-03-09 21:49:30
RTX二次开发(二)(基于ASP.NET)

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

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

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

RTX二次开发(二)(基于ASP.NET)

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

RTX二次开发(二)(基于ASP.NET)

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

RTX二次开发(二)(基于ASP.NET)

接下来,我们就可以真正进行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反向单点登录。

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