Compare commits

..

7 Commits

Author SHA1 Message Date
sugarBecomer ebf02eb58f 🐛 修改域名 2026-04-07 14:37:11 +08:00
sugarBecomer 5baa91e3e7 🐛 补充今日校园任务日志详情展示
为任务日志补充成功标题与失败原因字段,并在缺少 is_success 时根据 error_message 回退显示失败,便于定位执行结果。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 13:30:46 +08:00
sugarBecomer 08c47cfa03 Merge branch 'fix/cpdaily-task-log-display' 2026-04-07 13:26:30 +08:00
sugarBecomer cb5440c8d9 🐛 修复今日校园任务日志展示
修正任务日志字段映射,改为读取接口实际返回的 is_success 与 createTime,避免页面将执行结果和执行时间显示为 -。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 13:26:22 +08:00
sugarBecomer 05eaa4741a 🐛 混淆前端打包后代码 2026-03-27 22:00:19 +08:00
sugarBecomer c0d5b4697f 🐛 混淆前端打包后代码 2026-03-27 21:17:55 +08:00
sugarBecomer d742425cac ✨ 混淆前端打包后代码 2026-03-27 16:38:42 +08:00
6 changed files with 1158 additions and 23 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ on: [release]
env:
REPO: sugarbecomer/tianshen-web
REGISTRY: git.likedream.xyz
REGISTRY: mycoder.cc.cd
jobs:
Build-And-Upload:
+8
View File
@@ -19,9 +19,17 @@ http:// {
reverse_proxy ${BACKEND_URL}
}
@assets path /assets/* /favicon.svg
handle @assets {
root * /www
header Cache-Control "public, max-age=31536000, immutable"
file_server
}
handle {
root * /www
try_files {path} /index.html
header Cache-Control "no-store, no-cache, must-revalidate"
file_server
}
+1094
View File
File diff suppressed because it is too large Load Diff
+10 -3
View File
@@ -88,9 +88,16 @@ export interface CpLeave {
export interface CpTaskLog {
id: number
taskId: number
result: string
created_at: string
cp_task_id?: number
system_user_id?: number
cp_user_id?: number
is_success?: boolean
real_name?: string
real_title?: string
error_message?: string
createTime?: string
created_at?: string
updateTime?: string
}
export interface CpSchool {
+31 -5
View File
@@ -18,18 +18,44 @@ const taskId = computed(() => Number(route.params.id))
const columns: ColumnDef<CpTaskLog, any>[] = [
{ accessorKey: 'id', header: 'ID' },
{
accessorKey: 'result',
accessorKey: 'is_success',
header: '执行结果',
cell: ({ row }) => {
const result = row.getValue<string>('result')
return h('span', { class: 'whitespace-pre-wrap break-all' }, result || '-')
const isSuccess = row.original.is_success
const errorMessage = row.original.error_message
if (typeof isSuccess === 'boolean') {
return h(
'span',
{ class: isSuccess ? 'text-green-600' : 'text-red-600' },
isSuccess ? '成功' : '失败',
)
}
if (errorMessage) {
return h('span', { class: 'text-red-600' }, '失败')
}
return h('span', '-')
},
},
{
accessorKey: 'created_at',
accessorKey: 'real_name',
header: '成功标题',
cell: ({ row }) => {
const realTitle = row.original.real_name || row.original.real_title
return h('span', { class: 'whitespace-pre-wrap break-all' }, realTitle || '-')
},
},
{
accessorKey: 'error_message',
header: '失败原因',
cell: ({ row }) => {
return h('span', { class: 'whitespace-pre-wrap break-all' }, row.original.error_message || '-')
},
},
{
accessorKey: 'createTime',
header: '执行时间',
cell: ({ row }) => {
const val = row.getValue<string>('created_at')
const val = row.original.createTime || row.original.created_at
return val ? val.replace('T', ' ').slice(0, 19) : '-'
},
},
+14 -14
View File
@@ -13,35 +13,35 @@ export default defineConfig({
log: true,
autoExcludeNodeModules: true,
threadPool: true,
excludes: [
/assets\/rolldown-runtime-.*\.js$/,
],
options: {
compact: true,
controlFlowFlattening: true,
controlFlowFlatteningThreshold: 1,
controlFlowFlattening: false,
deadCodeInjection: false,
debugProtection: false,
debugProtectionInterval: 0,
disableConsoleOutput: true,
identifierNamesGenerator: 'hexadecimal',
ignoreImports: true,
numbersToExpressions: true,
numbersToExpressions: false,
renameGlobals: false,
selfDefending: true,
selfDefending: false,
simplify: true,
splitStrings: true,
splitStringsChunkLength: 5,
splitStrings: false,
stringArray: true,
stringArrayCallsTransform: true,
stringArrayCallsTransformThreshold: 1,
stringArrayEncoding: ['base64'],
stringArrayCallsTransform: false,
stringArrayEncoding: [],
stringArrayIndexShift: true,
stringArrayRotate: true,
stringArrayShuffle: true,
stringArrayWrappersChainedCalls: true,
stringArrayWrappersCount: 3,
stringArrayWrappersParametersMaxCount: 4,
stringArrayWrappersType: 'function',
stringArrayThreshold: 1,
transformObjectKeys: true,
stringArrayWrappersCount: 1,
stringArrayWrappersParametersMaxCount: 2,
stringArrayWrappersType: 'variable',
stringArrayThreshold: 0.75,
transformObjectKeys: false,
unicodeEscapeSequence: false,
},
}),