38 lines
1.4 KiB
C#
38 lines
1.4 KiB
C#
using AllBase;
|
|
using AllBase.Helper;
|
|
using AllBase.Model.Result.WXResult;
|
|
using NaiBa.Util;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using TemuKJD.BaseForms;
|
|
using Work;
|
|
|
|
namespace TemuKJD.BLL
|
|
{
|
|
public class WxApiBLL
|
|
{
|
|
public string GetWxToken()
|
|
{
|
|
if (GlobalConfig.WxTokenList.Count == 0 || GlobalConfig.WxTokenList.Any(t => t.isExpire == true))
|
|
{
|
|
var url = BaseClass.BuildPDDObjString("product/get_wx_tokens");
|
|
var data = UserLogin.GetSignaturex();
|
|
var html = GetHtml.PostUtf8(url, data);
|
|
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
|
{
|
|
BaseMsgForm.ShowError("获取类目失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg"));
|
|
return "";
|
|
}
|
|
var tokenStr = JsonHelper.SerializeObject(JsonHelper.JObjectParse(html)["tokens"].FirstOrDefault());
|
|
GlobalConfig.WxTokenList = new ConcurrentList<WXShopTokenInfo>();
|
|
GlobalConfig.WxTokenList.AddRange(JsonHelper.DeserializeJsonToList<WXShopTokenInfo>(tokenStr));
|
|
}
|
|
|
|
return GlobalConfig.WxTokenList.OrderBy(x => Guid.NewGuid()).FirstOrDefault()?.accessToken;
|
|
}
|
|
}
|
|
}
|