chicken_dy/Assets/HCMiniSdk/Scripts/WebGL/HCWX/HCWXBase.cs

78 lines
2.6 KiB
C#
Raw Permalink Normal View History

2024-03-07 12:12:48 +00:00
#if UNITY_WEBGL && WEBGL_WX
using System;
using System.Collections.Generic;
using WeChatWASM;
namespace HC
{
public class HCWXBase : HCSingleton<HCWXBase>, HCIBase
{
public Action<string> OpenCustomerServiceFail;
public Action<CustomerServiceSuccessBean> OpenCustomerServiceSuccess;
public void Vibrate(int shakeType, float intensity = 1)
{
WX.VibrateShort(new VibrateShortOption());
}
public void OpenCustomerService(Dictionary<string, object> param)
{
var sessionFrom = param.GetValue("sessionFrom", "") as string;
var showMessageCard = (bool)param.GetValue("showMessageCard", false);
var sendMessageTitle = param.GetValue("sendMessageTitle", "") as string;
var sendMessagePath = param.GetValue("sendMessagePath", "") as string;
var sendMessageImg = param.GetValue("sendMessageImg", "") as string;
var option = new OpenCustomerServiceConversationOption
{
success = OnOpenCustomerServiceSuccess,
fail = OnOpenCustomerServiceFail,
sessionFrom = sessionFrom,
showMessageCard = showMessageCard,
sendMessageTitle = sendMessageTitle,
sendMessagePath = sendMessagePath,
sendMessageImg = sendMessageImg
};
WX.OpenCustomerServiceConversation(option);
}
public void ExitApp()
{
WX.ExitMiniProgram(new ExitMiniProgramOption
{
success = _=>{},
fail = _=>{},
complete = _=>{}
});
}
private void OnOpenCustomerServiceFail(GeneralCallbackResult obj)
{
HCDebugger.LogDebug($"OnOpenCustomerServiceFail obj.errMsg = {obj.errMsg} OpenCustomerServiceFail = {OpenCustomerServiceFail}");
OpenCustomerServiceFail?.Invoke(obj.errMsg);
}
private void OnOpenCustomerServiceSuccess(OpenCustomerServiceConversationSuccessCallbackResult obj)
{
HCDebugger.LogDebug($"OnOpenCustomerServiceSuccess obj.path = {obj.path} msg = {obj.errMsg} OpenCustomerServiceSuccess = {OpenCustomerServiceSuccess}");
OpenCustomerServiceSuccess?.Invoke(new CustomerServiceSuccessBean()
{
path = obj.path,
errMsg = obj.errMsg,
query = obj.query
});
}
}
public struct CustomerServiceSuccessBean
{
public string path;
public string errMsg;
public Dictionary<string, string> query;
}
}
#endif