zhaolei
5 days ago 4a2e5b9a21940f11757be37d99f0944e240e908b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using Prow.OAuth;
#if !NETSTANDARD2_0
using System.Text.Json;
#else
using Newtonsoft.Json.Linq;
#endif
 
namespace Prow.AlipayAuth
{
    /// <summary>
    /// 微信用户信息实体类
    /// </summary>
    public class AlipayUser : OAuthUser
    {
        /// <summary>
        /// 获得/设置 普通用户个人资料填写的省份
        /// </summary>
        public string Province { get; set; } = "";
 
        /// <summary>
        /// 获得/设置 普通用户个人资料填写的城市
        /// </summary>
        public string City { get; set; } = "";
    }
 
    /// <summary>
    /// Alipay 用户扩展操作类
    /// </summary>
    public static class AlipayUserExtensions
    {
        /// <summary>
        /// 格式化为 Alipay 用户方法
        /// </summary>
        /// <param name="element"></param>
        /// <returns></returns>
#if !NETSTANDARD2_0
        public static AlipayUser ToAlipayUser(this JsonElement element)
        {
            var user = new AlipayUser();
            var target = element.EnumerateObject();
            user.Id = target.TryGetValue("user_id");
            user.Login = target.TryGetValue("user_id");
            user.Name = target.TryGetValue("nick_name");
            user.Avatar_Url = target.TryGetValue("avatar");
 
            user.Province = target.TryGetValue("province");
            user.City = target.TryGetValue("city");
            return user;
        }
#else
        public static AlipayUser ToAlipayUser(this JObject element)
        {
            var user = new AlipayUser();
            user.Id = element.Value<string>("user_id");
            user.Login = element.Value<string>("user_id");
            user.Name = element.Value<string>("nick_name");
            user.Avatar_Url = element.Value<string>("avatar");
 
            user.Province = element.Value<string>("province");
            user.City = element.Value<string>("city");
            return user;
        }
#endif
    }
}