Compare commits
17
Commits
v2.4.0
...
999723508a
No files matched your search
@@ -79,16 +79,18 @@ App 内置自建 OTA 更新器。它只更新 `dist` 中的 HTML、JavaScript、
|
|||||||
```powershell
|
```powershell
|
||||||
Set-Location web
|
Set-Location web
|
||||||
npm ci
|
npm ci
|
||||||
npm run ota:package -- --version 1.0.1
|
npm run ota:package
|
||||||
```
|
```
|
||||||
|
|
||||||
ZIP 会生成到 `.artifacts/app-updates`,根目录直接包含 `index.html`。使用
|
ZIP 会生成到 `.artifacts/app-updates`,根目录直接包含 `index.html`,其版本固定取自
|
||||||
|
`versions.props` 的 `JiaowuFrontendVersion`(传入 `--version` 时也必须一致)。使用
|
||||||
SuperAdmin 进入“运维与审计 → App 前端热更新”,上传 ZIP,填写目标平台、通道和
|
SuperAdmin 进入“运维与审计 → App 前端热更新”,上传 ZIP,填写目标平台、通道和
|
||||||
兼容的原生版本后先保存为草稿,再执行发布。当前 Android 工程的 `versionName` 为
|
兼容的原生版本后先保存为草稿,再执行发布。当前 Android 工程的 `versionName` 为
|
||||||
`1.0`,因此对应更新包的“兼容原生版本”应填写 `1.0`。
|
`1.0`,因此对应更新包的“兼容原生版本”应填写 `1.0`。
|
||||||
|
|
||||||
App 启动后向 `/api/app-updates/latest` 检查版本,在后台下载并校验服务端提供的
|
App 启动、以及从后台回到前台超过 5 分钟后,会向 `/api/app-updates/latest` 检查版本,
|
||||||
SHA-256,下次启动时切换。新资源若未能成功启动,原生更新器会自动回滚。再次发布
|
在后台下载并校验服务端提供的 SHA-256;切到后台或下次启动时切换,并保留当前页面地址。
|
||||||
|
新资源若未能成功启动,原生更新器会自动回滚。再次发布
|
||||||
已归档版本即可回滚正式通道;不同原生版本、Android/iOS、测试/正式通道彼此隔离。
|
已归档版本即可回滚正式通道;不同原生版本、Android/iOS、测试/正式通道彼此隔离。
|
||||||
更新版本元数据和 ZIP 保存在数据库中,部署新服务端版本前必须先执行
|
更新版本元数据和 ZIP 保存在数据库中,部署新服务端版本前必须先执行
|
||||||
`--migrate-only`。
|
`--migrate-only`。
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"sdk": {
|
"sdk": {
|
||||||
"version": "10.0.302",
|
"version": "10.0.400",
|
||||||
"rollForward": "latestPatch"
|
"rollForward": "latestPatch"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -37,7 +37,8 @@ public sealed class AttendanceController(
|
|||||||
string? keyword = null,
|
string? keyword = null,
|
||||||
int page = 1,
|
int page = 1,
|
||||||
int pageSize = 20,
|
int pageSize = 20,
|
||||||
CancellationToken cancellationToken = default)
|
CancellationToken cancellationToken = default,
|
||||||
|
string? classKeyword = null)
|
||||||
{
|
{
|
||||||
page = Math.Max(1, page);
|
page = Math.Max(1, page);
|
||||||
pageSize = Math.Clamp(pageSize, 10, 50);
|
pageSize = Math.Clamp(pageSize, 10, 50);
|
||||||
@@ -54,6 +55,14 @@ public sealed class AttendanceController(
|
|||||||
x.Course!.Code.Contains(keyword) ||
|
x.Course!.Code.Contains(keyword) ||
|
||||||
x.Course.Name.Contains(keyword));
|
x.Course.Name.Contains(keyword));
|
||||||
}
|
}
|
||||||
|
if (!string.IsNullOrWhiteSpace(classKeyword))
|
||||||
|
{
|
||||||
|
classKeyword = classKeyword.Trim();
|
||||||
|
tasks = tasks.Where(x => x.Classes.Any(item =>
|
||||||
|
item.AdministrativeClass!.Code.Contains(classKeyword) ||
|
||||||
|
item.AdministrativeClass.Name.Contains(classKeyword) ||
|
||||||
|
item.AdministrativeClass.Major!.Name.Contains(classKeyword)));
|
||||||
|
}
|
||||||
var total = await tasks.CountAsync(cancellationToken);
|
var total = await tasks.CountAsync(cancellationToken);
|
||||||
var result = await tasks
|
var result = await tasks
|
||||||
.OrderBy(x => x.Course!.Code)
|
.OrderBy(x => x.Course!.Code)
|
||||||
|
|||||||
Loaded 3 of 79 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user