78 lines
2.6 KiB
C#
78 lines
2.6 KiB
C#
|
|
#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
|