com.taptap.sdk.leaderboard 4.7.0-alpha.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Mobile/Editor/NativeDependencies.xml +10 -0
- package/Mobile/Editor/NativeDependencies.xml.meta +7 -0
- package/Mobile/Editor/TapLeaderboardMobileProcessBuild.cs +24 -0
- package/Mobile/Editor/TapLeaderboardMobileProcessBuild.cs.meta +11 -0
- package/Mobile/Editor/TapSDK.Leaderboard.Mobile.Editor.asmdef +17 -0
- package/Mobile/Editor/TapSDK.Leaderboard.Mobile.Editor.asmdef.meta +7 -0
- package/Mobile/Editor.meta +8 -0
- package/Mobile/Runtime/TapSDK.Leaderboard.Mobile.Runtime.asmdef +20 -0
- package/Mobile/Runtime/TapSDK.Leaderboard.Mobile.Runtime.asmdef.meta +7 -0
- package/Mobile/Runtime/TapTapLeaderboardImpl.cs +361 -0
- package/Mobile/Runtime/TapTapLeaderboardImpl.cs.meta +11 -0
- package/Mobile/Runtime.meta +8 -0
- package/Mobile.meta +8 -0
- package/Runtime/Internal/TapTapLeaderboardManager.cs +70 -0
- package/Runtime/Internal/TapTapLeaderboardManager.cs.meta +11 -0
- package/Runtime/Internal.meta +8 -0
- package/Runtime/Public/ILeaderboardPlatform.cs +91 -0
- package/Runtime/Public/ILeaderboardPlatform.cs.meta +11 -0
- package/Runtime/Public/ITapTapLeaderboard.cs +69 -0
- package/Runtime/Public/ITapTapLeaderboard.cs.meta +11 -0
- package/Runtime/Public/ITapTapLeaderboardResponseCallback.cs +35 -0
- package/Runtime/Public/ITapTapLeaderboardResponseCallback.cs.meta +3 -0
- package/Runtime/Public/Image.cs +72 -0
- package/Runtime/Public/Image.cs.meta +3 -0
- package/Runtime/Public/Leaderboard.cs +67 -0
- package/Runtime/Public/Leaderboard.cs.meta +11 -0
- package/Runtime/Public/LeaderboardCallback.cs +25 -0
- package/Runtime/Public/LeaderboardCallback.cs.meta +7 -0
- package/Runtime/Public/LeaderboardShareCallback.cs +36 -0
- package/Runtime/Public/LeaderboardShareCallback.cs.meta +7 -0
- package/Runtime/Public/Score.cs +78 -0
- package/Runtime/Public/Score.cs.meta +3 -0
- package/Runtime/Public/TapLeaderboardModels.cs +148 -0
- package/Runtime/Public/TapLeaderboardModels.cs.meta +11 -0
- package/Runtime/Public/TapTapLeaderboard.cs +145 -0
- package/Runtime/Public/TapTapLeaderboard.cs.meta +11 -0
- package/Runtime/Public.meta +8 -0
- package/Runtime/TapSDK.Leaderboard.Runtime.asmdef +15 -0
- package/Runtime/TapSDK.Leaderboard.Runtime.asmdef.meta +7 -0
- package/Runtime.meta +8 -0
- package/package.json +12 -0
- package/package.json.meta +7 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
using System.Collections.Generic;
|
|
2
|
+
|
|
3
|
+
namespace TapSDK.Leaderboard
|
|
4
|
+
{
|
|
5
|
+
/// <summary>
|
|
6
|
+
/// 排行榜平台接口
|
|
7
|
+
/// </summary>
|
|
8
|
+
public interface ILeaderboardPlatform
|
|
9
|
+
{
|
|
10
|
+
/// <summary>
|
|
11
|
+
/// 打开排行榜界面
|
|
12
|
+
/// </summary>
|
|
13
|
+
/// <param name="leaderboardId">排行榜ID</param>
|
|
14
|
+
/// <param name="collection">排行榜集合类型</param>
|
|
15
|
+
void OpenLeaderboard(string leaderboardId, string collection);
|
|
16
|
+
|
|
17
|
+
/// <summary>
|
|
18
|
+
/// 打开用户资料界面
|
|
19
|
+
/// </summary>
|
|
20
|
+
/// <param name="openId">用户OpenID</param>
|
|
21
|
+
/// <param name="unionId">用户UnionID</param>
|
|
22
|
+
void OpenUserProfile(string openId, string unionId);
|
|
23
|
+
|
|
24
|
+
/// <summary>
|
|
25
|
+
/// 提交分数
|
|
26
|
+
/// </summary>
|
|
27
|
+
/// <param name="scores">分数列表</param>
|
|
28
|
+
/// <param name="callback">回调</param>
|
|
29
|
+
void SubmitScores(List<SubmitScoresRequest.ScoreItem> scores,
|
|
30
|
+
ITapTapLeaderboardResponseCallback<SubmitScoresResponse> callback);
|
|
31
|
+
|
|
32
|
+
/// <summary>
|
|
33
|
+
/// 加载排行榜分数
|
|
34
|
+
/// </summary>
|
|
35
|
+
/// <param name="leaderboardId">排行榜ID</param>
|
|
36
|
+
/// <param name="leaderboardCollection">排行榜集合类型</param>
|
|
37
|
+
/// <param name="nextPage">下一页标识</param>
|
|
38
|
+
/// <param name="periodToken">周期标识</param>
|
|
39
|
+
/// <param name="callback">回调</param>
|
|
40
|
+
void LoadLeaderboardScores(
|
|
41
|
+
string leaderboardId,
|
|
42
|
+
string leaderboardCollection,
|
|
43
|
+
string nextPage,
|
|
44
|
+
string periodToken,
|
|
45
|
+
ITapTapLeaderboardResponseCallback<LeaderboardScoreResponse> callback);
|
|
46
|
+
|
|
47
|
+
/// <summary>
|
|
48
|
+
/// 加载当前玩家排行榜分数
|
|
49
|
+
/// </summary>
|
|
50
|
+
/// <param name="leaderboardId">排行榜ID</param>
|
|
51
|
+
/// <param name="leaderboardCollection">排行榜集合类型</param>
|
|
52
|
+
/// <param name="periodToken">周期标识</param>
|
|
53
|
+
/// <param name="callback">回调</param>
|
|
54
|
+
void LoadCurrentPlayerLeaderboardScore(string leaderboardId,
|
|
55
|
+
string leaderboardCollection,
|
|
56
|
+
string periodToken,
|
|
57
|
+
ITapTapLeaderboardResponseCallback<UserScoreResponse> callback);
|
|
58
|
+
|
|
59
|
+
/// <summary>
|
|
60
|
+
/// 加载以玩家为中心的分数
|
|
61
|
+
/// </summary>
|
|
62
|
+
/// <param name="leaderboardId">排行榜ID</param>
|
|
63
|
+
/// <param name="leaderboardCollection">排行榜集合类型</param>
|
|
64
|
+
/// <param name="periodToken">周期标识</param>
|
|
65
|
+
/// <param name="maxCount">最大数量</param>
|
|
66
|
+
/// <param name="callback">回调</param>
|
|
67
|
+
void LoadPlayerCenteredScores(string leaderboardId,
|
|
68
|
+
string leaderboardCollection,
|
|
69
|
+
string periodToken,
|
|
70
|
+
int? maxCount,
|
|
71
|
+
ITapTapLeaderboardResponseCallback<LeaderboardScoreResponse> callback);
|
|
72
|
+
|
|
73
|
+
/// <summary>
|
|
74
|
+
/// 设置分享回调
|
|
75
|
+
/// </summary>
|
|
76
|
+
/// <param name="callback">回调</param>
|
|
77
|
+
void SetShareCallback(ITapTapLeaderboardShareCallback callback);
|
|
78
|
+
|
|
79
|
+
/// <summary>
|
|
80
|
+
///
|
|
81
|
+
/// </summary>
|
|
82
|
+
/// <param name="callback"></param>
|
|
83
|
+
void RegisterLeaderboardCallback(ITapTapLeaderboardCallback callback);
|
|
84
|
+
|
|
85
|
+
/// <summary>
|
|
86
|
+
///
|
|
87
|
+
/// </summary>
|
|
88
|
+
/// <param name="callback"></param>
|
|
89
|
+
void UnRegisterLeaderboardCallback(ITapTapLeaderboardCallback callback);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
using System.Collections.Generic;
|
|
2
|
+
|
|
3
|
+
namespace TapSDK.Leaderboard
|
|
4
|
+
{
|
|
5
|
+
public interface ITapTapLeaderboard
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
/// 打开用户资料页面
|
|
9
|
+
/// </summary>
|
|
10
|
+
/// <param name="openId">用户OpenID</param>
|
|
11
|
+
void OpenUserProfile(string openId);
|
|
12
|
+
|
|
13
|
+
/// <summary>
|
|
14
|
+
/// 打开排行榜页面
|
|
15
|
+
/// </summary>
|
|
16
|
+
/// <param name="leaderboardId">排行榜ID</param>
|
|
17
|
+
/// <param name="collection">排行榜集合</param>
|
|
18
|
+
void OpenLeaderboard(string leaderboardId, string collection);
|
|
19
|
+
|
|
20
|
+
/// <summary>
|
|
21
|
+
/// 批量提交用户排行榜分数(一次最多提交5个分数)
|
|
22
|
+
/// </summary>
|
|
23
|
+
/// <param name="scores">分数列表</param>
|
|
24
|
+
void SubmitScores(List<SubmitScoresRequest.ScoreItem> scores);
|
|
25
|
+
|
|
26
|
+
/// <summary>
|
|
27
|
+
/// 获取排行榜数据
|
|
28
|
+
/// </summary>
|
|
29
|
+
/// <param name="leaderboardId">排行榜ID</param>
|
|
30
|
+
/// <param name="leaderboardCollection">排行榜集合</param>
|
|
31
|
+
/// <param name="nextPage">下一页标识</param>
|
|
32
|
+
/// <param name="periodToken">周期标识</param>
|
|
33
|
+
void LoadLeaderboardScores(
|
|
34
|
+
string leaderboardId,
|
|
35
|
+
string leaderboardCollection,
|
|
36
|
+
string nextPage = null,
|
|
37
|
+
string periodToken = null);
|
|
38
|
+
|
|
39
|
+
/// <summary>
|
|
40
|
+
/// 单查用户排行榜数据
|
|
41
|
+
/// </summary>
|
|
42
|
+
/// <param name="leaderboardId">排行榜ID</param>
|
|
43
|
+
/// <param name="leaderboardCollection">排行榜集合</param>
|
|
44
|
+
/// <param name="periodToken">周期标识</param>
|
|
45
|
+
void LoadCurrentPlayerLeaderboardScore(
|
|
46
|
+
string leaderboardId,
|
|
47
|
+
string leaderboardCollection,
|
|
48
|
+
string periodToken = null);
|
|
49
|
+
|
|
50
|
+
/// <summary>
|
|
51
|
+
/// 查询用户相近用户成绩
|
|
52
|
+
/// </summary>
|
|
53
|
+
/// <param name="leaderboardId">排行榜ID</param>
|
|
54
|
+
/// <param name="leaderboardCollection">排行榜集合</param>
|
|
55
|
+
/// <param name="periodToken">周期标识</param>
|
|
56
|
+
/// <param name="maxCount">最大数量,-1表示不限制</param>
|
|
57
|
+
void LoadPlayerCenteredScores(
|
|
58
|
+
string leaderboardId,
|
|
59
|
+
string leaderboardCollection,
|
|
60
|
+
string periodToken = null,
|
|
61
|
+
int? maxCount = null);
|
|
62
|
+
|
|
63
|
+
/// <summary>
|
|
64
|
+
/// 设置分享回调
|
|
65
|
+
/// </summary>
|
|
66
|
+
/// <param name="callback">回调</param>
|
|
67
|
+
void SetShareCallback(ITapTapLeaderboardShareCallback callback);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
namespace TapSDK.Leaderboard
|
|
2
|
+
{
|
|
3
|
+
public interface ITapTapLeaderboardResponseCallback<in T>
|
|
4
|
+
{
|
|
5
|
+
/// <summary>
|
|
6
|
+
/// 成功回调
|
|
7
|
+
/// </summary>
|
|
8
|
+
/// <param name="data">返回的数据</param>
|
|
9
|
+
void OnSuccess(T data);
|
|
10
|
+
|
|
11
|
+
/// <summary>
|
|
12
|
+
/// 失败回调
|
|
13
|
+
/// </summary>
|
|
14
|
+
/// <param name="code"></param>
|
|
15
|
+
/// <param name="message">错误信息</param>
|
|
16
|
+
void OnFailure(int code, string message);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// 辅助回调类
|
|
20
|
+
public class TapTapTapTapLeaderboardResponseCallback<T> : ITapTapLeaderboardResponseCallback<T>
|
|
21
|
+
{
|
|
22
|
+
public System.Action<T> OnSuccessAction { get; set; }
|
|
23
|
+
public System.Action<int, string> OnFailureAction { get; set; }
|
|
24
|
+
|
|
25
|
+
public void OnSuccess(T data)
|
|
26
|
+
{
|
|
27
|
+
OnSuccessAction?.Invoke(data);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public void OnFailure(int code, string message)
|
|
31
|
+
{
|
|
32
|
+
OnFailureAction?.Invoke(code, message);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
using Newtonsoft.Json;
|
|
2
|
+
|
|
3
|
+
namespace TapSDK.Leaderboard
|
|
4
|
+
{
|
|
5
|
+
/// <summary>
|
|
6
|
+
/// 排行榜背景
|
|
7
|
+
/// NOTE: This class was not defined in the provided Kotlin snippet.
|
|
8
|
+
/// It is an assumption based on the 'background: Image?' property.
|
|
9
|
+
/// </summary>
|
|
10
|
+
public class Image
|
|
11
|
+
{
|
|
12
|
+
/// <summary>
|
|
13
|
+
///
|
|
14
|
+
/// </summary>
|
|
15
|
+
[JsonProperty("color")]
|
|
16
|
+
public string color { get; set; }
|
|
17
|
+
|
|
18
|
+
/// <summary>
|
|
19
|
+
///
|
|
20
|
+
/// </summary>
|
|
21
|
+
[JsonProperty("gif_url")]
|
|
22
|
+
public string gifUrl { get; set; }
|
|
23
|
+
|
|
24
|
+
/// <summary>
|
|
25
|
+
///
|
|
26
|
+
/// </summary>
|
|
27
|
+
[JsonProperty("height")]
|
|
28
|
+
public int? height { get; set; }
|
|
29
|
+
|
|
30
|
+
/// <summary>
|
|
31
|
+
///
|
|
32
|
+
/// </summary>
|
|
33
|
+
[JsonProperty("width")]
|
|
34
|
+
public int? width { get; set; }
|
|
35
|
+
|
|
36
|
+
/// <summary>
|
|
37
|
+
///
|
|
38
|
+
/// </summary>
|
|
39
|
+
[JsonProperty("medium_url")]
|
|
40
|
+
public string mediumUrl { get; set; }
|
|
41
|
+
|
|
42
|
+
/// <summary>
|
|
43
|
+
///
|
|
44
|
+
/// </summary>
|
|
45
|
+
[JsonProperty("original_format")]
|
|
46
|
+
public string originalFormat { get; set; }
|
|
47
|
+
|
|
48
|
+
/// <summary>
|
|
49
|
+
///
|
|
50
|
+
/// </summary>
|
|
51
|
+
[JsonProperty("original_size")]
|
|
52
|
+
public int? originalSize { get; set; }
|
|
53
|
+
|
|
54
|
+
/// <summary>
|
|
55
|
+
///
|
|
56
|
+
/// </summary>
|
|
57
|
+
[JsonProperty("original_url")]
|
|
58
|
+
public string originalUrl { get; set; }
|
|
59
|
+
|
|
60
|
+
/// <summary>
|
|
61
|
+
///
|
|
62
|
+
/// </summary>
|
|
63
|
+
[JsonProperty("small_url")]
|
|
64
|
+
public string smallUrl { get; set; }
|
|
65
|
+
|
|
66
|
+
/// <summary>
|
|
67
|
+
///
|
|
68
|
+
/// </summary>
|
|
69
|
+
[JsonProperty("url")]
|
|
70
|
+
public string url { get; set; }
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
using System.Collections.Generic;
|
|
2
|
+
using Newtonsoft.Json;
|
|
3
|
+
|
|
4
|
+
namespace TapSDK.Leaderboard
|
|
5
|
+
{
|
|
6
|
+
/// <summary>
|
|
7
|
+
/// 排行榜信息
|
|
8
|
+
/// </summary>
|
|
9
|
+
public class Leaderboard
|
|
10
|
+
{
|
|
11
|
+
/// <summary>
|
|
12
|
+
/// 可用的时间周期
|
|
13
|
+
/// </summary>
|
|
14
|
+
[JsonProperty("available_periods")]
|
|
15
|
+
public List<Period> availablePeriods { get; set; }
|
|
16
|
+
|
|
17
|
+
/// <summary>
|
|
18
|
+
/// 排行榜背景
|
|
19
|
+
/// </summary>
|
|
20
|
+
[JsonProperty("background")]
|
|
21
|
+
public Image background { get; set; }
|
|
22
|
+
|
|
23
|
+
/// <summary>
|
|
24
|
+
/// 排行榜ID
|
|
25
|
+
/// </summary>
|
|
26
|
+
[JsonProperty("id")]
|
|
27
|
+
public string id { get; set; }
|
|
28
|
+
|
|
29
|
+
/// <summary>
|
|
30
|
+
/// 排行榜名称
|
|
31
|
+
/// </summary>
|
|
32
|
+
[JsonProperty("name")]
|
|
33
|
+
public string name { get; set; }
|
|
34
|
+
|
|
35
|
+
/// <summary>
|
|
36
|
+
/// 当前周期
|
|
37
|
+
/// </summary>
|
|
38
|
+
[JsonProperty("period")]
|
|
39
|
+
public Period period { get; set; }
|
|
40
|
+
|
|
41
|
+
/// <summary>
|
|
42
|
+
/// 排行榜分数
|
|
43
|
+
/// NOTE: The type 'Score' was not defined in the provided Kotlin snippet.
|
|
44
|
+
/// Assuming it corresponds to the existing 'UserScore' class.
|
|
45
|
+
/// </summary>
|
|
46
|
+
[JsonProperty("score")]
|
|
47
|
+
public Score score { get; set; }
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/// <summary>
|
|
51
|
+
/// 时间周期
|
|
52
|
+
/// </summary>
|
|
53
|
+
public class Period
|
|
54
|
+
{
|
|
55
|
+
/// <summary>
|
|
56
|
+
/// 展示文本
|
|
57
|
+
/// </summary>
|
|
58
|
+
[JsonProperty("display")]
|
|
59
|
+
public string display { get; set; }
|
|
60
|
+
|
|
61
|
+
/// <summary>
|
|
62
|
+
/// 周期标识
|
|
63
|
+
/// </summary>
|
|
64
|
+
[JsonProperty("period_token")]
|
|
65
|
+
public string periodToken { get; set; }
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
using System;
|
|
2
|
+
|
|
3
|
+
namespace TapSDK.Leaderboard
|
|
4
|
+
{
|
|
5
|
+
/// <summary>
|
|
6
|
+
/// 排行榜通用回调接口
|
|
7
|
+
/// </summary>
|
|
8
|
+
public interface ITapTapLeaderboardCallback
|
|
9
|
+
{
|
|
10
|
+
/// <summary>
|
|
11
|
+
/// 回调
|
|
12
|
+
/// </summary>
|
|
13
|
+
void OnLeaderboardResult(int code, string message);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
public class TapTapLeaderboardCallback : ITapTapLeaderboardCallback
|
|
17
|
+
{
|
|
18
|
+
public Action<int, string> OnCallbackAction { get; set; }
|
|
19
|
+
|
|
20
|
+
public void OnLeaderboardResult(int code, string message)
|
|
21
|
+
{
|
|
22
|
+
OnCallbackAction?.Invoke(code, message);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
using System;
|
|
2
|
+
|
|
3
|
+
namespace TapSDK.Leaderboard
|
|
4
|
+
{
|
|
5
|
+
/// <summary>
|
|
6
|
+
/// 排行榜分享回调接口
|
|
7
|
+
/// </summary>
|
|
8
|
+
public interface ITapTapLeaderboardShareCallback
|
|
9
|
+
{
|
|
10
|
+
/// <summary>
|
|
11
|
+
/// 分享成功回调
|
|
12
|
+
/// </summary>
|
|
13
|
+
void OnShareSuccess(string localPath);
|
|
14
|
+
|
|
15
|
+
/// <summary>
|
|
16
|
+
/// 分享失败回调
|
|
17
|
+
/// </summary>
|
|
18
|
+
void OnShareFailed(Exception error);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public class TapTapLeaderboardShareCallback : ITapTapLeaderboardShareCallback
|
|
22
|
+
{
|
|
23
|
+
public Action<string> OnShareSuccessAction { get; set; }
|
|
24
|
+
public Action<Exception> OnShareFailedAction { get; set; }
|
|
25
|
+
|
|
26
|
+
public void OnShareSuccess(string localPath)
|
|
27
|
+
{
|
|
28
|
+
OnShareSuccessAction?.Invoke(localPath);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public void OnShareFailed(Exception error)
|
|
32
|
+
{
|
|
33
|
+
OnShareFailedAction?.Invoke(error);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
using System;
|
|
2
|
+
using Newtonsoft.Json;
|
|
3
|
+
|
|
4
|
+
namespace TapSDK.Leaderboard
|
|
5
|
+
{
|
|
6
|
+
/// <summary>
|
|
7
|
+
/// 当前用户的分数信息
|
|
8
|
+
/// </summary>
|
|
9
|
+
public class Score
|
|
10
|
+
{
|
|
11
|
+
/// <summary>
|
|
12
|
+
/// 用户排名
|
|
13
|
+
/// </summary>
|
|
14
|
+
[JsonProperty("rank")]
|
|
15
|
+
public long? rank { get; set; }
|
|
16
|
+
|
|
17
|
+
/// <summary>
|
|
18
|
+
/// 排名展示文本
|
|
19
|
+
/// </summary>
|
|
20
|
+
[JsonProperty("rank_display")]
|
|
21
|
+
public string rankDisplay { get; set; }
|
|
22
|
+
|
|
23
|
+
/// <summary>
|
|
24
|
+
/// 用户分数
|
|
25
|
+
/// </summary>
|
|
26
|
+
[JsonProperty("score")]
|
|
27
|
+
public long? score { get; set; }
|
|
28
|
+
|
|
29
|
+
/// <summary>
|
|
30
|
+
/// 分数展示文本
|
|
31
|
+
/// </summary>
|
|
32
|
+
[JsonProperty("score_display")]
|
|
33
|
+
public string scoreDisplay { get; set; }
|
|
34
|
+
|
|
35
|
+
/// <summary>
|
|
36
|
+
/// 分数提交时间
|
|
37
|
+
/// </summary>
|
|
38
|
+
[JsonProperty("score_submitted_time")]
|
|
39
|
+
public long? scoreSubmittedTime { get; set; }
|
|
40
|
+
|
|
41
|
+
/// <summary>
|
|
42
|
+
/// 用户信息
|
|
43
|
+
/// </summary>
|
|
44
|
+
[JsonProperty("user")]
|
|
45
|
+
public User user { get; set; }
|
|
46
|
+
|
|
47
|
+
/// <summary>
|
|
48
|
+
/// 用户信息
|
|
49
|
+
/// </summary>
|
|
50
|
+
[Serializable]
|
|
51
|
+
public class User
|
|
52
|
+
{
|
|
53
|
+
/// <summary>
|
|
54
|
+
/// 用户头像
|
|
55
|
+
/// </summary>
|
|
56
|
+
[JsonProperty("avatar")]
|
|
57
|
+
public Image avatar { get; set; }
|
|
58
|
+
|
|
59
|
+
/// <summary>
|
|
60
|
+
/// 用户名称
|
|
61
|
+
/// </summary>
|
|
62
|
+
[JsonProperty("name")]
|
|
63
|
+
public string name { get; set; }
|
|
64
|
+
|
|
65
|
+
/// <summary>
|
|
66
|
+
/// 开放平台ID
|
|
67
|
+
/// </summary>
|
|
68
|
+
[JsonProperty("openid")]
|
|
69
|
+
public string openid { get; set; }
|
|
70
|
+
|
|
71
|
+
/// <summary>
|
|
72
|
+
/// 统一ID
|
|
73
|
+
/// </summary>
|
|
74
|
+
[JsonProperty("unionid")]
|
|
75
|
+
public string unionid { get; set; }
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|