Skip to content

Commit 0481863

Browse files
author
nfc666
committed
ai辅助编写的readme
1 parent 9bfecf5 commit 0481863

2 files changed

Lines changed: 150 additions & 0 deletions

File tree

.idea/.idea.SenTooliKit/.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
## SenTooliKit
2+
3+
一个基于 .NET 8 与 WPF 的桌面工具箱,聚焦于哔哩哔哩相关数据处理与常用效率工具的集合。项目采用 MVVM(CommunityToolkit.Mvvm)架构,内置数据分析与可视化能力,支持评论、弹幕解析与分析、视频与直播流信息查看等功能。
4+
5+
- 仓库地址:[`https://github.com/NFC666/SenToolkit`](https://github.com/NFC666/SenToolkit.git)
6+
7+
8+
### 功能特性
9+
10+
- 哔哩哔哩工具集(BilibiliPages)
11+
- 评论信息查询与导出(`BCommentInfoUserControl`
12+
- 评论文本分析(分词、词频、停用词过滤)(`BCommentAnalysisUserControl`
13+
- 弹幕信息查询与导出(`BDmInfoUserControl`
14+
- 弹幕内容分析与可视化(`BDmAnalysisUserControl`
15+
- 视频信息查看(`BVideoWindow`)与直播流信息查看(`BStreamWindow`
16+
- 文本分词与关键词抽取:内置 `jieba.NET` 与自带停用词表(`Resources/stopwords.txt`
17+
- 数据可视化:基于 `ScottPlot.WPF` 快速绘制统计图表
18+
- Excel 文档导出:`DocumentFormat.OpenXml`
19+
- DI/宿主:`Microsoft.Extensions.DependencyInjection``Microsoft.Extensions.Hosting`
20+
- UI 样式:`MaterialDesignThemes``Microsoft.Xaml.Behaviors.Wpf`
21+
22+
23+
### 技术栈
24+
25+
- 平台:.NET 8(`net8.0-windows`
26+
- 框架:WPF(桌面 WinExe)
27+
- 架构:MVVM(CommunityToolkit.Mvvm)
28+
- 可视化:ScottPlot.WPF
29+
- 文档处理:DocumentFormat.OpenXml
30+
- 其他:Newtonsoft.Json、Ookii.Dialogs.Wpf、jieba.NET
31+
32+
33+
### 目录结构
34+
35+
```
36+
SenTooliKit.sln
37+
├─ SenTooliKit/ // WPF 前端(启动项目)
38+
│ ├─ Views/BilibiliPages/ // 哔哩哔哩相关页面与窗口
39+
│ ├─ ViewModels/BilibiliPages/ // 对应的 ViewModel
40+
│ ├─ Resources/ // 图标、停用词等资源
41+
│ └─ App.xaml / MainWindow.xaml
42+
├─ SenTooliKit.Common/ // 通用模型、Helper、Proto 定义等
43+
├─ SenTooliKit.Services/ // 业务逻辑与服务实现
44+
├─ SenTooliKit.IServices/ // 服务接口定义
45+
├─ SenTooliKit.Repository/ // 数据访问/工厂等(如需)
46+
└─ SenTooliKit.Tests/ // 单元测试(xUnit)
47+
```
48+
49+
50+
### 环境要求
51+
52+
- Windows 10/11
53+
- .NET SDK 8.0+
54+
- Visual Studio 2022(推荐)或 Rider
55+
56+
57+
### 本地运行
58+
59+
1) 克隆仓库
60+
61+
```bash
62+
git clone https://github.com/NFC666/SenToolkit.git
63+
cd SenTooliKit
64+
```
65+
66+
2) 还原并构建
67+
68+
```bash
69+
dotnet restore
70+
dotnet build -c Debug
71+
```
72+
73+
3) 启动应用(WPF)
74+
75+
```bash
76+
dotnet run --project SenTooliKit/SenTooliKit.csproj
77+
```
78+
79+
80+
### 发布打包
81+
82+
使用 .NET 发布(推荐 x64):
83+
84+
```bash
85+
dotnet publish SenTooliKit/SenTooliKit.csproj -c Release -r win-x64 --self-contained false -p:PublishSingleFile=false
86+
```
87+
88+
输出目录位于:`SenTooliKit/bin/Release/net8.0-windows/win-x64/publish/`
89+
90+
仓库还包含 `SenTooliKit/Releases/` 下的历史产物(如 `RELEASES`、安装包与压缩包),可作为参考。
91+
92+
93+
### 测试
94+
95+
```bash
96+
dotnet test
97+
```
98+
99+
100+
### 常见问题(FAQ)
101+
102+
- 无法运行,提示缺少 .NET:请先安装 .NET 8 运行时/SDK。
103+
- 字体或界面异常:请确认 Windows 具备中文字体并在 100%/125% 缩放下尝试。
104+
- 控件不显示或样式错乱:确保未启用单文件发布调试,或参考项目内注释调整发布参数。
105+
106+
107+
### 贡献与开发
108+
109+
欢迎提交 PR 与 Issue。代码风格与依赖由中央包管理控制:见 `Directory.Packages.props` 与根目录 `.editorconfig`
110+
111+
建议:
112+
113+
- 保持 MVVM 分层清晰:`Views``ViewModels``Services``Common`
114+
- 引入新依赖时使用中央包管理(不会在项目文件内写死版本)
115+
- 添加/更新测试覆盖核心逻辑
116+
117+
118+
### 许可
119+
120+
本项目采用 Creative Commons Attribution-NonCommercial 4.0 International(CC BY-NC 4.0,署名-非商业性使用)授权。
121+
122+
- 简述:在非商业用途下,允许自由分享与改编本项目,必须保留署名并注明修改,不得用于商业用途,且不得施加额外限制。
123+
- 协议全文:CC BY-NC 4.0(建议阅读官方条款,并在再分发时附上协议链接)。
124+
125+
允许 / 必须 / 禁止(简表):
126+
127+
| 允许 | 必须 | 禁止 |
128+
| --- | --- | --- |
129+
| 复制、分发、展示、表演作品 | 署名原作者并附上许可链接 | 任何商业用途 |
130+
| 改编、翻译、二次创作 | 如有修改需注明已作出修改 | 对他人施加额外法律或技术限制(如 DRM) |
131+
| 以相同许可再分发 | 明确声明作品基于 CC BY-NC 4.0 授权 | 暗示作者/许可方背书或认可 |
132+
133+
注意:本协议不授予专利、商标、隐私、肖像等其他权利;作品按“现状”提供,作者与许可方不对使用造成的损失负责。若违反条款,授权将自动终止;在 30 天内纠正违规行为则可自动恢复。
134+
135+
136+
### 致谢
137+
138+
- 在哔哩哔哩 API 资料方面参考了 `SocialSisterYi/bilibili-API-collect` 项目,特此致谢。
139+
- `CommunityToolkit.Mvvm``ScottPlot.WPF``jieba.NET``DocumentFormat.OpenXml``MaterialDesignThemes` 等开源项目
140+
141+
142+
—— 如果本项目对你有帮助,欢迎 Star 支持:[`NFC666/SenToolkit`](https://github.com/NFC666/SenToolkit.git)
143+
144+

0 commit comments

Comments
 (0)