/// <summary> /// 获取用户信息 /// </summary> /// <returns></returns> public AccountInfo GetAccountInfo() { string url = this.GetUrl(string.Format(GlobalURL.ACCOUNTINFO, GlobalURL.Version)); string result = this.Http_Get(url); if (result == null) { return(null); } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法解析Json数据"; return(null); } AccountInfo info = new AccountInfo(json); if (info.UserId == 0) { return(null); } return(info); }
public static PHPArray JsonToPHPArray(string result) { try { PHPArray array = new PHPArray(); JObject jsons = JObject.Parse(result); IEnumerable<JProperty> properties = jsons.Properties(); foreach (var item in jsons) { if (item.Value.ToString().StartsWith("[")) { PHPArray temp = new PHPArray(); JArray jArrays = jsons.Value<JArray>(item.Key); for (int j = 0; j < jArrays.Count; j++) { temp.Add(Common.JsonToPHPArray(jArrays[j].ToString())); } array.Add(item.Key, temp); } else { array.Add(item.Key, item.Value); } } return array; } catch { return null; } }
/// <summary> /// 发送消息 /// </summary> public string Send_Msg(PHPArray phpArray) { string strUserID = phpArray.Get("UserId").Value.ToString(); string strPwd = phpArray.Get("PassWord").Value.ToString(); string strReciveUserId = phpArray.Get("ReciveUserId").Value.ToString(); string strContent = phpArray.Get("Content").Value.ToString(); UserInfo user = IPublic.VerifyUser(strUserID, strPwd); if (user == null) { responseResult.ResponseCode = ResultCode.Failure; return(null); } MessageInfo message = new MessageInfo() // 公司项目只要发送接口,要在发送时获取双方详细信息 { SendUserId = strUserID, ReciveUserId = strReciveUserId, Content = strContent, SendTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }; if (!messageBLL.AddMessage(message)) { responseResult.ResponseDetails = "消息发送失败!"; responseResult.ResponseCode = ResultCode.Failure; } else { responseResult.ResponseData = message; responseResult.ResponseDetails = "消息发送成功!"; responseResult.ResponseCode = ResultCode.Ok; } return(responseResult.ResultString()); }
public static PHPArray JsonToPHPArray(string result) { try { PHPArray array = new PHPArray(); JObject jsons = JObject.Parse(result); IEnumerable <JProperty> properties = jsons.Properties(); foreach (var item in jsons) { if (item.Value.ToString().StartsWith("[")) { PHPArray temp = new PHPArray(); JArray jArrays = jsons.Value <JArray>(item.Key); for (int j = 0; j < jArrays.Count; j++) { temp.Add(Common.JsonToPHPArray(jArrays[j].ToString())); } array.Add(item.Key, temp); } else { array.Add(item.Key, item.Value); } } return(array); } catch { return(null); } }
/// <summary> /// 组装完整参数 /// </summary> /// <returns></returns> public PHPArray GetParameList() { PHPArray parame = new PHPArray(); parame.AddObject("UserId", this.SDK.User.UserId); parame.AddObject("PassWord", this.SDK.User.PassWord); // parame.Add(new Parameter("UserId", this.SDK.User.UserId)); // 可以深度考虑一下动态添加参数的做法 !! // parame.Add(new Parameter("PassWord", this.SDK.User.PassWord)); if (!string.IsNullOrEmpty(this.SDK.CallBackUrl)) { parame.Add(new Parameter("oauth_callback", this.SDK.CallBackUrl)); } if (this.Array != null) { foreach (KeyValuePair <object, object> p in this.Array) { parame.AddObject(p.Key.ToString(), p.Value.ToString()); } } //#region 排序 //parame.Sort(delegate(Parameter x, Parameter y) //{ // if (x.Name == y.Name) // { // return string.Compare(x.Value, y.Value); // } // else // { // return string.Compare(x.Name, y.Name); // } //}); //#endregion return(parame); }
/// <summary> /// 组装参数 /// </summary> /// <param name="array">其他参数</param> /// <returns></returns> private PHPArray GetParam(PHPArray array) { OAuth o = new OAuth(this); o.Array = array; return(o.GetParameList()); }
/// <summary> /// 删除文件(夹) /// </summary> /// <param name="path">相对于root的路径,包含文件名</param> /// <param name="to_recycle">默认True,True - 删除的文件(夹)放入回收站,空间不回收;False - 彻底删除,并释放相应空间。</param> /// <returns></returns> public Delete Delete(string path, bool to_recycle) { PHPArray array = new PHPArray(); array.Add("root", "app_folder"); array.Add("path", path); array.Add("to_recycle", to_recycle ? "True" : "False"); string url = this.GetUrl(string.Format(GlobalURL.DELETE, GlobalURL.Version), array); string result = this.Http_Get(url); if (result == null) { return(null); } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法解析Json数据"; return(null); } Delete delete = new Delete(json); return(delete); }
/// <summary> /// 创建文件(夹) /// </summary> /// <param name="path">相对于root的路径,包含文件名</param> /// <returns></returns> public Create Create(string path) { PHPArray array = new PHPArray(); array.Add("root", "app_folder"); array.Add("path", path); string url = this.GetUrl(string.Format(GlobalURL.CREATEFOLDER, GlobalURL.Version), array); string result = this.Http_Get(url); if (result == null) { return(null); } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法解析Json数据"; return(null); } Create create = new Create(json); return(create); }
/// <summary> /// 复制文件(夹) /// </summary> /// <param name="from_path">相对于root的旧文件路径</param> /// <param name="to_path">相对于root的新文件夹路径,包含文件名(和from_path的文件不同名的话,则重命名)</param> /// <returns></returns> public Copy Copy(string from_path, string to_path) { PHPArray array = new PHPArray(); array.Add("root", "app_folder"); array.Add("from_path", from_path); array.Add("to_path", to_path); string url = this.GetUrl(string.Format(GlobalURL.COPY, GlobalURL.Version), array); string result = this.Http_Get(url); if (result == null) { return(null); } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法解析Json数据"; return(null); } Copy copy = new Copy(json); return(copy); }
/// <summary> /// 添加好友 /// </summary> /// <param name="friend">好友信息</param> /// <returns></returns> public string Add_Friend(UserInfo friend) { PHPArray array = new PHPArray(); array.Add("FriendId", friend.UserId); array = GetParam(array); return(new UserService().Add_Friend(array)); }
private string GetUrl(string url, PHPArray array) { OAuth o = new OAuth(this); o.Url = url; o.Array = array; return(o.GetUrl()); }
/// <summary> /// 发送消息 /// </summary> /// <param name="friend">发送消息</param> /// <returns></returns> public string Send_Msg(MessageInfo message) { PHPArray array = new PHPArray(); array.Add("ReciveUserId", message.ReciveUserId); array.Add("Content", message.Content); array = GetParam(array); return(new MessageService().Send_Msg(array)); }
public static string print_r(PHPArray dic, bool @return) { string str = print_r(dic, 0); if (!@return) { Console.WriteLine(str); } return str; }
public static PHPArray array(params object[] objs) { PHPArray ary = new PHPArray(); foreach (object obj in objs) { ary.Add(obj); } return ary; }
/// <summary> /// 获取下载地址 /// </summary> /// <param name="root">app_folder或kuaipan</param> /// <param name="path">相对于root的路径</param> /// <returns></returns> public string Download(string path) { PHPArray array = new PHPArray(); array.Add("root", "app_folder"); array.Add("path", path); return(this.GetUrl(string.Format(GlobalURL.DOWNLOAD_FILE, GlobalURL.Version), array)); }
/// <summary> /// 添加好友 /// </summary> /// <param name="friend">好友信息</param> /// <returns></returns> public string Add_Friend(UserInfo friend) { PHPArray array = new PHPArray(); array.Add("FriendId", friend.UserId); string url = this.GetUrl(string.Format(GlobalURL.Get_Friends, GlobalURL.Version)); return(this.Http_Get(url)); }
/// <summary> /// 发送消息 /// </summary> /// <param name="friend">发送消息</param> /// <returns></returns> public string Send_Msg(MessageInfo message) { PHPArray array = new PHPArray(); array.Add("ReciveUserId", message.ReciveUserId); array.Add("Content", message.Content); string url = this.GetUrl(string.Format(GlobalURL.Send_Msg, GlobalURL.Version), array); return(this.Http_Get(url)); }
/// <summary> /// 注册用户 /// </summary> /// <returns></returns> public string Register_User() { //除用户验证参数外其他参数 PHPArray array = new PHPArray(); array.Add("UserName", User.UserName); array.Add("Sex", User.Sex); array.Add("Age", User.Age); array.Add("Email", User.Email); string url = this.GetUrl(string.Format(GlobalURL.Register_User, GlobalURL.Version), array); return this.Http_Get(url); }
/// <summary> /// 注册用户 /// </summary> /// <returns></returns> public void Register_User() { //除用户验证参数外其他参数 PHPArray array = new PHPArray(); array.Add("UserName", User.UserName); array.Add("Sex", User.Sex); array.Add("Birthday", User.BirthDay); array.Add("Email", User.Email); array = GetParam(array); new UserService().Register_User(array); }
public static PHPArray array(string[] keys, object[] objs) { if (keys.Length != objs.Length) { throw new ArgumentException("数组数量不一样"); } PHPArray ary = new PHPArray(); for (int i = 0; i < keys.Length; i++) { ary.Add(keys[i], objs[i]); } return ary; }
/// <summary> /// 注册用户 /// </summary> /// <returns></returns> public string Register_User() { //除用户验证参数外其他参数 PHPArray array = new PHPArray(); array.Add("UserName", User.UserName); array.Add("Sex", User.Sex); array.Add("Age", User.Age); array.Add("Email", User.Email); string url = this.GetUrl(string.Format(GlobalURL.Register_User, GlobalURL.Version), array); return(this.Http_Get(url)); }
public PHPValue Parse() { try { if (ReadBin(0, 2) < 2) { throw new FormatException(); } if (minibuf[1] != ':') { //TODO:プリミティブ型以外の可能性がある throw new FormatException(); } switch (minibuf[0]) { case 0x61: //a var count = ReadLong(); if (stream.ReadByte() == '{') { var result = new PHPArray(); for (int i = 0; i < count; i++) { result.Add(Parse(), Parse()); } var end = ReadBin(0, 2); if (0 < end && minibuf[0] == '}' && (end == 1 || minibuf[1] == ';')) { return result; } } break; case 0x62: //b var len = stream.Read(minibuf, 2, 2); if (len == 0 || (len == 2 && minibuf[3] != ';')) { throw new FormatException(); } bool bvalue = minibuf[2] != '0'; return new Internals.Boolean(bvalue); case 0x64: //d return ReadDouble(); case 0x69: //i return ReadInt(); case 0x73: //s return ReadStr(ReadInt()); } throw new NotSupportedException(); } catch (FormatException) { throw; } catch (Exception error) { throw new FormatException("", error); } }
/// <summary> /// 获取未授权的临时token /// </summary> /// <returns></returns> private bool RequestToken() { string result = this.Http_Get(this.GetUrl(GlobalURL.REQUESTTOKEN)); if (result == null) { return(false); } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法获取Token"; return(false); } this.Token = json["oauth_token"]; this.TokenSecret = json["oauth_token_secret"]; return(true); }
/// <summary> /// 获取文件上传地址 /// </summary> /// <returns></returns> private string GetUploadLocate() { PHPArray array = new PHPArray(); array.Add("source_ip", ""); string url = this.GetUrl(string.Format(GlobalURL.UPLOAD_LOCATE, GlobalURL.Version)); string result = this.Http_Get(url); if (result == null) { return(null); } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法解析Json数据"; return(null); } return(json["url"]); }
/// <summary> /// 用临时token换取access token。 /// </summary> /// <returns></returns> public bool GetAccessToken() { string result = this.Http_Get(this.GetUrl(GlobalURL.ACCESSTOKEN)); if (result == null) { return(false); } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法获取Token"; return(false); } this.Token = json["oauth_token"]; this.TokenSecret = json["oauth_token_secret"]; this.UserId = json["user_id"]; this.ChargedDir = json["charged_dir"]; return(true); }
/// <summary> /// 获取文件分享链接 /// </summary> /// <param name="path">相对于root的路径,包含文件名</param> /// <returns></returns> public Shares GetShares(string path) { string root = "app_folder"; string url = this.GetUrl(string.Format(GlobalURL.SHARES, GlobalURL.Version, root, Common.UrlEncode(path.Trim('/'), "/"))); string result = this.Http_Get(url); if (result == null) { return(null); } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法解析Json数据"; return(null); } Shares shares = new Shares(json); return(shares); }
/// <summary> /// 获取文件(夹)信息 /// </summary> /// <param name="path">相对于root的路径,包含文件名</param> /// <param name="array">额外参数</param> /// <returns></returns> public MetaData GetMetaData(string path, PHPArray array) { string root = "app_folder"; string url = this.GetUrl(string.Format(GlobalURL.METADATA, GlobalURL.Version, root, Common.UrlEncode(path.Trim('/'), "/")), array); string result = this.Http_Get(url); if (result == null) { return(null); } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法解析Json数据"; return(null); } MetaData metadata = new MetaData(json); return(metadata); }
/// <summary> /// 上传文件 /// </summary> /// <param name="root"></param> /// <param name="path"></param> /// <param name="overwrite"></param> /// <param name="filename"></param> /// <param name="fileData"></param> /// <returns></returns> public FileData UpLoadFile(string path, bool overwrite, string filename, byte[] fileData) { PHPArray array = new PHPArray(); array.Add("root", "app_folder"); array.Add("path", path); array.Add("overwrite", overwrite ? "true" : "flase"); string upurl = this.GetUploadLocate(); if (upurl == null) { return(null); } upurl = this.GetUrl(string.Format(GlobalURL.UPLOAD_FILE, GlobalURL.Version, upurl), array); MsMultiPartFormData form = new MsMultiPartFormData(); form.AddStreamFile("file", filename, fileData); form.PrepareFormData(); string result = this.Http_POST(upurl, form); if (string.IsNullOrEmpty(result)) { return(null); } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法解析Json数据"; return(null); } FileData info = new FileData(json); return(info); }
/// <summary> /// 移动文件(夹) /// </summary> /// <param name="from_path">相对于root的旧文件路径</param> /// <param name="to_path">相对于root的新文件路径,包含文件名(和from_path 的文件不同名的话,则重命名)</param> /// <returns></returns> public Move Move(string from_path, string to_path) { PHPArray array = new PHPArray(); array.Add("root", "app_folder"); array.Add("from_path", from_path); array.Add("to_path", to_path); string url = this.GetUrl(string.Format(GlobalURL.MOVE, GlobalURL.Version), array); string result = this.Http_Get(url); if (result == null) { return null; } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法解析Json数据"; return null; } Move move = new Move(json); return move; }
protected void MetaData_Click(object sender, EventArgs e) { PHPArray arry = new PHPArray(); MetaData metadata = sdk.GetMetaData("/", arry); if (metadata != null) { this.Result.Text = metadata.Data.Print(); this.ToString.Text = metadata.ToString(); } else { this.Result.Text = sdk.ErrMsg; this.ToString.Text = sdk.ErrMsg; } }
public AccountInfo(PHPArray data) { this.Data = data; this.SetProperty(); }
public Move(PHPArray data) { this.Data = data; this.SetProperty(); }
/// <summary> /// 删除文件(夹) /// </summary> /// <param name="path">相对于root的路径,包含文件名</param> /// <param name="to_recycle">默认True,True - 删除的文件(夹)放入回收站,空间不回收;False - 彻底删除,并释放相应空间。</param> /// <returns></returns> public Delete Delete(string path, bool to_recycle) { PHPArray array = new PHPArray(); array.Add("root", "app_folder"); array.Add("path", path); array.Add("to_recycle", to_recycle ? "True" : "False"); string url = this.GetUrl(string.Format(GlobalURL.DELETE, GlobalURL.Version), array); string result = this.Http_Get(url); if (result == null) { return null; } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法解析Json数据"; return null; } Delete delete = new Delete(json); return delete; }
public Copy(PHPArray data) { this.Data = data; this.SetProperty(); }
/// <summary> /// 上传文件 /// </summary> /// <param name="root"></param> /// <param name="path"></param> /// <param name="overwrite"></param> /// <param name="filename"></param> /// <param name="fileData"></param> /// <returns></returns> public FileData UpLoadFile(string path, bool overwrite, string filename, byte[] fileData) { PHPArray array = new PHPArray(); array.Add("root", "app_folder"); array.Add("path", path); array.Add("overwrite", overwrite ? "true" : "flase"); string upurl = this.GetUploadLocate(); if (upurl == null) { return null; } upurl = this.GetUrl(string.Format(GlobalURL.UPLOAD_FILE, GlobalURL.Version, upurl), array); MsMultiPartFormData form = new MsMultiPartFormData(); form.AddStreamFile("file", filename, fileData); form.PrepareFormData(); string result = this.Http_POST(upurl, form); if (string.IsNullOrEmpty(result)) { return null; } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法解析Json数据"; return null; } FileData info = new FileData(json); return info; }
public Delete(PHPArray data) { this.Data = data; this.SetProperty(); }
private static string print_r(PHPArray dic, int depth) { StringBuilder sb = new StringBuilder(); sb.AppendLine("Array"); sb.AppendLine(print_r_tag(depth) + "("); if (dic != null) { foreach (KeyValuePair<object, object> entry in dic) { object key = entry.Key; object val = entry.Value; if (val is PHPArray) { sb.Append(print_r_tag(depth + 1)); sb.Append("["); sb.Append(key); sb.Append("] => "); sb.AppendLine(print_r(val as PHPArray, depth + 2)); } else { sb.Append(print_r_tag(depth + 1)); sb.Append("["); sb.Append(key); sb.Append("] => "); sb.AppendLine(val.ToString()); } } } sb.Append(print_r_tag(depth) + ")"); return sb.ToString(); }
/// <summary> /// 获取文件上传地址 /// </summary> /// <returns></returns> private string GetUploadLocate() { PHPArray array = new PHPArray(); array.Add("source_ip", ""); string url = this.GetUrl(string.Format(GlobalURL.UPLOAD_LOCATE, GlobalURL.Version)); string result = this.Http_Get(url); if (result == null) { return null; } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法解析Json数据"; return null; } return json["url"]; }
private string GetUrl(string url, PHPArray array) { OAuth o = new OAuth(this); o.Url = url; o.Array = array; return o.GetUrl(); }
public Shares(PHPArray data) { this.Data = data; this.SetProperty(); }
/// <summary> /// 获取文件(夹)信息 /// </summary> /// <param name="path">相对于root的路径,包含文件名</param> /// <param name="array">额外参数</param> /// <returns></returns> public MetaData GetMetaData(string path, PHPArray array) { string root = "app_folder"; string url = this.GetUrl(string.Format(GlobalURL.METADATA, GlobalURL.Version, root, Common.UrlEncode(path.Trim('/'), "/")), array); string result = this.Http_Get(url); if (result == null) { return null; } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法解析Json数据"; return null; } MetaData metadata = new MetaData(json); return metadata; }
/// <summary> /// 获取下载地址 /// </summary> /// <param name="root">app_folder或kuaipan</param> /// <param name="path">相对于root的路径</param> /// <returns></returns> public string Download(string path) { PHPArray array = new PHPArray(); array.Add("root", "app_folder"); array.Add("path", path); return this.GetUrl(string.Format(GlobalURL.DOWNLOAD_FILE, GlobalURL.Version), array); }
public MetaData(PHPArray data) { this.Data = data; this.SetProperty(); }
public FileData(PHPArray data) { this.Data = data; this.SetProperty(); }
/// <summary> /// 创建文件(夹) /// </summary> /// <param name="path">相对于root的路径,包含文件名</param> /// <returns></returns> public Create Create(string path) { PHPArray array = new PHPArray(); array.Add("root", "app_folder"); array.Add("path", path); string url = this.GetUrl(string.Format(GlobalURL.CREATEFOLDER, GlobalURL.Version), array); string result = this.Http_Get(url); if (result == null) { return null; } PHPArray json = Common.JsonToPHPArray(result); if (json == null) { this.ErrMsg = "无法解析Json数据"; return null; } Create create = new Create(json); return create; }
/// <summary> /// 添加好友 /// </summary> /// <param name="friend">好友信息</param> /// <returns></returns> public string Add_Friend(UserInfo friend) { PHPArray array = new PHPArray(); array.Add("FriendId", friend.UserId); string url = this.GetUrl(string.Format(GlobalURL.Get_Friends, GlobalURL.Version)); return this.Http_Get(url); }
/// <summary> /// 获取好友 /// </summary> /// <returns></returns> public string Get_Friends() { PHPArray array = GetParam(); return(new UserService().Get_Friends(array)); }
/// <summary> /// 用户上线 /// </summary> /// <returns></returns> public string Verify_User() { PHPArray array = GetParam(); return(new UserService().Verify_User(array)); }
public static void print_r(PHPArray dic) { print_r(dic, false); }
/// <summary> /// 用户下线 /// </summary> /// <returns></returns> public string Downline_User() { PHPArray array = GetParam(); return(new UserService().Downline_User(array)); }
/// <summary> /// 发送消息 /// </summary> /// <param name="friend">发送消息</param> /// <returns></returns> public string Send_Msg(MessageInfo message) { PHPArray array = new PHPArray(); array.Add("ReciveUserId", message.ReciveUserId); array.Add("Content", message.Content); string url = this.GetUrl(string.Format(GlobalURL.Send_Msg, GlobalURL.Version), array); return this.Http_Get(url); }