HarmonyOS ArkTS 实战:实现一个校园成绩查询与学分统计应用
HarmonyOS ArkTS 实战:实现一个校园成绩查询与学分统计应用
项目效果
本文使用 HarmonyOS 和 ArkTS 实现一个校园成绩查询与学分统计应用。
应用可以查询各学期课程成绩,计算GPA绩点,统计已修学分,查看课程排名,并提供挂科提醒、成绩分析和学分进度等功能。
项目使用 DevEco Studio 开发,适配 API 23 及以上版本。
运行效果
功能介绍
- 学期成绩查询
- GPA绩点计算
- 学分统计
- 成绩排名
- 挂科提醒
- 成绩分布分析
- 学分进度条
- 课程详情
- 按学期筛选
- 不及格课程统计
定义数据结构
interfaceCourse{id:number;name:string;credit:number;score:number;gradePoint:number;semester:string;courseType:string;isMakeup:boolean;}字段:id/课程名/学分/分数/绩点/学期/课程类型/是否补考
初始化页面状态
@StateprivateselectedSemester:string='全部';@StateprivatecurrentStudentId:string='2023001';初始数据:
@Stateprivatecourses:Course[]=[{id:1,name:'高等数学',credit:4,score:92,gradePoint:4.0,semester:'2023-2024-1',courseType:'必修',isMakeup:false},{id:2,name:'大学英语',credit:3,score:85,gradePoint:3.5,semester:'2023-2024-1',courseType:'必修',isMakeup:false},{id:3,name:'程序设计基础',credit:4,score:95,gradePoint:4.0,semester:'2023-2024-1',courseType:'必修',isMakeup:false},{id:4,name:'大学物理',credit:4,score:58,gradePoint:0,semester:'2023-2024-1',courseType:'必修',isMakeup:true},{id:5,name:'数据结构',credit:4,score:88,gradePoint:3.7,semester:'2023-2024-2',courseType:'必修',isMakeup:false}];GPA计算
privatecalculateGPA(courseList:Course[]):number{consttotalCredit=courseList.reduce((sum,c)=>sum+c.credit,0);if(totalCredit===0)return0;consttotalPoint=courseList.reduce((sum,c)=>sum+c.credit*c.gradePoint,0);returnMath.round((totalPoint/totalCredit)*100)/100;}统计数据
privategetTotalCredit():number{returnthis.courses.filter(c=>c.score>=60).reduce((sum,c)=>sum+c.credit,0);}privategetFailedCount():number{returnthis.courses.filter(c=>c.score<60).length;}privategetAverageScore():number{constpassed=this.courses.filter(c=>c.score>=60);if(passed.length===0)return0;returnMath.round(passed.reduce((sum,c)=>sum+c.score,0)/passed.length);}设置分数颜色
privategetScoreColor(score:number):ResourceColor{if(score>=90)return'#7E22CE';if(score>=80)return'#059669';if(score>=60)return'#F59E0B';return'#DC2626';}主题色:深紫色#7E22CE,体现学习、学术、专业的感觉。
页面设计说明
页面分为:顶部个人信息和GPA展示、统计卡片(总学分/平均分/挂科数/当前排名)、学期筛选、成绩列表。高分用紫色,及格用绿色,不及格用红色。
SDK 配置
统一使用 API 24 配置。
运行项目
entry/src/main/ets/pages/Index.ets
项目总结
实现了成绩查询、GPA计算、学分统计、挂科提醒、成绩分析等功能。掌握了绩点计算、数据统计、条件筛选、状态管理等。后续可加入成绩排名、成绩单导出、补考报名、选课推荐、培养方案对比等功能。