忽略
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class CreateQrcodeResponse : ResponseBase
|
||||
{
|
||||
public string ticket { get; set; }
|
||||
public string url { get; set; }
|
||||
}
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class CreateQrcodeResponse : ResponseBase
|
||||
{
|
||||
public string ticket { get; set; }
|
||||
public string url { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetAuthenticationUrlResponse : ResponseBase
|
||||
{
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetAuthenticationUrlResponse : ResponseBase
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetAuthorizerClientUserOpenIdResponse : ResponseBase
|
||||
{
|
||||
public wechat_access_token AccessToken { get; set; }
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetAuthorizerClientUserOpenIdResponse : ResponseBase
|
||||
{
|
||||
public wechat_access_token AccessToken { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetAuthorizerInfoResponse : ResponseBase
|
||||
{
|
||||
public authorizer_info authorizer_info { get; set; }
|
||||
public authorization_info authorization_info { get; set; }
|
||||
public string content { get; set; }
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetAuthorizerInfoResponse : ResponseBase
|
||||
{
|
||||
public authorizer_info authorizer_info { get; set; }
|
||||
public authorization_info authorization_info { get; set; }
|
||||
public string content { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,32 +1,32 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
// {
|
||||
//"authorization_info":
|
||||
//{
|
||||
//"authorizer_appid": "wxf8b4f85f3a794e77",
|
||||
//"authorizer_access_token": "QXjUqNqfYVH0yBE1iI_7vuN_9gQbpjfK7hYwJ3P7xOa88a89-Aga5x1NMYJyB8G2yKt1KCl0nPC3W9GJzw0Zzq_dBxc8pxIGUNi_bFes0qM",
|
||||
//"expires_in": 7200,
|
||||
//"authorizer_refresh_token": "dTo-YCXPL4llX-u1W1pPpnp8Hgm4wpJtlR6iV0doKdY",
|
||||
//"func_info":
|
||||
// [
|
||||
//{"funcscope_category": {"id": 1}},
|
||||
//{"funcscope_category": {"id": 2}},
|
||||
//{"funcscope_category": {"id": 3}}
|
||||
//]
|
||||
//}
|
||||
//}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 授权码换取访问令牌结果类
|
||||
/// <see cref="GetAuthorizerInvokeAccessTokenRequest"/>
|
||||
/// </summary>
|
||||
///
|
||||
public class GetAuthorizerInvokeAccessTokenResponse:ResponseBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 授权信息对象
|
||||
/// </summary>
|
||||
public authorization_info authorization_info { get; set; }
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
// {
|
||||
//"authorization_info":
|
||||
//{
|
||||
//"authorizer_appid": "wxf8b4f85f3a794e77",
|
||||
//"authorizer_access_token": "QXjUqNqfYVH0yBE1iI_7vuN_9gQbpjfK7hYwJ3P7xOa88a89-Aga5x1NMYJyB8G2yKt1KCl0nPC3W9GJzw0Zzq_dBxc8pxIGUNi_bFes0qM",
|
||||
//"expires_in": 7200,
|
||||
//"authorizer_refresh_token": "dTo-YCXPL4llX-u1W1pPpnp8Hgm4wpJtlR6iV0doKdY",
|
||||
//"func_info":
|
||||
// [
|
||||
//{"funcscope_category": {"id": 1}},
|
||||
//{"funcscope_category": {"id": 2}},
|
||||
//{"funcscope_category": {"id": 3}}
|
||||
//]
|
||||
//}
|
||||
//}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 授权码换取访问令牌结果类
|
||||
/// <see cref="GetAuthorizerInvokeAccessTokenRequest"/>
|
||||
/// </summary>
|
||||
///
|
||||
public class GetAuthorizerInvokeAccessTokenResponse:ResponseBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 授权信息对象
|
||||
/// </summary>
|
||||
public authorization_info authorization_info { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,18 +1,18 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
|
||||
// {
|
||||
//"component_access_token":"61W3mEpU66027wgNZ_MhGHNQDHnFATkDa9-2llqrMBjUwxRSNPbVsMmyD-yq8wZETSoE5NQgecigDrSHkPtIYA",
|
||||
//"expires_in":7200
|
||||
//}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// <see cref="GetComponentAccessTokenRequest"/>
|
||||
/// </summary>
|
||||
public class GetComponentAccessTokenResponse : ResponseBase
|
||||
{
|
||||
public string component_access_token { get; set; }
|
||||
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
|
||||
// {
|
||||
//"component_access_token":"61W3mEpU66027wgNZ_MhGHNQDHnFATkDa9-2llqrMBjUwxRSNPbVsMmyD-yq8wZETSoE5NQgecigDrSHkPtIYA",
|
||||
//"expires_in":7200
|
||||
//}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// <see cref="GetComponentAccessTokenRequest"/>
|
||||
/// </summary>
|
||||
public class GetComponentAccessTokenResponse : ResponseBase
|
||||
{
|
||||
public string component_access_token { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
/// <summary>
|
||||
/// <see cref="GetComponentVerifyTicketRequest"/>
|
||||
/// </summary>
|
||||
public class GetComponentVerifyTicketResponse:ResponseBase
|
||||
{
|
||||
public string ComponentVerifyTicket { get; set; }
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
/// <summary>
|
||||
/// <see cref="GetComponentVerifyTicketRequest"/>
|
||||
/// </summary>
|
||||
public class GetComponentVerifyTicketResponse:ResponseBase
|
||||
{
|
||||
public string ComponentVerifyTicket { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetGetWebAccessTokenResponse : ResponseBase
|
||||
{
|
||||
public string access_token { get; set; }
|
||||
public string refresh_token { get; set; }
|
||||
public string openid { get; set; }
|
||||
public string scope { get; set; }
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetGetWebAccessTokenResponse : ResponseBase
|
||||
{
|
||||
public string access_token { get; set; }
|
||||
public string refresh_token { get; set; }
|
||||
public string openid { get; set; }
|
||||
public string scope { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
using Hncore.Wx.Open;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Hncore.Pass.MsgCenter.WxOpen.Response
|
||||
{
|
||||
public class GetJsApiTicketResponse : ResponseBase
|
||||
{
|
||||
public string ticket { get; set; }
|
||||
}
|
||||
}
|
||||
using Hncore.Wx.Open;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Hncore.Pass.MsgCenter.WxOpen.Response
|
||||
{
|
||||
public class GetJsApiTicketResponse : ResponseBase
|
||||
{
|
||||
public string ticket { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
|
||||
//{"access_token":"ACCESS_TOKEN","expires_in":7200}
|
||||
/// <summary>
|
||||
/// <see cref=" GetPreAuthCodeRequest"/>
|
||||
/// </summary>
|
||||
public class GetAccessTokenResponse : ResponseBase
|
||||
{
|
||||
public string access_token { get; set; }
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
|
||||
//{"access_token":"ACCESS_TOKEN","expires_in":7200}
|
||||
/// <summary>
|
||||
/// <see cref=" GetPreAuthCodeRequest"/>
|
||||
/// </summary>
|
||||
public class GetAccessTokenResponse : ResponseBase
|
||||
{
|
||||
public string access_token { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,17 +1,17 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
|
||||
// {
|
||||
//"pre_auth_code":"Cx_Dk6qiBE0Dmx4EmlT3oRfArPvwSQ-oa3NL_fwHM7VI08r52wazoZX2Rhpz1dEw",
|
||||
//"expires_in":600
|
||||
//}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// <see cref=" GetPreAuthCodeRequest"/>
|
||||
/// </summary>
|
||||
public class GetPreAuthCodeResponse:ResponseBase
|
||||
{
|
||||
public string pre_auth_code { get; set; }
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
|
||||
// {
|
||||
//"pre_auth_code":"Cx_Dk6qiBE0Dmx4EmlT3oRfArPvwSQ-oa3NL_fwHM7VI08r52wazoZX2Rhpz1dEw",
|
||||
//"expires_in":600
|
||||
//}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// <see cref=" GetPreAuthCodeRequest"/>
|
||||
/// </summary>
|
||||
public class GetPreAuthCodeResponse:ResponseBase
|
||||
{
|
||||
public string pre_auth_code { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetSavedAuthorizerInfoResponse:ResponseBase
|
||||
{
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetSavedAuthorizerInfoResponse:ResponseBase
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,18 +1,18 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetTagsResponse : ResponseBase
|
||||
{
|
||||
public List<TagItem> tags { get; set; }
|
||||
}
|
||||
|
||||
public class TagItem
|
||||
{
|
||||
public int id { get; set; }
|
||||
|
||||
public string name { get; set; }
|
||||
|
||||
public int count { get; set; }
|
||||
}
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetTagsResponse : ResponseBase
|
||||
{
|
||||
public List<TagItem> tags { get; set; }
|
||||
}
|
||||
|
||||
public class TagItem
|
||||
{
|
||||
public int id { get; set; }
|
||||
|
||||
public string name { get; set; }
|
||||
|
||||
public int count { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetTemplateResponse : ResponseBase
|
||||
{
|
||||
public string template_id { get; set; }
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetTemplateResponse : ResponseBase
|
||||
{
|
||||
public string template_id { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,20 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetTempleteListResponse : ResponseBase
|
||||
{
|
||||
public List<TempleteItem> template_list { get; set; }
|
||||
}
|
||||
|
||||
public class TempleteItem
|
||||
{
|
||||
public string template_id { get; set; }
|
||||
public string title { get; set; }
|
||||
public string primary_industry { get; set; }
|
||||
public string deputy_industry { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetTempleteListResponse : ResponseBase
|
||||
{
|
||||
public List<TempleteItem> template_list { get; set; }
|
||||
}
|
||||
|
||||
public class TempleteItem
|
||||
{
|
||||
public string template_id { get; set; }
|
||||
public string title { get; set; }
|
||||
public string primary_industry { get; set; }
|
||||
public string deputy_industry { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetUserinfoResponse : ResponseBase
|
||||
{
|
||||
public string openid { get; set; }
|
||||
public string nickname { get; set; }
|
||||
public string sex { get; set; }
|
||||
public string province { get; set; }
|
||||
public string city { get; set; }
|
||||
public string country { get; set; }
|
||||
public string headimgurl { get; set; }
|
||||
public List<string> privilege { get; set; }
|
||||
public string unionid { get; set; }
|
||||
}
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class GetUserinfoResponse : ResponseBase
|
||||
{
|
||||
public string openid { get; set; }
|
||||
public string nickname { get; set; }
|
||||
public string sex { get; set; }
|
||||
public string province { get; set; }
|
||||
public string city { get; set; }
|
||||
public string country { get; set; }
|
||||
public string headimgurl { get; set; }
|
||||
public List<string> privilege { get; set; }
|
||||
public string unionid { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
/// <summary>
|
||||
/// <see cref=" GetWechatTicketRequest"/>
|
||||
/// </summary>
|
||||
public class GetWechatTicketResponse:ResponseBase
|
||||
{
|
||||
public string Ticket { get; set; }
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
/// <summary>
|
||||
/// <see cref=" GetWechatTicketRequest"/>
|
||||
/// </summary>
|
||||
public class GetWechatTicketResponse:ResponseBase
|
||||
{
|
||||
public string Ticket { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,17 +1,17 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
// {
|
||||
//"authorizer_access_token": "aaUl5s6kAByLwgV0BhXNuIFFUqfrR8vTATsoSHukcIGqJgrc4KmMJ-JlKoC_-NKCLBvuU1cWPv4vDcLN8Z0pn5I45mpATruU0b51hzeT1f8",
|
||||
//"expires_in": 7200,
|
||||
//"authorizer_refresh_token": "BstnRqgTJBXb9N2aJq6L5hzfJwP406tpfahQeLNxX0w"
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// <see cref="RefreshAuthorizerInvokeAccessTokenRequest"/>
|
||||
/// </summary>
|
||||
public class GetAuthorizerAccessTokenResponse : ResponseBase
|
||||
{
|
||||
public string authorizer_access_token { get; set; }
|
||||
public string authorizer_refresh_token { get; set; }
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
// {
|
||||
//"authorizer_access_token": "aaUl5s6kAByLwgV0BhXNuIFFUqfrR8vTATsoSHukcIGqJgrc4KmMJ-JlKoC_-NKCLBvuU1cWPv4vDcLN8Z0pn5I45mpATruU0b51hzeT1f8",
|
||||
//"expires_in": 7200,
|
||||
//"authorizer_refresh_token": "BstnRqgTJBXb9N2aJq6L5hzfJwP406tpfahQeLNxX0w"
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// <see cref="RefreshAuthorizerInvokeAccessTokenRequest"/>
|
||||
/// </summary>
|
||||
public class GetAuthorizerAccessTokenResponse : ResponseBase
|
||||
{
|
||||
public string authorizer_access_token { get; set; }
|
||||
public string authorizer_refresh_token { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class SaveAuthorizerInfoResponse : ResponseBase
|
||||
{
|
||||
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class SaveAuthorizerInfoResponse : ResponseBase
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class SaveWechatAppMenuResponse : ResponseBase
|
||||
{
|
||||
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class SaveWechatAppMenuResponse : ResponseBase
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
/// <summary>
|
||||
/// <see cref=" UpdateWechatTicketRequest"/>
|
||||
/// </summary>
|
||||
public class UpdateWechatTicketResponse : ResponseBase
|
||||
{
|
||||
public UpdateWechatTicketResponse() {
|
||||
|
||||
}
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
/// <summary>
|
||||
/// <see cref=" UpdateWechatTicketRequest"/>
|
||||
/// </summary>
|
||||
public class UpdateWechatTicketResponse : ResponseBase
|
||||
{
|
||||
public UpdateWechatTicketResponse() {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,20 @@
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class UploadMediaResponse:ResponseBase
|
||||
{
|
||||
public string type { get; set; }
|
||||
public string media_id { get; set; }
|
||||
public int created_at { get; set; }
|
||||
}
|
||||
public class UploadImageMediaResponse : ResponseBase
|
||||
{
|
||||
public string url { get; set; }
|
||||
public string media_id { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class UploadMediaResponse:ResponseBase
|
||||
{
|
||||
public string type { get; set; }
|
||||
public string media_id { get; set; }
|
||||
public int created_at { get; set; }
|
||||
}
|
||||
public class UploadImageMediaResponse : ResponseBase
|
||||
{
|
||||
public string url { get; set; }
|
||||
public string media_id { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class WechatNotificationTemplate
|
||||
{
|
||||
public string template_id { get; set; }
|
||||
public string title { get; set; }
|
||||
public string primary_industry { get; set; }
|
||||
public string deputy_industry { get; set; }
|
||||
public string content { get; set; }
|
||||
public string example { get; set; }
|
||||
}
|
||||
public class GetAllPrivateTemplateResponse : ResponseBase
|
||||
{
|
||||
public List<WechatNotificationTemplate> template_list { get; set; }
|
||||
}
|
||||
public class WechatAddNotificationTemplateResponse : ResponseBase
|
||||
{
|
||||
public string template_id { get; set; }
|
||||
}
|
||||
}
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class WechatNotificationTemplate
|
||||
{
|
||||
public string template_id { get; set; }
|
||||
public string title { get; set; }
|
||||
public string primary_industry { get; set; }
|
||||
public string deputy_industry { get; set; }
|
||||
public string content { get; set; }
|
||||
public string example { get; set; }
|
||||
}
|
||||
public class GetAllPrivateTemplateResponse : ResponseBase
|
||||
{
|
||||
public List<WechatNotificationTemplate> template_list { get; set; }
|
||||
}
|
||||
public class WechatAddNotificationTemplateResponse : ResponseBase
|
||||
{
|
||||
public string template_id { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
using Hncore.Infrastructure.Extension;
|
||||
using System;
|
||||
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class ResponseBase
|
||||
{
|
||||
public int errcode { get; set; }
|
||||
public string errmsg { get; set; }
|
||||
public int expires_in { get; set; }
|
||||
public long create_from { get; set; }
|
||||
public virtual bool need_to_refresh_token
|
||||
{
|
||||
get
|
||||
{
|
||||
var timespan = (DateTime.Now.TimestampFrom19700101() - create_from);
|
||||
//此处不应该等于0 errcode!=0表明微信返回的token有错误 需要刷新 ==0是正确的
|
||||
//提前10分钟过期
|
||||
return errcode != 0 || timespan < 0 || timespan > expires_in-10*60;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
using Hncore.Infrastructure.Extension;
|
||||
using System;
|
||||
|
||||
namespace Hncore.Wx.Open
|
||||
{
|
||||
public class ResponseBase
|
||||
{
|
||||
public int errcode { get; set; }
|
||||
public string errmsg { get; set; }
|
||||
public int expires_in { get; set; }
|
||||
public long create_from { get; set; }
|
||||
public virtual bool need_to_refresh_token
|
||||
{
|
||||
get
|
||||
{
|
||||
var timespan = (DateTime.Now.TimestampFrom19700101() - create_from);
|
||||
//此处不应该等于0 errcode!=0表明微信返回的token有错误 需要刷新 ==0是正确的
|
||||
//提前10分钟过期
|
||||
return errcode != 0 || timespan < 0 || timespan > expires_in-10*60;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user