/// <summary> /// 取账号状态 是否到期 等 /// </summary> /// <param name="usr">账号</param> /// <param name="token">登录返回的TOKEN</param> /// <returns>账号信息</returns> public async static Task <Result_Info> InfoStatus() { string timestamp = FreeYunUtil.ToTimeStamp(DateTime.Now).ToString(); var data = "{" + $"'account':'{mUser}','token':'{mToken}','timestamp':{timestamp},'macCode':'{macCode}','secretKey':'{secretkey}'".Replace("'", "\"") + "}"; var info = new Result_Info(); try { var ret = await Request(17, data); JObject json = (JObject)JsonConvert.DeserializeObject(ret); var code = json["code"].ToString(); string status; if (code != "1039") { status = GetMsg(code); info.Html = "取用户状态失败,原因: " + GetMsg(code); } else { info.Html = "ok"; info.Is_bool = true; } }catch (Exception ex) { info.Html = ex.Message; } return(info); }
/// <summary> /// 登录_3 /// </summary> /// <param name="usr">账号</param> /// <param name="pwd">密码</param> /// <param name="version">软件本地版本</param> /// <returns>TOKEN</returns> public async static Task <Result_Info> Login(string usr, string pwd) { Result_Info info = new Result_Info(); try { string timestamp = FreeYunUtil.ToTimeStamp(DateTime.Now).ToString(); var md5 = FreeYunUtil.FileHashCode(Application.ExecutablePath); JObject dic = new JObject(); dic.Add("account", usr); dic.Add("password", pwd); dic.Add("macCode", macCode); dic.Add("version", version); dic.Add("md5", md5); dic.Add("timestamp", timestamp); dic.Add("secretKey", secretkey); string data = JsonConvert.SerializeObject(dic); var ret = await Request(3, data); JObject json = (JObject)JsonConvert.DeserializeObject(ret); var code = json["code"].ToString(); if (code != "1014") { info.Html = "登录失败,原因:" + GetMsg(code); } else { info.Html = "登录成功"; info.other = json["token"].ToString(); mUser = usr; mToken = info.other; info.Is_bool = true; } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); info.Html = ex.StackTrace; } return(info); }
/// <summary> /// (登录后)取远程变量值 /// </summary> /// <param name="usr">账号</param> /// <param name="token">登录返回的TOKEN</param> /// <param name="keyName">变量名</param> /// <returns>变量值</returns> public async static Task <Result_Info> ReadVariable(string keyName) { string timestamp = FreeYunUtil.ToTimeStamp(DateTime.Now).ToString(); var info = new Result_Info(); if (string.IsNullOrEmpty(mToken)) { info.Html = "token不能为空"; return(info); } try { JObject dic = new JObject(); dic.Add("account", mUser); dic.Add("token", mToken); dic.Add("keyName", keyName); dic.Add("timestamp", timestamp); dic.Add("macCode", macCode); dic.Add("secretKey", secretkey); string data = JsonConvert.SerializeObject(dic); var ret = await Request(8, data); JObject json = (JObject)JsonConvert.DeserializeObject(ret); var code = json["code"].ToString(); if (code != "1019") { info.Html = "读变量失败,原因:" + GetMsg(code); } else { var variable = json["variable"].ToString(); info.Html = "ok"; info.other = variable; info.Is_bool = true; } }catch (Exception ex) { Console.WriteLine(ex.Message); } return(info); }
/// <summary> /// 加入黑名单_7 加入黑名单 有误 待排查 /// </summary> /// <param name="usr">账号</param> /// <param name="blackType">/黑名单类型:1、IP黑名单 2、机器码黑名单</param> public async static Task <Result_Info> Diss(string usr, int blackType = 1) { string timestamp = FreeYunUtil.ToTimeStamp(DateTime.Now).ToString(); Result_Info info = new Result_Info(); try { JObject dic = new JObject(); dic.Add("account", usr); dic.Add("macCode", macCode); dic.Add("timestamp", timestamp); dic.Add("secretKey", secretkey); dic.Add("cardTypeId", blackType); string data = JsonConvert.SerializeObject(dic); //var data = "{" + $"'account':'{usr}','cardTypeId':'{blackType}','timestamp':{timestamp},'macCode':'{macCode}','secretKey':'{secretkey}'".Replace("'", "\"") + "}"; var ret = await Request(20, data); JObject json = (JObject)JsonConvert.DeserializeObject(ret); var code = json["code"].ToString(); if (code != "1048") { info.Html = "失败,原因:" + GetMsg(code); } else { info.Html = "ok"; info.Is_bool = true; } }catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); info.Html = ex.Message; } return(info); }
/// <summary> /// 创建支付链接_5 /// </summary> /// <param name="cardTypeId">充值卡类型ID,该值从取卡类型列表接口可获得</param> public async static Task <Result_Info> CreatePay(string cardTypeId) { string timestamp = FreeYunUtil.ToTimeStamp(DateTime.Now).ToString(); var info = new Result_Info(); try { JObject dic = new JObject(); dic.Add("account", mUser); dic.Add("cardTypeId", cardTypeId); dic.Add("macCode", macCode); dic.Add("timestamp", timestamp); dic.Add("secretKey", secretkey); string data = JsonConvert.SerializeObject(dic); var ret = await Request(5, data); JObject json = (JObject)JsonConvert.DeserializeObject(ret); var code = json["code"].ToString(); if (code != "1037") { info.Html = "创建支付失败,原因:" + GetMsg(code); } else { var payUrl = json["payUrl"].ToString(); info.other = payUrl; info.Html = "创建支付成功"; info.Is_bool = true; } }catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); info.Html = ex.Message; } return(info); }
/// <summary> /// 远程算法转发 /// </summary> /// <param name="remoteId"> 转发列表对应id</param> /// <param name="_params"></param> /// <returns></returns> public async static Task <Result_Info> TranspondSer(string remoteId, string _params) { string timestamp = FreeYunUtil.ToTimeStamp(DateTime.Now).ToString(); JObject dic = new JObject(); dic.Add("account", mUser); dic.Add("token", mToken); dic.Add("timestamp", timestamp); dic.Add("macCode", macCode); dic.Add("secretKey", secretkey); dic.Add("remoteId", remoteId); dic.Add("params", _params); var data = JsonConvert.SerializeObject(dic); var info = new Result_Info(); try { var ret = await Request(22, data); JObject json = (JObject)JsonConvert.DeserializeObject(ret); var code = json["code"].ToString(); string status; if (code != "1051") { status = GetMsg(code); info.Html = "远程转发失败,原因: " + GetMsg(code); } else { info.Html = "ok"; info.other = json["result"].ToString(); info.Is_bool = true; } } catch (Exception ex) { info.Html = ex.Message; } return(info); }
/// <summary> /// 修改密码_8 /// </summary> /// <param name="usr">账号</param> /// <param name="oldPwd">旧密码</param> /// <param name="newPwd">新密码</param> public async static Task <Result_Info> ChangePwd(string usr, string oldPwd, string newPwd) { string timestamp = FreeYunUtil.ToTimeStamp(DateTime.Now).ToString(); var info = new Result_Info(); try { JObject dic = new JObject(); dic.Add("account", usr); dic.Add("oldPwd", oldPwd); dic.Add("newPwd", newPwd); dic.Add("macCode", macCode); dic.Add("timestamp", timestamp); dic.Add("secretKey", secretkey); string data = JsonConvert.SerializeObject(dic); //var data = "{" + $"'account':'{usr}','oldPwd':'{oldPwd}','newPwd':'{newPwd}','timestamp':{timestamp},'macCode':'{macCode}','secretKey':'{secretkey}'".Replace("'", "\"") + "}"; var ret = await Request(13, data); JObject json = (JObject)JsonConvert.DeserializeObject(ret); var code = json["code"].ToString(); if (code != "1026") { info.Html = "修改密码失败,原因:" + GetMsg(code); } else { info.Html = "修改成功"; info.Is_bool = true; } }catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); info.Html = ex.Message; } return(info); }
/// <summary> /// 取在线人数 /// </summary> /// <param name="remoteId"> 转发列表对应id</param> /// <param name="_params"></param> /// <returns></returns> public async static Task <Result_Info> GetOnLineCount() { string timestamp = FreeYunUtil.ToTimeStamp(DateTime.Now).ToString(); JObject dic = new JObject(); dic.Add("version", version); dic.Add("timestamp", timestamp); dic.Add("macCode", macCode); dic.Add("secretKey", secretkey); var data = JsonConvert.SerializeObject(dic); var info = new Result_Info(); try { var ret = await Request(23, data); JObject json = (JObject)JsonConvert.DeserializeObject(ret); var code = json["code"].ToString(); string status; if (code != "1054") { status = GetMsg(code); info.Html = "取在线人数失败,原因: " + GetMsg(code); } else { info.Html = "ok"; info.other = json["onlineNum"].ToString(); info.Is_bool = true; } } catch (Exception ex) { info.Html = ex.Message; } return(info); }
/// <summary> /// (登录后)心跳[发送频率建议为:10-20分钟一次] /// </summary> /// <param name="usr">账号</param> /// <param name="token">登录返回的TOKEN</param> public async static Task <Result_Info> Heartbeat() { string timestamp = FreeYunUtil.ToTimeStamp(DateTime.Now).ToString(); var info = new Result_Info(); var data = "{" + $"'account':'{mUser}','token':'{mToken}','timestamp':{timestamp},'macCode':'{macCode}','secretKey':'{secretkey}'".Replace("'", "\"") + "}"; try { var ret = await Request(9, data); if (!FreeYunUtil.IsJson(ret)) { info.Html = "网络错误"; } JObject json = (JObject)JsonConvert.DeserializeObject(ret); var code = json["code"].ToString(); if (code != "1046") { info.Html = GetMsg(code); } else { info.Html = "ok"; info.Is_bool = true; } }catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); info.Html = ex.Message; } return(info); }
/// <summary> /// 帐号注册_2 /// </summary> /// <param name="usr">账号</param> /// <param name="pwd">密码</param> /// <param name="qq">QQ选填</param> /// <param name="email">邮箱选填</param> /// <param name="mobile">手机号码选填</param> /// <param name="invitingCode">邀请码选填</param> /// <param name="agentCode">代理商代理编号,该参数为代理商列表的代理编号,可空,可内置在软件用于指定不同的代理商注册的用户所有权</param> public async static Task <Result_Info> Register(string usr, string pwd, string qq = "", string email = "", string mobile = "", string invitingCode = "", string agentCode = "") { string timestamp = FreeYunUtil.ToTimeStamp(DateTime.Now).ToString(); Result_Info info = new Result_Info(); JObject dic = new JObject(); dic.Add("account", usr); dic.Add("password", pwd); dic.Add("macCode", macCode); dic.Add("timestamp", timestamp); dic.Add("secretKey", secretkey); if (!FreeYunUtil.IsNull(qq)) { dic.Add("qq", qq); } if (!FreeYunUtil.IsNull(email)) { dic.Add("email", email); } if (!FreeYunUtil.IsNull(mobile)) { dic.Add("mobile", mobile); } if (!FreeYunUtil.IsNull(invitingCode)) { dic.Add("mobile", mobile); } if (!FreeYunUtil.IsNull(agentCode)) { dic.Add("agentCode", agentCode); } try { string data = JsonConvert.SerializeObject(dic); var ret = await Request(2, data); if (!FreeYunUtil.IsJson(ret)) { info.Html = ret; return(info); } JObject json = (JObject)JsonConvert.DeserializeObject(ret); var code = json["code"].ToString(); if (code != "1006") { info.Html = "注册失败,原因:" + GetMsg(code); } else { info.Html = "注册成功"; info.Is_bool = true; } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); info.Html = ex.Message; } return(info); }