using System;
|
using System.Text;
|
using System.Text.RegularExpressions;
|
using Shared.Common;
|
|
namespace Shared.Phone.Device.Account
|
{
|
public class AccountLogic
|
{
|
#region ◆ 变量____________________________
|
/// <summary>
|
/// _instance
|
/// </summary>
|
private static AccountLogic _instance;
|
/// <summary>
|
/// Instance
|
/// </summary>
|
public static AccountLogic Instance
|
{
|
get
|
{
|
if(_instance==null)
|
{
|
_instance = new AccountLogic();
|
}
|
return _instance;
|
}
|
}
|
|
#endregion
|
|
#region ◆ 邮箱____________________________
|
|
/// <summary>
|
/// 检查邮箱合法性
|
/// </summary>
|
/// <param name="email"></param>
|
/// <returns></returns>
|
public bool CheckEmail(string email)
|
{
|
var regex= new Regex(CommonPage.EmailRegexStr);
|
return regex.IsMatch(email);
|
}
|
|
|
|
#endregion
|
|
#region ◆ 手机____________________________
|
|
/// <summary>
|
/// 检查手机号合法性
|
/// </summary>
|
/// <param name="phone"></param>
|
/// <returns></returns>
|
public bool CheckPhone(string phone)
|
{
|
var regex = new Regex(CommonPage.PhoneForForeignRegexStr);
|
return regex.IsMatch(phone);
|
}
|
|
/// <summary>
|
/// 检查手机号合法性、区分区号
|
/// </summary>
|
/// <param name="phone">手机号</param>
|
/// <param name="zoneCode">区号</param>
|
/// <returns></returns>
|
public bool CheckPhoneWithZone(string phone, string zoneCode)
|
{
|
if (zoneCode == "86")
|
{
|
var regex = new Regex(CommonPage.PhoneRegexStr);
|
return regex.IsMatch(phone);
|
}
|
else
|
{
|
var regex = new Regex(CommonPage.PhoneForForeignRegexStr);
|
return regex.IsMatch(phone);
|
}
|
}
|
|
#endregion
|
|
#region ◆ 密码____________________________
|
|
/// <summary>
|
/// 检查密码长度合法性
|
/// </summary>
|
/// <param name="password"></param>
|
/// <returns></returns>
|
public bool CheckPwdLength(string password)
|
{
|
if (password.Trim().Length >= 6 && password.Trim().Length <= 13)
|
{
|
return true;
|
}
|
return false;
|
}
|
|
#endregion
|
|
#region ◆ 经纬度__________________________
|
/// <summary>
|
/// ReceiveAppLatAndLon
|
/// </summary>
|
/// <param name="lat"></param>
|
/// <param name="lon"></param>
|
public async void ReceiveAppLatAndLon(string lat, string lon)
|
{
|
try
|
{
|
var requestObj = new SendDataToServer.ReceiveAppLatAndLonObj
|
{
|
Latitude = lat,
|
Longitude = lon
|
};
|
var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
|
var revertObj = await RequestHttpsZigbeeAsync("ProcessRange/ReceiveAppLatAndLon", System.Text.Encoding.UTF8.GetBytes(requestJson));
|
//if (revertObj.StateCode.ToUpper() == "SUCCESS")
|
//{
|
// System.Console.WriteLine("上传位置成功" + lat + lon);
|
//}
|
}
|
catch { }
|
}
|
|
/// <summary>
|
/// 请求服务器方法
|
/// 指定一个Url,和请求方法,数据,Cookie,得到响应的数据
|
/// </summary>
|
/// <param name="requestUrl">请求Url</param>
|
/// <param name="byteData">请求的的数据</param>
|
/// <returns>得到响应的数据</returns>
|
public async System.Threading.Tasks.Task<Shared.Common.ResponseEntity.ResponsePack> RequestHttpsZigbeeAsync(string requestUrl, byte[] byteData)
|
{
|
string result = await RequestHttpsZigbeeResultAsync(requestUrl, byteData);
|
if (result != null)
|
{
|
try
|
{
|
var data = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.ResponsePack>(result);
|
return data;
|
}
|
catch (Exception ex)
|
{
|
System.Console.WriteLine(ex.Message);
|
}
|
}
|
return null;
|
}
|
|
/// <summary>
|
/// 请求服务器方法
|
/// 指定一个Url,和请求方法,数据,Cookie,得到响应的数据
|
/// </summary>
|
/// <param name="requestUrl">请求Url</param>
|
/// <param name="byteData">请求的的数据</param>
|
/// <returns>得到响应的数据</returns>
|
public async System.Threading.Tasks.Task<string> RequestHttpsZigbeeResultAsync(string requestUrl, byte[] byteData)
|
{
|
var result = await RequestHttpsZigbeeBytesResultAsync(requestUrl, byteData);
|
if (result != null)
|
{
|
return Encoding.UTF8.GetString(result);
|
}
|
return null;
|
}
|
|
/// <summary>
|
/// 请求服务器方法
|
/// 指定一个Url,和请求方法,数据,Cookie,得到响应的数据
|
/// </summary>
|
/// <param name="requestUrl">请求Url</param>
|
/// <param name="byteData">请求的的数据</param>
|
/// <param name="requestMethod">POST 或者 GET 等等</param>
|
/// <returns>得到响应的数据</returns>
|
public async System.Threading.Tasks.Task<byte[]> RequestHttpsZigbeeBytesResultAsync(string requestUrl, byte[] byteData, string requestMethod = "POST")
|
{
|
//请求Url的完成路径
|
var fullUrl = $"{CommonPage.RequestHttpsHost}/{requestUrl}";
|
return await CommonPage.Instance.DoRequestZigbeeHttpsInterface(fullUrl, byteData, Config.Instance.LoginToken, requestMethod);
|
}
|
|
#endregion
|
}
|
}
|