mirror of
https://github.com/CoreUnion/CoreShop.git
synced 2026-10-21 08:20:08 +08:00
cd4c2acb05
2、【后端】因盛派过于臃肿及社区生态质量越来越低下,移除【Senparc】相关组件。启用【SKIT.FlurlHttpClient.Wechat】纯API组件,使交互更加灵活。 3、【后端】移除因依赖【Senparc】相关组件而创建的【CoreCms.Net.WeChatService】类库;增加SKIT.FlurlHttpClient.Wechat相应支撑组件的类库【CoreCms.Net.WeChat.Service】。 4、【后端】移除【sessionIdAuth】返回,直接使用【openId】作为识别码。 5、【接口】增加获取微信【AccessToken】的交互定时任务。 6、【数据库】增加【WeChatAccessToken】表备份数据库及SQL脚本。 8、【接口】增加微信消息推送的实现及事件处理方法,目前只做了用户发送文字信息转发客服,其他可自行进行拓展。
63 lines
3.1 KiB
C#
63 lines
3.1 KiB
C#
/***********************************************************************
|
||
* Project: CoreCms
|
||
* ProjectName: 核心内容管理系统
|
||
* Web: https://www.corecms.net
|
||
* Author: 大灰灰
|
||
* Email: jianweie@163.com
|
||
* CreateTime: 2021/7/29 11:06:40
|
||
* Description: 暂无
|
||
***********************************************************************/
|
||
|
||
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace CoreCms.Net.WeChat.Service.Utilities
|
||
{
|
||
/// <summary>微信日期处理帮助类</summary>
|
||
public class DateTimeHelper
|
||
{
|
||
/// <summary>Unix起始时间</summary>
|
||
public static readonly DateTimeOffset BaseTime = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero);
|
||
|
||
/// <summary>转换微信DateTime时间到C#时间</summary>
|
||
/// <param name="dateTimeFromXml">微信DateTime</param>
|
||
/// <returns></returns>
|
||
public static DateTime GetDateTimeFromXml(long dateTimeFromXml) => DateTimeHelper.GetDateTimeOffsetFromXml(dateTimeFromXml).LocalDateTime;
|
||
|
||
/// <summary>转换微信DateTime时间到C#时间</summary>
|
||
/// <param name="dateTimeFromXml">微信DateTime</param>
|
||
/// <returns></returns>
|
||
public static DateTime GetDateTimeFromXml(string dateTimeFromXml) => DateTimeHelper.GetDateTimeFromXml(long.Parse(dateTimeFromXml));
|
||
|
||
/// <summary>转换微信DateTimeOffset时间到C#时间</summary>
|
||
/// <param name="dateTimeFromXml">微信DateTime</param>
|
||
/// <returns></returns>
|
||
public static DateTimeOffset GetDateTimeOffsetFromXml(long dateTimeFromXml) => DateTimeHelper.BaseTime.AddSeconds((double)dateTimeFromXml).ToLocalTime();
|
||
|
||
/// <summary>转换微信DateTimeOffset时间到C#时间</summary>
|
||
/// <param name="dateTimeFromXml">微信DateTime</param>
|
||
/// <returns></returns>
|
||
public static DateTimeOffset GetDateTimeOffsetFromXml(string dateTimeFromXml) => (DateTimeOffset)DateTimeHelper.GetDateTimeFromXml(long.Parse(dateTimeFromXml));
|
||
|
||
/// <summary>获取微信DateTime(UNIX时间戳)</summary>
|
||
/// <param name="dateTime">时间</param>
|
||
/// <returns></returns>
|
||
[Obsolete("请使用 GetUnixDateTime(dateTime) 方法")]
|
||
public static long GetWeixinDateTime(DateTime dateTime) => DateTimeHelper.GetUnixDateTime(dateTime);
|
||
|
||
/// <summary>获取Unix时间戳</summary>
|
||
/// <param name="dateTime"></param>
|
||
/// <returns></returns>
|
||
public static long GetUnixDateTime(DateTimeOffset dateTime) => (long)(dateTime - DateTimeHelper.BaseTime).TotalSeconds;
|
||
|
||
/// <summary>获取Unix时间戳</summary>
|
||
/// <param name="dateTime"></param>
|
||
/// <returns></returns>
|
||
public static long GetUnixDateTime(DateTime dateTime) => (long)((DateTimeOffset)dateTime.ToUniversalTime() - DateTimeHelper.BaseTime).TotalSeconds;
|
||
}
|
||
}
|