callmeyan 32e85c62c0 优化日志记录、资源管理及功能支持
- 引入 log4net 库,统一日志记录方式,提升可维护性。
- 优化异常处理,增加详细日志记录,增强代码健壮性。
- 调整资源文件引用,新增图标资源,删除无用资源。
- 优化文档事件处理逻辑,改进面板显示与隐藏逻辑。
- 增加对 WPS 环境的支持,动态调整功能行为。
- 禁用部分功能(如常识性检测、客服、升级和帮助)。
- 删除冗余代码,清理注释,统一代码风格。
- 更新程序集版本至 2.2.5,改进调试与生产环境配置。
2025-05-08 13:57:12 +08:00

101 lines
3.5 KiB
C#

using System;
using System.Text.RegularExpressions;
namespace AIProofread
{
public enum AppEnvironment
{
Dev,
Test,
Prod
}
public class AppServer
{
/// <summary>
/// 开发环境
/// </summary>
public const string DEV = "http://localhost:5173/";
/// <summary>
/// 测试环境
/// </summary>
public const string PROD = "http://aijdw1.goldmye.com/";
public const string TEST = "http://tt-plugin.zverse.group/";
}
public class Config
{
public static readonly string APP_NAME = "AI校对王";
public static readonly string APP_VERSION = "2.2.5";
public static bool IS_WPS = false;
public static bool UpgradeForcedNotice = false;
public static readonly string APP_BASE_DIR = AppDomain.CurrentDomain.BaseDirectory;
public static readonly string CONFIG_FILE = AppDomain.CurrentDomain.BaseDirectory + "app.json";
public static string USER_MANUAL_URL = "https://aiprhelp.guomai.cn/";
/// <summary>
/// 文本背景色
/// </summary>
public static readonly string TextBackgroundColor = "#E9DABB"; // e9dabb D6AA69
public static string DeviceId = "";
#if DEBUG
/// <summary>
/// 网页访问地址
/// </summary>
public static string WEB_PATH = AppServer.PROD; //pre-gm-plugin.gachafun.com localhost:5173 gm2-plugin.zverse.group
public static bool RUN_IN_DEBUG = true;
public static AppEnvironment APP_ENV = AppEnvironment.Prod;
#else
public static string WEB_PATH = AppServer.PROD; // gm-plugin.gachafun.com pre-gm-plugin.gachafun.com
public static bool RUN_IN_DEBUG = false;
public static AppEnvironment APP_ENV = AppEnvironment.Prod;
#endif
public static readonly string APP_DATA_PATH = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\ai_proofread";
public static readonly string APP_LOG_PATH = APP_DATA_PATH + "\\logs\\";
public static readonly string WEB_DATA_PATH = APP_DATA_PATH + "\\userdata";
/// <summary>
/// 书签前缀
/// </summary>
public static readonly string BOOKMARK_NAME_PREFIX = "ai_proofread_";
private static readonly Regex regex = new Regex("^ai_proofread_\\d+$");
public static bool IsProofreadMark(string name)
{
return name != null && regex.IsMatch(name);
}
/// <summary>
/// 获取书签名称
/// </summary>
/// <param name="id">校对提示id</param>
/// <returns>书签名称</returns>
public static string BuildBookmarkName(int id)
{
return BOOKMARK_NAME_PREFIX + id;
}
/// <summary>
/// 根据书签名称获取校对提示id
/// </summary>
/// <param name="name">书签名称</param>
/// <returns>校对提示id</returns>
public static int GetBookmarkIdByName(string name)
{
if (!IsProofreadMark(name)) return -1;
return int.Parse(name.Substring(BOOKMARK_NAME_PREFIX.Length));
}
/// <summary>
/// 获取完整访问路径
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
public static string WebPath(string path)
{
Random r = new Random();
return WEB_PATH + path + (path.IndexOf("?") == -1 ? "?":"&") + $"ver={APP_VERSION}&r=" + r.NextDouble();
}
}
}