ImageVerifierCode 换一换
格式:DOC , 页数:30 ,大小:195.50KB ,
资源ID:4517818      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4517818.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(java学生成绩管理系统.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

java学生成绩管理系统.doc

1、西安文理学院 计算机科学系课程设计报告设计名称: 软件课程设计 设计题目: 学生成绩管理系统 学生学号: 14102080217 专业班级: 软件工程二班 学生姓名: 陈健 学生成绩: 指导教师(职称): 杨全() 课题工作时间: 2011.4.11至 2011.4.21 说明:1、报告中的任务书、进度表由指导教师在课程设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、全面的评价。4、所有学生

2、必须参加课程设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。答辩小组成员应由2人及以上教师组成。5、报告正文字数一般应不少于3000字,也可由指导教师根据本门综合设计的情况另行规定。6、平时表现成绩低于6分的学生,取消答辩资格,其本项综合设计成绩按不及格处理。学生姓名陈健学号专业班级08级软件二班设计题目基于C/S模式的学生成绩记录查询系统内容概要:学生成绩记录查询系统(C/S)的设计与实现。具体要求如下:1) 创建学生信息(学生的新增、删除、修改、查询);2) 课程成绩维护(成绩的新增、删除、修改、查询);3) 按学号或姓名查询课程成绩;4) 显示某课程60分以下、6079、8089

3、、90分以上各分数段的学生信息;5) 报表输出(根据用户需要打印有关资料);6)判断用户标识和口令,并进行权限管理;7)修改当前用户的密码及用户管理。备注:每个学生信息包括:学号、姓名、课程名、成绩。文献资料:1 张海藩.软件工程导论. 清华大学出版社, 2010 2 沈洪, 施明利. VB程序设计案例汇编. 清华大学出版社, 20103 孟德欣. VB程序设计. 清华大学出版社, 20114 石志国. VB.NET数据库编程. 清华大学出版社, 20095 张友生. 软件体系结构原理、方法与实践. 清华大学出版社, 2010设计要求:1. 采用客户/服务器方式作为系统开发结构; 2. 后台数

4、据库(服务器)采用Microsoft SQL Server 2000;3. 用户使用界面(客户端)采用高级程序设计语言(如VB 6.0)进行开发;4. 程序必须上机调试运行通过,并获得满意的结果;5. 提交打印稿的课程设计报告。工作期限:设计工作自2011 年4 月11 日至2011年4 月21 日止。指导教师: 杨全 系主任: 日 期:2011 年 4 月 11 日计算机科学系课程设计进度安排表 专业: 姓名: 学号: 日期内 容备注5月31日 6月 1日分析题目,查阅相关资料 6月2 日 6月3 日拟定整体方案,编写程序 6月4 日 6月6 日程序编写 6月7 日 6月8 日调试程序 6月

5、9 日6月10 日整理报告 6月11 日 6月11日答辩 月 日 月 日 月 日 月 日 月 日 月 日月 日 月日 月 日 月 日 月 日 月 日 月 日 月 日 月 日 月 日 月 日 月 日指导教师签名: 2010年5 月 28 日指导教师评语指导教师: (签字)日 期: 2010 年 6 月 10 日答辩记录表学生姓名: 学号: 班级:软件二班 答辩地点: 答辩内容记录:答辩成绩合计分值各项分值评分标准实际得分合计得分备注2510在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。答辩小组成员(签字):

6、 2010 年 6 月 11 日成绩评定表学生姓名: 陈健 学号: 班级: 类别合计分值各项分值评分标准实际得分合计得分备注平时表现1010按时参加设计指导,无违反纪律情况。完成情况3020按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。10能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。报告质量3510报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。5课题背景介绍清楚,综述分析充分。5设计方案合理、可行,论证严谨,逻辑性强,具有说服力。5符号统一;图表完备、符合规范要求。5能对整个设计过程

7、进行全面的总结,得出有价值的结论或结果。5参考文献数量在2篇以上,格式符合要求,在正文中正确引用。答辩情况2510在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩: 分 指导教师: (签字)日 期: 2010 年 6 月 15 日摘 要摘 要:随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教学管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于Java与SQL server数据库技术建立

8、一个高校成绩管理系统该系统为管理员、学生和教师提供了查询、修改、增加记录、删除等功能,功能比较落齐全,基本上能满足学生和老师的要求。关键词:Java;需求分析;概要设计;学生成绩管理系统;The Design And Realization Of the educational administration management system Based On JAVAAuthor: ChenJian Tutor:YangQuan Abstract: Fly technically along with the calculator to develop soon and the higher

9、 education system reform of continuously thorough, traditional education management the method, means and work efficiencies have already cant adapt the new development demand, cant complete the teaching management work nicely.The main path that raises the educational administration management level

10、is a thought that renews the governor, strengthenning the science understanding to manage the activity.According to the JAVA build up that system of an educational administration of high school management systems pursue studies with the database technique to living to provided the search, modify, sa

11、ve, increase the record and select elective courses etc. with teacher function, the function relatively falls well-found, can satisfy the request between student and teacher basically.Keyword:JAVA; The need analysis; The essentiadesign; Database; Detailed design 目录前言x1 需求分析x1.1 功能需求分析x1.2 性能需求分析xi1.

12、3 数据库需求分析数据流图xi1.3.1 数据结构xi1.3.2 数据流:xi2概要结构设计xii2.1系统功能结构设计xii2.1.1模块的功能设计xii2.2 概要结构设计xiii3详细设计及实现143.1用户登陆模块143.1.1 代码实现143.2 管理员界面163.2.1 代码实现:173.3 用户界面193.3.1 代码实现:193.4 添加模块233.4.1 添加模块代码实现:243.5 删除模块273.5.1 代码实现:27总 结29致 谢30参考文献30前言 学生成绩管理工作是高校教育工作的一项重要内容。教务管理工作是指学校管理人员按照一定教育方针,运用先进的管理手段,组织

13、、协调 、指挥并指导各用户活动,以便高效率、高质量地完成各项教学任务,完成国家所制定的教育目标。学生成绩管理工作是学校教学工作的中枢,是保证高校教学机制正常运转的枢纽,它是一项目的性、计划性、适用性、创造性和科学性很强的工作。学生成绩工作关系到高校教学秩序的稳定。随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。同时,运用先进的信息技术,开发高校综合成绩管理信息系统,是深化教务体制改革的有利措施。JAVA以GUI的编程方式、面向对象的

14、程序设计、众多的GUI组件和强大的数据库应用开发支持,在竞争激励的开发工具市场中越来越羸得程序设计者的青睐。JAVA是Windows系统下的可视化集成开发工具,提供了强大的可视化组件功能,使程序员能够快速、高效地开发出Windows系统下的应用程序,特别是在数据库和网络方面,JAVA与其它开发工具相比更是胜出一筹。可视化主要是指开发图形用户界面,而只需调用GUI组件即可。1 需求分析1.1 功能需求分析 该学生成绩管理系统具备三方面的功能:一方面是学生用户,学生通过输入学号和密码进下该系统后,可以进行一些基础查询(学生信息查询、班级信息查询、课程信息查询)、成绩管理(成绩查询、计算平均分)重新

15、登陆系统;一方面老师进入该系统则比学生多一些权限:成绩输入、成绩查询。具体功能的详细描述如下1.1.1 选择学生基本维护菜单命令,即可进入 学生基本维护功能窗体,在其中输入学生的相关信息,如果需要添加或修改学生信息,则单击相应的按纽,输入新信息后单击添加就可以了。需要删除一条信息,则只要选择这条信息再点击 删除。在搜索条件中输入相关的条件,单击 查询就可查找信息。1.1.2 选择学生信息查询菜单命令,即可进入学生信息查询功能窗体,在其中的下拉列表中选择你要看的信息,则在下面的表格中显示你要的信息。1.1.3 选择成绩管理 添加成绩菜单命令,即可进入 添加成绩功能窗体,此功能权限只有管理员和教师

16、。1.1.4 选择成绩管理 输入成绩菜单命令,即可进入 输入成绩功能窗体,此功能权限只有管理员和教师。 1.1.5 选择成绩管理 修改成绩 界面,此功能规管理员所有。 1.1.6 选择成绩管理 查询成绩界面此界面对学生也是可见的,它的权限规所有用户所有。1.1.7 选择登陆 重新登陆 则会返回登陆界面,为用户提供方便。1.1.8 选择退出将退出整个系统。1.2 性能需求分析时间特性要求:在软件方面,响应时间有点慢,因为是用Eclipse做的,它占用内存比较大,更新处理时间比较快而且迅速。安全性:设立口令号和密码验证方式,防止非法用户登录进行操作。也就是用户只有管理员、学生和教师才能进入这个系统

17、,用户凭口令号和密码进入此系统,系统会自动判断用户是那种类型,分别拥有不同的权限。1.3 数据库需求分析数据流图1.3.1 数据结构在系统中功能模块主要牵涉到的信息包括:是学生信息(Student)、课程信息(Course)、成绩表(SC).学生信息:包含学号(STNO)、姓名(SNAME)、年龄(SAGE)、性别(SSEX)、系别(SDEPT)课程信息:包括课程编号(Cno)、课程名称(Cname)、先行课(Cpno)成绩表;学号(STNO)、课程号(Cno)、成绩(Grade) 1.3.2 数据流:1) 数据流名:口令号说明:根据这个口令号定位到用户管理数据库,以便进行身份验证。数据流来源

18、:登陆界面输入的口令号和密码。数据流去向:其中用户口令信息将存在于整个操作过程中,防止非法登陆。数据流组成:口令号(文本);密码(文本)2) 数据流名:寻找信息说明:根据用户在学生信息维护的时候所填写的信息。数据流来源:学生信息维护界面学生输入包含学号、班级编号、名称等。数据流去向:学号将存在整个操作,其它的存入数据库。数据流组成:学号(文本);姓名(文本)等3) 数据流名:寻找信息说明:根据用户在成绩管理的时候所填写的信息。数据流来源:成绩输入、修改、添加等界面用户输入包含课程编号、课程名称、成绩、教师。数据流去向:学号、班级编号、课程编号将存在整个操作,其它的存入数据库。数据流组成:课程编

19、号(文本)、课程名称(文本)、教师(文本)等。4) 数据流名:返回信息说明:根据用户在学生信息维护的时候所填写的信息存入了数据库之后。数据流来源:由学生信息维护界面学生输入的包含学号、姓名、性别等存入数据库的。数据流去向:学生信息维护界面。数据流组成:学号(文本)、姓名(文本)、班级名称(文本)、性别(文本)等。5) 数据流名:返回信息说明:根据用户在成绩管理的时候所填写的信息存入数据库后。数据流来源:由成绩管理输入的包含班级名称、教师、课程名、成绩存入数据库的。数据流去向:成绩管理的各子界面。数据流组成:班级编号(文本);班级名称(文本);教师(文本)等;2概要结构设计2.1系统功能结构设计

20、2.1.1模块的功能设计根据需求分析阶段得到的功能需求,管理员、学生和教师用户通过输入口令号和密码进下该系统后,可以进行一些学生基础信息查询(学生信息查询、班级信息查询、课程信息查询)、学生信息维护、成绩管理(成绩查询、计算平均分)重新登陆系统、退出。 模块功能大概可以分为如下4个方面:这几个模块学生基础维护、成绩管理、登陆、退出。其中基础维护还要包括学生信息维护、班级信息维护、课程信息维护。成绩管理包括成绩查询、添加成绩、成绩输入等。综上所述,得到客户端功能模块图如下2.1所示。2.2 概要结构设计用户登陆登陆管理员登陆增加信息查询信息查询信息删除信息E-R 图:开课系别 名称含有课名先行课

21、成绩姓名课程选课学号系别年龄学生3详细设计及实现3.1用户登陆模块3.1.1 代码实现package com.kk;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Login extends JFrame private static final long serialVersionUID = 4949257312955311099L;TextField f1;TextField f2;JButton b1;JButton b2;JButton b3;String power;/表示权限Lo

22、gin() Container cp=getContentPane(); cp.setLayout(new GridLayout(4,1); Label l1=new Label(用户名); Label l2=new Label(密 码); Panel p1=new Panel(); Panel p2=new Panel(); Panel p3=new Panel(); f1=new TextField(10); f2=new TextField(10); f2.setEchoChar(*); b1=new JButton(登录); b2=new JButton(重置); b3=new JBu

23、tton(退出); p1.add(l1); p1.add(f1); p2.add(l2); p2.add(f2); p3.add(b1); p3.add(b2); p3.add(b3); cp.add(p1); cp.add(p2); cp.add(p3); b1.addActionListener(new Enter(); b2.addActionListener(new ReWrite(); b3.addActionListener(new Close();public static void main(String args) Login log=new Login(); log.set

24、Title(系统登录); log.setBounds(200, 200, 300, 300); log.setBackground(Color.blue); log.setVisible(true);class Enter implements ActionListener public void actionPerformed(ActionEvent e) if(f1.getText().equals(1410)&(f2.getText().equals(chenjian) JOptionPane.showMessageDialog(null, 登录成功!用户权限是管理员); power=管

25、理员; XueSheng frame1 = new XueSheng(); frame1.setVisible(true); else if(f1.getText().equals(abc)&(f2.getText().equals(123456) JOptionPane.showMessageDialog(null, 登录成功!登录成功!用户权限是游客); power=游客; Find f2 = new Find(); f2.setVisible(true); else JOptionPane.showMessageDialog(null, 登录失败,请重新登录!); class ReWri

26、te implements ActionListener public void actionPerformed(ActionEvent e) f1.setText(); f2.setText(); f1.requestFocus(); class Close implements ActionListenerpublic void actionPerformed(ActionEvent e) JButton bt=(JButton)e.getSource(); if(bt=b3) System.exit(0); 3.2 管理员界面3.2.1 代码实现:package com.kk;impor

27、t java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.JFrame;public class XueSheng extends JFrame implements ActionListener JButton cx, zj, tc, sc;XueSheng() setBounds(100, 100, 600, 600);JPanel panel2 = new JPanel();setContentPane(panel2);panel2.setLayout(null);JLabel label1

28、= new JLabel(欢迎进入学生信息管理界面);label1.setFont(new Font(BOLD, Font.BOLD, 28);panel2.add(label1);label1.setBounds(50, 20, 400, 100);cx = new JButton(查询);panel2.add(cx);cx.setBounds(50, 200, 80, 50);zj = new JButton(增加);panel2.add(zj);zj.setBounds(150, 200, 80, 50);sc = new JButton(删除);panel2.add(sc);sc.se

29、tBounds(250, 200, 80, 50);tc = new JButton(退出);panel2.add(tc);tc.setBounds(350, 200, 80, 50);cx.addActionListener(this);zj.addActionListener(this);sc.addActionListener(this);tc.addActionListener(this);setVisible(true);public void actionPerformed(ActionEvent e) if (e.getSource() = cx) Find f = new Fi

30、nd(); if(e.getSource()=zj) AddFI f = new AddFI(); if(e.getSource()=sc) Delet d = new Delet(); if(e.getSource()=tc)shutDown();private void shutDown()this.dispose();3.3 用户界面3.3.1 代码实现:package com.kk;import java.awt.*;import java.awt.event.*;import java.sql.Connection;import java.sql.DriverManager;impo

31、rt java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.*;public class Find extends JFrame implements ActionListener JTextField t1;String STNO, r1, r2, r3, r4, r5, r6;JButton b1, b2;XueSheng xue;Find() super(查询学生信息);Container c1 = this.getContentPane()

32、;setBackground(new Color(215, 215, 215);c1.setLayout(new GridLayout(3, 2);JPanel pp = new JPanel();JLabel label0 = new JLabel(请输入你的学号);label0.setForeground(Color.blue);pp.add(label0);JPanel p1 = new JPanel();t1 = new JTextField(10);p1.add(new Label();p1.add(t1);c1.add(p1);JPanel p2 = new JPanel();b1

33、 = new JButton(查询);b2 = new JButton(退出);b1.addActionListener(this);b2.addActionListener(this);p2.add(b1);p2.add(b2);c1.add(p2);this.setVisible(true);this.setBounds(200, 200, 400, 300);public void actionPerformed(ActionEvent e) try if (e.getSource() = b1) try STNO = t1.getText();Class.forName(com.mic

34、rosoft.sqlserver.jdbc.SQLServerDriver).newInstance();String url = jdbc:sqlserver:/localhost:1433; DatabaseName=ss;String userName = sa; / 默认用户名String userPwd = sa;Connection cn = DriverManager.getConnection(url, userName,userPwd);String str = select Student.SNAME,Student.SAGE,Student.SSEX,Student.ST

35、NO,Course.Cname,SC.Grade from Student,Course ,SC where Student.STNO = SC.STNO and SC.Cno = Course.Cno and Student.STNO =+STNO+;PreparedStatement ps = cn.prepareStatement(str);ResultSet rs = ps.executeQuery();System.out.println(STNO= + STNO);if (rs.next() r1 = rs.getString(STNO);r2 = rs.getString(SNA

36、ME);r3 = rs.getString(SAGE);r4 = rs.getString(SSEX);r5 = rs.getString(Cname);r6 = rs.getString(Grade); else JOptionPane.showMessageDialog(null, 你输入的学号有误);cn.close(); catch (SQLException g) System.out.println(Error + g.getErrorCode();System.out.println(Merrage= + g.getMessage(); catch (Exception f) f

37、.printStackTrace();File f = new File();this.dispose();if (e.getSource() = b2) t1.setText();t1.repaint(); catch (NumberFormatException ex) JOptionPane.showMessageDialog(null, 数据转换错误);class JFrame implements ActionListener JTextField tt1, t2, t3, t4, t5, t6;JButton b3;File() super(查询学生信息);Container c2

38、 = this.getContentPane();setBackground(new Color(215, 215, 215);c2.setLayout(new GridLayout(3, 1);tt1 = new JTextField(r1);t2 = new JTextField(r2);t3 = new JTextField(r3);t4 = new JTextField(r4);t5 = new JTextField(r5);t6 = new JTextField(r6);tt1.setEditable(false);t2.setEditable(false);t3.setEditab

39、le(false);t4.setEditable(false);t5.setEditable(false);t6.setEditable(false);JPanel pp1 = new JPanel();JLabel label2 = new JLabel(学号为 + STNO + 学生的信息);pp1.add(label2);label2.setFont(new Font(BOLD, Font.BOLD, 28);c2.add(pp1);JPanel pp2 = new JPanel(new GridLayout(6, 2);pp2.add(new JLabel(学号, SwingConstants.CENTER);t

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服