You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

128 lines
4.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HuizhongLibrary.Weixin
{
public class WeixinUser
{
public string userid { get; set; }
public string name { get; set; }
public List<int> department { get; set; }
public string position { get; set; }
public string mobile { get; set; }
public string gender { get; set; }
public string email { get; set; }
public string weixinid { get; set; }
public string avatar_mediaid { get; set; }
public int enable { get; set; }
public List<WeixinAttr> extattr { get; set; }
public WeixinUser()
{
department = new List<int>();
extattr = new List<WeixinAttr>();
enable = -1;
}
public string ToJsonString()
{
StringBuilder sb = new StringBuilder();
sb.Append("{");
sb.Append("\"userid\":\"" + this.userid + "\",");
if (string.IsNullOrEmpty(name)==false) sb.Append("\"name\":\"" + this.name + "\",");
if (department.Count > 0)
{
sb.Append("\"department\":[");
foreach (int item in department)
{
sb.Append(item);
int index = department.IndexOf(item);
if (index < department.Count-1) sb.Append(",");
}
sb.Append("],");
}
if (string.IsNullOrEmpty(position) == false) sb.Append("\"position\":\"" + this.position + "\",");
if (string.IsNullOrEmpty(mobile) == false) sb.Append("\"mobile\":\"" + this.mobile + "\",");
if (string.IsNullOrEmpty(gender) == false) sb.Append("\"gender\":\"" + this.gender + "\",");
if (string.IsNullOrEmpty(email) == false) sb.Append("\"email\":\"" + this.email + "\",");
if (string.IsNullOrEmpty(weixinid) == false) sb.Append("\"weixinid\":\"" + this.weixinid + "\",");
if (this.enable>=0) sb.Append("\"enable\":" + this.enable + ",");
if (string.IsNullOrEmpty(avatar_mediaid) == false) sb.Append("\"avatar_mediaid\":\"" + this.avatar_mediaid + "\",");
if (extattr.Count > 0)
{
sb.Append("\"extattr\": {\"attrs\":");
sb.Append("[");
foreach (var item in extattr)
{
sb.Append(item.ToJsonString());
int index = extattr.IndexOf(item);
if (index < extattr.Count-1) sb.Append(",");
}
sb.Append("]");
sb.Append("}");
sb.Append("}");
return sb.ToString();
}
else
{
string s = sb.ToString();
s = s.Remove(s.Length-1);
s += "}";
return s;
}
}
}
public class WeixinAttr
{
public string name { get; set; }
public string value { get; set; }
public string ToJsonString()
{
StringBuilder sb = new StringBuilder();
sb.Append("{");
sb.Append("\"name\":\"" + this.name + "\",");
sb.Append("\"value\":\"" + this.value + "\"");
sb.Append("}");
return sb.ToString();
}
}
public class WeixinUserResult : WeixinResult
{
public string UserId { get; set; }
public string DeviceId { get; set; }
public string OpenId { get; set; }
public string user_ticket { get; set; }
public string expires_in { get; set; }
}
public class WeixinUserResult2
{
public string openid { get; set; }
public string sex { get; set; }
public string nickname { get; set; }
public string province { get; set; }
public string city { get; set; }
public string country { get; set; }
public string unionid { get; set; }
public string headimgurl { get; set; }
public int errcode { get; set; }
public string errmsg { get; set; }
}
public class WeixinPayOddResult
{
public string error { get; set; }
public string timeStamp { get; set; }
public string nonceStr { get; set; }
public string package { get; set; }
public string paySign { get; set; }
}
}