Add files via upload

This commit is contained in:
zsyg
2025-07-20 13:21:19 +08:00
committed by GitHub
parent 4c13fe0008
commit f4f4d86faa
8 changed files with 136 additions and 125 deletions

View File

@@ -15,6 +15,7 @@ namespace AppStore
private Label nameLabel;
private Panel namePanel;
private Button downloadBtn;
private ToolTip? toolTip;
private Color borderColor = SystemColors.ControlDark;
private static readonly ConcurrentDictionary<string, System.Drawing.Drawing2D.GraphicsPath> PathCache =
new ConcurrentDictionary<string, System.Drawing.Drawing2D.GraphicsPath>();
@@ -22,6 +23,7 @@ namespace AppStore
public string AppName { get; set; } = string.Empty;
public Image AppIcon { get; set; } = SystemIcons.Application.ToBitmap();
public string DownloadUrl { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public bool ShowDownloadButton { get; set; } = true;
public AppCard()
@@ -126,6 +128,13 @@ namespace AppStore
this.Controls.Add(namePanel);
}
// 初始化ToolTip控件
toolTip = new ToolTip();
toolTip.AutoPopDelay = 5000;
toolTip.InitialDelay = 500;
toolTip.ReshowDelay = 500;
toolTip.ShowAlways = true;
// 下载按钮 - 添加null检查
if (downloadBtn != null)
{
@@ -144,6 +153,10 @@ namespace AppStore
if (downloadBtn != null)
{
downloadBtn.BackColor = Color.FromArgb(0, 150, 255);
if (!string.IsNullOrEmpty(Description))
{
toolTip.SetToolTip(downloadBtn, Description);
}
}
};
@@ -373,7 +386,7 @@ namespace AppStore
try
{
var safePath = path ?? CalculatePathFallback(Width, Height, 10);
// 更严格的null检查包括路径和控件状态
// 更严格的null检查,包括路径和控件状态
if (safePath != null &&
safePath.PointCount > 0 &&
this.IsHandleCreated &&
@@ -450,7 +463,7 @@ namespace AppStore
try
{
// 更严格的null检查
// 更严格的null检查包括DownloadManager.Instance和其方法
// 更严格的null检查,包括DownloadManager.Instance和其方法
// 全面的null和状态检查
var downloadManager = DownloadManager.Instance;
if (sender == null || e == null ||

View File

@@ -59,7 +59,7 @@ namespace AppStore
}
catch
{
// 忽略所有异常使用默认值
// 忽略所有异常,使用默认值
}
return result;
@@ -115,7 +115,7 @@ namespace AppStore
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
"Downloads");
Logger.LogError($"下载路径{downloadsDir}不可用将使用默认路径: {defaultPath}", ex);
Logger.LogError($"下载路径{downloadsDir}不可用,将使用默认路径: {defaultPath}", ex);
downloadsDir = defaultPath;
Directory.CreateDirectory(downloadsDir);
}

230
README.md
View File

@@ -1,116 +1,114 @@
# Kortapp-z - Windows应用商店 --主张软件开源、免费拒绝广告
小立一个flag从不接受广告不停更新
## 项目开源行为
1. 项目代码开源允许任何人使用、修改、分发、商用但必须注明原作者。
2. 项目图标、截图等资源开源允许任何人使用、修改、分发、商用但必须注明原作者。
3. 项目的任何衍生品包括但不限于网站、APP、插件等必须遵循以上开源协议。
4. 项目不接受任何形式的广告不得在任何地方投放广告。
5. 项目不接受任何形式的捐赠、赞助
6. 项目可以进行PR欢迎任何形式的PR不提交issue也可以
7. 本项目可以PR一些你自己的项目如果star数量不到1k都会被删除
## 项目简介
一个简单的Windows应用商店应用提供软件下载和管理功能。
提供软件管理、下载管理、内置工具使用等功能
## 功能特点
- 简洁的软件下载界面
- 下载进度管理
- 支持后台下载
- 美观的应用卡片展示
- 功能化、结构化的代码处理
## 构建与打包
### 系统要求
- .NET 8.0 SDK
- Windows 10/11
### 打包指令
#### 32位版本
```bash
dotnet publish AppStore.csproj -c Release -r win-x86 --self-contained false /p:Optimize=true /p:DebugType=None
```
#### 64位版本
```bash
dotnet publish AppStore.csproj -c Release -r win-x64 --self-contained false /p:Optimize=true /p:DebugType=None
```
打包后的可执行文件将包含指定的应用程序图标输出路径为:
```
bin\Release\net8.0-windows\[platform]\publish
```
### 高级选项
- 使用`--self-contained false`生成框架依赖包(默认)
- 使用`/p:Optimize=true`启用代码优化(默认)
- 使用`/p:DebugType=None`禁用调试符号生成(默认)
- 添加`-p:PublishTrimmed=true`可减小包体积(实验性)
## 项目结构
```
kortapp-z/
├── MainForm.cs # 主窗体逻辑
├── DownloadManager.cs # 下载管理
├── AppCard.cs # 应用卡片控件
├── DownloadItem.cs # 下载项控件
├── img/ # 图片资源
│ ├── ico/ # 图标文件
│ └── png/ # 应用截图
└── resource/ # 资源文件
└── aria2c.exe # 下载工具
```
## 运行要求
- .NET 8.0运行时(如果使用框架依赖发布)
- Windows 10或更高版本
## 许可证
MIT License
Copyright (c) 2025 zsyg
## 其他网站
gitee镜像仓库:https://gitee.com/chr_super/kortapp-z (目前已经停止维护)
sourceforge镜像仓库https://sourceforge.net/projects/kortapp-z/仅镜像releases
## 维护
由于gitee我没怎么用而且操作麻烦gitee镜像将不会继续同步有懂得人可以帮我搞下镜像吗qq 3872006562也可以b站直接私信我会在readme中鸣谢的谢谢各位
由于和Daye发生了矛盾所以windowscleaner将永远不上架我要自己努力
提示由于github上传文件的限制img/png/NET.png请改名为.NET.png否则程序可能出现无法预料的问题
每一个人都可以通过PR添加属于自己的合法软件
作者邮箱:
```
3872006562@qq.com
```
作者qq号:
```
3872006562
```
qq群
```
1043867176
```
b站账号
```
Zayisynth
```
# Kortapp-z - Windows应用商店 --主张软件开源、免费,拒绝广告
小立一个flag从不接受广告,不停更新
## 项目开源行为
1. 项目代码开源,允许任何人使用、修改、分发、商用,但必须注明原作者。
2. 项目图标、截图等资源开源,允许任何人使用、修改、分发、商用,但必须注明原作者。
3. 项目的任何衍生品包括但不限于网站、APP、插件等必须遵循以上开源协议。
4. 项目不接受任何形式的广告,不得在任何地方投放广告。
5. 项目不接受任何形式的捐赠、赞助
6. 项目可以进行PR,欢迎任何形式的PR,不提交issue也可以
7. 本项目可以PR一些你自己的项目,如果star数量不到1k,都会被删除
## 项目简介
一个简单的Windows应用商店应用,提供软件下载和管理功能。
提供软件管理、下载管理、内置工具使用等功能
## 功能特点
- 简洁的软件下载界面
- 下载进度管理
- 支持后台下载
- 美观的应用卡片展示
- 功能化、结构化的代码处理
## 构建与打包
### 系统要求
- .NET 8.0 SDK
- Windows 10/11
### 打包指令
#### 32位版本
```bash
dotnet publish AppStore.csproj -c Release -r win-x86 --self-contained false /p:Optimize=true /p:DebugType=None
```
#### 64位版本
```bash
dotnet publish AppStore.csproj -c Release -r win-x64 --self-contained false /p:Optimize=true /p:DebugType=None
```
打包后的可执行文件将包含指定的应用程序图标,输出路径为:
```
bin\Release\net8.0-windows\[platform]\publish
```
### 高级选项
- 使用`--self-contained false`生成框架依赖包(默认)
- 使用`/p:Optimize=true`启用代码优化(默认)
- 使用`/p:DebugType=None`禁用调试符号生成(默认)
- 添加`-p:PublishTrimmed=true`可减小包体积(实验性)
## 项目结构
```
kortapp-z/
├── MainForm.cs # 主窗体逻辑
├── DownloadManager.cs # 下载管理
├── AppCard.cs # 应用卡片控件
├── DownloadItem.cs # 下载项控件
├── img/ # 图片资源
│ ├── ico/ # 图标文件
│ └── png/ # 应用截图
└── resource/ # 资源文件
└── aria2c.exe # 下载工具
```
## 运行要求
- .NET 8.0运行时(如果使用框架依赖发布)
- Windows 10或更高版本
## 许可证
MIT License
Copyright (c) 2025 zsyg
## 其他网站
gitee镜像仓库:https://gitee.com/chr_super/kortapp-z (目前已经停止维护)
## 维护
由于gitee我没怎么用,而且操作麻烦,gitee镜像将不会继续同步,有懂得人可以帮我搞下镜像吗,qq 3872006562,也可以b站直接私信,我会在readme中鸣谢的,谢谢各位
由于和Daye发生了矛盾,所以windowscleaner将永远不上架,我要自己努力
提示:由于github上传文件的限制,img/png/NET.png,请改名为.NET.png,否则程序可能出现无法预料的问题
每一个人都可以通过PR添加属于自己的合法软件
作者邮箱:
```
3872006562@qq.com
```
作者qq号:
```
3872006562
```
qq群
```
1043867176
```
b站账号
```
Zayisynth
```

View File

@@ -205,7 +205,7 @@ namespace AppStore
var jsonData = JsonSerializer.Deserialize<JsonElement>(jsonString);
string customPath = jsonData.GetProperty("DownloadPath").GetString() ?? "";
// 如果自定义路径有效则显示否则显示默认路径
// 如果自定义路径有效则显示,否则显示默认路径
txtBox.Text = !string.IsNullOrWhiteSpace(customPath) ? customPath : defaultPath;
}
else

View File

@@ -1,4 +1,4 @@
首先如果希望编译程序那么必须安装.NET8.0 SDK
首先,如果希望编译程序,那么必须安装.NET8.0 SDK
下载链接https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/sdk-8.0.411-windows-x64-installer
使用一下指令编译

View File

@@ -1,4 +1,4 @@
如果希望运行那么必须安装.NET8.0 SDK
如果希望运行,那么必须安装.NET8.0 SDK
下载链接https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/sdk-8.0.411-windows-x64-installer

View File

@@ -32,7 +32,7 @@ namespace AppStore
}
catch
{
// 忽略错误使用默认主题
// 忽略错误,使用默认主题
}
return ThemeMode.Light;
}

View File

@@ -44,7 +44,7 @@ int main() {
}
}
} else {
std::cout << "日志目录不存在无需清理" << std::endl;
std::cout << "日志目录不存在,无需清理" << std::endl;
return 0;
}