1. 程式人生 > >一個net實習生的第一篇博客

一個net實習生的第一篇博客

city 數據格式 現在 三方 AD 目標 通過 獲得 dto

來工作快兩個月了,成長當然還是有的,但有很多做的不好的,很多東西可能沒有深入理解,只能做一些簡單功能,然後有時候可能效率比較低,腦袋比較喜歡亂想。

往後每天就記錄下自己在工作和學習上的事情吧 當然現在的目標還是定位要在能把所有功能實現的階段,性能這方面等以後或者師傅來解決和提點以及自己成長一段時間了。

新項目,要我做個人中心 然後在了解微信和qq的第三方登錄 目前做了微信的一些不完全實現 只做了三步

通過鏈接調到登錄頁面

然後登錄成功回調頁面獲得code

string url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appid + "&redirect_uri=" + redirect_uri + "&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";

然後再通過code獲得access_token

string access_token = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + appid + "&secret=" + AppSecret + "&code=" + code + "&grant_type=authorization_code";

最後access_token獲取個人信息

string Getdate = "https://api.weixin.qq.com/sns/userinfo?access_token=" + tokenDate.access_token + "&openid=" + tokenDate.openid + "&lang=zh_CN";

HttpClient client = new HttpClient();
string json = client.GetStringAsync(access_token).Result;

獲得的數據最後當然也是要反序列化的 旁邊的小師傅建議建立一個實體對應返回的數據格式 然後直接讀取 如下

string getJson = client.GetStringAsync(Getdate).Result;

Backdata da = JsonConvert.DeserializeObject<Backdata>(getJson);

Backdata實體為

public class Backdata
{
/// <summary>
/// 用戶昵稱
/// </summary>
string nickname { get; set; }
/// <summary>
/// 普通用戶性別,1為男性,2為女性
/// </summary>
int sex { get; set; }
/// <summary>
/// 省份
/// </summary>
string province { get; set; }
/// <summary>
/// 用戶頭像
/// </summary>
string headimgurl { get; set; }
/// <summary>
/// 城市
/// </summary>
string city { get; set; }
/// <summary>
/// 國家
/// </summary>
string country { get; set; }
/// <summary>
/// 統一標識
/// </summary>
int unionid { get; set; }
}

然後通過下面反序列化也是可以的

JObject jo = (JObject)JsonConvert.DeserializeObject(reader.ReadToEnd());
string zo = jo["data"]["forecast"].ToString();

一個net實習生的第一篇博客