样式优化
This commit is contained in:
@@ -342,7 +342,11 @@ namespace dy.net.Controllers
|
||||
[HttpGet("mytag")]
|
||||
public async Task<IActionResult> GetMyTag()
|
||||
{
|
||||
return ApiResult.Success(Appsettings.Get("tagName"));
|
||||
var deploy = Appsettings.Get("deploy");
|
||||
var tag = Appsettings.Get("tagName");
|
||||
tag = deploy == "fn" ? "fn_" + Appsettings.Get("fnVersion") : tag;
|
||||
deploy = deploy == "fn" ? "fnos" : "docker";
|
||||
return ApiResult.Success(new { tag, deploy });
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
@@ -359,7 +363,7 @@ namespace dy.net.Controllers
|
||||
{
|
||||
if (deploy == "fn")//飞牛
|
||||
{
|
||||
return ApiResult.Success(new List<string> { "beta_" + Appsettings.Get("fnVersion") });
|
||||
return ApiResult.Success(new List<string> { "fn_" + Appsettings.Get("fnVersion") });
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -38,6 +38,7 @@ namespace dy.net
|
||||
// 初始化应用服务
|
||||
InitApplicationServices(app, isDevelopment);
|
||||
Console.WriteLine();
|
||||
|
||||
app.Run();
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<_PublishTargetUrl>E:\code\dysync\bin\Release\net6.0\publish\</_PublishTargetUrl>
|
||||
<History>True|2026-01-15T14:18:57.9835738Z||;True|2026-01-15T22:07:25.4753938+08:00||;True|2026-01-15T22:07:14.8243754+08:00||;True|2026-01-15T21:40:13.2613927+08:00||;True|2026-01-15T20:57:56.6291682+08:00||;True|2026-01-15T20:57:47.1363536+08:00||;True|2026-01-15T20:08:44.4710883+08:00||;True|2026-01-15T20:04:51.8284314+08:00||;False|2026-01-15T20:04:45.3258155+08:00||;True|2026-01-15T19:59:11.7907672+08:00||;True|2026-01-15T01:10:48.9066941+08:00||;True|2026-01-15T01:03:23.6216975+08:00||;True|2026-01-15T01:03:16.3364591+08:00||;False|2026-01-15T01:03:10.5654436+08:00||;True|2026-01-15T00:49:21.6559622+08:00||;True|2026-01-15T00:10:42.7288439+08:00||;True|2026-01-15T00:06:28.4241682+08:00||;True|2026-01-13T22:34:15.2372411+08:00||;True|2026-01-13T22:26:46.4522947+08:00||;True|2026-01-13T22:15:56.9735179+08:00||;True|2026-01-13T22:15:51.8250677+08:00||;False|2026-01-13T22:15:46.6608690+08:00||;True|2026-01-13T22:03:06.4683237+08:00||;False|2026-01-13T22:03:01.2036027+08:00||;True|2026-01-13T21:36:05.8776209+08:00||;True|2026-01-13T21:33:02.0766289+08:00||;False|2026-01-13T21:32:57.1976141+08:00||;True|2026-01-13T19:14:35.2519439+08:00||;True|2026-01-13T15:07:50.0836745+08:00||;False|2026-01-13T15:06:35.5929685+08:00||;True|2026-01-13T10:21:41.6012776+08:00||;True|2026-01-13T09:57:25.4788847+08:00||;True|2026-01-13T09:53:14.4900360+08:00||;True|2026-01-13T09:23:53.6465295+08:00||;True|2026-01-12T22:04:14.5886955+08:00||;False|2026-01-12T22:04:08.2008101+08:00||;True|2026-01-12T21:53:46.9947176+08:00||;True|2026-01-12T21:11:15.8358024+08:00||;True|2026-01-12T21:09:51.8663228+08:00||;True|2026-01-11T21:25:07.5052845+08:00||;False|2026-01-11T21:24:27.5744557+08:00||;True|2026-01-11T19:59:15.4734611+08:00||;False|2026-01-11T19:59:04.9543339+08:00||;True|2026-01-11T18:51:30.6649269+08:00||;True|2026-01-08T21:07:57.5094466+08:00||;True|2026-01-08T14:51:18.2266231+08:00||;True|2026-01-08T14:31:55.1137120+08:00||;True|2026-01-08T00:16:24.4451490+08:00||;True|2026-01-08T00:14:20.7430793+08:00||;True|2026-01-08T00:07:46.7228194+08:00||;True|2026-01-07T23:52:13.3290082+08:00||;True|2026-01-07T23:49:28.4838650+08:00||;True|2026-01-07T23:47:45.1936189+08:00||;True|2026-01-07T23:35:09.7818611+08:00||;True|2026-01-07T23:20:43.7462863+08:00||;True|2026-01-07T23:04:39.5140429+08:00||;False|2026-01-07T23:04:36.5367611+08:00||;True|2026-01-07T22:53:14.6013449+08:00||;True|2026-01-07T22:49:59.9549006+08:00||;True|2026-01-07T22:36:40.0254856+08:00||;False|2026-01-07T22:36:28.8275903+08:00||;True|2026-01-07T21:59:51.4355171+08:00||;True|2026-01-03T21:38:51.4307034+08:00||;True|2026-01-02T19:09:16.9668906+08:00||;False|2026-01-02T19:09:11.7496369+08:00||;True|2026-01-02T15:42:08.2215697+08:00||;True|2026-01-02T09:46:56.1654861+08:00||;True|2026-01-02T09:35:28.0211225+08:00||;True|2026-01-01T23:07:01.9022045+08:00||;False|2026-01-01T23:06:56.0537216+08:00||;True|2026-01-01T22:16:10.2974067+08:00||;True|2026-01-01T22:16:06.2123787+08:00||;False|2026-01-01T22:15:33.3626979+08:00||;True|2026-01-01T22:01:30.7161900+08:00||;True|2026-01-01T21:10:19.3664263+08:00||;True|2026-01-01T21:09:38.6071080+08:00||;True|2025-12-30T11:45:54.5543034+08:00||;True|2025-12-30T09:19:08.3178124+08:00||;True|2025-12-29T18:57:29.7032246+08:00||;True|2025-12-27T14:52:24.4780776+08:00||;False|2025-12-27T14:52:19.5635794+08:00||;True|2025-12-27T14:48:01.6252748+08:00||;False|2025-12-27T14:47:55.7976192+08:00||;True|2025-12-27T14:38:23.9723838+08:00||;True|2025-12-27T13:00:29.8583858+08:00||;True|2025-12-26T22:18:42.4015637+08:00||;True|2025-12-26T22:10:58.5274572+08:00||;True|2025-12-26T22:06:26.3129600+08:00||;True|2025-12-26T22:03:55.6718618+08:00||;False|2025-12-26T22:03:48.3809954+08:00||;True|2025-12-26T22:02:33.1840390+08:00||;True|2025-12-26T22:01:16.1660100+08:00||;True|2025-12-25T00:50:26.1116465+08:00||;True|2025-12-25T00:48:27.3087708+08:00||;True|2025-12-25T00:47:38.4835720+08:00||;</History>
|
||||
<History>True|2026-01-16T13:00:57.7239379Z||;True|2026-01-16T21:00:03.3912989+08:00||;True|2026-01-16T20:56:08.5505592+08:00||;True|2026-01-16T20:46:32.3067302+08:00||;True|2026-01-15T22:18:57.9835738+08:00||;True|2026-01-15T22:07:25.4753938+08:00||;True|2026-01-15T22:07:14.8243754+08:00||;True|2026-01-15T21:40:13.2613927+08:00||;True|2026-01-15T20:57:56.6291682+08:00||;True|2026-01-15T20:57:47.1363536+08:00||;True|2026-01-15T20:08:44.4710883+08:00||;True|2026-01-15T20:04:51.8284314+08:00||;False|2026-01-15T20:04:45.3258155+08:00||;True|2026-01-15T19:59:11.7907672+08:00||;True|2026-01-15T01:10:48.9066941+08:00||;True|2026-01-15T01:03:23.6216975+08:00||;True|2026-01-15T01:03:16.3364591+08:00||;False|2026-01-15T01:03:10.5654436+08:00||;True|2026-01-15T00:49:21.6559622+08:00||;True|2026-01-15T00:10:42.7288439+08:00||;True|2026-01-15T00:06:28.4241682+08:00||;True|2026-01-13T22:34:15.2372411+08:00||;True|2026-01-13T22:26:46.4522947+08:00||;True|2026-01-13T22:15:56.9735179+08:00||;True|2026-01-13T22:15:51.8250677+08:00||;False|2026-01-13T22:15:46.6608690+08:00||;True|2026-01-13T22:03:06.4683237+08:00||;False|2026-01-13T22:03:01.2036027+08:00||;True|2026-01-13T21:36:05.8776209+08:00||;True|2026-01-13T21:33:02.0766289+08:00||;False|2026-01-13T21:32:57.1976141+08:00||;True|2026-01-13T19:14:35.2519439+08:00||;True|2026-01-13T15:07:50.0836745+08:00||;False|2026-01-13T15:06:35.5929685+08:00||;True|2026-01-13T10:21:41.6012776+08:00||;True|2026-01-13T09:57:25.4788847+08:00||;True|2026-01-13T09:53:14.4900360+08:00||;True|2026-01-13T09:23:53.6465295+08:00||;True|2026-01-12T22:04:14.5886955+08:00||;False|2026-01-12T22:04:08.2008101+08:00||;True|2026-01-12T21:53:46.9947176+08:00||;True|2026-01-12T21:11:15.8358024+08:00||;True|2026-01-12T21:09:51.8663228+08:00||;True|2026-01-11T21:25:07.5052845+08:00||;False|2026-01-11T21:24:27.5744557+08:00||;True|2026-01-11T19:59:15.4734611+08:00||;False|2026-01-11T19:59:04.9543339+08:00||;True|2026-01-11T18:51:30.6649269+08:00||;True|2026-01-08T21:07:57.5094466+08:00||;True|2026-01-08T14:51:18.2266231+08:00||;True|2026-01-08T14:31:55.1137120+08:00||;True|2026-01-08T00:16:24.4451490+08:00||;True|2026-01-08T00:14:20.7430793+08:00||;True|2026-01-08T00:07:46.7228194+08:00||;True|2026-01-07T23:52:13.3290082+08:00||;True|2026-01-07T23:49:28.4838650+08:00||;True|2026-01-07T23:47:45.1936189+08:00||;True|2026-01-07T23:35:09.7818611+08:00||;True|2026-01-07T23:20:43.7462863+08:00||;True|2026-01-07T23:04:39.5140429+08:00||;False|2026-01-07T23:04:36.5367611+08:00||;True|2026-01-07T22:53:14.6013449+08:00||;True|2026-01-07T22:49:59.9549006+08:00||;True|2026-01-07T22:36:40.0254856+08:00||;False|2026-01-07T22:36:28.8275903+08:00||;True|2026-01-07T21:59:51.4355171+08:00||;True|2026-01-03T21:38:51.4307034+08:00||;True|2026-01-02T19:09:16.9668906+08:00||;False|2026-01-02T19:09:11.7496369+08:00||;True|2026-01-02T15:42:08.2215697+08:00||;True|2026-01-02T09:46:56.1654861+08:00||;True|2026-01-02T09:35:28.0211225+08:00||;True|2026-01-01T23:07:01.9022045+08:00||;False|2026-01-01T23:06:56.0537216+08:00||;True|2026-01-01T22:16:10.2974067+08:00||;True|2026-01-01T22:16:06.2123787+08:00||;False|2026-01-01T22:15:33.3626979+08:00||;True|2026-01-01T22:01:30.7161900+08:00||;True|2026-01-01T21:10:19.3664263+08:00||;True|2026-01-01T21:09:38.6071080+08:00||;True|2025-12-30T11:45:54.5543034+08:00||;True|2025-12-30T09:19:08.3178124+08:00||;True|2025-12-29T18:57:29.7032246+08:00||;True|2025-12-27T14:52:24.4780776+08:00||;False|2025-12-27T14:52:19.5635794+08:00||;True|2025-12-27T14:48:01.6252748+08:00||;False|2025-12-27T14:47:55.7976192+08:00||;True|2025-12-27T14:38:23.9723838+08:00||;True|2025-12-27T13:00:29.8583858+08:00||;True|2025-12-26T22:18:42.4015637+08:00||;True|2025-12-26T22:10:58.5274572+08:00||;True|2025-12-26T22:06:26.3129600+08:00||;True|2025-12-26T22:03:55.6718618+08:00||;False|2025-12-26T22:03:48.3809954+08:00||;True|2025-12-26T22:02:33.1840390+08:00||;True|2025-12-26T22:01:16.1660100+08:00||;True|2025-12-25T00:50:26.1116465+08:00||;True|2025-12-25T00:48:27.3087708+08:00||;True|2025-12-25T00:47:38.4835720+08:00||;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<_PublishTargetUrl>E:\code\dysync\bin\Release\net6.0\publish\</_PublishTargetUrl>
|
||||
<History>True|2026-01-15T14:26:32.5592635Z||;False|2026-01-15T22:26:22.8207579+08:00||;True|2026-01-15T20:11:16.7025777+08:00||;True|2026-01-15T01:27:08.0668895+08:00||;True|2026-01-15T01:22:47.5988241+08:00||;True|2026-01-15T01:20:09.5613415+08:00||;True|2026-01-15T01:12:37.7594645+08:00||;True|2026-01-15T00:48:09.3576293+08:00||;True|2026-01-15T00:36:39.6208221+08:00||;True|2026-01-15T00:36:29.1250549+08:00||;False|2026-01-15T00:36:18.2658521+08:00||;True|2026-01-13T22:27:04.3807307+08:00||;True|2026-01-08T14:31:13.4473659+08:00||;True|2026-01-08T00:19:20.8948701+08:00||;True|2026-01-07T21:59:04.8702022+08:00||;True|2026-01-03T21:42:41.3864639+08:00||;False|2026-01-03T21:42:26.7041325+08:00||;True|2026-01-02T09:32:11.1396877+08:00||;True|2026-01-01T23:30:38.0205783+08:00||;True|2026-01-01T23:29:35.2877898+08:00||;False|2026-01-01T23:27:39.5930556+08:00||;False|2026-01-01T23:24:52.0996222+08:00||;False|2026-01-01T23:24:09.0444840+08:00||;False|2026-01-01T23:24:06.1610789+08:00||;False|2026-01-01T23:24:03.3178410+08:00||;False|2026-01-01T23:22:56.2224992+08:00||;False|2026-01-01T23:22:47.8246988+08:00||;False|2026-01-01T23:22:43.2890820+08:00||;True|2026-01-01T23:21:03.6027351+08:00||;True|2026-01-01T23:07:57.5938094+08:00||;True|2025-12-29T18:55:45.8262096+08:00||;True|2025-12-28T00:21:04.1648410+08:00||;True|2025-12-28T00:18:49.2137559+08:00||;True|2025-12-28T00:14:18.1456892+08:00||;True|2025-12-28T00:11:06.6645248+08:00||;False|2025-12-28T00:10:49.4906020+08:00||;True|2025-12-27T23:51:57.6426264+08:00||;True|2025-12-27T23:40:08.4783210+08:00||;True|2025-12-27T14:59:32.0605406+08:00||;False|2025-12-27T14:59:21.2076690+08:00||;True|2025-12-27T12:58:06.9934830+08:00||;True|2025-12-27T12:51:45.3402320+08:00||;True|2025-12-27T12:45:49.9795040+08:00||;True|2025-12-27T12:42:13.9395619+08:00||;True|2025-12-27T11:32:35.8851241+08:00||;True|2025-12-27T11:32:11.1199261+08:00||;True|2025-12-27T11:31:34.3939619+08:00||;True|2025-12-26T22:39:54.4903900+08:00||;False|2025-12-26T22:39:38.9956198+08:00||;True|2025-12-26T13:29:16.3817938+08:00||;True|2025-12-26T13:13:27.1756564+08:00||;True|2025-12-26T13:12:27.5681845+08:00||;True|2025-12-25T21:53:39.9851108+08:00||;True|2025-12-25T21:14:06.5238213+08:00||;True|2025-12-25T14:05:40.5153425+08:00||;True|2025-12-25T00:52:42.0632072+08:00||;False|2025-12-25T00:52:36.5033522+08:00||;True|2025-12-24T20:47:03.4244585+08:00||;True|2025-12-24T20:38:49.1905853+08:00||;True|2025-12-24T20:38:18.7336590+08:00||;True|2025-12-24T20:33:27.1126773+08:00||;True|2025-12-24T20:32:29.2799273+08:00||;True|2025-12-23T20:55:43.6793723+08:00||;True|2025-12-23T20:54:55.9960612+08:00||;True|2025-12-21T13:23:11.0272294+08:00||;True|2025-12-21T13:22:56.8339811+08:00||;False|2025-12-21T13:22:50.2395530+08:00||;True|2025-12-21T13:11:36.6129339+08:00||;True|2025-12-21T12:15:18.4086793+08:00||;True|2025-12-21T12:15:11.4448190+08:00||;True|2025-12-20T14:05:36.6224332+08:00||;False|2025-12-20T14:05:28.6359828+08:00||;True|2025-12-20T13:58:30.1641630+08:00||;True|2025-12-20T13:55:16.1759645+08:00||;True|2025-12-20T12:16:22.5224516+08:00||;True|2025-12-19T09:50:16.9517676+08:00||;True|2025-12-19T09:49:47.0871734+08:00||;False|2025-12-19T09:49:36.7638757+08:00||;True|2025-12-19T09:35:13.2489248+08:00||;True|2025-12-14T19:09:59.9031104+08:00||;True|2025-12-13T21:21:10.0022707+08:00||;True|2025-12-11T22:07:16.6229994+08:00||;True|2025-12-11T22:05:56.7363206+08:00||;True|2025-12-11T22:01:07.5862406+08:00||;True|2025-12-11T22:00:43.5796594+08:00||;True|2025-12-08T21:20:37.8369271+08:00||;False|2025-12-08T21:20:21.1646252+08:00||;True|2025-12-08T20:51:50.6845619+08:00||;True|2025-12-08T16:43:45.2425324+08:00||;False|2025-12-08T16:42:23.0308163+08:00||;True|2025-12-08T16:41:52.4103868+08:00||;True|2025-12-08T16:41:49.8972006+08:00||;False|2025-12-08T16:41:39.5343442+08:00||;True|2025-12-08T12:40:19.2430740+08:00||;True|2025-12-08T12:02:30.6005542+08:00||;True|2025-12-08T11:34:29.6673185+08:00||;False|2025-12-08T11:30:56.2857042+08:00||;True|2025-12-08T10:52:43.7427594+08:00||;True|2025-12-08T07:05:03.2845531+08:00||;True|2025-12-07T23:02:10.0037815+08:00||;</History>
|
||||
<History>True|2026-01-16T13:02:01.3282486Z||;True|2026-01-16T20:48:17.7251563+08:00||;False|2026-01-16T20:48:07.4197962+08:00||;True|2026-01-16T20:46:02.3409269+08:00||;True|2026-01-15T22:26:32.5592635+08:00||;False|2026-01-15T22:26:22.8207579+08:00||;True|2026-01-15T20:11:16.7025777+08:00||;True|2026-01-15T01:27:08.0668895+08:00||;True|2026-01-15T01:22:47.5988241+08:00||;True|2026-01-15T01:20:09.5613415+08:00||;True|2026-01-15T01:12:37.7594645+08:00||;True|2026-01-15T00:48:09.3576293+08:00||;True|2026-01-15T00:36:39.6208221+08:00||;True|2026-01-15T00:36:29.1250549+08:00||;False|2026-01-15T00:36:18.2658521+08:00||;True|2026-01-13T22:27:04.3807307+08:00||;True|2026-01-08T14:31:13.4473659+08:00||;True|2026-01-08T00:19:20.8948701+08:00||;True|2026-01-07T21:59:04.8702022+08:00||;True|2026-01-03T21:42:41.3864639+08:00||;False|2026-01-03T21:42:26.7041325+08:00||;True|2026-01-02T09:32:11.1396877+08:00||;True|2026-01-01T23:30:38.0205783+08:00||;True|2026-01-01T23:29:35.2877898+08:00||;False|2026-01-01T23:27:39.5930556+08:00||;False|2026-01-01T23:24:52.0996222+08:00||;False|2026-01-01T23:24:09.0444840+08:00||;False|2026-01-01T23:24:06.1610789+08:00||;False|2026-01-01T23:24:03.3178410+08:00||;False|2026-01-01T23:22:56.2224992+08:00||;False|2026-01-01T23:22:47.8246988+08:00||;False|2026-01-01T23:22:43.2890820+08:00||;True|2026-01-01T23:21:03.6027351+08:00||;True|2026-01-01T23:07:57.5938094+08:00||;True|2025-12-29T18:55:45.8262096+08:00||;True|2025-12-28T00:21:04.1648410+08:00||;True|2025-12-28T00:18:49.2137559+08:00||;True|2025-12-28T00:14:18.1456892+08:00||;True|2025-12-28T00:11:06.6645248+08:00||;False|2025-12-28T00:10:49.4906020+08:00||;True|2025-12-27T23:51:57.6426264+08:00||;True|2025-12-27T23:40:08.4783210+08:00||;True|2025-12-27T14:59:32.0605406+08:00||;False|2025-12-27T14:59:21.2076690+08:00||;True|2025-12-27T12:58:06.9934830+08:00||;True|2025-12-27T12:51:45.3402320+08:00||;True|2025-12-27T12:45:49.9795040+08:00||;True|2025-12-27T12:42:13.9395619+08:00||;True|2025-12-27T11:32:35.8851241+08:00||;True|2025-12-27T11:32:11.1199261+08:00||;True|2025-12-27T11:31:34.3939619+08:00||;True|2025-12-26T22:39:54.4903900+08:00||;False|2025-12-26T22:39:38.9956198+08:00||;True|2025-12-26T13:29:16.3817938+08:00||;True|2025-12-26T13:13:27.1756564+08:00||;True|2025-12-26T13:12:27.5681845+08:00||;True|2025-12-25T21:53:39.9851108+08:00||;True|2025-12-25T21:14:06.5238213+08:00||;True|2025-12-25T14:05:40.5153425+08:00||;True|2025-12-25T00:52:42.0632072+08:00||;False|2025-12-25T00:52:36.5033522+08:00||;True|2025-12-24T20:47:03.4244585+08:00||;True|2025-12-24T20:38:49.1905853+08:00||;True|2025-12-24T20:38:18.7336590+08:00||;True|2025-12-24T20:33:27.1126773+08:00||;True|2025-12-24T20:32:29.2799273+08:00||;True|2025-12-23T20:55:43.6793723+08:00||;True|2025-12-23T20:54:55.9960612+08:00||;True|2025-12-21T13:23:11.0272294+08:00||;True|2025-12-21T13:22:56.8339811+08:00||;False|2025-12-21T13:22:50.2395530+08:00||;True|2025-12-21T13:11:36.6129339+08:00||;True|2025-12-21T12:15:18.4086793+08:00||;True|2025-12-21T12:15:11.4448190+08:00||;True|2025-12-20T14:05:36.6224332+08:00||;False|2025-12-20T14:05:28.6359828+08:00||;True|2025-12-20T13:58:30.1641630+08:00||;True|2025-12-20T13:55:16.1759645+08:00||;True|2025-12-20T12:16:22.5224516+08:00||;True|2025-12-19T09:50:16.9517676+08:00||;True|2025-12-19T09:49:47.0871734+08:00||;False|2025-12-19T09:49:36.7638757+08:00||;True|2025-12-19T09:35:13.2489248+08:00||;True|2025-12-14T19:09:59.9031104+08:00||;True|2025-12-13T21:21:10.0022707+08:00||;True|2025-12-11T22:07:16.6229994+08:00||;True|2025-12-11T22:05:56.7363206+08:00||;True|2025-12-11T22:01:07.5862406+08:00||;True|2025-12-11T22:00:43.5796594+08:00||;True|2025-12-08T21:20:37.8369271+08:00||;False|2025-12-08T21:20:21.1646252+08:00||;True|2025-12-08T20:51:50.6845619+08:00||;True|2025-12-08T16:43:45.2425324+08:00||;False|2025-12-08T16:42:23.0308163+08:00||;True|2025-12-08T16:41:52.4103868+08:00||;True|2025-12-08T16:41:49.8972006+08:00||;False|2025-12-08T16:41:39.5343442+08:00||;True|2025-12-08T12:40:19.2430740+08:00||;True|2025-12-08T12:02:30.6005542+08:00||;True|2025-12-08T11:34:29.6673185+08:00||;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -7,13 +7,17 @@ import DayNightSwitch from '@/components/switch/DayNightSwitch.vue';
|
||||
import { TagsOutlined, CopyOutlined, GithubOutlined } from '@ant-design/icons-vue';
|
||||
import Fullscreen from '../fullscreen/Fullscreen.vue';
|
||||
import { useApiStore } from '@/store';
|
||||
import { message, Popover } from 'ant-design-vue'; // 移除 notification
|
||||
import { message, Popover, Badge } from 'ant-design-vue'; // 新增:导入 Badge 组件用于气泡提示
|
||||
|
||||
// 版本数据和当前版本状态
|
||||
const dyVersions = ref<string[]>([]);
|
||||
const copyLoading = ref<Record<string, boolean>>({});
|
||||
// 版本 popover 显隐控制
|
||||
const versionPopoverVisible = ref<boolean>(false);
|
||||
// 新增:是否有新版本(用于气泡提示)
|
||||
const hasNewVersion = ref<boolean>(false);
|
||||
// 新增:localStorage 缓存 key(统一命名,方便维护)
|
||||
const VERSION_CACHE_KEY = 'dysync_version_cache';
|
||||
|
||||
// 仓库地址常量
|
||||
const gitRepos = ref([
|
||||
@@ -118,27 +122,64 @@ const copyGitUrl = (repo: { name: string; url: string; color: string }) => {
|
||||
doCopy();
|
||||
};
|
||||
|
||||
// 版本查看方法(获取数据后控制 popover 显隐)
|
||||
// 新增:统一处理版本数据的方法(提取公共逻辑,避免冗余)
|
||||
const handleVersionData = (rawData: string[]) => {
|
||||
const newVersions = [...rawData];
|
||||
const versionLen = newVersions.length;
|
||||
|
||||
if (versionLen > 0) {
|
||||
if (versionLen === 1) {
|
||||
newVersions[0] = `${newVersions[0]}(最新版)`;
|
||||
hasNewVersion.value = false; // 只有一个版本,无新版
|
||||
} else {
|
||||
newVersions[0] = `${newVersions[0]}(当前版本)`;
|
||||
const lastIndex = versionLen - 1;
|
||||
newVersions[lastIndex] = `${newVersions[lastIndex]}(最新版)`;
|
||||
// 判断是否有新版本:当前版本 !== 最新版本(去除备注后对比)
|
||||
const currentVersion = newVersions[0].replace('(当前版本)', '').trim();
|
||||
const latestVersion = newVersions[lastIndex].replace('(最新版)', '').trim();
|
||||
hasNewVersion.value = currentVersion !== latestVersion;
|
||||
}
|
||||
} else {
|
||||
hasNewVersion.value = false;
|
||||
}
|
||||
|
||||
return newVersions;
|
||||
};
|
||||
|
||||
// 新增:保存版本数据到 localStorage
|
||||
const saveVersionToLocalStorage = (versionData: string[]) => {
|
||||
try {
|
||||
localStorage.setItem(VERSION_CACHE_KEY, JSON.stringify(versionData));
|
||||
} catch (error) {
|
||||
console.warn('版本数据缓存到 localStorage 失败:', error);
|
||||
}
|
||||
};
|
||||
|
||||
// 新增:从 localStorage 获取缓存的版本数据
|
||||
const getVersionFromLocalStorage = (): string[] => {
|
||||
try {
|
||||
const cacheData = localStorage.getItem(VERSION_CACHE_KEY);
|
||||
if (cacheData) {
|
||||
return JSON.parse(cacheData) as string[];
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn('从 localStorage 读取版本缓存失败:', error);
|
||||
}
|
||||
return [];
|
||||
};
|
||||
|
||||
// 改造:版本查看方法(获取数据后更新缓存,控制 popover 显隐)
|
||||
const showVersionNotification = () => {
|
||||
useApiStore()
|
||||
.CheckTag()
|
||||
.then((res) => {
|
||||
if (res.code === 0) {
|
||||
dyVersions.value = res.data;
|
||||
const versionLen = dyVersions.value.length;
|
||||
|
||||
if (versionLen > 0) {
|
||||
const newVersions = [...dyVersions.value];
|
||||
if (versionLen === 1) {
|
||||
newVersions[0] = `${newVersions[0]}(最新版)`;
|
||||
} else {
|
||||
newVersions[0] = `${newVersions[0]}(当前版本)`;
|
||||
const lastIndex = versionLen - 1;
|
||||
newVersions[lastIndex] = `${newVersions[lastIndex]}(最新版)`;
|
||||
}
|
||||
dyVersions.value = newVersions;
|
||||
}
|
||||
|
||||
// 处理版本数据(添加备注、判断新版)
|
||||
const processedVersions = handleVersionData(res.data);
|
||||
dyVersions.value = processedVersions;
|
||||
// 点击后更新 localStorage 缓存
|
||||
saveVersionToLocalStorage(processedVersions);
|
||||
// 打开版本 popover
|
||||
versionPopoverVisible.value = true;
|
||||
} else {
|
||||
@@ -151,8 +192,42 @@ const showVersionNotification = () => {
|
||||
});
|
||||
};
|
||||
|
||||
// 新增:页面加载时自动调用接口获取版本并缓存
|
||||
const fetchVersionOnMount = () => {
|
||||
useApiStore()
|
||||
.CheckTag()
|
||||
.then((res) => {
|
||||
if (res.code === 0) {
|
||||
// 处理版本数据(添加备注、判断新版)
|
||||
const processedVersions = handleVersionData(res.data);
|
||||
dyVersions.value = processedVersions;
|
||||
// 页面加载时缓存到 localStorage
|
||||
saveVersionToLocalStorage(processedVersions);
|
||||
} else {
|
||||
// 接口失败时,尝试读取本地缓存
|
||||
const cacheVersions = getVersionFromLocalStorage();
|
||||
if (cacheVersions.length > 0) {
|
||||
dyVersions.value = handleVersionData(cacheVersions);
|
||||
}
|
||||
message.error(res.message);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
// 接口异常时,尝试读取本地缓存
|
||||
const cacheVersions = getVersionFromLocalStorage();
|
||||
if (cacheVersions.length > 0) {
|
||||
dyVersions.value = handleVersionData(cacheVersions);
|
||||
}
|
||||
message.error('获取版本列表失败,已加载本地缓存');
|
||||
console.error(err);
|
||||
});
|
||||
};
|
||||
|
||||
// 全局注入加载动画样式
|
||||
onMounted(() => {
|
||||
// 页面加载时自动调用版本接口
|
||||
fetchVersionOnMount();
|
||||
|
||||
if (!document.querySelector('#custom-spin-style')) {
|
||||
const style = document.createElement('style');
|
||||
style.id = 'custom-spin-style';
|
||||
@@ -178,7 +253,7 @@ const showGit = () => {
|
||||
<DayNightSwitch />
|
||||
</StepinHeaderAction>
|
||||
|
||||
<!-- 版本查看:纯模板实现,移除 renderVersionList -->
|
||||
<!-- 版本查看:改造为 Badge 包裹图标,实现气泡提示 -->
|
||||
<StepinHeaderAction>
|
||||
<div class="action-item">
|
||||
<a-popover v-model:visible="versionPopoverVisible" placement="bottom" trigger="click" overlay-class="version-popover-overlay" @visible-change="(visible) => versionPopoverVisible = visible">
|
||||
@@ -218,14 +293,21 @@ const showGit = () => {
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 暂无版本数据 -->
|
||||
<div class="no-version-data" v-else>
|
||||
暂无版本数据
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<a-tooltip placement="bottom">
|
||||
<template #title>
|
||||
<span>版本查看</span>
|
||||
</template>
|
||||
<!-- <a-tooltip placement="bottom"> -->
|
||||
<template #title>
|
||||
<!-- <span>版本查看</span> -->
|
||||
</template>
|
||||
<!-- 改造:用 Badge 包裹图标,有新版时显示气泡提示 -->
|
||||
<a-badge :dot="hasNewVersion">
|
||||
<TagsOutlined class="action-icon" @click="showVersionNotification" />
|
||||
</a-tooltip>
|
||||
</a-badge>
|
||||
<!-- </a-tooltip> -->
|
||||
</a-popover>
|
||||
</div>
|
||||
</StepinHeaderAction>
|
||||
@@ -362,7 +444,7 @@ const showGit = () => {
|
||||
.version-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
maxwidth: calc(100% - 40px);
|
||||
max-width: calc(100% - 40px); /* 修正:原 maxwidth 拼写错误 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
<script lang="ts" setup>
|
||||
import { GithubOutlined, CopyrightOutlined } from '@ant-design/icons-vue';
|
||||
import { ref, onMounted } from 'vue';
|
||||
import { useApiStore } from '@/store';
|
||||
|
||||
// 响应式变量存储年份文本
|
||||
const yearText = ref('');
|
||||
|
||||
const currentVersion = ref(); // 已存在的版本号响应式变量
|
||||
onMounted(() => {
|
||||
const currentYear = new Date().getFullYear();
|
||||
const startYear = 2025;
|
||||
@@ -14,6 +15,13 @@ onMounted(() => {
|
||||
} else {
|
||||
yearText.value = `${startYear}-${currentYear}`;
|
||||
}
|
||||
useApiStore()
|
||||
.getVer()
|
||||
.then((r) => {
|
||||
if (r.code == 0) {
|
||||
currentVersion.value = r.data; // 接口返回后赋值版本号
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -26,14 +34,17 @@ onMounted(() => {
|
||||
<span>{{ yearText }} 抖小云 dysync.net. </span>
|
||||
|
||||
<!-- 将社交链接移动到这里 -->
|
||||
<div class="social-links">
|
||||
<!-- <div class="social-links">
|
||||
<a href="https://github.com/jianzhichu/dysync.net" target="_blank" rel="noopener noreferrer" aria-label="访问我们的 GitHub 仓库" class="social-link">
|
||||
<GithubOutlined />
|
||||
</a>
|
||||
<a href="https://gitee.com/deathvicky/dysync.net" target="_blank" rel="noopener noreferrer" aria-label="访问我们的 Gitee 仓库" class="social-link">
|
||||
<img class="gitee-icon" src="@/assets/gitee.svg" alt="Gitee" />
|
||||
</a>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<!-- 新增:显示当前版本号,增加样式分隔提升美观度 -->
|
||||
<span class="version-text">{{currentVersion.deploy}}_{{ currentVersion.tag }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -44,6 +55,7 @@ onMounted(() => {
|
||||
// 使用 :root 变量,便于主题切换
|
||||
--footer-text-color: var(--text-color-secondary, #999);
|
||||
--footer-hover-color: var(--primary-color, #1890ff);
|
||||
--version-text-color: var(--text-color-tertiary, #666);
|
||||
|
||||
width: 100%;
|
||||
color: var(--footer-text-color);
|
||||
@@ -68,7 +80,24 @@ onMounted(() => {
|
||||
font-size: 13px;
|
||||
letter-spacing: 0.3px;
|
||||
}
|
||||
|
||||
.version-text {
|
||||
// 核心修改1:白色文字(醒目,与绿底形成强烈对比)
|
||||
color: #ffffff;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
padding: 2px 6px; // 微调内边距,让绿底区域更饱满,视觉更舒适
|
||||
// 核心修改2:柔和绿色背景(两种可选方案,不刺眼、显高级)
|
||||
// 方案1:推荐!清新柔和绿(适配大多数页面,不张扬,高级感足)
|
||||
background-color: #722ed1;
|
||||
// 方案2:稍浅薄荷绿(更明亮,醒目度稍高,适合活泼风格页面)
|
||||
// background-color: #73d13d;
|
||||
border-radius: 4px; // 适当增大圆角,更显圆润柔和
|
||||
// 核心修改3:调整光效为白色光晕(匹配白字,提升质感,不突兀)
|
||||
// text-shadow: 0 0 3px rgba(255, 255, 255, 0.8), 0 0 6px rgba(255, 255, 255, 0.4);
|
||||
// 可选优化:轻微暗角阴影,让绿底更有层次感,不扁平
|
||||
// box-shadow: 0 1px 2px rgba(82, 196, 26, 0.2);
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
// 社交链接组自身也是一个 flex 容器
|
||||
.social-links {
|
||||
display: flex;
|
||||
|
||||
@@ -141,40 +141,40 @@ body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
// 日志容器:正常宽度(继承父元素),高度适配
|
||||
// 日志容器:自适应高度,无固定上限,保留上下留白
|
||||
.container {
|
||||
width: 100%; // 继承父元素宽度,非全屏
|
||||
height: calc(100vh - 50px); // 留出顶部表单高度,固定高度不溢出
|
||||
padding: 0 8px; // 保留少量左右间距,视觉更友好
|
||||
width: 100%;
|
||||
padding: 0 8px;
|
||||
margin: 16px 0; // 上下留白,远离屏幕边缘
|
||||
box-sizing: border-box;
|
||||
overflow: hidden; // 新增:隐藏容器外溢出内容,避免挤压footer
|
||||
overflow: hidden;
|
||||
}
|
||||
// pre样式:继承card-body宽度(核心)
|
||||
// pre样式:自适应高度,内容过多时内部滚动
|
||||
.card-width-pre {
|
||||
width: 100% !important; // 完全继承父元素(card-body)宽度
|
||||
width: 100% !important;
|
||||
min-width: 100%;
|
||||
padding: 8px; // 合理内边距,避免内容贴边
|
||||
padding: 8px;
|
||||
margin: 0 !important;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
height: 100%; // 继承card-body高度
|
||||
max-height: calc(100vh - 66px); // 新增:严格限制最大高度,避开表单+卡片内边距
|
||||
// 核心:最小高度保证容器不塌陷,最大高度限制不超视口一半
|
||||
min-height: 200px;
|
||||
max-height: calc(67vh); // 最多占视口一半,绝对不会满屏
|
||||
box-sizing: border-box;
|
||||
overflow-y: auto; // 保留:纵向滚动(优先显示垂直滚动条)
|
||||
overflow-x: auto; // 保留:横向滚动(日志行过长时)
|
||||
overflow-y: auto;
|
||||
overflow-x: auto;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
// 可选:美化滚动条(适配现代浏览器)
|
||||
// 滚动条美化(保留)
|
||||
&::-webkit-scrollbar {
|
||||
width: 6px; // 垂直滚动条宽度
|
||||
height: 6px; // 水平滚动条高度
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
}
|
||||
&::-webkit-scrollbar-thumb {
|
||||
border-radius: 3px;
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
}
|
||||
|
||||
.date-control-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@@ -241,7 +241,14 @@ export const useApiStore = defineStore('coreapi', () => {
|
||||
});
|
||||
}
|
||||
|
||||
//检查版本
|
||||
async function getVer() {
|
||||
return http.request<any, Response<any>>('/api/config/mytag', 'get').then(r => {
|
||||
return r;
|
||||
}).finally(() => {
|
||||
|
||||
});
|
||||
}
|
||||
//检查版本
|
||||
async function CheckTag() {
|
||||
return http.request<any, Response<any>>('/api/config/checktag', 'get').then(r => {
|
||||
@@ -364,6 +371,7 @@ export const useApiStore = defineStore('coreapi', () => {
|
||||
}
|
||||
|
||||
return {
|
||||
getVer,
|
||||
mp3List,
|
||||
BathRealDelete,
|
||||
DeleteByAuthor,
|
||||
|
||||
@@ -156,10 +156,10 @@ namespace dy.net.job
|
||||
var cookies = await GetValidCookies();
|
||||
if (cookies == null || !cookies.Any())
|
||||
{
|
||||
Log.Debug($"{VideoType}-无有效cookie或cookie未开启同步,任务终止!!!");
|
||||
Log.Debug($"{VideoType}-无有效cookie或{VideoType}已关闭同步,任务终止!!!");
|
||||
return;
|
||||
}
|
||||
Log.Debug($"{VideoType}-共发现{cookies.Count}个有效的cookie,同步任务即将开始...");
|
||||
Log.Debug($"{VideoType}-共发现{cookies.Count}个有效的cookie,同步即将开始...");
|
||||
|
||||
// 6. 遍历每个有效的Cookie,执行同步操作
|
||||
foreach (var cookie in cookies)
|
||||
@@ -356,7 +356,7 @@ namespace dy.net.job
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, $"{VideoType}-Cookie[{cookie.Id}]同步出错!!!");
|
||||
Log.Error(ex, $"{VideoType}-Cookie[{cookie.Id}]同步出错!!!,{ex.StackTrace}");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -369,7 +369,7 @@ namespace dy.net.job
|
||||
var data = await FetchVideoData(cookie, cursor, followed == null ? "" : followed?.SecUid);
|
||||
if (data == null)
|
||||
{
|
||||
Log.Debug($"{VideoType}-Cookie[{cookie.UserName}]读取数据失败!!!");
|
||||
Log.Debug($"{VideoType}-Cookie[{cookie.UserName}]同步数据失败!!!");
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -448,7 +448,7 @@ namespace dy.net.job
|
||||
var videos = new List<DouyinVideo>();
|
||||
foreach (var item in data.AwemeList)
|
||||
{
|
||||
//if (item.AwemeId!= "7202236830337551616")
|
||||
//if (item.AwemeId != "7440444948844956985")
|
||||
//{
|
||||
// continue;
|
||||
//}
|
||||
|
||||
Reference in New Issue
Block a user