前端优化字段取值

This commit is contained in:
zhonghua 2026-03-12 10:18:57 +08:00
parent ef2dfdfeaf
commit b3b04c8ea3
4 changed files with 9 additions and 7 deletions

3
.gitignore vendored
View File

@ -54,5 +54,4 @@ reading-platform-frontend/src/components.d.ts
.cursor/rules/generated-api-readonly.mdc .cursor/rules/generated-api-readonly.mdc
.cursor/rules/frontend-api-orval-usage.mdc .cursor/rules/frontend-api-orval-usage.mdc
reading-platform-frontend/src/components.d.ts reading-platform-frontend/src/components.d.ts
reading-platform-frontend/src/components.d.ts reading-platform-frontend/api-spec.yml
reading-platform-frontend/src/components.d.ts

View File

@ -4,4 +4,5 @@ dist/
# api-spec.json 是 api:fetch 的中间产物,转成 yml 后删除 # api-spec.json 是 api:fetch 的中间产物,转成 yml 后删除
api-spec.json api-spec.json
/src/components.d.ts src/components.d.ts
api-spec.yml

View File

@ -40,6 +40,7 @@ declare module 'vue' {
AMenuDivider: typeof import('ant-design-vue/es')['MenuDivider'] AMenuDivider: typeof import('ant-design-vue/es')['MenuDivider']
AMenuItem: typeof import('ant-design-vue/es')['MenuItem'] AMenuItem: typeof import('ant-design-vue/es')['MenuItem']
AModal: typeof import('ant-design-vue/es')['Modal'] AModal: typeof import('ant-design-vue/es')['Modal']
APageHeader: typeof import('ant-design-vue/es')['PageHeader']
APagination: typeof import('ant-design-vue/es')['Pagination'] APagination: typeof import('ant-design-vue/es')['Pagination']
APopconfirm: typeof import('ant-design-vue/es')['Popconfirm'] APopconfirm: typeof import('ant-design-vue/es')['Popconfirm']
AProgress: typeof import('ant-design-vue/es')['Progress'] AProgress: typeof import('ant-design-vue/es')['Progress']
@ -50,6 +51,7 @@ declare module 'vue' {
ARow: typeof import('ant-design-vue/es')['Row'] ARow: typeof import('ant-design-vue/es')['Row']
ASelect: typeof import('ant-design-vue/es')['Select'] ASelect: typeof import('ant-design-vue/es')['Select']
ASelectOption: typeof import('ant-design-vue/es')['SelectOption'] ASelectOption: typeof import('ant-design-vue/es')['SelectOption']
ASkeleton: typeof import('ant-design-vue/es')['Skeleton']
ASpace: typeof import('ant-design-vue/es')['Space'] ASpace: typeof import('ant-design-vue/es')['Space']
ASpin: typeof import('ant-design-vue/es')['Spin'] ASpin: typeof import('ant-design-vue/es')['Spin']
AStatistic: typeof import('ant-design-vue/es')['Statistic'] AStatistic: typeof import('ant-design-vue/es')['Statistic']

View File

@ -33,7 +33,7 @@
<HomeOutlined /> <HomeOutlined />
</div> </div>
<div class="stat-info"> <div class="stat-info">
<div class="stat-value">{{ stats.classCount }}</div> <div class="stat-value">{{ stats?.classCount || '' }}</div>
<div class="stat-label">我的班级</div> <div class="stat-label">我的班级</div>
</div> </div>
</div> </div>
@ -42,7 +42,7 @@
<TeamOutlined /> <TeamOutlined />
</div> </div>
<div class="stat-info"> <div class="stat-info">
<div class="stat-value">{{ stats.studentCount }}</div> <div class="stat-value">{{ stats?.studentCount || '' }}</div>
<div class="stat-label">我的学生</div> <div class="stat-label">我的学生</div>
</div> </div>
</div> </div>
@ -51,7 +51,7 @@
<ReadOutlined /> <ReadOutlined />
</div> </div>
<div class="stat-info"> <div class="stat-info">
<div class="stat-value">{{ stats.lessonCount }}</div> <div class="stat-value">{{ stats?.lessonCount || '' }}</div>
<div class="stat-label">授课次数</div> <div class="stat-label">授课次数</div>
</div> </div>
</div> </div>
@ -60,7 +60,7 @@
<AppstoreOutlined /> <AppstoreOutlined />
</div> </div>
<div class="stat-info"> <div class="stat-info">
<div class="stat-value">{{ stats.courseCount }}</div> <div class="stat-value">{{ stats?.courseCount || '' }}</div>
<div class="stat-label">使用课程</div> <div class="stat-label">使用课程</div>
</div> </div>
</div> </div>