BITKit/Packages/Runtime~/Unity/Extensions/WXPusher/WeChatMessagePusher.cs

41 lines
1.2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using BITKit.HttpNet;
using UnityEngine;
namespace BITKit
{
public class WeChatMessagePusher : MonoBehaviour
{
private const string url = "https://wxpusher.zjiecode.com/api/send/message";
[SerializeField, SerializeReference, SubclassSelector]
private Reference appName;
[SerializeField, SerializeReference, SubclassSelector]
private Reference appToken;
[SerializeField, SerializeReference, SubclassSelector]
private Reference[] uids;
[SerializeField, SerializeReference, SubclassSelector]
private IWebProvider webProvider;
public async void PostMessage(object message)
{
var content = message is string ? message.ToString() : JsonHelper.Get(message);
WeChatMessage wxMessage = new()
{
appToken = appToken,
summary = appName,
content = content
};
if (uids.Length > 0)
{
wxMessage.uids = uids.Select(x => x.Get()).ToArray();
}
await webProvider.PostAsync(url, wxMessage);
}
}
}