在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
这篇文章非常好,最重要的是后面有实现的代码,很实用,直接用到自己系统中了 引用网址:http://www.dezai.cn/Blog/article.asp?id=478
做完这个集成这后,还是感觉挺有意思的,毕竟公司90%的人都在使用RTX,再也用使用OA通知,可以像360强制弹窗一样,提醒在线的同事啦。 int retval; //初始化服务器属性 RTXSAPILib.IRTXSAPIRootObj RootObj; RootObj = new RTXSAPIRootObj(); //创建根对象 RootObj.ServerIP = "172.28.8.36"//腾讯通服务器地址 RootObj.ServerPort ="8006"; //设置服务器端口
/// /// 发送消息提醒 /// /// 接收者:是rtx帐号(即用户名),不能用rtx号码uid,多个用户之间用“;”隔开;接受者为空,则是发给所有人,与all效果一样,慎用! /// 标题 /// 停留时间 0为等待用户关闭,以毫秒计 /// 发送内容,自动识别链接:隐式链接格式: [【查看详情】|www.baidu.com],不能加http:// ,否则不能弹出浏览器,而且“|”后面不能有空格 /// public static int SendNotify(string receiverAccount, string title, string holdtime, string content) { int retval; //初始化服务器属性 RTXSAPILib.IRTXSAPIRootObj RootObj; RootObj = new RTXSAPIRootObj(); //创建根对象 RootObj.ServerIP = BBKEDU.HR.DAL.SysConfig.strRTXSERVER.ToString(); RootObj.ServerPort = Convert.ToInt16(BBKEDU.HR.DAL.SysConfig.strRTXSERVERPORTAL); //设置服务器端口 try { RootObj.SendNotify(receiverAccount, title, 0, content); //发送消息给接受者,注意,receiverAccount="",则是发给所有人,与all效果一样,慎用!这里接受者是rtx帐号(即用户名),不能用rtx号码uid,多个用户之间用“;”隔开 retval = 1; return retval; } catch (Exception xe) { retval = 0; return retval; } }
/// /// 发送IM /// /// 发送人 /// 发送人密码 /// 接收者,不能超过128人一次 /// 发送内容 /// 0为发送出错 1为成功 public int SendIM(string senderAccount, string password, string receiver, string content) { int retval; //初始化服务器属性 RTXSAPILib.IRTXSAPIRootObj RootObj; RootObj = new RTXSAPIRootObj(); //创建根对象 RootObj.ServerIP = BBKEDU.HR.DAL.SysConfig.strRTXSERVER.ToString(); RootObj.ServerPort = Convert.ToInt16(BBKEDU.HR.DAL.SysConfig.strRTXSERVERPORTAL); //设置服务器端口 //获致sessionkey string sessionKey = GetSessionKey(senderAccount); try { RootObj.SendIM(senderAccount, password, receiver, content, sessionKey); retval = 1; return retval; } catch (Exception xe) { retval = 0; return retval; } }
/// /// 根据账号获取sessionKey /// /// /// public static string GetSessionKey(string Account) //服务器端代码 { RTXSAPILib.IRTXSAPIRootObj RootObj; RootObj = new RTXSAPIRootObj(); //创建根对象 RootObj.ServerIP = BBKEDU.HR.DAL.SysConfig.strRTXSERVER.ToString(); RootObj.ServerPort = Convert.ToInt16(BBKEDU.HR.DAL.SysConfig.strRTXSERVERPORTAL); //设置服务器端口 string SessionKey = ""; RTXSAPILib.RTXSAPIUserAuthObj UserAuthObj = RootObj.UserAuthObj; //创建一个用户认证对象 try { SessionKey ="{"+ UserAuthObj.GetSessionKey(Account)+"}"; //通过用户认证对象获取SessionKey } catch (Exception ex) { return ex.Message.ToString(); } return SessionKey; //返回SessionKey }
/// /// 检查用户状态 /// /// 用户账号 /// public static string QueryUserState(string userAccount) { RTXSAPILib.IRTXSAPIRootObj RootObj; RootObj = new RTXSAPIRootObj(); //创建根对象 RootObj.ServerIP = BBKEDU.HR.DAL.SysConfig.strRTXSERVER.ToString(); RootObj.ServerPort = Convert.ToInt16(BBKEDU.HR.DAL.SysConfig.strRTXSERVERPORTAL); //设置服务器端口 try { return RootObj.QueryUserState("德仔"); } catch (Exception ex) { return "Error"; } }
/// /// 检查是否存在用户 /// /// 用户账号 /// public static bool IfExist(string userAccount) { int retval; RTXSAPILib.IRTXSAPIRootObj RootObj; RootObj = new RTXSAPIRootObj(); //创建根对象 RootObj.ServerIP = BBKEDU.HR.DAL.SysConfig.strRTXSERVER.ToString(); RootObj.ServerPort = Convert.ToInt16(BBKEDU.HR.DAL.SysConfig.strRTXSERVERPORTAL); //设置服务器端口 try { return RootObj.UserManager.IsUserExist(userAccount); } catch (Exception ex) { return false; } }
/// /// 删除用户 /// /// 用户账号 /// public static bool DeleteUserAccount(string userAccount) { RTXSAPILib.IRTXSAPIRootObj RootObj; RootObj = new RTXSAPIRootObj(); //创建根对象 RootObj.ServerIP = BBKEDU.HR.DAL.SysConfig.strRTXSERVER.ToString(); RootObj.ServerPort = Convert.ToInt16(BBKEDU.HR.DAL.SysConfig.strRTXSERVERPORTAL); //设置服务器端口 try { RootObj.UserManager.DeleteUser(userAccount); return true; } catch (Exception xe) { return false; } }
|
请发表评论