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

上一篇,我们讲到我开发环境的配置,还没配置好开发环境或再看一遍开发环境配置?接下来,我们开始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文档写自己的代码。

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Web;
  5 using RTXSAPILib;
  6 using System.Data;
  7 using System.Configuration;
  8 /// <summary>
  9 /// RTXactive 的摘要说明
 10 /// </summary>
 11 public class RTXactive
 12 {
 13     private static string Ip = ConfigurationManager.AppSettings["rtxServerIP"];     //RTX服务器IP地址 127.0.0.1
 14     private static short Iport = Convert.ToInt16(ConfigurationManager.AppSettings["rtxServerAppPort"]);//RTX服务器端口,8006; 
 15     /// <summary>
 16     /// 发送消息提醒(待办事宜)
 17     /// </summary>
 18     /// <param name="receiverAccount">接收者</param>
 19     /// <param name="title">标题</param>
 20     /// <param name="holdtime">停留时间 0为等待用户关闭,以毫秒计</param>
 21     /// <param name="content">发送内容,自动识别链接</param>
 22     /// <returns></returns>
 23     public static int SendNotify(string receiverAccount, string title, string holdtime, string content)
 24     {
 25         int retval;
 26         //初始化服务器属性
 27         RTXSAPILib.IRTXSAPIRootObj RootObj;
 28         RootObj = new RTXSAPIRootObj();
 29         //创建根对象
 30         RootObj.ServerIP = Ip;
 31         RootObj.ServerPort = Iport; //设置服务器端口
 32 
 33         try
 34         {
 35             RootObj.SendNotify(receiverAccount, title, 0, content); //获取版本信息
 36             retval = 1;
 37             return retval;
 38         }
 39         catch (Exception xe)
 40         {
 41             retval = 0;
 42             return retval;
 43         }
 44     }
 45     /// <summary>
 46     /// 发送IM聊天消息
 47     /// </summary>
 48     /// <param name="senderAccount">发送人</param>
 49     /// <param name="password">发送人密码</param>
 50     /// <param name="receiver">接收者,不能超过128人一次</param>
 51     /// <param name="content">发送内容</param>
 52     /// <returns>0为发送出错 1为成功</returns>
 53     public int SendIM(string senderAccount, string password, string receiver, string content)
 54     {
 55         int retval;
 56 
 57         //初始化服务器属性
 58         RTXSAPILib.IRTXSAPIRootObj RootObj;
 59         RootObj = new RTXSAPIRootObj();
 60         //创建根对象
 61         RootObj.ServerIP = Ip;
 62         RootObj.ServerPort = Iport; //设置服务器端口
 63         //获致sessionkey
 64         string sessionKey = GetSessionKey(senderAccount);
 65         try
 66         {
 67             RootObj.SendIM(senderAccount, password, receiver, content, sessionKey);
 68             retval = 1;
 69             return retval;
 70         }
 71         catch (Exception xe)
 72         {
 73             retval = 0;
 74             return retval;
 75         }
 76     }
 77     /// <summary>
 78     /// 获得session
 79     /// </summary>
 80     /// <param name="Account">账号</param>
 81     /// <returns></returns>
 82     public static string GetSessionKey(string Account)  //服务器端代码
 83     {
 84         RTXSAPILib.IRTXSAPIRootObj RootObj;
 85         RootObj = new RTXSAPIRootObj();
 86         //创建根对象
 87         RootObj.ServerIP = Ip;
 88         RootObj.ServerPort = Iport; //设置服务器端口
 89         string SessionKey = "";
 90         RTXSAPILib.RTXSAPIUserAuthObj UserAuthObj = RootObj.UserAuthObj; //创建一个用户认证对象
 91         try
 92         {
 93             SessionKey = "{" + UserAuthObj.GetSessionKey(Account) + "}";  //通过用户认证对象获取SessionKey
 94         }
 95         catch (Exception ex)
 96         {
 97             return ex.Message.ToString();
 98         }
 99         return SessionKey; //返回SessionKey
100     }
101     /// <summary>
102     /// 添加用户
103     /// </summary>
104     /// <param name="bstrUserName">用户名</param>
105     /// <param name="lAuthType">用户类型</param>
106     /// <returns></returns>
107     public static int AddUser(string bstrUserName, int lAuthType)
108     {
109         RTXSAPILib.IRTXSAPIRootObj RootObj;
110         RootObj = new RTXSAPIRootObj();
111         //创建根对象
112         RootObj.ServerIP = Ip;
113         RootObj.ServerPort = Iport; //设置服务器端口
114         try
115         {
116             RootObj.UserManager.AddUser(bstrUserName, lAuthType);
117             return 0;
118         }
119         catch (Exception ex)
120         {
121             return 1;
122         }
123     }
124     /// <summary>
125     /// 删除用户
126     /// </summary>
127     /// <param name="userAccount">用户账号</param>
128     /// <returns></returns>
129     public static bool DeleteUserAccount(string userAccount)
130     {
131         RTXSAPILib.IRTXSAPIRootObj RootObj;
132         RootObj = new RTXSAPIRootObj();
133         //创建根对象
134         RootObj.ServerIP = Ip;
135         RootObj.ServerPort = Iport; //设置服务器端口
136         try
137         {
138             RootObj.UserManager.DeleteUser(userAccount);
139 
140             return true;
141         }
142         catch (Exception xe)
143         {
144             return false;
145 
146         }
147     }
148     /// <summary>
149     /// 设置用户密码
150     /// </summary>
151     /// <param name="bstrUserName">用户名</param>
152     /// <param name="bstrPwd">密码</param>
153     /// <returns></returns>
154     public static int AddUser(string bstrUserName, string bstrPwd)
155     {
156         RTXSAPILib.IRTXSAPIRootObj RootObj;
157         RootObj = new RTXSAPIRootObj();
158         //创建根对象
159         RootObj.ServerIP = Ip;
160         RootObj.ServerPort = Iport; //设置服务器端口
161         try
162         {
163             RootObj.UserManager.SetUserPwd(bstrUserName, bstrPwd);
164             return 0;
165         }
166         catch (Exception ex)
167         {
168             return 1;
169         }
170     }
171     /// <summary>
172     /// 检查是否存在用户
173     /// </summary>
174     /// <param name="userAccount">用户账号</param>
175     /// <returns></returns>
176     public static bool IfExist(string userAccount)
177     {
178         int retval;
179         RTXSAPILib.IRTXSAPIRootObj RootObj;
180         RootObj = new RTXSAPIRootObj();
181         //创建根对象
182         RootObj.ServerIP = Ip;
183         RootObj.ServerPort = Iport; //设置服务器端口
184         try
185         {
186             return RootObj.UserManager.IsUserExist(userAccount);
187         }
188         catch (Exception ex)
189         {
190             return false;
191         }
192     }
193 
194     /// <summary>
195     /// 检查用户在线状态
196     /// </summary>
197     /// <param name="userAccount">用户账号</param>
198     /// <returns></returns>
199     public static string QueryUserState(string userAccount)
200     {
201         RTXSAPILib.IRTXSAPIRootObj RootObj;
202         RootObj = new RTXSAPIRootObj();
203         //创建根对象
204         RootObj.ServerIP = Ip;
205         RootObj.ServerPort = Iport; //设置服务器端口
206         try
207         {
208             return RootObj.QueryUserState(userAccount);
209 
210         }
211         catch (Exception ex)
212         {
213             return "Error";
214         }
215     }
216     /// <summary>
217     /// 用户名转换为RTX帐号
218     /// </summary>
219     /// <param name="bstrUserName"></param>
220     /// <returns></returns>
221     public int UserNameToUin(String bstrUserName)
222     {
223         RTXSAPILib.IRTXSAPIRootObj RootObj;
224         RootObj = new RTXSAPIRootObj();
225         //创建根对象
226         RootObj.ServerIP = Ip;
227         RootObj.ServerPort = Iport;
228         try
229         {
230             return RootObj.UserManager.UserNameToUin(bstrUserName);
231 
232         }
233         catch (Exception e)
234         {
235             return 1;
236         }
237     }
238     /// <summary>
239     /// RTX帐号转换为用户名
240     /// </summary>
241     /// <param name="lUin"></param>
242     /// <returns></returns>
243     public string UinToUserName(int lUin)
244     {
245         RTXSAPILib.IRTXSAPIRootObj RootObj;
246         RootObj = new RTXSAPIRootObj();
247         //创建根对象
248         RootObj.ServerIP = Ip;
249         RootObj.ServerPort = Iport;
250         try
251         {
252             return RootObj.UserManager.UinToUserName(lUin);
253 
254         }
255         catch (Exception e)
256         {
257             return "noUin";
258         }
259     }
260     /// <summary>
261     /// //添加部门
262     /// </summary>
263     /// <param name="DeptName">部门名</param>
264     /// <param name="ParentDeptId">父部门ID</param>
265     /// <returns></returns>
266     public int addDept(String DeptName, String ParentDeptId)
267     {
268         RTXSAPILib.IRTXSAPIRootObj RootObj;
269         RootObj = new RTXSAPIRootObj();
270         //创建根对象
271         RootObj.ServerIP = Ip;
272         RootObj.ServerPort = Iport; //设置服务器端口
273         try
274         {
275             RootObj.DeptManager.AddDept(DeptName, ParentDeptId);
276             return 0;
277         }
278         catch (Exception ex)
279         {
280             return 1;
281         }
282     }
283     /// <summary>
284     /// 删除部门
285     /// </summary>
286     /// <param name="DeptName">部门名</param>
287     /// <param name="ifDelectChild">是否删除子部门</param>
288     /// <returns></returns>
289     public int deleteDept(String DeptName, bool ifDelectChild)
290     {
291         RTXSAPILib.IRTXSAPIRootObj RootObj;
292         RootObj = new RTXSAPIRootObj();
293         //创建根对象
294         RootObj.ServerIP = Ip;
295         RootObj.ServerPort = Iport; //设置服务器端口
296         try
297         {
298             RootObj.DeptManager.DelDept(DeptName, ifDelectChild);
299             return 0;
300         }
301         catch (Exception ex)
302         {
303             return 1;
304         }
305     }
306     /// <summary>
307     /// 修改部门名
308     /// </summary>
309     /// <param name="DeptName">旧部门名</param>
310     /// <param name="newDeptName">新部门名</param>
311     /// <returns></returns>
312     public int setDept(String DeptName, string newDeptName)
313     {
314         RTXSAPILib.IRTXSAPIRootObj RootObj;
315         RootObj = new RTXSAPIRootObj();
316         //创建根对象
317         RootObj.ServerIP = Ip;
318         RootObj.ServerPort = Iport; //设置服务器端口
319         try
320         {
321             RootObj.DeptManager.SetDeptName(DeptName, newDeptName);
322             return 0;
323         }
324         catch (Exception ex)
325         {
326             return 1;
327         }
328     }
329     /// <summary>
330     /// 查看部门名是否存在
331     /// </summary>
332     /// <param name="DeptName">部门名</param>
333     /// <returns></returns>
334     public int deptIsExist(String DeptName)
335     {
336         RTXSAPILib.IRTXSAPIRootObj RootObj;
337         RootObj = new RTXSAPIRootObj();
338         //创建根对象
339         RootObj.ServerIP = Ip;
340         RootObj.ServerPort = Iport; //设置服务器端口
341         try
342         {
343             if (RootObj.DeptManager.IsDeptExist(DeptName))
344             {
345                 return 0;
346             }
347             else
348             {
349                 return 1;
350             }
351 
352         }
353         catch (Exception ex)
354         {
355             return 1;
356         }
357     }
358     /// <summary>
359     /// 获取部门下的所有用户
360     /// </summary>
361     /// <param name="bstrDeptName">部门名</param>
362     /// <returns></returns>
363     public String getDeptUsers(String bstrDeptName)
364     {
365         RTXSAPILib.IRTXSAPIRootObj RootObj;
366         RootObj = new RTXSAPIRootObj();
367         string DeptUsers = "";
368         //创建根对象
369         RootObj.ServerIP = Ip;
370         RootObj.ServerPort = Iport; //设置服务器端口
371         try
372         {
373             DeptUsers = RootObj.DeptManager.GetDeptUsers(bstrDeptName);
374             return DeptUsers;
375         }
376         catch (Exception ex)
377         {
378             return "noUser";
379         }
380     }
381     /// <summary>
382     /// 将用户添加到部门下
383     /// </summary>
384     /// <param name="bstrUserName">用户名</param>
385     /// <param name="bstrSrcDeptName"></param>
386     /// <param name="bstrDestDeptName"></param>
387     /// <param name="bIsCopy"></param>
388     public void AddUserToDept(String bstrUserName, string bstrSrcDeptName, string bstrDestDeptName, bool bIsCopy)
389     {
390         RTXSAPILib.IRTXSAPIRootObj RootObj;
391         RootObj = new RTXSAPIRootObj();
392         //创建根对象
393         RootObj.ServerIP = Ip;
394         RootObj.ServerPort = Iport; //设置服务器端口
395         try
396         {
397             RootObj.DeptManager.AddUserToDept(bstrUserName,bstrSrcDeptName,bstrDestDeptName,bIsCopy);
398         }
399         catch (Exception ex)
400         {
401 
402         }
403     }
404     /// <summary>
405     /// 设置用户信息
406     /// </summary>
407     /// <param name="bstrUserName">用户id</param>
408     /// <param name="bstrName">姓名</param>
409     /// <param name="lGender">性别</param>
410     /// <param name="bstrMobile">电话</param>
411     /// <param name="bstrEMail">邮箱</param>
412     /// <param name="bstrPhone">手机</param>
413     /// <param name="lAuthType">权值</param>
414     public void SetUserBasicInfo(String bstrUserName, string bstrName, int lGender, string bstrMobile, string bstrEMail, string bstrPhone, int lAuthType)
415     {
416         RTXSAPILib.IRTXSAPIRootObj RootObj;
417         RootObj = new RTXSAPIRootObj();
418         //创建根对象
419         RootObj.ServerIP = Ip;
420         RootObj.ServerPort = Iport; //设置服务器端口
421         try
422         {
423             RootObj.UserManager.SetUserBasicInfo(bstrUserName, bstrName, lGender, bstrMobile, bstrEMail, bstrPhone, lAuthType);
424         }
425         catch (Exception ex)
426         {
427 
428         }
429     }
430     /// <summary>
431     /// 将用户从部门中删除
432     /// </summary>
433     /// <param name="bstrUserName">用户名</param>
434     /// <param name="bstrDestDeptName">部门名</param>
435     public void DelUserFromDept(String bstrUserName, string bstrDestDeptName)
436     {
437         RTXSAPILib.IRTXSAPIRootObj RootObj;
438         RootObj = new RTXSAPIRootObj();
439         //创建根对象
440         RootObj.ServerIP = Ip;
441         RootObj.ServerPort = Iport; //设置服务器端口
442         try
443         {
444             RootObj.DeptManager.DelUserFromDept(bstrUserName, bstrDestDeptName);
445         }
446         catch (Exception ex)
447         {
448 
449         }
450     }
451 }

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

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

原文地址:https://www.cnblogs.com/wjszxli/p/4216841.html