添加钉钉发送提示

master
mzhifa 1 year ago
parent 23003d90ad
commit 693d89522c

@ -15,5 +15,10 @@ namespace StartServerWPF.Modules.Main
public string DataBase { get; set; }
public string TableName { get; set; }
public string WebsocketUrl { get; set; }
public string Account { get; set; }
public string Pwd { get; set; }
}
}

@ -24,6 +24,7 @@ using System.Text.Json.Serialization;
using System.Text.Json;
using System.Text.Encodings.Web;
using System.Text.Unicode;
using System.Security.Principal;
namespace StartServerWPF.Modules.Main.ViewModels
{
@ -54,6 +55,7 @@ namespace StartServerWPF.Modules.Main.ViewModels
this._websocket = websocket;
_websocket.WebSocketInit(sc.remoteDb.WebsocketUrl);
CurrentItemsList = ApmsProcessSliceList;
_websocket.SiginServer(sc.remoteDb.Account,sc.remoteDb.Pwd);
}
@ -336,7 +338,7 @@ namespace StartServerWPF.Modules.Main.ViewModels
// btnSetParams.Enabled = false;
timer1.Interval = TimeSpan.FromSeconds(ProMonInterval);
timer1.Start();
timer1.Tick += timer1_Tick;
ReciveDataSource.Clear();
}
@ -453,6 +455,7 @@ namespace StartServerWPF.Modules.Main.ViewModels
public void InitializeParams()
{
timer1.Interval = TimeSpan.FromSeconds(ProMonInterval);
timer1.Tick += timer1_Tick;
this.Message = "服务器版本:" + JsonParser.serverVision;
IntervalTimesSource.Add(5);
IntervalTimesSource.Add(10);
@ -674,11 +677,10 @@ namespace StartServerWPF.Modules.Main.ViewModels
string logStr = DateTime.Now.ToString("s") + "\t服务器程序" + pro.ProName + "重启";
WriteSerLog(sc.vpnInfo.SystemLogPath + JsonParser.systemLogFileName, logStr);
string jsonStr= JsonSerializer.Serialize<CSDeviceWebhook>(new CSDeviceWebhook
string jsonStr= JsonSerializer.Serialize(new CSDeviceWebhook
{
type= CSMessage.webhook,
message=logStr,
}, new JsonSerializerOptions
{
// 整齐打印
@ -761,7 +763,7 @@ namespace StartServerWPF.Modules.Main.ViewModels
string logStr = DateTime.Now.ToString("s") + "\tVPN断开重连";
WriteSerLog(sc.vpnInfo.SystemLogPath + JsonParser.systemLogFileName, logStr);
string jsonStr = JsonSerializer.Serialize<CSDeviceWebhook>(new CSDeviceWebhook
string jsonStr = JsonSerializer.Serialize(new CSDeviceWebhook
{
type = CSMessage.webhook,
message = logStr,

@ -1,9 +1,11 @@
using SuperSocket.ClientEngine;
using StartServerWPF.Modules.Main.Model;
using SuperSocket.ClientEngine;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
using WebSocket4Net;
@ -13,59 +15,75 @@ namespace StartServerWPF.Modules.Main
public class WebsocketClient
{
public WebSocket webSocket4Net = null;
public Action<ErrorEventArgs> WebsocketError;
public Action<string> WebSocketMessageReceived;
public void WebSocketInit(string url)
{
Console.WriteLine("客户端");
Debug.WriteLine("客户端");
webSocket4Net = new WebSocket(url);
webSocket4Net.Opened += WebSocket4Net_Opened;
webSocket4Net.Error += new EventHandler<ErrorEventArgs>(WebSocket_Error);
webSocket4Net.MessageReceived += WebSocket4Net_MessageReceived;
webSocket4Net.Open();
Console.WriteLine("客户端连接成功!");
Thread thread = new Thread(ClientSendHeartbeat);
thread.IsBackground = true;
thread.Start();
// webSocket4Net.Dispose();
Debug.WriteLine("客户端连接成功!");
// thread.Start();
}
public void SendMes(string str)
{
if (webSocket4Net.State == WebSocketState.Open)
public void SiginServer(string account,string password)
{
webSocket4Net.Send(str);
isHeartbeat = false;
string jsonstr= JsonSerializer.Serialize(new CSUserSigin { type = CSMessage.sigin, utype = "device", account=account,password=password});
SendMes(jsonstr);
Task.Run(async () =>{
await Task.Delay(2000);
isHeartbeat = true;
SendHeartbeat();
});
}
public void Closed()
{
isHeartbeat = false;
}
public void SendMes(string message)
{
webSocket4Net.Send(message);
}
private void ClientSendHeartbeat()
bool isHeartbeat = false;
private void SendHeartbeat()
{
int i = 88;
while (true)
while (isHeartbeat)
{
//Console.WriteLine($"客户端发送数据{i++}");
Thread.Sleep(TimeSpan.FromSeconds(2));
if (webSocket4Net.State == WebSocketState.Open)
{
webSocket4Net.Send("{\"type\":\"heartbeat\",\"utype\":\"device\",\"uid\":123}");
webSocket4Net.Send("{\"type\":\"heartbeat\",\"utype\":\"device\"}");
}
else if (webSocket4Net.State == WebSocketState.Closed)
{
Thread.Sleep(TimeSpan.FromSeconds(5));
Thread.Sleep(TimeSpan.FromSeconds(10));
webSocket4Net.Open();
}
Thread.Sleep(TimeSpan.FromSeconds(5));
}
}
private void WebSocket4Net_MessageReceived(object sender, MessageReceivedEventArgs e)
{
Debug.WriteLine($"服务端回复数据:{e.Message}");
WebSocketMessageReceived?.Invoke(e.Message);
}
private void WebSocket4Net_Opened(object sender, EventArgs e)
{
// webSocket4Net.Send($"客户端准备发送数据!");
}
void WebSocket_Error(object sender, ErrorEventArgs e)
{
WebsocketError?.Invoke(e);
Debug.WriteLine("websocket_Error:" + e.Exception.ToString());
}
}

@ -6,7 +6,9 @@
"Password": "txgy1929",
"DataBase": "txgymeisdb",
"TableName": "event",
"WebsocketUrl": "ws://43.138.12.228/ws"
"WebsocketUrl": "ws://43.138.12.228/ws",
"Account": "upclient",
"Pwd": "zgbj0010"
},
"vpnInfo": {
"VpnName": "YUWU-VPN-BySM",

Loading…
Cancel
Save