Compare commits
14
Commits
4ffebeddcd
..
v2.5.0
No files matched your search
@@ -202,6 +202,10 @@ App Signing 证书的 SHA-256 指纹写入 `web/public/.well-known/assetlinks.js
|
||||
配置的包名为 `edu.mingxu.jiaowu`;站点域名或正式签名证书变更时必须同时更新此文件和 Android
|
||||
Manifest 后重新签名发布 APK/AAB,此类变更不能通过 OTA 下发。
|
||||
|
||||
本机通过 Android Studio 或 `cap run` 安装的 debug APK 使用不同的调试证书;其 SHA-256 也已
|
||||
列在 `assetlinks.json` 中,仅用于本机调试。若改用其他机器、其他 JKS 或直接签名的 release APK,
|
||||
必须把该 APK 实际签名证书的 SHA-256 一并加入后重新部署站点。
|
||||
|
||||
用户登录后可从页面右上角进入“个人账户”,主动绑定或解除 Keycloak 账号。主动绑定先
|
||||
使用当前 JWT 创建五分钟有效的一次性绑定意图,再跳转 Keycloak;回调只能绑定到发起该
|
||||
意图的本地账号。解绑需要再次验证本地密码,避免仅凭未锁屏的登录会话解除身份关联。
|
||||
|
||||
@@ -8,6 +8,7 @@ using Jiaowu.Api.Domain.Academic;
|
||||
using Jiaowu.Api.Domain.Identity;
|
||||
using Jiaowu.Api.Infrastructure.Auth;
|
||||
using Jiaowu.Api.Infrastructure.Excel;
|
||||
using Jiaowu.Api.Infrastructure.Files;
|
||||
using Jiaowu.Api.Infrastructure.Persistence;
|
||||
using Jiaowu.Api.Infrastructure.Teaching;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
@@ -566,7 +567,7 @@ public sealed class AttendanceController(
|
||||
statusLabels.GetValueOrDefault(r.Status, "出勤"), r.Notes
|
||||
}).ToList<IReadOnlyList<object?>>());
|
||||
return File(bytes, ExcelWorkbookHelper.ContentType,
|
||||
$"考勤表-{sheetData.TaskNumber}-{sheetData.AttendanceDate:yyyyMMdd}.xlsx");
|
||||
DownloadFileName.Export("考勤表", ".xlsx", sheetData.TaskNumber, sheetData.AttendanceDate.ToString("yyyyMMdd")));
|
||||
}
|
||||
|
||||
[HttpGet("tasks/{teachingTaskId:guid}/statistics")]
|
||||
@@ -596,7 +597,7 @@ public sealed class AttendanceController(
|
||||
return File(
|
||||
bytes,
|
||||
ExcelWorkbookHelper.ContentType,
|
||||
$"课程考勤统计-{statistics.Course.TaskNumber}.xlsx");
|
||||
DownloadFileName.Export("课程考勤统计", ".xlsx", statistics.Course.TaskNumber));
|
||||
}
|
||||
|
||||
[HttpPost("sheets/{id:guid}/submit")]
|
||||
|
||||
@@ -3,6 +3,7 @@ using Jiaowu.Api.Domain.Common;
|
||||
using Jiaowu.Api.Domain.Identity;
|
||||
using Jiaowu.Api.Infrastructure.Caching;
|
||||
using Jiaowu.Api.Infrastructure.Excel;
|
||||
using Jiaowu.Api.Infrastructure.Files;
|
||||
using Jiaowu.Api.Infrastructure.Persistence;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
@@ -46,7 +47,7 @@ public sealed class BaseDataExcelController(AppDbContext db, IAppCache cache) :
|
||||
"状态填写“启用”或“停用”;是/否字段填写“是”或“否”。",
|
||||
"整批数据会先校验,任一行有误时均不会写入。"
|
||||
]);
|
||||
return File(bytes, ExcelWorkbookHelper.ContentType, $"{KindName(kind)}导入模板.xlsx");
|
||||
return File(bytes, ExcelWorkbookHelper.ContentType, DownloadFileName.Template(KindName(kind), ".xlsx"));
|
||||
}
|
||||
|
||||
[HttpGet("{kind}/export")]
|
||||
@@ -56,7 +57,7 @@ public sealed class BaseDataExcelController(AppDbContext db, IAppCache cache) :
|
||||
var rows = await GetExportRowsAsync(kind, cancellationToken);
|
||||
var bytes = ExcelWorkbookHelper.Create(KindName(kind), headers, rows);
|
||||
return File(bytes, ExcelWorkbookHelper.ContentType,
|
||||
$"{KindName(kind)}-{DateTime.Now:yyyyMMdd-HHmm}.xlsx");
|
||||
DownloadFileName.Export(KindName(kind), ".xlsx"));
|
||||
}
|
||||
|
||||
[HttpPost("{kind}/import")]
|
||||
|
||||
Loaded 3 of 44 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user