WIn_RustTools/RustTools/ApiFox/mod.cs

102 lines
3.3 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Diagnostics;
using RestSharp;
using RustTools.muqing;
namespace RustTools.ApiFox;
#pragma warning disable CS8981 // 该类型名称仅包含小写 ascii 字符。此类名称可能会成为该语言的保留值。
#pragma warning disable IDE1006 // 命名样式
public class mod
{
//最新时间 下载数量 投币数量 更新数量
//latestTime downloadNumbercoinNumber updateNumber
public const string latestTime = "latestTime";
public const string downloadNumber = "downloadNumber";
public const string coinNumber = "coinNumber";
public const string updateNumber = "updateNumber";
/// <summary>
/// 推荐接口
/// </summary>
/// <returns></returns>
public static async Task<string> random()
{
var v = await wl.postAsync("/php/mod.php?action=random", new string[][]{
new string[] { "number", "6" }});
return v ?? string.Empty;
}
public static async Task<string> list(string sortMode, string limit, string tag)
{
var strings = new string[][]{
new string[] { "sortMode", sortMode },
new string[] { "limit", limit},
new string[] { "tag",tag }};
//if (string.IsNullOrWhiteSpace(tag)) {
// strings = new string[][]{
// new string[] { "sortMode", sortMode },
// new string[] { "limit", limit} };
//}
var v = await wl.postAsync("/php/mod.php?action=list",strings) ;
return v ?? string.Empty;
}
public static async Task<string> getInfo(string account, string modId)
{
var v = await wl.postAsync("/php/mod.php?action=getInfo", new string[][]{
new string[] { "account", account },
new string[] { "modId", modId}
});
return v ?? string.Empty;
}
/// <summary>
/// 发布模组
/// </summary>
/// <returns></returns>
public static async Task<string> release(releaseData releaseData)
{
var client = new RestClient(wl.api);
var request = new RestRequest("/php/mod.php?action=release",Method.Post);
request.AddParameter("token", "");
request.AddParameter("appID", "");
request.AddParameter("modId", "");
request.AddParameter("modName", "");
request.AddParameter("describe", "");
request.AddParameter("tags", "");
request.AddParameter("unitNumber", "");
request.AddParameter("versionName", "");
request.AddParameter("minVersion", "");
request.AddFile("file", "");
request.AddFile("iconFile", "");
for (var i = 0; i < releaseData.screenshot.Count; i++)
{
request.AddFile($"screenshot_{i}", releaseData.screenshot[i]);
}
var response = client.Execute(request);
return response.Content??string.Empty;
}
public class releaseData
{
public string token = "";
public string appID = "";
public string modId = "";
public string modName = "";
public string describe = "";
public string tags = "";
public string unitNumber = "";
public string versionName = "";
public string minVersion = "";
public string file = "";
public string iconFile = "";
public List<string> screenshot = new();
}
}