feat(work): 封装部分企业微信接口

This commit is contained in:
Fu Diwei
2021-06-05 16:38:00 +08:00
parent 0805414a42
commit 0d6feba1df
93 changed files with 2951 additions and 36 deletions

View File

@@ -80,8 +80,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
/// <summary>
/// <para>异步调用 [GET] /cgi-bin/externalcontact/get 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92113 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92114 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92265 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92322 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/91670 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
@@ -235,6 +237,49 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactUnionIdToExternalUserIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/convert_to_openid 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92323 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92292 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactConvertToOpenIdResponse> ExecuteCgibinExternalContactConvertToOpenIdAsync(this WechatWorkClient client, Models.CgibinExternalContactConvertToOpenIdRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "externalcontact", "convert_to_openid")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactConvertToOpenIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/batch_to_external_userid 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92506 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactBatchToExternalUserIdResponse> ExecuteCgibinExternalContactBatchToExternalUserIdAsync(this WechatWorkClient client, Models.CgibinExternalContactBatchToExternalUserIdRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "externalcontact", "batch_to_external_userid")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactBatchToExternalUserIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#region ContactWay
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/add_contact_way 接口。</para>
@@ -937,6 +982,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/message/send 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/91609 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92321 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92291 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
@@ -958,5 +1005,73 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactMessageSendResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region Subscribe
/// <summary>
/// <para>异步调用 [GET] /cgi-bin/externalcontact/get_subscribe_qr_code 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92320 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92197 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGetSubscribeQrcodeResponse> ExecuteCgibinExternalContactGetSubscribeQrcodeAsync(this WechatWorkClient client, Models.CgibinExternalContactGetSubscribeQrcodeRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Get, "cgi-bin", "externalcontact", "message", "get_subscribe_qr_code")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestAsync<Models.CgibinExternalContactGetSubscribeQrcodeResponse>(flurlReq, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/externalcontact/set_subscribe_mode 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92318 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92290 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactSetSubscribeModeResponse> ExecuteCgibinExternalContactSetSubscribeModeAsync(this WechatWorkClient client, Models.CgibinExternalContactSetSubscribeModeRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "externalcontact", "message", "set_subscribe_mode")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinExternalContactSetSubscribeModeResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [GET] /cgi-bin/externalcontact/get_subscribe_mode 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92318 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92290 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinExternalContactGetSubscribeModeResponse> ExecuteCgibinExternalContactGetSubscribeModeAsync(this WechatWorkClient client, Models.CgibinExternalContactGetSubscribeModeRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Get, "cgi-bin", "externalcontact", "message", "get_subscribe_mode")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestAsync<Models.CgibinExternalContactGetSubscribeModeResponse>(flurlReq, cancellationToken: cancellationToken);
}
#endregion
}
}

View File

@@ -81,6 +81,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
/// <para>异步调用 [POST] /cgi-bin/living/delete_replay_data 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93874 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/93719 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93743 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/93860 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
@@ -170,6 +172,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
/// <para>异步调用 [POST] /cgi-bin/living/get_user_all_livingid 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93634 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/93714 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93739 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/93856 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
@@ -197,7 +201,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinLivingGetWatchStatResponse> ExecuteCgibinLivingGetWatchStatAsync(this WechatWorkClient client, Models.CgibinLivingGetWatchStatRequest request, CancellationToken cancellationToken = default)
public static async Task<Models.CgibinLivingGetWatchStatisticsResponse> ExecuteCgibinLivingGetWatchStatisticsAsync(this WechatWorkClient client, Models.CgibinLivingGetWatchStatisticsRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
@@ -207,7 +211,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinLivingGetWatchStatResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
return await client.SendRequestWithJsonAsync<Models.CgibinLivingGetWatchStatisticsResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
}
}

View File

@@ -0,0 +1,606 @@
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Flurl;
using Flurl.Http;
namespace SKIT.FlurlHttpClient.Wechat.Work
{
public static class WechatWorkClientExecuteCgibinSchoolExtensions
{
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/set_teacher_view_mode 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92652 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolSetTeacherViewModeResponse> ExecuteCgibinSchoolSetTeacherViewModeAsync(this WechatWorkClient client, Models.CgibinSchoolSetTeacherViewModeRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "set_teacher_view_mode")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolSetTeacherViewModeResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [GET] /cgi-bin/school/get_teacher_view_mode 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92652 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolGetTeacherViewModeResponse> ExecuteCgibinSchoolGetTeacherViewModeAsync(this WechatWorkClient client, Models.CgibinSchoolGetTeacherViewModeRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Get, "cgi-bin", "school", "get_teacher_view_mode")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestAsync<Models.CgibinSchoolGetTeacherViewModeResponse>(flurlReq, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/set_arch_sync_mode 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92345 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92083 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolSetArchSyncModeResponse> ExecuteCgibinSchoolSetArchSyncModeAsync(this WechatWorkClient client, Models.CgibinSchoolSetArchSyncModeRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "set_arch_sync_mode")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolSetArchSyncModeResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/set_upgrade_info 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92949 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92950 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolSetUpgradeInfoResponse> ExecuteCgibinSchoolSetUpgradeInfoAsync(this WechatWorkClient client, Models.CgibinSchoolSetUpgradeInfoRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "set_upgrade_info")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolSetUpgradeInfoResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#region User
#region UserStudent
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/user/create_student 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92325 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92035 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserCreateStudentResponse> ExecuteCgibinSchoolUserCreateStudentAsync(this WechatWorkClient client, Models.CgibinSchoolUserCreateStudentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "user", "create_student")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolUserCreateStudentResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [GET] /cgi-bin/school/user/delete_student 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92326 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92039 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserDeleteStudentResponse> ExecuteCgibinSchoolUserDeleteStudentAsync(this WechatWorkClient client, Models.CgibinSchoolUserDeleteStudentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Get, "cgi-bin", "school", "user", "delete_student")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("userid", request.StudentUserId);
return await client.SendRequestAsync<Models.CgibinSchoolUserDeleteStudentResponse>(flurlReq, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/user/update_student 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92327 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92041 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserUpdateStudentResponse> ExecuteCgibinSchoolUserUpdateStudentAsync(this WechatWorkClient client, Models.CgibinSchoolUserUpdateStudentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "user", "update_student")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolUserUpdateStudentResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/user/batch_create_student 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92328 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92037 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserBatchCreateStudentResponse> ExecuteCgibinSchoolUserBatchCreateStudentAsync(this WechatWorkClient client, Models.CgibinSchoolUserBatchCreateStudentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "user", "batch_create_student")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolUserBatchCreateStudentResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/user/batch_delete_student 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92329 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92040 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserBatchDeleteStudentResponse> ExecuteCgibinSchoolUserBatchDeleteStudentAsync(this WechatWorkClient client, Models.CgibinSchoolUserBatchDeleteStudentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "user", "batch_delete_student")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolUserBatchDeleteStudentResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/user/batch_update_student 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92330 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92042 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserBatchUpdateStudentResponse> ExecuteCgibinSchoolUserBatchUpdateStudentAsync(this WechatWorkClient client, Models.CgibinSchoolUserBatchUpdateStudentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "user", "batch_update_student")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolUserBatchUpdateStudentResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
#region UserParent
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/user/create_parent 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92331 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92077 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserCreateParentResponse> ExecuteCgibinSchoolUserCreateParentAsync(this WechatWorkClient client, Models.CgibinSchoolUserCreateParentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "user", "create_parent")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolUserCreateParentResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [GET] /cgi-bin/school/user/delete_parent 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92332 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92079 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserDeleteParentResponse> ExecuteCgibinSchoolUserDeleteParentAsync(this WechatWorkClient client, Models.CgibinSchoolUserDeleteParentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Get, "cgi-bin", "school", "user", "delete_parent")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("userid", request.ParentUserId);
return await client.SendRequestAsync<Models.CgibinSchoolUserDeleteParentResponse>(flurlReq, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/user/update_parent 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92333 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92081 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserUpdateParentResponse> ExecuteCgibinSchoolUserUpdateParentAsync(this WechatWorkClient client, Models.CgibinSchoolUserUpdateParentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "user", "update_parent")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolUserUpdateParentResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/user/batch_create_parent 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92334 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92078 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserBatchCreateParentResponse> ExecuteCgibinSchoolUserBatchCreateParentAsync(this WechatWorkClient client, Models.CgibinSchoolUserBatchCreateParentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "user", "batch_create_parent")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolUserBatchCreateParentResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/user/batch_delete_parent 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92335 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92080 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserBatchDeleteParentResponse> ExecuteCgibinSchoolUserBatchDeleteParentAsync(this WechatWorkClient client, Models.CgibinSchoolUserBatchDeleteParentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "user", "batch_delete_parent")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolUserBatchDeleteParentResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/user/batch_update_parent 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92336 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92082 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserBatchUpdateParentResponse> ExecuteCgibinSchoolUserBatchUpdateParentAsync(this WechatWorkClient client, Models.CgibinSchoolUserBatchUpdateParentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "user", "batch_update_parent")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolUserBatchUpdateParentResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
/// <summary>
/// <para>异步调用 [GET] /cgi-bin/school/user/get 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92337 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92038 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserGetResponse> ExecuteCgibinSchoolUserGetAsync(this WechatWorkClient client, Models.CgibinSchoolUserGetRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Get, "cgi-bin", "school", "user", "get")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("userid", request.StudentOrParentUserId);
return await client.SendRequestAsync<Models.CgibinSchoolUserGetResponse>(flurlReq, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [GET] /cgi-bin/school/user/list 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92338 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92043 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserListResponse> ExecuteCgibinSchoolUserListAsync(this WechatWorkClient client, Models.CgibinSchoolUserListRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Get, "cgi-bin", "school", "user", "list")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("department_id", request.DeparmentId);
if (request.RequireFetchChild.HasValue)
flurlReq.SetQueryParam("fetch_child", request.RequireFetchChild.Value ? 1 : 0);
return await client.SendRequestAsync<Models.CgibinSchoolUserListResponse>(flurlReq, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [GET] /cgi-bin/school/user/list_parent 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92446 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolUserListParentResponse> ExecuteCgibinSchoolUserListParentAsync(this WechatWorkClient client, Models.CgibinSchoolUserListParentRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Get, "cgi-bin", "school", "user", "list_parent")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("department_id", request.DeparmentId);
return await client.SendRequestAsync<Models.CgibinSchoolUserListParentResponse>(flurlReq, cancellationToken: cancellationToken);
}
#endregion
#region Department
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/department/create 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92340 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92296 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolDepartmentCreateResponse> ExecuteCgibinSchoolDepartmentCreateAsync(this WechatWorkClient client, Models.CgibinSchoolDepartmentCreateRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "department", "create")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolDepartmentCreateResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/department/update 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92341 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92297 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolDepartmentUpdateResponse> ExecuteCgibinSchoolDepartmentUpdateAsync(this WechatWorkClient client, Models.CgibinSchoolDepartmentUpdateRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "department", "update")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolDepartmentUpdateResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [GET] /cgi-bin/school/department/delete 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92342 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92298 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolDepartmentDeleteResponse> ExecuteCgibinSchoolDepartmentDeleteAsync(this WechatWorkClient client, Models.CgibinSchoolDepartmentDeleteRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Get, "cgi-bin", "school", "department", "delete")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("id", request.DepartmentId);
return await client.SendRequestAsync<Models.CgibinSchoolDepartmentDeleteResponse>(flurlReq, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [GET] /cgi-bin/school/department/list 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92343 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92299 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolDepartmentListResponse> ExecuteCgibinSchoolDepartmentListAsync(this WechatWorkClient client, Models.CgibinSchoolDepartmentListRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Get, "cgi-bin", "school", "department", "list")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
if (request.DepartmentId.HasValue)
flurlReq.SetQueryParam("id", request.DepartmentId);
return await client.SendRequestAsync<Models.CgibinSchoolDepartmentListResponse>(flurlReq, cancellationToken: cancellationToken);
}
#endregion
#region Living
/// <summary>
/// <para>异步调用 [GET] /cgi-bin/school/living/get_living_info 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93740 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/93857 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolLivingGetLivingInfoResponse> ExecuteCgibinSchoolLivingGetLivingInfoAsync(this WechatWorkClient client, Models.CgibinSchoolLivingGetLivingInfoRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Get, "cgi-bin", "school", "living", "get_living_info")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken)
.SetQueryParam("livingid", request.LivingId);
return await client.SendRequestAsync<Models.CgibinSchoolLivingGetLivingInfoResponse>(flurlReq, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/living/get_watch_stat 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93741 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/93858 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolLivingGetWatchStatisticsResponse> ExecuteCgibinSchoolLivingGetWatchStatisticsAsync(this WechatWorkClient client, Models.CgibinSchoolLivingGetWatchStatisticsRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "living", "get_watch_stat")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolLivingGetWatchStatisticsResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/school/living/get_unwatch_stat 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93742 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/93859 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinSchoolLivingGetUnwatchStatisticsResponse> ExecuteCgibinSchoolLivingGetUnwatchStatisticsAsync(this WechatWorkClient client, Models.CgibinSchoolLivingGetUnwatchStatisticsRequest request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
.CreateRequest(HttpMethod.Post, "cgi-bin", "school", "living", "get_unwatch_stat")
.SetOptions(request)
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinSchoolLivingGetUnwatchStatisticsResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
#endregion
}
}

View File

@@ -223,6 +223,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
/// <para>异步调用 [GET] /cgi-bin/user/getuserinfo 接口。</para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/91023 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/91437 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90000/90135/91707 </para>
/// <para>REF: https://open.work.weixin.qq.com/api/doc/90001/90143/91711 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>

View File

@@ -77,7 +77,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
public string? State { get; set; }
/// <summary>
/// 获取或设置发起添加的用户账号。
/// 获取或设置发起添加的成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("oper_userid")]
[System.Text.Json.Serialization.JsonPropertyName("oper_userid")]

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/batch_to_external_userid 接口的请求。</para>
/// </summary>
public class CgibinExternalContactBatchToExternalUserIdRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置手机号码列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("mobiles")]
[System.Text.Json.Serialization.JsonPropertyName("mobiles")]
public IList<string> MobileNumberList { get; set; } = new List<string>();
}
}

View File

@@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/batch_to_external_userid 接口的响应。</para>
/// </summary>
public class CgibinExternalContactBatchToExternalUserIdResponse : WechatWorkResponse
{
public static class Types
{
public class Result
{
/// <summary>
/// 获取或设置错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("errcode")]
[System.Text.Json.Serialization.JsonPropertyName("errcode")]
public int ErrorCode { get; set; }
/// <summary>
/// 获取或设置错误信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("errmsg")]
[System.Text.Json.Serialization.JsonPropertyName("errmsg")]
public string? ErrorMessage { get; set; }
/// <summary>
/// 获取或设置外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string? ExternalUserId { get; set; }
/// <summary>
/// 获取或设置由企业或服务商在导入家长时指定的关键字。
/// </summary>
[Newtonsoft.Json.JsonProperty("foreign_key")]
[System.Text.Json.Serialization.JsonPropertyName("foreign_key")]
public string? ForergnKey { get; set; }
/// <summary>
/// 获取或设置手机号码。
/// </summary>
[Newtonsoft.Json.JsonProperty("mobile")]
[System.Text.Json.Serialization.JsonPropertyName("mobile")]
public string? MobileNumber { get; set; }
}
}
/// <summary>
/// 获取或设置转换成功结果列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("success_list")]
[System.Text.Json.Serialization.JsonPropertyName("success_list")]
public Types.Result[] SuccessResultList { get; set; } = default!;
/// <summary>
/// 获取或设置转换失败结果列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("fail_list")]
[System.Text.Json.Serialization.JsonPropertyName("fail_list")]
public Types.Result[] FailResultList { get; set; } = default!;
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/convert_to_openid 接口的请求。</para>
/// </summary>
public class CgibinExternalContactConvertToOpenIdRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string ExternalUserId { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/convert_to_openid 接口的响应。</para>
/// </summary>
public class CgibinExternalContactConvertToOpenIdResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置用户 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
public string OpenId { get; set; } = default!;
}
}

View File

@@ -14,6 +14,30 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
public static class Types
{
public class Subscriber
{
/// <summary>
/// 获取或设置学校为家长设置的企业标签 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("tag_id")]
[System.Text.Json.Serialization.JsonPropertyName("tag_id")]
public string[]? TagId { get; set; }
/// <summary>
/// 获取或设置学校为家长设置的备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark")]
[System.Text.Json.Serialization.JsonPropertyName("remark")]
public string? Remark { get; set; }
/// <summary>
/// 获取或设置学校为家长设置的备注手机号码列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark_mobiles")]
[System.Text.Json.Serialization.JsonPropertyName("remark_mobiles")]
public string[]? RemarkMobileNumberList { get; set; }
}
public class ExternalProfile : CgibinUserGetResponse.Types.ExternalProfile
{
}
@@ -33,6 +57,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置由企业或服务商在导入家长时指定的关键字。
/// </summary>
[Newtonsoft.Json.JsonProperty("foreign_key")]
[System.Text.Json.Serialization.JsonPropertyName("foreign_key")]
public string? ForeignKey { get; set; }
/// <summary>
/// 获取或设置外部联系人 UnionId。
/// </summary>
@@ -82,6 +113,22 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
[System.Text.Json.Serialization.JsonPropertyName("corp_full_name")]
public string? CorpFullName { get; set; }
/// <summary>
/// 获取或设置是否关注了“学校通知”。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_subscribe")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("is_subscribe")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedNullableBooleanConverter))]
public bool? IsSubscribe { get; set; }
/// <summary>
/// 获取或设置学校为家长设置的信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("subscriber_info")]
[System.Text.Json.Serialization.JsonPropertyName("subscriber_info")]
public Types.Subscriber? Subscriber { get; set; }
/// <summary>
/// 获取或设置对外属性信息。
/// </summary>
@@ -190,7 +237,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
public string? State { get; set; }
/// <summary>
/// 获取或设置发起添加的用户账号。
/// 获取或设置发起添加的成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("oper_userid")]
[System.Text.Json.Serialization.JsonPropertyName("oper_userid")]

View File

@@ -17,7 +17,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("stat_time")]
[System.Text.Json.Serialization.JsonPropertyName("stat_time")]
public long StatTimestamp { get; set; }
public long StatisticsTimestamp { get; set; }
/// <summary>
/// 获取或设置聊天数。

View File

@@ -13,6 +13,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_id")]
[System.Text.Json.Serialization.JsonPropertyName("chat_id")]
public string ChatId { get; set; } = string.Empty;
public string GroupChatId { get; set; } = string.Empty;
}
}

View File

@@ -72,7 +72,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
public long JoinTimestamp { get; set; }
}
public class Admin
public class Administrator
{
/// <summary>
/// 获取或设置管理员成员账号。
@@ -88,7 +88,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_id")]
[System.Text.Json.Serialization.JsonPropertyName("chat_id")]
public string ChatId { get; set; } = default!;
public string GroupChatId { get; set; } = default!;
/// <summary>
/// 获取或设置客户群名称。
@@ -123,7 +123,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("admin_list")]
[System.Text.Json.Serialization.JsonPropertyName("admin_list")]
public Types.Admin[] AdminList { get; set; } = default!;
public Types.Administrator[] AdministratorList { get; set; } = default!;
/// <summary>
/// 获取或设置创建时间戳。

View File

@@ -17,7 +17,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_id")]
[System.Text.Json.Serialization.JsonPropertyName("chat_id")]
public string ChatId { get; set; } = default!;
public string GroupChatId { get; set; } = default!;
/// <summary>
/// 获取或设置跟进状态。

View File

@@ -13,7 +13,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_id_list")]
[System.Text.Json.Serialization.JsonPropertyName("chat_id_list")]
public IList<string> ChatIdList { get; set; } = new List<string>();
public IList<string> GroupChatIdList { get; set; } = new List<string>();
/// <summary>
/// 获取或设置新群主成员账号。

View File

@@ -17,7 +17,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_id")]
[System.Text.Json.Serialization.JsonPropertyName("chat_id")]
public string ChatId { get; set; } = default!;
public string GroupChatId { get; set; } = default!;
/// <summary>
/// 获取或设置错误码。

View File

@@ -24,7 +24,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("stat_time")]
[System.Text.Json.Serialization.JsonPropertyName("stat_time")]
public long StatTimestamp { get; set; }
public long StatisticsTimestamp { get; set; }
/// <summary>
/// 获取或设置统计数据。

View File

@@ -24,7 +24,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("chat_id")]
[System.Text.Json.Serialization.JsonPropertyName("chat_id")]
public string? ChatId { get; set; }
public string? GroupChatId { get; set; }
/// <summary>
/// 获取或设置外部联系人账号。

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/externalcontact/get_subscribe_mode 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGetSubscribeModeRequest : WechatWorkRequest
{
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/externalcontact/get_subscribe_mode 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGetSubscribeModeResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置关注模式。
/// </summary>
[Newtonsoft.Json.JsonProperty("subscribe_mode")]
[System.Text.Json.Serialization.JsonPropertyName("subscribe_mode")]
public int SubscribeMode { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/externalcontact/get_subscribe_qr_code 接口的请求。</para>
/// </summary>
public class CgibinExternalContactGetSubscribeQrcodeRequest : WechatWorkRequest
{
}
}

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/externalcontact/get_subscribe_qr_code 接口的响应。</para>
/// </summary>
public class CgibinExternalContactGetSubscribeQrcodeResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置大尺寸二维码 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("qrcode_big")]
[System.Text.Json.Serialization.JsonPropertyName("qrcode_big")]
public string BigSizeQrcodeUrl { get; set; } = default!;
/// <summary>
/// 获取或设置中尺寸二维码 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("qrcode_middle")]
[System.Text.Json.Serialization.JsonPropertyName("qrcode_middle")]
public string MiddleSizeQrcodeUrl { get; set; } = default!;
/// <summary>
/// 获取或设置小尺寸二维码 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("qrcode_thumb")]
[System.Text.Json.Serialization.JsonPropertyName("qrcode_thumb")]
public string SmallSizeQrcodeUrl { get; set; } = default!;
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/set_subscribe_mode 接口的请求。</para>
/// </summary>
public class CgibinExternalContactSetSubscribeModeRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置关注模式。
/// </summary>
[Newtonsoft.Json.JsonProperty("subscribe_mode")]
[System.Text.Json.Serialization.JsonPropertyName("subscribe_mode")]
public int SubscribeMode { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/externalcontact/set_subscribe_mode 接口的响应。</para>
/// </summary>
public class CgibinExternalContactSetSubscribeModeResponse : WechatWorkResponse
{
}
}

View File

@@ -10,7 +10,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
public static class Types
{
public class Customer
public class Result
{
/// <summary>
/// 获取或设置错误码。
@@ -29,10 +29,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
}
/// <summary>
/// 获取或设置客户列表。
/// 获取或设置结果列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("customer")]
[System.Text.Json.Serialization.JsonPropertyName("customer")]
public Types.Customer[] CustomerList { get; set; } = default!;
public Types.Result[] ResultList { get; set; } = default!;
}
}

View File

@@ -4,7 +4,7 @@ using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/meeting/get_living_info 接口的请求。</para>
/// <para>表示 [GET] /cgi-bin/living/get_living_info 接口的请求。</para>
/// </summary>
public class CgibinLivingGetLivingInfoRequest : WechatWorkRequest
{

View File

@@ -4,7 +4,7 @@ using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/meeting/get_living_info 接口的响应。</para>
/// <para>表示 [GET] /cgi-bin/living/get_living_info 接口的响应。</para>
/// </summary>
public class CgibinLivingGetLivingInfoResponse : WechatWorkResponse
{

View File

@@ -4,7 +4,7 @@ using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/get_living_share_info 接口的请求。</para>
/// <para>表示 [POST] /cgi-bin/living/get_living_share_info 接口的请求。</para>
/// </summary>
public class CgibinLivingGetLivingShareInfoRequest : WechatWorkRequest
{

View File

@@ -4,7 +4,7 @@ using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/get_living_share_info 接口的响应。</para>
/// <para>表示 [POST] /cgi-bin/living/get_living_share_info 接口的响应。</para>
/// </summary>
public class CgibinLivingGetLivingShareInfoResponse : WechatWorkResponse
{

View File

@@ -6,7 +6,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// <summary>
/// <para>表示 [POST] /cgi-bin/living/get_watch_stat 接口的请求。</para>
/// </summary>
public class CgibinLivingGetWatchStatRequest : WechatWorkRequest
public class CgibinLivingGetWatchStatisticsRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置直播 ID。
@@ -20,6 +20,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("next_key")]
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
public string? NextKey { get; set; }
public string? NextCursor { get; set; }
}
}

View File

@@ -6,7 +6,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// <summary>
/// <para>表示 [POST] /cgi-bin/living/get_watch_stat 接口的响应。</para>
/// </summary>
public class CgibinLivingGetWatchStatResponse : WechatWorkResponse
public class CgibinLivingGetWatchStatisticsResponse : WechatWorkResponse
{
public static class Types
{
@@ -136,6 +136,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("next_key")]
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
public string? NextKey { get; set; }
public string? NextCursor { get; set; }
}
}

View File

@@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
public class CgibinMiniProgramTransferSessionRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置用户账号。
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]

View File

@@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
public class CgibinMiniProgramTransferSessionResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置下级企业的用户账号。
/// 获取或设置下级企业的成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/get_teacher_view_mode 接口的请求。</para>
/// </summary>
public class CgibinSchoolGetTeacherViewModeRequest : WechatWorkRequest
{
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/get_teacher_view_mode 接口的响应。</para>
/// </summary>
public class CgibinSchoolGetTeacherViewModeResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置查看模式。
/// </summary>
[Newtonsoft.Json.JsonProperty("view_mode")]
[System.Text.Json.Serialization.JsonPropertyName("view_mode")]
public int ViewMode { get; set; }
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/set_arch_sync_mode 接口的请求。</para>
/// </summary>
public class CgibinSchoolSetArchSyncModeRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置家校通讯录同步模式。
/// </summary>
[Newtonsoft.Json.JsonProperty("arch_sync_mode")]
[System.Text.Json.Serialization.JsonPropertyName("arch_sync_mode")]
public int ArchSyncMode { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/set_arch_sync_mode 接口的响应。</para>
/// </summary>
public class CgibinSchoolSetArchSyncModeResponse : WechatWorkResponse
{
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/set_teacher_view_mode 接口的请求。</para>
/// </summary>
public class CgibinSchoolSetTeacherViewModeRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置查看模式。
/// </summary>
[Newtonsoft.Json.JsonProperty("view_mode")]
[System.Text.Json.Serialization.JsonPropertyName("view_mode")]
public int ViewMode { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/set_teacher_view_mode 接口的响应。</para>
/// </summary>
public class CgibinSchoolSetTeacherViewModeResponse : WechatWorkResponse
{
}
}

View File

@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/set_upgrade_info 接口的请求。</para>
/// </summary>
public class CgibinSchoolSetUpgradeInfoRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置是否自动升年级。
/// </summary>
[Newtonsoft.Json.JsonProperty("upgrade_switch")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("upgrade_switch")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))]
public bool UpgradeSwitch { get; set; }
/// <summary>
/// 获取或设置自动升年级的时间戳(仅月日有效)。
/// </summary>
[Newtonsoft.Json.JsonProperty("upgrade_time")]
[System.Text.Json.Serialization.JsonPropertyName("upgrade_time")]
public long? UpgradeTimestamp { get; set; }
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/set_upgrade_info 接口的响应。</para>
/// </summary>
public class CgibinSchoolSetUpgradeInfoResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置下次升年级的时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_upgrade_time")]
[System.Text.Json.Serialization.JsonPropertyName("next_upgrade_time")]
public long NextUpgradeTimestamp { get; set; }
}
}

View File

@@ -0,0 +1,94 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/department/create 接口的请求。</para>
/// </summary>
public class CgibinSchoolDepartmentCreateRequest : WechatWorkRequest
{
public static class Types
{
public class Administrator
{
/// <summary>
/// 获取或设置管理员成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置管理员类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public int Type { get; set; }
/// <summary>
/// 获取或设置教师科目。
/// </summary>
[Newtonsoft.Json.JsonProperty("subject")]
[System.Text.Json.Serialization.JsonPropertyName("subject")]
public string? Subject { get; set; }
}
}
/// <summary>
/// 获取或设置部门 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public int? DepartmentId { get; set; }
/// <summary>
/// 获取或设置部门名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 获取或设置部门类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public int Type { get; set; }
/// <summary>
/// 获取或设置上级部门 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("parentid")]
[System.Text.Json.Serialization.JsonPropertyName("parentid")]
public int ParentDepartmentId { get; set; }
/// <summary>
/// 获取或设置标准年级。
/// </summary>
[Newtonsoft.Json.JsonProperty("standard_grade")]
[System.Text.Json.Serialization.JsonPropertyName("standard_grade")]
public int? StandardGrade { get; set; }
/// <summary>
/// 获取或设置入学年份。
/// </summary>
[Newtonsoft.Json.JsonProperty("register_year")]
[System.Text.Json.Serialization.JsonPropertyName("register_year")]
public int? RegisterYear { get; set; }
/// <summary>
/// 获取或设置排序值。
/// </summary>
[Newtonsoft.Json.JsonProperty("order")]
[System.Text.Json.Serialization.JsonPropertyName("order")]
public int? Order { get; set; }
/// <summary>
/// 获取或设置部门管理员列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("department_admins")]
[System.Text.Json.Serialization.JsonPropertyName("department_admins")]
public IList<Types.Administrator>? AdministratorList { get; set; }
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/department/create 接口的响应。</para>
/// </summary>
public class CgibinSchoolDepartmentCreateResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置部门 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public int DepartmentId { get; set; }
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/department/delete 接口的请求。</para>
/// </summary>
public class CgibinSchoolDepartmentDeleteRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置部门 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public int DepartmentId { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/department/delete 接口的响应。</para>
/// </summary>
public class CgibinSchoolDepartmentDeleteResponse : WechatWorkResponse
{
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/department/list 接口的请求。</para>
/// </summary>
public class CgibinSchoolDepartmentListRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置指定部门 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public int? DepartmentId { get; set; }
}
}

View File

@@ -0,0 +1,133 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/department/list 接口的响应。</para>
/// </summary>
public class CgibinSchoolDepartmentListResponse : WechatWorkResponse
{
public static class Types
{
public class Department
{
public static class Types
{
public class Administrator
{
/// <summary>
/// 获取或设置管理员成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
/// <summary>
/// 获取或设置管理员类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public int Type { get; set; }
/// <summary>
/// 获取或设置教师科目。
/// </summary>
[Newtonsoft.Json.JsonProperty("subject")]
[System.Text.Json.Serialization.JsonPropertyName("subject")]
public string? Subject { get; set; }
}
}
/// <summary>
/// 获取或设置部门 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public int DepartmentId { get; set; }
/// <summary>
/// 获取或设置部门名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置部门类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public int Type { get; set; }
/// <summary>
/// 获取或设置上级部门 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("parentid")]
[System.Text.Json.Serialization.JsonPropertyName("parentid")]
public int ParentDepartmentId { get; set; }
/// <summary>
/// 获取或设置标准年级。
/// </summary>
[Newtonsoft.Json.JsonProperty("standard_grade")]
[System.Text.Json.Serialization.JsonPropertyName("standard_grade")]
public int? StandardGrade { get; set; }
/// <summary>
/// 获取或设置入学年份。
/// </summary>
[Newtonsoft.Json.JsonProperty("register_year")]
[System.Text.Json.Serialization.JsonPropertyName("register_year")]
public int? RegisterYear { get; set; }
/// <summary>
/// 获取或设置排序值。
/// </summary>
[Newtonsoft.Json.JsonProperty("order")]
[System.Text.Json.Serialization.JsonPropertyName("order")]
public int? Order { get; set; }
/// <summary>
/// 获取或设置部门管理员列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("department_admins")]
[System.Text.Json.Serialization.JsonPropertyName("department_admins")]
public Types.Administrator[] AdministratorList { get; set; } = default!;
/// <summary>
/// 获取或设置是否已毕业。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_graduated")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("is_graduated")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedNullableBooleanConverter))]
public bool? IsGraduated { get; set; }
/// <summary>
/// 获取或设置是否开启客户群(即班级群)。
/// </summary>
[Newtonsoft.Json.JsonProperty("open_group_chat")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("open_group_chat")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedNullableBooleanConverter))]
public bool? IsOpenGroupChat { get; set; }
/// <summary>
/// 获取或设置客户群即班级群ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("group_chat_id")]
[System.Text.Json.Serialization.JsonPropertyName("group_chat_id")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedStringConverter))]
public string? GroupChatId { get; set; }
}
}
/// <summary>
/// 获取或设置部门列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("departments")]
[System.Text.Json.Serialization.JsonPropertyName("departments")]
public Types.Department[] DepartmentList { get; set; } = default!;
}
}

View File

@@ -0,0 +1,101 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/department/update 接口的请求。</para>
/// </summary>
public class CgibinSchoolDepartmentUpdateRequest : WechatWorkRequest
{
public static class Types
{
public class Administrator
{
/// <summary>
/// 获取或设置操作类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("op")]
[System.Text.Json.Serialization.JsonPropertyName("op")]
public int OperationType { get; set; }
/// <summary>
/// 获取或设置管理员成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置管理员类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public int? Type { get; set; }
/// <summary>
/// 获取或设置教师科目。
/// </summary>
[Newtonsoft.Json.JsonProperty("subject")]
[System.Text.Json.Serialization.JsonPropertyName("subject")]
public string? Subject { get; set; }
}
}
/// <summary>
/// 获取或设置部门 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public int DepartmentId { get; set; }
/// <summary>
/// 获取或设置新的部门 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("new_id")]
[System.Text.Json.Serialization.JsonPropertyName("new_id")]
public int? NewDepartmentId { get; set; }
/// <summary>
/// 获取或设置部门名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string? Name { get; set; }
/// <summary>
/// 获取或设置上级部门 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("parentid")]
[System.Text.Json.Serialization.JsonPropertyName("parentid")]
public int? ParentDepartmentId { get; set; }
/// <summary>
/// 获取或设置标准年级。
/// </summary>
[Newtonsoft.Json.JsonProperty("standard_grade")]
[System.Text.Json.Serialization.JsonPropertyName("standard_grade")]
public int? StandardGrade { get; set; }
/// <summary>
/// 获取或设置入学年份。
/// </summary>
[Newtonsoft.Json.JsonProperty("register_year")]
[System.Text.Json.Serialization.JsonPropertyName("register_year")]
public int? RegisterYear { get; set; }
/// <summary>
/// 获取或设置排序值。
/// </summary>
[Newtonsoft.Json.JsonProperty("order")]
[System.Text.Json.Serialization.JsonPropertyName("order")]
public int? Order { get; set; }
/// <summary>
/// 获取或设置部门管理员列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("department_admins")]
[System.Text.Json.Serialization.JsonPropertyName("department_admins")]
public IList<Types.Administrator>? AdministratorList { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/department/update 接口的响应。</para>
/// </summary>
public class CgibinSchoolDepartmentUpdateResponse : WechatWorkResponse
{
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/living/get_living_info 接口的请求。</para>
/// </summary>
public class CgibinSchoolLivingGetLivingInfoRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置直播 ID。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string LivingId { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,109 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/living/get_living_info 接口的响应。</para>
/// </summary>
public class CgibinSchoolLivingGetLivingInfoResponse : WechatWorkResponse
{
public static class Types
{
public class Living
{
public static class Types
{
public class LivingRange
{
/// <summary>
/// 获取或设置部门 ID即班级列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("partyids")]
[System.Text.Json.Serialization.JsonPropertyName("partyids")]
public int[]? DepartmentIdList { get; set; }
/// <summary>
/// 获取或设置客户群(即班级群)名称列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("group_names")]
[System.Text.Json.Serialization.JsonPropertyName("group_names")]
public string[]? GroupChatNameList { get; set; }
}
}
/// <summary>
/// 获取或设置主播成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("anchor_userid")]
[System.Text.Json.Serialization.JsonPropertyName("anchor_userid")]
public string AnchorUserId { get; set; } = default!;
/// <summary>
/// 获取或设置直播标题。
/// </summary>
[Newtonsoft.Json.JsonProperty("theme")]
[System.Text.Json.Serialization.JsonPropertyName("theme")]
public string Theme { get; set; } = default!;
/// <summary>
/// 获取或设置直播开始时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("living_start")]
[System.Text.Json.Serialization.JsonPropertyName("living_start")]
public long StartTimestamp { get; set; }
/// <summary>
/// 获取或设置直播持续时长(单位:秒)。
/// </summary>
[Newtonsoft.Json.JsonProperty("living_duration")]
[System.Text.Json.Serialization.JsonPropertyName("living_duration")]
public int Duration { get; set; }
/// <summary>
/// 获取或设置直播范围。
/// </summary>
[Newtonsoft.Json.JsonProperty("living_range")]
[System.Text.Json.Serialization.JsonPropertyName("living_range")]
public Types.LivingRange Range { get; set; } = default!;
/// <summary>
/// 获取或设置是否开启回放。
/// </summary>
[Newtonsoft.Json.JsonProperty("open_replay")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("open_replay")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))]
public bool IsOpenReplay { get; set; }
/// <summary>
/// 获取或设置观众总人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("viewer_num")]
[System.Text.Json.Serialization.JsonPropertyName("viewer_num")]
public int ViewerCount { get; set; }
/// <summary>
/// 获取或设置评论数。
/// </summary>
[Newtonsoft.Json.JsonProperty("comment_num")]
[System.Text.Json.Serialization.JsonPropertyName("comment_num")]
public int CommentCount { get; set; }
/// <summary>
/// 获取或设置推流地址 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("push_stream_url")]
[System.Text.Json.Serialization.JsonPropertyName("push_stream_url")]
public string? PushStreamUrl { get; set; }
}
}
/// <summary>
/// 获取或设置直播信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("living_info")]
[System.Text.Json.Serialization.JsonPropertyName("living_info")]
public Types.Living Living { get; set; } = default!;
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/living/get_unwatch_stat 接口的请求。</para>
/// </summary>
public class CgibinSchoolLivingGetUnwatchStatisticsRequest : CgibinSchoolLivingGetWatchStatisticsRequest
{
}
}

View File

@@ -0,0 +1,74 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/living/get_unwatch_stat 接口的响应。</para>
/// </summary>
public class CgibinSchoolLivingGetUnwatchStatisticsResponse : WechatWorkResponse
{
public static class Types
{
public class Statistics
{
public static class Types
{
public class Student
{
/// <summary>
/// 获取或设置学生账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("student_userid")]
[System.Text.Json.Serialization.JsonPropertyName("student_userid")]
public string? StudentUserId { get; set; }
/// <summary>
/// 获取或设置家长账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("parent_userid")]
[System.Text.Json.Serialization.JsonPropertyName("parent_userid")]
public string? ParentUserId { get; set; }
/// <summary>
/// 获取或设置学生所在的部门 ID即班级列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("partyids")]
[System.Text.Json.Serialization.JsonPropertyName("partyids")]
public int[] DepartmentIdList { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置学生列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("students")]
[System.Text.Json.Serialization.JsonPropertyName("students")]
public Types.Student[] StudentList { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置统计信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("stat_info")]
[System.Text.Json.Serialization.JsonPropertyName("stat_info")]
public Types.Statistics Statistics { get; set; } = default!;
/// <summary>
/// 获取或设置翻页是否结束。
/// </summary>
[Newtonsoft.Json.JsonProperty("ending")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("ending")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))]
public bool IsEnding { get; set; }
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_key")]
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
public string? NextCursor { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/living/get_watch_stat 接口的请求。</para>
/// </summary>
public class CgibinSchoolLivingGetWatchStatisticsRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置直播 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("livingid")]
[System.Text.Json.Serialization.JsonPropertyName("livingid")]
public string LivingId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_key")]
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
public string? NextCursor { get; set; }
}
}

View File

@@ -0,0 +1,151 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/living/get_watch_stat 接口的响应。</para>
/// </summary>
public class CgibinSchoolLivingGetWatchStatisticsResponse : WechatWorkResponse
{
public static class Types
{
public class Statistics
{
public static class Types
{
public class Student
{
/// <summary>
/// 获取或设置学生账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("student_userid")]
[System.Text.Json.Serialization.JsonPropertyName("student_userid")]
public string? StudentUserId { get; set; }
/// <summary>
/// 获取或设置家长账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("parent_userid")]
[System.Text.Json.Serialization.JsonPropertyName("parent_userid")]
public string? ParentUserId { get; set; }
/// <summary>
/// 获取或设置学生所在的部门 ID即班级列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("partyids")]
[System.Text.Json.Serialization.JsonPropertyName("partyids")]
public int[] DepartmentIdList { get; set; } = default!;
/// <summary>
/// 获取或设置观看时长(单位:秒)。
/// </summary>
[Newtonsoft.Json.JsonProperty("watch_time")]
[System.Text.Json.Serialization.JsonPropertyName("watch_time")]
public int WatchTime { get; set; }
/// <summary>
/// 获取或设置首次进入直播时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("enter_time")]
[System.Text.Json.Serialization.JsonPropertyName("enter_time")]
public long EnterTimestamp { get; set; }
/// <summary>
/// 获取或设置最后离开直播时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("leave_time")]
[System.Text.Json.Serialization.JsonPropertyName("leave_time")]
public long LeaveTimestamp { get; set; }
/// <summary>
/// 获取或设置是否评论。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_comment")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("is_comment")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))]
public bool IsComment { get; set; }
}
public class Visitor
{
/// <summary>
/// 获取或设置微信昵称。
/// </summary>
[Newtonsoft.Json.JsonProperty("nickname")]
[System.Text.Json.Serialization.JsonPropertyName("nickname")]
public string? Nickname { get; set; }
/// <summary>
/// 获取或设置观看时长(单位:秒)。
/// </summary>
[Newtonsoft.Json.JsonProperty("watch_time")]
[System.Text.Json.Serialization.JsonPropertyName("watch_time")]
public int WatchTime { get; set; }
/// <summary>
/// 获取或设置首次进入直播时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("enter_time")]
[System.Text.Json.Serialization.JsonPropertyName("enter_time")]
public long EnterTimestamp { get; set; }
/// <summary>
/// 获取或设置最后离开直播时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("leave_time")]
[System.Text.Json.Serialization.JsonPropertyName("leave_time")]
public long LeaveTimestamp { get; set; }
/// <summary>
/// 获取或设置是否评论。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_comment")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("is_comment")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))]
public bool IsComment { get; set; }
}
}
/// <summary>
/// 获取或设置学生列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("students")]
[System.Text.Json.Serialization.JsonPropertyName("students")]
public Types.Student[] StudentList { get; set; } = default!;
/// <summary>
/// 获取或设置观众列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("visitors")]
[System.Text.Json.Serialization.JsonPropertyName("visitors")]
public Types.Visitor[] VisitorList { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置统计信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("stat_infoes")]
[System.Text.Json.Serialization.JsonPropertyName("stat_infoes")]
public Types.Statistics Statistics { get; set; } = default!;
/// <summary>
/// 获取或设置翻页是否结束。
/// </summary>
[Newtonsoft.Json.JsonProperty("ending")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("ending")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))]
public bool IsEnding { get; set; }
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_key")]
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
public string? NextCursor { get; set; }
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/user/get 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserGetRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置学生或家长账号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string StudentOrParentUserId { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,176 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/user/get 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserGetResponse : WechatWorkResponse
{
public static class Types
{
public class Student
{
public static class Types
{
public class Parent
{
/// <summary>
/// 获取或设置家长账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("parent_userid")]
[System.Text.Json.Serialization.JsonPropertyName("parent_userid")]
public string ParentUserId { get; set; } = default!;
/// <summary>
/// 获取或设置手机号码。
/// </summary>
[Newtonsoft.Json.JsonProperty("mobile")]
[System.Text.Json.Serialization.JsonPropertyName("mobile")]
public string? MobileNumber { get; set; }
/// <summary>
/// 获取或设置家长与学生的关系。
/// </summary>
[Newtonsoft.Json.JsonProperty("relation")]
[System.Text.Json.Serialization.JsonPropertyName("relation")]
public string Relation { get; set; } = default!;
/// <summary>
/// 获取或设置是否关注了“学校通知”。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_subscribe")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("is_subscribe")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))]
public bool IsSubscribe { get; set; }
/// <summary>
/// 获取或设置外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string? ExternalUserId { get; set; }
}
}
/// <summary>
/// 获取或设置学生账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("student_userid")]
[System.Text.Json.Serialization.JsonPropertyName("student_userid")]
public string StudentUserId { get; set; } = default!;
/// <summary>
/// 获取或设置学生姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = default!;
/// <summary>
/// 获取或设置学生所在的部门 ID即班级列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("department")]
[System.Text.Json.Serialization.JsonPropertyName("department")]
public int[] DepartmentIdList { get; set; } = default!;
/// <summary>
/// 获取或设置学生的家长列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("parents")]
[System.Text.Json.Serialization.JsonPropertyName("parents")]
public Types.Parent[] Parents { get; set; } = default!;
}
public class Parent
{
public static class Types
{
public class Child
{
/// <summary>
/// 获取或设置学生账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("student_userid")]
[System.Text.Json.Serialization.JsonPropertyName("student_userid")]
public string StudentUserId { get; set; } = default!;
/// <summary>
/// 获取或设置学生姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string? Name { get; set; }
/// <summary>
/// 获取或设置家长与学生的关系。
/// </summary>
[Newtonsoft.Json.JsonProperty("relation")]
[System.Text.Json.Serialization.JsonPropertyName("relation")]
public string Relation { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置家长账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("parent_userid")]
[System.Text.Json.Serialization.JsonPropertyName("parent_userid")]
public string ParentUserId { get; set; } = default!;
/// <summary>
/// 获取或设置手机号码。
/// </summary>
[Newtonsoft.Json.JsonProperty("mobile")]
[System.Text.Json.Serialization.JsonPropertyName("mobile")]
public string MobileNumber { get; set; } = default!;
/// <summary>
/// 获取或设置家长的孩子列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("children")]
[System.Text.Json.Serialization.JsonPropertyName("children")]
public Types.Child[] Children { get; set; } = default!;
/// <summary>
/// 获取或设置是否关注了“学校通知”。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_subscribe")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("is_subscribe")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))]
public bool IsSubscribe { get; set; }
/// <summary>
/// 获取或设置外部联系人账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("external_userid")]
[System.Text.Json.Serialization.JsonPropertyName("external_userid")]
public string? ExternalUserId { get; set; }
}
}
/// <summary>
/// 获取或设置用户类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_type")]
[System.Text.Json.Serialization.JsonPropertyName("user_type")]
public int UserType { get; set; }
/// <summary>
/// 获取或设置学生信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("student")]
[System.Text.Json.Serialization.JsonPropertyName("student")]
public Types.Student? Student { get; set; }
/// <summary>
/// 获取或设置家长信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("parent")]
[System.Text.Json.Serialization.JsonPropertyName("parent")]
public Types.Parent? Parent { get; set; }
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/user/list_parent 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserListParentRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置部门 ID即班级
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public int DeparmentId { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/user/list_parent 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserListParentResponse : WechatWorkResponse
{
public static class Types
{
public class Parent : CgibinSchoolUserGetResponse.Types.Parent
{
}
}
/// <summary>
/// 获取或设置家长列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("parents")]
[System.Text.Json.Serialization.JsonPropertyName("parents")]
public Types.Parent[] ParentList { get; set; } = default!;
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/user/list 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserListRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置部门 ID即班级
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public int DeparmentId { get; set; }
/// <summary>
/// 获取或设置是否递归获取子部门成员。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public bool? RequireFetchChild { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/user/list 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserListResponse : WechatWorkResponse
{
public static class Types
{
public class Student : CgibinSchoolUserGetResponse.Types.Student
{
}
}
/// <summary>
/// 获取或设置学生列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("students")]
[System.Text.Json.Serialization.JsonPropertyName("students")]
public Types.Student[] StudentList { get; set; } = default!;
}
}

View File

@@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/batch_create_parent 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserBatchCreateParentRequest : WechatWorkRequest
{
public static class Types
{
public class Parent
{
public static class Types
{
public class Child : CgibinSchoolUserCreateParentRequest.Types.Child
{
}
}
/// <summary>
/// 获取或设置家长账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("parent_userid")]
[System.Text.Json.Serialization.JsonPropertyName("parent_userid")]
public string ParentUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置手机号码。
/// </summary>
[Newtonsoft.Json.JsonProperty("mobile")]
[System.Text.Json.Serialization.JsonPropertyName("mobile")]
public string MobileNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置是否发起邀请。
/// </summary>
[Newtonsoft.Json.JsonProperty("to_invite")]
[System.Text.Json.Serialization.JsonPropertyName("to_invite")]
public bool? RequireInvite { get; set; }
/// <summary>
/// 获取或设置家长的孩子列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("children")]
[System.Text.Json.Serialization.JsonPropertyName("children")]
public IList<Types.Child> Children { get; set; } = new List<Types.Child>();
}
}
/// <summary>
/// 获取或设置家长列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("parents")]
[System.Text.Json.Serialization.JsonPropertyName("parents")]
public IList<Types.Parent> ParentList { get; set; } = new List<Types.Parent>();
}
}

View File

@@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/batch_create_parent 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserBatchCreateParentResponse : WechatWorkResponse
{
public static class Types
{
public class Result
{
/// <summary>
/// 获取或设置家长账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("parent_userid")]
[System.Text.Json.Serialization.JsonPropertyName("parent_userid")]
public string ParentUserId { get; set; } = default!;
/// <summary>
/// 获取或设置错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("errcode")]
[System.Text.Json.Serialization.JsonPropertyName("errcode")]
public int ErrorCode { get; set; }
/// <summary>
/// 获取或设置错误描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("errmsg")]
[System.Text.Json.Serialization.JsonPropertyName("errmsg")]
public string ErrorMessage { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置结果列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("result_list")]
[System.Text.Json.Serialization.JsonPropertyName("result_list")]
public Types.Result[] ResultList { get; set; } = default!;
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/batch_delete_parent 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserBatchDeleteParentRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置家长账号列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("useridlist")]
[System.Text.Json.Serialization.JsonPropertyName("useridlist")]
public IList<string> ParentUserIdList { get; set; } = new List<string>();
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/batch_delete_parent 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserBatchDeleteParentResponse : CgibinSchoolUserBatchCreateParentResponse
{
}
}

View File

@@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/batch_update_parent 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserBatchUpdateParentRequest : WechatWorkRequest
{
public static class Types
{
public class Parent
{
public static class Types
{
public class Child : CgibinSchoolUserUpdateParentRequest.Types.Child
{
}
}
/// <summary>
/// 获取或设置家长账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("parent_userid")]
[System.Text.Json.Serialization.JsonPropertyName("parent_userid")]
public string ParentUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置新的家长账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("new_parent_userid")]
[System.Text.Json.Serialization.JsonPropertyName("new_parent_userid")]
public string? NewParentUserId { get; set; }
/// <summary>
/// 获取或设置手机号码。
/// </summary>
[Newtonsoft.Json.JsonProperty("mobile")]
[System.Text.Json.Serialization.JsonPropertyName("mobile")]
public string? MobileNumber { get; set; }
/// <summary>
/// 获取或设置家长的孩子列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("children")]
[System.Text.Json.Serialization.JsonPropertyName("children")]
public IList<Types.Child>? Children { get; set; }
}
}
/// <summary>
/// 获取或设置家长列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("parents")]
[System.Text.Json.Serialization.JsonPropertyName("parents")]
public IList<Types.Parent> ParentList { get; set; } = new List<Types.Parent>();
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/batch_update_parent 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserBatchUpdateParentResponse : CgibinSchoolUserBatchCreateParentResponse
{
}
}

View File

@@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/create_parent 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserCreateParentRequest : WechatWorkRequest
{
public static class Types
{
public class Child
{
/// <summary>
/// 获取或设置学生账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("student_userid")]
[System.Text.Json.Serialization.JsonPropertyName("student_userid")]
public string StudentUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置家长与学生的关系。
/// </summary>
[Newtonsoft.Json.JsonProperty("relation")]
[System.Text.Json.Serialization.JsonPropertyName("relation")]
public string Relation { get; set; } = string.Empty;
}
}
/// <summary>
/// 获取或设置家长账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("parent_userid")]
[System.Text.Json.Serialization.JsonPropertyName("parent_userid")]
public string ParentUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置手机号码。
/// </summary>
[Newtonsoft.Json.JsonProperty("mobile")]
[System.Text.Json.Serialization.JsonPropertyName("mobile")]
public string MobileNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置是否发起邀请。
/// </summary>
[Newtonsoft.Json.JsonProperty("to_invite")]
[System.Text.Json.Serialization.JsonPropertyName("to_invite")]
public bool? RequireInvite { get; set; }
/// <summary>
/// 获取或设置家长的孩子列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("children")]
[System.Text.Json.Serialization.JsonPropertyName("children")]
public IList<Types.Child> Children { get; set; } = new List<Types.Child>();
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/create_parent 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserCreateParentResponse : WechatWorkResponse
{
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/user/delete_parent 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserDeleteParentRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置家长账号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ParentUserId { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/user/delete_parent 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserDeleteParentResponse : WechatWorkResponse
{
}
}

View File

@@ -0,0 +1,46 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/update_parent 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserUpdateParentRequest : WechatWorkRequest
{
public static class Types
{
public class Child : CgibinSchoolUserCreateParentRequest.Types.Child
{
}
}
/// <summary>
/// 获取或设置家长账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("parent_userid")]
[System.Text.Json.Serialization.JsonPropertyName("parent_userid")]
public string ParentUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置新的家长账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("new_parent_userid")]
[System.Text.Json.Serialization.JsonPropertyName("new_parent_userid")]
public string? NewParentUserId { get; set; }
/// <summary>
/// 获取或设置手机号码。
/// </summary>
[Newtonsoft.Json.JsonProperty("mobile")]
[System.Text.Json.Serialization.JsonPropertyName("mobile")]
public string? MobileNumber { get; set; }
/// <summary>
/// 获取或设置家长的孩子列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("children")]
[System.Text.Json.Serialization.JsonPropertyName("children")]
public IList<Types.Child>? Children { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/update_parent 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserUpdateParentResponse : WechatWorkResponse
{
}
}

View File

@@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/batch_create_student 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserBatchCreateStudentRequest : WechatWorkRequest
{
public static class Types
{
public class Student
{
/// <summary>
/// 获取或设置学生账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("student_userid")]
[System.Text.Json.Serialization.JsonPropertyName("student_userid")]
public string StudentUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置学生姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 获取或设置学生所在的部门 ID即班级列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("department")]
[System.Text.Json.Serialization.JsonPropertyName("department")]
public IList<int> DepartmentIdList { get; set; } = new List<int>();
}
}
/// <summary>
/// 获取或设置学生列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("students")]
[System.Text.Json.Serialization.JsonPropertyName("students")]
public IList<Types.Student> StudentList { get; set; } = new List<Types.Student>();
}
}

View File

@@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/batch_create_student 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserBatchCreateStudentResponse : WechatWorkResponse
{
public static class Types
{
public class Result
{
/// <summary>
/// 获取或设置学生账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("student_userid")]
[System.Text.Json.Serialization.JsonPropertyName("student_userid")]
public string StudentUserId { get; set; } = default!;
/// <summary>
/// 获取或设置错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("errcode")]
[System.Text.Json.Serialization.JsonPropertyName("errcode")]
public int ErrorCode { get; set; }
/// <summary>
/// 获取或设置错误描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("errmsg")]
[System.Text.Json.Serialization.JsonPropertyName("errmsg")]
public string ErrorMessage { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置结果列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("result_list")]
[System.Text.Json.Serialization.JsonPropertyName("result_list")]
public Types.Result[] ResultList { get; set; } = default!;
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/batch_delete_student 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserBatchDeleteStudentRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置学生账号列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("useridlist")]
[System.Text.Json.Serialization.JsonPropertyName("useridlist")]
public IList<string> StudentUserIdList { get; set; } = new List<string>();
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/batch_delete_student 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserBatchDeleteStudentResponse : CgibinSchoolUserBatchCreateStudentResponse
{
}
}

View File

@@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/batch_update_student 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserBatchUpdateStudentRequest : WechatWorkRequest
{
public static class Types
{
public class Student
{
/// <summary>
/// 获取或设置学生账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("student_userid")]
[System.Text.Json.Serialization.JsonPropertyName("student_userid")]
public string StudentUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置新的学生账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("new_student_userid")]
[System.Text.Json.Serialization.JsonPropertyName("new_student_userid")]
public string? NewStudentUserId { get; set; }
/// <summary>
/// 获取或设置学生姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string? Name { get; set; }
/// <summary>
/// 获取或设置学生所在的部门 ID即班级列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("department")]
[System.Text.Json.Serialization.JsonPropertyName("department")]
public IList<int>? DepartmentIdList { get; set; }
}
}
/// <summary>
/// 获取或设置学生列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("students")]
[System.Text.Json.Serialization.JsonPropertyName("students")]
public IList<Types.Student> StudentList { get; set; } = new List<Types.Student>();
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/batch_update_student 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserBatchUpdateStudentResponse : CgibinSchoolUserBatchCreateStudentResponse
{
}
}

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/create_student 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserCreateStudentRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置学生账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("student_userid")]
[System.Text.Json.Serialization.JsonPropertyName("student_userid")]
public string StudentUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置学生姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 获取或设置学生所在的部门 ID即班级列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("department")]
[System.Text.Json.Serialization.JsonPropertyName("department")]
public IList<int> DepartmentIdList { get; set; } = new List<int>();
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/create_student 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserCreateStudentResponse : WechatWorkResponse
{
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/user/delete_student 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserDeleteStudentRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置学生账号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string StudentUserId { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [GET] /cgi-bin/school/user/delete_student 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserDeleteStudentResponse : WechatWorkResponse
{
}
}

View File

@@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/update_student 接口的请求。</para>
/// </summary>
public class CgibinSchoolUserUpdateStudentRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置学生账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("student_userid")]
[System.Text.Json.Serialization.JsonPropertyName("student_userid")]
public string StudentUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置新的学生账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("new_student_userid")]
[System.Text.Json.Serialization.JsonPropertyName("new_student_userid")]
public string? NewStudentUserId { get; set; }
/// <summary>
/// 获取或设置学生姓名。
/// </summary>
[Newtonsoft.Json.JsonProperty("name")]
[System.Text.Json.Serialization.JsonPropertyName("name")]
public string? Name { get; set; }
/// <summary>
/// 获取或设置学生所在的部门 ID即班级列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("department")]
[System.Text.Json.Serialization.JsonPropertyName("department")]
public IList<int>? DepartmentIdList { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/school/user/update_student 接口的响应。</para>
/// </summary>
public class CgibinSchoolUserUpdateStudentResponse : WechatWorkResponse
{
}
}

View File

@@ -10,7 +10,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
public static class Types
{
public class Admin
public class Administrator
{
/// <summary>
/// 获取或设置成员账号。
@@ -40,6 +40,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("admin")]
[System.Text.Json.Serialization.JsonPropertyName("admin")]
public Types.Admin[]? AdminList { get; set; }
public Types.Administrator[]? AdministratorList { get; set; }
}
}

View File

@@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
public class CgibinUserAuthSuccessRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置用户账号。
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]

View File

@@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
public class CgibinUserBatchDeleteRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置用户账号列表。
/// 获取或设置成员账号列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("useridlist")]
[System.Text.Json.Serialization.JsonPropertyName("useridlist")]

View File

@@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
public class CgibinUserConvertToOpenIdRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置用户账号。
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]

View File

@@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
public class CgibinUserConvertToUserIdResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置用户账号。
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]

View File

@@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
public class CgibinUserDeleteRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置用户账号。
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]

View File

@@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
public class CgibinUserGetRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置用户账号。
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]

View File

@@ -8,6 +8,26 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// </summary>
public class CgibinUserGetUserInfoResponse : WechatWorkResponse
{
public static class Types
{
public class Parent
{
/// <summary>
/// 获取或设置家长所在学校的 CorpId。
/// </summary>
[Newtonsoft.Json.JsonProperty("corpid")]
[System.Text.Json.Serialization.JsonPropertyName("corpid")]
public string CorpId { get; set; } = default!;
/// <summary>
/// 获取或设置家长账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("parent_userid")]
[System.Text.Json.Serialization.JsonPropertyName("parent_userid")]
public string ParentUserId { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置成员账号。
/// </summary>
@@ -35,5 +55,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
[Newtonsoft.Json.JsonProperty("DeviceId")]
[System.Text.Json.Serialization.JsonPropertyName("DeviceId")]
public string? DeviceId { get; set; }
/// <summary>
/// 获取或设置家长列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("parents")]
[System.Text.Json.Serialization.JsonPropertyName("parents")]
public Types.Parent[]? ParentList { get; set; }
}
}