Skip to content

Commit 0595a1c

Browse files
authored
Merge pull request #18 from ProjectCampus-CH/master
合并考试看板Next.
2 parents 822ff5d + a02fd01 commit 0595a1c

33 files changed

+1147
-439
lines changed

.Screenshots/HomePage.png

314 KB
Loading

.Screenshots/InfoPage.png

551 KB
Loading

.all-contributorsrc

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
{
2+
"projectName": "exam-showboard-next",
3+
"projectOwner": "ProjectCampus-CH",
4+
"files": [
5+
"README.md"
6+
],
7+
"commitType": "docs",
8+
"commitConvention": "angular",
9+
"contributorsPerLine": 7,
10+
"contributors": [
11+
{
12+
"login": "MKStoler4096",
13+
"name": "MKStoler",
14+
"avatar_url": "https://avatars.githubusercontent.com/u/178344462?v=4",
15+
"profile": "http://qsgz.edicdn.eu.org",
16+
"contributions": [
17+
"code",
18+
"bug"
19+
]
20+
},
21+
{
22+
"login": "Jursin",
23+
"name": "Jursin",
24+
"avatar_url": "https://avatars.githubusercontent.com/u/127487914?v=4",
25+
"profile": "https://github.com/Jursin",
26+
"contributions": [
27+
"content",
28+
"design"
29+
]
30+
},
31+
{
32+
"login": "hello8693DSZ",
33+
"name": "Hello8693",
34+
"avatar_url": "https://avatars.githubusercontent.com/u/88492699?v=4",
35+
"profile": "https://github.com/hello8693DSZ",
36+
"contributions": [
37+
"code"
38+
]
39+
},
40+
{
41+
"login": "fhzit",
42+
"name": "fhzit",
43+
"avatar_url": "https://avatars.githubusercontent.com/u/152045732?v=4",
44+
"profile": "https://github.com/fhzit",
45+
"contributions": [
46+
"code",
47+
"bug",
48+
"doc"
49+
]
50+
},
51+
{
52+
"login": "wjj-8283",
53+
"name": "wjj-8283",
54+
"avatar_url": "https://avatars.githubusercontent.com/u/82750345?v=4",
55+
"profile": "https://github.com/wjj-8283",
56+
"contributions": [
57+
"code"
58+
]
59+
},
60+
{
61+
"login": "dependabot",
62+
"name": "Dependabot",
63+
"avatar_url": "https://avatars.githubusercontent.com/u/27347476?v=4",
64+
"profile": "https://github.com/features/security",
65+
"contributions": [
66+
"code"
67+
]
68+
}
69+
]
70+
}

.github/ISSUE_TEMPLATE/BugReport.yml

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
name: Bug 反馈
2+
description: 在使用考试看板 Next 的过程中遇到了 Bug 。
3+
title: (在这里输入你的标题)
4+
labels: ['Bug', '未阅读']
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
感谢您进行 Bug 反馈。请在上面的文本框⬆️起一个能够清晰描述您的问题的标题,便于开发者解决您的问题。
10+
11+
> [!important]
12+
>
13+
> 如果要提出**多个 Bug **,请为每一个 Bug 开一个单独的 issue。
14+
>
15+
> 如果您不知道如何有效、精准地表述,建议先阅读[《提问的智慧》](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md)。
16+
17+
- type: checkboxes
18+
id: checklist
19+
attributes:
20+
label: 检查清单
21+
description: 在开始反馈这个问题之前,请先检查:
22+
options:
23+
- label: 我已更新到最新版 ![最新的版本号](https://img.shields.io/github/v/release/ProjectCampus-CH/dsz-exam-showboard-next?include_prereleases&style=flat) ,并看过[最新提交](https://github.com/ProjectCampus-CH/dsz-exam-showboard-next/commits/dev/),确认这一 Bug 还没有修复。
24+
required: true
25+
- label: 我已在 [Issues](https://github.com/ProjectCampus-CH/dsz-exam-showboard-next/issues?q=label%3ABug) 中检索,确认这一 Bug 未被提交过。
26+
required: true
27+
- label: 我已知晓并同意,此处仅用于汇报程序中存在的问题(关于其他非程序本身的问题应当在 Discussion 板块提出)。
28+
required: true
29+
- type: markdown
30+
attributes:
31+
value: |
32+
### Bug 信息
33+
34+
描述您遇到的 Bug。您可以附上截图、录屏、堆栈跟踪、日志等材料,便于开发者追踪问题。
35+
- type: textarea
36+
id: excepted
37+
attributes:
38+
label: 期望的行为
39+
description: 详细的描述你期望发生的行为,突出与目前(可能不正确的)行为的不同。
40+
validations:
41+
required: true
42+
- type: textarea
43+
id: what-happened
44+
attributes:
45+
label: 实际结果
46+
description: 实际发生的行为。
47+
validations:
48+
required: true
49+
- type: textarea
50+
id: reproduce-steps
51+
attributes:
52+
label: 重现步骤
53+
description: |
54+
详细描述怎么操作能再次触发这个 Bug 。
55+
placeholder: |
56+
1. 首先……
57+
2. 然后……
58+
3. ……
59+
validations:
60+
required: true
61+
- type: textarea
62+
id: stacktrace
63+
attributes:
64+
label: 堆栈跟踪(可选)
65+
description: 如果在遇到这个 Bug 时发生了崩溃(弹出崩溃提示),或者产生了错误日志,请将产生的堆栈跟踪信息粘贴到此处,便于开发者定位 Bug 。
66+
render: shell
67+
- type: input
68+
id: app_version
69+
attributes:
70+
label: 应用版本
71+
description: 您当前使用的考试看板 Next 版本号,可以在【关于】中查看。
72+
placeholder: 如:1.2.0
73+
validations:
74+
required: true
75+
- type: input
76+
id: os_version
77+
attributes:
78+
label: 操作系统版本
79+
description: |
80+
您当前使用的 Windows 操作系统版本,可以运行 `winver.exe` 查看。
81+
如果您不能肯定此 Bug 与操作系统无关,请填写此项。
82+
placeholder: 如:10.0.22000.0
83+
- type: checkboxes
84+
id: revision
85+
attributes:
86+
label: 最后一步
87+
description: 回顾您的回答
88+
options:
89+
- label: 我认为上述的描述已经足以详细,以允许开发人员能复现该问题。如果我的 issue 没有按照上述的要求填写,可能会被无条件关闭。
90+
required: true
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: 功能请求
2+
description: 提出一项新的功能。
3+
title: (在这里输入你的标题)
4+
labels: ['新功能', '未阅读']
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
感谢您贡献您的想法。请在上面的文本框⬆️起一个能够清晰概括此功能的标题,便于开发者了解您的想法。
10+
11+
> [!important]
12+
> 重要:如果您想要提出 **多项功能**,请为每一个功能开一个单独的 issue。
13+
- type: checkboxes
14+
id: checklist
15+
attributes:
16+
label: 检查清单
17+
description: 在开始反馈这个问题之前,请先检查:
18+
options:
19+
- label: 我已将本应用更新到最新测试版 ![最新的版本号](https://img.shields.io/github/v/release/ProjectCampus-CH/dsz-exam-showboard-next?include_prereleases),并看过[最新提交](https://github.com/ClassIsland/ClassIsland/commits/dev/),确认我想要的功能还没有实现。
20+
required: true
21+
- label: 我已在 [Issues](https://github.com/ProjectCampus-CH/dsz-exam-showboard-next/issues?q=label%3A新功能) 确认我想要的功能未被提交过。
22+
required: true
23+
- label: 我认为我想要的功能是用户广泛需要的,且没有超出考试看板 Next 的开发目标,而非添加与之无关的内容。
24+
required: true
25+
- label: 我已知晓由于开发者时间精力有限,加上已经积压了大量的功能请求,我提交的功能请求可能需要比较久的时间才能实现。
26+
required: true
27+
- type: textarea
28+
id: back
29+
attributes:
30+
label: 背景与动机
31+
description: 添加此功能的理由。
32+
validations:
33+
required: true
34+
- type: textarea
35+
id: req
36+
attributes:
37+
label: 想要实现或优化的功能
38+
description: 详细地描述一下你想要的功能,描述的越具体,采纳的可能性越高。
39+
validations:
40+
required: true
41+
- type: checkboxes
42+
id: revision
43+
attributes:
44+
label: 最后一步
45+
description: 回顾您的回答
46+
options:
47+
- label: 我认为上述的描述已经足以详细,以便开发人员理解您想要的功能。如果我的 issue 没有按照上述的要求填写,可能会被无条件关闭。
48+
required: true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: 讨论区
4+
url: https://github.com/ProjectCampus-CH/dsz-exam-showboard-next/discussions
5+
about: 使用中若遇到问题或有新点子新需求,请先在这里求助和征求意见。

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "npm" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "daily"

.github/workflows/build.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
name: Build and Package Electron App
1+
name: 推送时构建
22

33
on:
44
push:
55
branches:
66
- master
7+
- dev
78

89
jobs:
910
build:

.github/workflows/inactive.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: 关闭不活跃 Issue 和 Pull Request
2+
on:
3+
workflow_dispatch:
4+
5+
schedule:
6+
- cron: "30 1 * * *"
7+
8+
jobs:
9+
close-issues:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
issues: write
13+
pull-requests: write
14+
steps:
15+
- uses: actions/stale@v9
16+
with:
17+
any-of-labels: 进一步提供信息, 不正确
18+
days-before-issue-stale: 14
19+
days-before-issue-close: 7
20+
days-before-pr-stale: 14
21+
days-before-pr-close: 7
22+
stale-issue-label: "陈旧"
23+
stale-pr-label: "陈旧"
24+
stale-issue-message: "由于此 Issue 在 14 天内没有动态,已被标记为陈旧。如果此 Issue 没有更多动态(评论等),将在 7 天后被关闭。"
25+
stale-pr-message: "由于此 Pull Request 在 14 天内没有动态,已被标记为陈旧。如果此 Pull Request 没有更多动态(评论等),将在 7 天后被关闭。"
26+
repo-token: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,43 @@
1-
name: Release Build and Package
1+
name: 打包并生成应用
22

33
on:
4+
pull_request:
45
release:
56
types: [published]
7+
workflow_dispatch:
68

79
jobs:
810
build:
911
runs-on: ${{ matrix.os }}
1012

1113
strategy:
14+
fail-fast: false
1215
matrix:
1316
os: [windows-latest, macos-latest, ubuntu-latest]
1417
node-version: [20.x]
1518

1619
steps:
1720
- name: Checkout
1821
uses: actions/[email protected]
19-
if: github.event.release.prerelease == false || matrix.os == 'windows-latest'
2022

2123
- name: Set up Node.js
2224
uses: actions/setup-node@v4
23-
if: github.event.release.prerelease == false || matrix.os == 'windows-latest'
2425
with:
2526
node-version: ${{ matrix.node-version }}
2627

2728
- name: Install dependencies
2829
run: yarn install
29-
if: github.event.release.prerelease == false || matrix.os == 'windows-latest'
3030

3131
- name: Build and package for Windows
32-
if: github.event.release.prerelease == false && matrix.os == 'windows-latest'
32+
if: matrix.os == 'windows-latest'
3333
run: yarn build:win
3434

3535
- name: Build and package for macOS
36-
if: github.event.release.prerelease == true && matrix.os == 'macos-latest'
36+
if: matrix.os == 'macos-latest'
3737
run: yarn build:mac
3838

3939
- name: Build and package for Linux
40-
if: github.event.release.prerelease == true && matrix.os == 'ubuntu-latest'
40+
if: matrix.os == 'ubuntu-latest'
4141
run: yarn build:linux
4242

4343
- name: Upload artifact for Windows
@@ -48,15 +48,26 @@ jobs:
4848
path: dist/*.exe
4949

5050
- name: Upload artifact for macOS
51-
if: github.event.release.prerelease == true && matrix.os == 'macos-latest'
51+
if: matrix.os == 'macos-latest'
5252
uses: actions/upload-artifact@v4
5353
with:
5454
name: ExamShowboard-macOS
5555
path: dist/*.dmg
5656

5757
- name: Upload artifact for Linux
58-
if: github.event.release.prerelease == true && matrix.os == 'ubuntu-latest'
58+
if: matrix.os == 'ubuntu-latest'
5959
uses: actions/upload-artifact@v4
6060
with:
6161
name: ExamShowboard-Linux
6262
path: dist/*.AppImage
63+
64+
- name: Upload assets to GitHub Release
65+
if: github.event_name == 'release' && github.event.action == 'published'
66+
uses: softprops/action-gh-release@v1
67+
with:
68+
files: |
69+
dist/*.exe
70+
dist/*.dmg
71+
dist/*.AppImage
72+
env:
73+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/similarity.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: 相似 Issues 分析
2+
3+
on:
4+
issues:
5+
types: [opened, edited]
6+
7+
jobs:
8+
similarity-analysis:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: analysis
12+
uses: actions-cool/issues-similarity-analysis@v1
13+
with:
14+
filter-threshold: 0.5
15+
comment-title: |
16+
### 相似 Issues
17+
comment-body: '${index}. ${similarity} #${number}'
18+
title-excludes: "(在这里输入你的标题),bug"
19+
since-days: 365
20+
show-footer: false
21+
show-mentioned: true

.prettierignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@ pnpm-lock.yaml
44
LICENSE.md
55
tsconfig.json
66
tsconfig.*.json
7+
.all-contributorsrc
8+
.github/dependabot.yml

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,6 @@
2525
"command": "extension.execute",
2626
"priority": 4
2727
}
28-
]
28+
],
29+
"Codegeex.RepoIndex": true
2930
}

0 commit comments

Comments
 (0)