|
|
@@ -42,7 +42,95 @@ namespace molilian.core
|
|
|
}
|
|
|
|
|
|
#region CPS 相关
|
|
|
- public static async Task<APIResult> CpsCouponAsync(string channel, string ip, string oaid)
|
|
|
+ public static async Task<APIResult> UnionCpsAsync(string channelStr, string ip, string oaid)
|
|
|
+ {
|
|
|
+ var channel_list = channelStr.Split(',');
|
|
|
+ List<dynamic> list = new List<dynamic>();
|
|
|
+ foreach (var channel in channel_list)
|
|
|
+ {
|
|
|
+ var result = await CpsCouponAsync(channel, ip, oaid);
|
|
|
+ list.Add(new
|
|
|
+ {
|
|
|
+ result.success,
|
|
|
+ result.message,
|
|
|
+ result.title,
|
|
|
+ result.deeplink_url,
|
|
|
+ result.token,
|
|
|
+ result.channel,
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ return new APIResult(new
|
|
|
+ {
|
|
|
+ data = list,
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ public static async Task<UnionCpsDTO> CpsCouponAsync(string channel, string ip, string oaid)
|
|
|
+ {
|
|
|
+ UnionCpsDTO result = GetFormattedObject(channel, ip, oaid);
|
|
|
+ if (string.IsNullOrEmpty(result.channel))
|
|
|
+ {
|
|
|
+ result.success = false;
|
|
|
+ result.message = "放弃转链";
|
|
|
+ result.reason = "无效渠道";
|
|
|
+ _ = TkLogCore.CpsLogAsync(result);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ var config = TkConfigCore.Get();
|
|
|
+ //============================== 放弃转链-地区过滤 ==============================
|
|
|
+ if (CpsShouldIgnoreRequest(config, result.channel, ip, oaid, out string reason))
|
|
|
+ {
|
|
|
+ result.success = false;
|
|
|
+ result.message = "流量控制";
|
|
|
+ result.reason = reason;
|
|
|
+ _ = TkLogCore.CpsLogAsync(result);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ var account = CpsPoolCore.GetOne(result.channel);
|
|
|
+ if (account == null)
|
|
|
+ {
|
|
|
+ result.success = false;
|
|
|
+ result.message = "放弃转链";
|
|
|
+ result.reason = "没有匹配账号";
|
|
|
+ _ = TkLogCore.CpsLogAsync(result);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ result.accountId = account.id;
|
|
|
+ result.accountName = account.name;
|
|
|
+ result.deeplink_url = account.deeplink;
|
|
|
+ result.token = account.token;
|
|
|
+ result.category = account.category;
|
|
|
+ result.pid = account.pid;
|
|
|
+ result.title = account.title;
|
|
|
+ result.success = true;
|
|
|
+ result.message = "OK";
|
|
|
+
|
|
|
+ _ = TkLogCore.CpsLogAsync(result);
|
|
|
+ return result;
|
|
|
+ //return new APIResult(new
|
|
|
+ //{
|
|
|
+ // result.success,
|
|
|
+ // result.message,
|
|
|
+ // result.reason,
|
|
|
+ // result.channel,
|
|
|
+ //});
|
|
|
+ //return new APIResult(new
|
|
|
+ //{
|
|
|
+ // result.success,
|
|
|
+ // result.message,
|
|
|
+ // result.title,
|
|
|
+ // result.deeplink_url,
|
|
|
+ // result.token,
|
|
|
+ // result.channel,
|
|
|
+ //});
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public static async Task<APIResult> CpsCouponAsync22(string channel, string ip, string oaid)
|
|
|
{
|
|
|
UnionCpsDTO result = GetFormattedObject(channel, ip, oaid);
|
|
|
if (string.IsNullOrEmpty(result.channel))
|