You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
6.2 KiB
162 lines
6.2 KiB
1 month ago
|
using System.Collections.Generic;
|
||
|
using System.Linq;
|
||
|
using LitJson;
|
||
|
using SimpleHttpServer;
|
||
|
using ProtoCSStruct;
|
||
|
using Sog;
|
||
|
|
||
|
namespace Operation
|
||
|
{
|
||
|
[MenuMapping(refc = typeof(ServerMonitor))]
|
||
|
public class Website
|
||
|
{
|
||
|
[RequestMapping("常用系统设置", PermissionCode.WEBSITE_SELECT, toLog: false, isMenu = true)]
|
||
|
public static int OnSelectWebsiteHttpReq(string httpApiCmd, JsonData jsonData, HttpResponse rsp,
|
||
|
HttpRequest request, HttpQueryParams query, uint httpContextId)
|
||
|
{
|
||
|
TraceLog.Trace("Website.OnSelectWebsiteHttpReq url {0} ,param count {1} ,httpContextId {2}", request.Url,
|
||
|
query.Count, httpContextId);
|
||
|
var operationServerData = OperationServerUtils.GetOperationServerData();
|
||
|
jsonData["code"] = 0;
|
||
|
JsonData data = new JsonData();
|
||
|
data["chatId"] = operationServerData.m_operationWebsite.ChatId;
|
||
|
data["dailySendTime"] = operationServerData.m_operationWebsite.DailySendTime;
|
||
|
data["oldPlayerReamId"] = operationServerData.m_operationWebsite.OldPlayerRealmId;
|
||
|
|
||
|
var gmUserList = new List<long>();
|
||
|
var uids = operationServerData.m_operationWebsite.GmUid;
|
||
|
for (int i = 0; i < uids.Count; i++)
|
||
|
{
|
||
|
var uid = uids[i];
|
||
|
gmUserList.Add(uid);
|
||
|
}
|
||
|
|
||
|
data["gmUid"] = string.Join(",", gmUserList);
|
||
|
jsonData["data"] = data;
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
[RequestMapping("更新系统设置", PermissionCode.WEBSITE_UPDATE, toLog: true)]
|
||
|
public static int OnUpdateWebsiteHttpReq(string httpApiCmd, JsonData jsonData, HttpResponse rsp,
|
||
|
HttpRequest request, HttpQueryParams query, uint httpContextId)
|
||
|
{
|
||
|
PlayerPresetOp.UpdateVersion();
|
||
|
TraceLog.Trace("Website.OnSelectWebsiteHttpReq url {0} ,param count {1} ,httpContextId {2}", request.Url,
|
||
|
query.Count, httpContextId);
|
||
|
ref var operationServerData = ref OperationServerUtils.GetOperationServerData().m_operationWebsite;
|
||
|
var chatId = query.GetValue("chatId").Toint32();
|
||
|
var dailySendTime = query.GetValue("dailySendTime").Toint32();
|
||
|
var oldPlayerRealmId = query.GetValue("oldPlayerRealmId").Toint32();
|
||
|
var gmUids = query.GetValue("gmUid");
|
||
|
operationServerData.ChatId = chatId;
|
||
|
operationServerData.DailySendTime = dailySendTime;
|
||
|
operationServerData.OldPlayerRealmId = oldPlayerRealmId;
|
||
|
var gmUIdList = gmUids.Split(",");
|
||
|
List<long> gmUIds = new List<long>();
|
||
|
foreach (var uid in gmUIdList)
|
||
|
{
|
||
|
if (string.IsNullOrEmpty(uid))
|
||
|
{
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
bool succ = long.TryParse(uid, out long UID);
|
||
|
if (!succ)
|
||
|
{
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
gmUIds.Add(UID);
|
||
|
}
|
||
|
|
||
|
operationServerData.GmUid.Clear();
|
||
|
foreach (var uid in gmUIds)
|
||
|
{
|
||
|
operationServerData.GmUid.Add(uid);
|
||
|
}
|
||
|
WebsiteSvc.Commit();
|
||
|
jsonData["code"] = 0;
|
||
|
return 0;
|
||
|
}
|
||
|
//关于功能的一个说明映射
|
||
|
private static readonly Dictionary<FeatureSwitch, string> FeatureMappings = new()
|
||
|
{
|
||
|
{ FeatureSwitch.ChatImport, "聊天入口" },
|
||
|
{ FeatureSwitch.CDKImport, "兑换码" },
|
||
|
};
|
||
|
|
||
|
[RequestMapping("功能开关", PermissionCode.FEATURE_SELECT, toLog: false, isMenu = true)]
|
||
|
public static int OnSelectFeatureHttpReq(string httpApiCmd, JsonData jsonData, HttpResponse rsp,
|
||
|
HttpRequest request, HttpQueryParams query, uint httpContextId)
|
||
|
{
|
||
|
TraceLog.Trace("Website.OnSelectFeatureHttpReq url {0} ,param count {1} ,httpContextId {2}", request.Url,
|
||
|
query.Count, httpContextId);
|
||
|
var operationServerData = OperationServerUtils.GetOperationServerData();
|
||
|
|
||
|
JsonData data = new JsonData();
|
||
|
var featureData = operationServerData.m_operationWebsite.FeatureSwitch;
|
||
|
|
||
|
|
||
|
foreach (var feature in FeatureMappings)
|
||
|
{
|
||
|
var index = -1;
|
||
|
for (var i = 0; i < featureData.Count; i++)
|
||
|
{
|
||
|
if (featureData[i].Id == (int)feature.Key)
|
||
|
{
|
||
|
index = i;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var value = 0;
|
||
|
if (index > -1)
|
||
|
{
|
||
|
value = featureData[index].Value;
|
||
|
}
|
||
|
|
||
|
var item = new JsonData();
|
||
|
item["feature"] = (int)feature.Key;
|
||
|
item["name"] = feature.Value;
|
||
|
item["status"] = value;
|
||
|
data.Add(item);
|
||
|
}
|
||
|
|
||
|
jsonData["data"] = data;
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
[RequestMapping("更新功能开关", PermissionCode.FEATURE_UPDATE, toLog: true, isMenu = false)]
|
||
|
public static int OnUpdateFeatureHttpReq(string httpApiCmd, JsonData jsonData, HttpResponse rsp,
|
||
|
HttpRequest request, HttpQueryParams query, uint httpContextId)
|
||
|
{
|
||
|
TraceLog.Trace("Website.OnUpdateFeatureHttpReq url {0} ,param count {1} ,httpContextId {2}", request.Url,
|
||
|
query.Count, httpContextId);
|
||
|
ref var operationServerData = ref OperationServerUtils.GetOperationServerData().m_operationWebsite;
|
||
|
var feature = query.GetValue("feature").Toint32();
|
||
|
|
||
|
ref var featureSwitch = ref operationServerData.FeatureSwitch;
|
||
|
var index = -1;
|
||
|
|
||
|
for (var i = 0; i < featureSwitch.Count; i++)
|
||
|
{
|
||
|
if (featureSwitch[i].Id != feature) continue;
|
||
|
index = i;
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
if (index > -1)
|
||
|
{
|
||
|
featureSwitch[index].Value = featureSwitch[index].Value == 0 ? 1 : 0;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
//没有一定是打开呗
|
||
|
featureSwitch.Add(new IDValue32() { Id = feature, Value = 1 });
|
||
|
}
|
||
|
|
||
|
WebsiteSvc.Commit();
|
||
|
return 0;
|
||
|
}
|
||
|
}
|
||
|
}
|