收藏 分销(赏)

高校学工辅导员资料管理系统的设计和开发.doc

上传人:仙人****88 文档编号:11253791 上传时间:2025-07-10 格式:DOC 页数:40 大小:1.25MB 下载积分:10 金币
下载 相关 举报
高校学工辅导员资料管理系统的设计和开发.doc_第1页
第1页 / 共40页
高校学工辅导员资料管理系统的设计和开发.doc_第2页
第2页 / 共40页


点击查看更多>>
资源描述
摘要 《高校学工平台系统》是高校教学、教务管理的一个应用网站,对学校加强管理各种文件有着极其重要的作用。在本课题中,是基于ASP.NET来实现此系统的。辅导员可以注册一个账号登录系统,进入个人中心管理,也可以通过留言板交流心得。在个人中心辅导员可以上传文件,照片。管理员则可以对辅导员进行管理,对照片、文件进行管理。 关键词:管理,辅导员,ASP.NET ABSTRACT The institutions of higher learning platform is the system of teaching, educational administration management of an application, to strengthen the management of the various papers have a vital role. In this subject, is based on the ASP.NET,the to implement this system. program can register a number to enter into the center management system, individuals can also pass the message board exchanges of experiences. in personal instructors will centre on the document, photograph. the administrator can to program management, photos, document management. Keywords: Manage, Assistant, ASP.NET 目录 摘要 I ABSTRACT II 目录 III 第1章 引言 1 1.1 背景 1 1.2 研究内容及拟解决问题 1 第2章 工具软件与技术基础 3 2.1编程开发环境和相关工具 3 2.2编程环境 3 2.2.1 ASP.NET 3 2.3相关工具 4 2.3.1 SQL Server 2005 4 第3章 系统总体设计 5 3.1系统需求分析 5 3.2系统功能 5 3.3 数据库设计与实现 7 3.3.1 数据库概念模型设计 7 3.3.2数据库逻辑结构设计 7 第4章 界面设计与流程图 10 4.1 界面设计 10 4.2 流程图 11 第5章 系统实现 12 5.1 修改头像 12 5.2 新用户注册 13 5.3 登录,密码初始化 15 5.4 上传文件、照片 18 5.5 对照片评论,留言功能 22 5.6 搜索功能 26 5.7 管理员界面 27 5.8 下载文件 29 5.9 修改头像 30 第6章 结束语 34 第6章 结束语 34 致谢 35 参考文献 36 IV 第1章 引言 1.1 背景 本课题题目为:高校学工平台系统,目的是为辅导员提供一个保存文件,个人照片的一个网站。 众所周知传统的手工管理资料需要用不同的文件袋子来存放不同的文件,没有具体的数据库可提供查询,对于这些重要文件有哪些、放在什么地方、什么时候用过的还都不知道。当用户即辅导员要看文件的时候却因为有一大堆的文件放在一起,无法很快的找到自己想要的文件,这样要浪费很多的时间。并且手工来管理这些重要文件也要耗费不少的人力,物力资源,也不符合经济效益原则。而随着信息化的发展及计算机技术的广泛运用,高等学校各部门的重要文件管理也可以考虑利用计算机管理系统来代替传统的手工管理。设计高校学工平台系统可以建立各种信息数据库,以实现高校对辅导员用户基本信息的管理,文件管理。辅导员也可以通过本系统方便的查找自己存着的重要文件,到用时就很方便了。 同时此系统还为高校辅导员提供一个存放自己重要照片的一个平台,因为现在由于数码相机的普及,辅导员自己电脑上的照片肯定会越来越多,有了此系统就解决了这个问题,同时还能跟其他的辅导员分享自己的作品,交流摄影经验等等。 通过毕业设计可以让自己进一步的掌握系统开发的理论和方法,并运用于实际的操作之中。设计高校学工平台系统还可以锻炼自己对开发一个小型网站的能力,让自己形成一种独立思考的习惯和周全的想象各种事情的能力,给自己将来的工作带来一些经验。同时,设计这个高校学工平台系统由传统的手工来管理重要文件转变为计算机管理,方便辅导员查找和使用需要的各种重要文件,可以很大程度上提高辅导员的工作效率。 因此,设计这个高校学工平台系统还是很有必要的。 1.2 研究内容及拟解决问题 研究的基本内容主要是基于的高校学工平台系统,以便能更好的为高校学工提供方便。在这个系统中主要需要研究数据库的设计、管理员后台的设计,用户设计以及他们之间的联系。因为在这个系统中,用户需要存的东西比较多,所以要进行分类管理,因此在创建数据库的时候要多建好几张表,在创建的时候如何搞好表与表之间的的关系式一个比较艰巨的任务,因为只有做到这样,把他们的关系都搞清楚了才能在以后做的过程中简单化。管理员后台的设计主要要做到后台的安全性和可靠性以及操作的简单易懂性,这样才能把错误减小。用户的设计主要是实现用户的注册,实现用户可以上传自己的照片和他们的重要文件,还要实现用户在上传东西的时候自主进行分类。用户可以对其他用户上传的照片进行评论,交流,搜索。用户之间可以添加好友等等。 拟解决的主要问题主要分为五大方面: 1.数据库方面:对系统进行需求分析,初步设计用户信息表、照片表(分为个性展示表和风景表)、评论表、文件表(文件有可能比较多,要分成几个不同的表,像论文集表、参考资料表等等)。 2.管理员管理方面:实现对注册用户资料的管理,用户上传照片的管理,看上传的照片是否符合国家规定,用户评论是否符合国家规定等等,即对评论,照片进行审核。 3.用户信息管理方面:实现用户的注册,其中包括登录名,登录密码,邮箱等基本信息的修改和更新。注册成功后,根据用户权限可以上传照片、上传自己的重要文件。对其他用户的照片进行评论。 4.搜索方面:实现用户可以根据关键字,标题搜索等等。 5.BBS方面:实现注册用户可以与其他用户进行交流,同时实现用户在个人中心中可以对自己的信息进行修改,包括密码,邮箱,QQ号码,对自己上传照片进行描述等等。 第2章 工具软件与技术基础 2.1编程开发环境和相关工具 本系统采用Microsoft Visual Studio 2005为开发环境以,sql2005为数据库基础,ASP.NET为开发语言。主要是在开发环境中以新建网站来进行开发。技术路线主要是利用SQLServer来存储数据,通过新建表的形式把数据存储在数据库中,SQLServer是一个功能很强大的数据库,足以用以本网站的开发。前台主要是通过Visual Studio 2005里面的控件来进行页面设置和功能实现。后台和前台的联系主要是通过编码来把数据在前台和后台的传递。 2.2编程环境 2.2.1 ASP.NET ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译。 ASP.net构架是可以用Microsoft(R)公司最新的产品 Visual S开发环境进行开发,WYSIWYG(所见即为所得)的编辑。因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。[3]ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。 ASP.NET一般分为两种开发语言,VB.NET和C#,在本系统中,我采用的是C#语言。 用ASP.NET开发的优点有:1.使用.NET提供的所有类库,可以执行以往ASP所不能实现的许多功能。2. 引入了服务器端控件的概念,这样使开发交互式网站更加方便。3. 引入了ADO.NET数据访问接口,大大提高了数据访问效率。4.提供ASP.NET的可视化开发环境Visual Studio.NET,进一步提高编程效率。[10]5. 保持对ASP的全面兼容。ASP.NET运行速度快。6. ASP.NET全面支持面向对象程序设计。ASP.NET的缺点是:1. ASP.NET运行环境要求比较高,不仅需要IIS的支持,还需要.NET Fremework SDK。2. 相对于ASP,学习起来稍微复杂。[7] 另外,ASP.NET优点还包括了ASP.NET启用了分布式应用程序的两个功能:Web窗体和 XML Web 服务。[9]相同的配置和调试基本结构支持这两种功能。 Web 窗体技术使您建立强大的基于窗体的网页。[6]Web 窗体页面使用可重复使用的内建组件或自定义组件以简化页面中的代码。[2] 使用 ASP.NET 创建的 XML Web 服务可使您远程访问服务器。使用 XML Web 服务,商家可以提供其数据或商业规则的可编程接口,之后可以由客户端和服务器端应用程序获得和操作。通过在客户端/服务器和服务器/服务器方案中的防火墙范围内使用标准(如 XML 消息处理和 HTTP),XML Web 服务可启用数据交换。任何语言编写的且运行在任何操作系统上的程序都能调用 XML Web 服务。[8] 2.3相关工具 2.3.1 SQL Server 2005 SQL Server 2005则是目前最流行的数据库之一,操作简单,功能强大,而Visual Stadio 2008,是用来开发和运行ASP.NET网站。ASP.NET(基于.NET Framework的Active Server Pages) 是微软公司的一项技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,运行于 IIS 之中的程序。 SQL Server是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。SQLServer是一个关系数据库管理系统,它最初是由Microsoft、Sybase 和Ashton-Tate 三家公司共同开发的。SQL SERVER是大数据库,它也属于中型数据库,应用于中小型企业。SQL SERVER的分布式、复制、全文检索、DTS都可以满足中型的应用。 SQL SERVER的数据存储在它本身的文件内,在安装目录下的DATA目录下,有和数据库同名的数据文件和日志文件组成。 一般,在WINDOWS体系下,中小型的应用都使用SQL SERVERS 。 此外,SQL SERVER支持存储国耻、触发器、自定义函数等操作;安全性、并发控制能力、数据挖掘、联机操作等方面其他数据库是无法超越的。[1] 第3章 系统总体设计 3.1系统需求分析 需求分析的目标是确定系统必须完成哪些工作,也就是说对目标系统提出完整的、准确的、清晰的、具体的要求,它是系统分析通向系统设计阶段的必经之路。在需求分析的过程中,很重要的一部分就是用数据图和数据字典来描述系统,然后编写规格的说明书。需求分析的好坏直接影响整个工程的成败。[5] 本课题的最终目标是实现学工之家的建设、即辅导员可以通过注册的一个账号登陆网站,可以将自己的某些重要文件和一些照片上传到网站上,完成保存。同时在这个网站上可以对别的辅导员的照片进行评论等等。具体的需求如下: 辅导员在线注册一个会员账号,且这个会员账号是唯一的,用这个账号登录网站,进去后可以修改自己的信息。同时可以查看自己上传的文件和照片。同时也可以上传文件和上传照片。在这个网站的首页可以看到学校的最新通告,最新上传的文件、照片等等。同时用户可以根据关键字和名称来实现对照片的搜索。 此外,此外有一个管理员来管理所有的用户,和上传学校的通告,来管理评论留言内容是否符合国家的规定。则系统根据用户登录时的登录名判断是普通用户还是管理员用户。若是管理员,则跳转到管理员界面,在管理员界面列出了所有用户的基本信息,如用户名啊,何时注册的等等。在这个界面上还有评论管理,留言管理,文件管理等等,管理员可以根据是否符合有关规定来决定是否删除某条评论或留言,亦或是删除这个用户。 3.2系统功能 根据需求分析,本课题要实现的功能有: 1.注册功能; 2.登录功能; 3.修改密码功能; 4.留言板功能; 5.上传照片、文件功能,下载功能; 6.搜索功能; 7.对照片进行评论功能; 由此,系统可以分为七个模块,分别是: 1.用户注册; 2.用户登陆; 3.用户个人中心页面; 4.上传照片、文件页面; 5.照片评论、网站留言页面; 6.下载页面; 7.管理员页面 各功能模块具体的联系如下图3-1: 用户注册 用户登陆 普通用户页面 管理员的页面 下载文件 留言,评论照片 管理用户 上传照片,文件 搜索文件 修改头像 , 找 回 密 码 上传公告 照片,文件管理 评论,留言管理 图3-1 功能模块图 3.3 数据库设计与实现 3.3.1 数据库概念模型设计 在数据库的设计中,首先要注意命名的规范,其次就是要注意数据的一致性和完整性,尽可能的降低数据的冗余,当然如果数据冗余度低,数据的完整性容易得到保证,但增加了表间连接查询的操作,所以合理的数据冗余也是必要的。可使用规则和约束来对数据的有效性验证。[4] 进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。数据库的需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为地基的需求分析是否做得充分与准确,决定了在其上构建数据大厦的速度与质量。数据分析做得不好,甚至会导致整个数据设计翻工重做。 本系统采用SQL Server 2005数据库,根据系统需求分析来看,本系统数据表如下: 用户表:存放用户的相关信息; 文件表:存放用户上传的文件; 照片表:存放用户上传的照片; 评论表:存放用户对照片进行评论的相关信息; 留言表:存放用户在网站上留言的相关信息 公告表:存放管理员上传的学校通告。 3.3.2数据库逻辑结构设计 表3-1数据库表说明 表名 作用 用户表 存储用户基本信息 文件表 存储文件信息 公告表 存储公告信息 照片表 存储照片信息 留言表 存储留言信息 评论表 存储评论信息 各种表都是根据网站的需要来建的,下面主要分析各种表的结构和功能。 表3-2 用户信息表 字段名 中文描述 是否允许为空 类型 备注 userID 编号 否 int(自增值1) 权限号 userlever 级别 是 int 用户权限 Uname 名字 是 varchar 用户名称 Upassword 密码 是 varchar 用户密码 Uemail 邮箱 是 varchar 用户邮箱 HeadPicture 头像 是 varchar 用户头像 myquestion 我的问题 是 varchar 问题 myanswer 答案 是 varchar 答案 num 评论数 是 int 评论数 表3-3文件信息表 字段名 中文描述 是否允许为空 类型 备注 wid 序号 否 int(自增值1) 文件序号 wname 文件名 是 nvarchar(50) 文件名 wtime 上传时间 是 datetime 上传时间 SPath 存储路径 是 nvarchar(50) 存储路径 Uname 上传者 是 nvarchar(50) 上传者 表3-4公告信息表 字段名 中文描述 是否允许为空 类型 备注 id 序号 否 int(自增值1) 公告序号 title 题目 是 nvarchar(50) 公告题目 context 内容 是 nvarchar(MAX) 公告内容 time 上传时间 是 datetime 上传时间 表3-5照片信息表 字段名 中文描述 是否允许为空 类型 备注 PhotoID 序号 否 int(自增值1) 照片序号 Uname 上传者 是 nvarchar(50) 上传者 Caption 照片标题 是 nvarchar(50) 照片标题 Imageurl 存储路径 是 nvarchar(50) 存储路径 Time 上传时间 是 datetime 上传时间 表3-4留言信息表 字段名 中文描述 是否允许为空 类型 备注 mid 条数 否 int(自增值1) 留言序号 message 留言内容 是 nvarchar(50) 留言内容 Uname 留言者 是 nvarchar(50) 留言者 time 留言时间 是 datetime 留言时间 answer 回复内容 是 nvarchar(50) 回复内容 表3-4评论信息表 字段名 中文描述 是否允许为空 类型 备注 pid 序号 否 int(自增值1) 评论序号 Imageurl 存储路径 是 nvarchar(50) 存储路径 composition 评论内容 是 nvarchar(50) 评论内容 time 评论时间 是 datetime 评论时间 Uname 评论人 是 nvarchar(50) 评论人 answer 回复内容 是 nvarchar(50) 回复内容 第4章 界面设计与流程图 4.1 界面设计 图4-1 首页 图4-2 留言板 首先,使用Photoshop CS4设计好本系统的页面,然后切割图片,再使用Dreamweaver CS4对页面进行排版,最后将页面相关HTML代码复制到VS 2005中进行编程。 4.2 流程图 注册账号 使用账号登录系统 打开系统首页 个人中心 上传照片、文件 下载文件 修改头像 查看照片,文件 图4-3 用户使用流程图 进入管理员页面 管理员登录 用户信息管理 照片、文件管理 公告上传 留言、评论管理 图4-4 管理员用户使用流程图 第5章 系统实现 5.1 修改头像 图5-1 首页 首页主要分为五个部分如图所示,网站公告,是关于这个网站的;最新留言则是用户的最新留言;学校公告是管理员上传的公告;还有就是照片列表和文件列表。实现代码如下: SqlConnection conn = new SqlConnection(); conn.ConnectionString = "server=PC-200905172339;database=学工之家;uid=sa;password=123456"; conn.Open(); string strpx = "select Top 6 title from 公告 order by time desc"; //文件显示的时候按照时间顺序来显示 SqlCommand com = new SqlCommand(strpx, conn); SqlDataReader dr = com.ExecuteReader(); LinkButton[] A = new LinkButton[5];//定义一个linKButton数组 A[0] = LinkButton1; A[1] = LinkButton2; A[2] = LinkButton3; A[3] = LinkButton4; A[4] = LinkButton5; int i = 0; while (dr.Read())//读取文件名 { A[i].Text = dr["title"].ToString(); i++; } conn.Close(); 其他三块最新留言,照片列表,文件列表的显示和以上代码大同小异。页面之间的传值都是用Session的。 5.2 新用户注册 图5-2 注册页面 查看用户名是否存在,代码如下 static bool bCheck; void CheckName() { SqlConnection conn = new SqlConnection(); conn.ConnectionString = "server=PC-200905172339;database=学工之家;uid=sa;password=123456"; conn.Open();//打开数据库 string strsql = "select * from 用户表 where Uname='" + TextBox1.Text + "'"; SqlCommand Com = new SqlCommand(strsql, conn); SqlDataReader sqlreader = Com.ExecuteReader(); if (sqlreader.Read()) { bCheck = false; } else { bCheck = true; } sqlreader.Close(); conn.Close(); }//如果用户名存在了,就会跳出此用户名已存在的对话框。 注册功能的相关代码如下: CheckName(); if (!bCheck)//判断是否存在此用户名 { Response.Write("<script language=javascript>alert('用户名已被占用,请选择其他名称');</script>"); return; } SqlConnection conn = new SqlConnection(); conn.ConnectionString = "server=PC-200905172339;database=学工之家;uid=sa;password=123456"; string strVal = "'" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "'"; string strIns = "insert into 用户表(Uname,Upassword,Uemail) values(" + strVal + ")";//把用户插入到用户表中 SqlCommand insCom = new SqlCommand(strIns, conn); SqlDataAdapter da = new SqlDataAdapter(); conn.Open(); da.InsertCommand = insCom; da.InsertCommand.ExecuteNonQuery(); Response.Write("<script language=javascript>alert('注册成功,请单击返回进入登陆页面');</script>"); Response.Redirect("main.aspx"); conn.Close(); 当用户填写完毕点击注册后,即将注册信息数据写入数据库,帐号、密码既可以用来登录网站, 普通用户注册时其userID的默认值为0,管理员的userID为1。 注册成功后就跳入登录界面。新注册用户的头像是默认的,如果要修改可以到个人中心进行修改。 5.3 登录,密码初始化 用户在登录界面进行登陆,由后台来处理登陆信息。 部分代码如下: //建立数据库连接 SqlConnection conn = new SqlConnection(); conn.ConnectionString = "server=PC-200905172339;database=学工之家;uid=sa;password=123456"; string strSecPwd = FormsAuthentication.HashPasswordForStoringInConfigFile(password.Text, "md5");//密码用MD5算法进行加密保存 string strsql = "select * from 用户表 where Uname='" + name.Text + "'and Upassword='" + strSecPwd + "'"; conn.Open(); SqlCommand cmd = new SqlCommand(strsql, conn); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { Session["Userlever"] = dr["Userlever"]; Session["name"] =name.Text; if ((int)Session["Userlever"] == 1)//根据用户级别的不同,跳入不同的页面 { Response.Redirect("admin.aspx"); } else { Response.Redirect("mine.aspx"); } } else Response.Write("<script language=javascript>alert('登陆失败');</script>"); dr.Close(); conn.Close(); 后台首先检查用户输入的验证码是否正确,若不正确,则提示用户验证码输入错误;若正确,则将从表单中提取出来的用户名同数据库中取出来的用户名进行比较,若无相等,说明登陆的用户名是非法的,若有相等,则从数据库中取出该用户名的密码,并与输入的密码相比较,若不相等,则说明登陆密码输入错误,若相等,则登陆成功!管理员和普通用户根据他们的userlever进入到不同的页面。 在初始化密码页面,必须同时答对问题和密码,否则不能初始化。具体代码如下: SqlConnection conn = new SqlConnection(); conn.ConnectionString = "server=PC-200905172339;database=学工之家;uid=sa;password=123456"; string strSecPwd = FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text, "md5"); string strSecPwd1 = FormsAuthentication.HashPasswordForStoringInConfigFile(Label4.Text, "md5"); string strsql = "select * from 用户表 where Uname='" + TextBox1.Text + "'"; conn.Open(); SqlCommand cmd = new SqlCommand(strsql, conn); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { i = dr[6].ToString().CompareTo(TextBox3.Text); j = dr[7].ToString().CompareTo(strSecPwd); if (i == 0 && j == 0) { SqlConnection conn1 = new SqlConnection(); conn1.ConnectionString = "server=PC-200905172339;database=学工之家;uid=sa;password=123456"; string strSecPwd2 = FormsAuthentication.HashPasswordForStoringInConfigFile((123456).ToString(), "md5"); string strsql1 = "update 用户表 set Upassword='" + strSecPwd2 + "' where Uname='" + TextBox1.Text + "'"; SqlCommand insCom = new SqlCommand(strsql1, conn1); SqlDataAdapter da = new SqlDataAdapter(); conn1.Open(); da.InsertCommand = insCom; da.InsertCommand.ExecuteNonQuery(); conn1.Close(); Response.Write("<script language=javascript>alert('你的密码已初始化为123456!');</script>"); } else if(i != 0 && j == 0) { Response.Write("<script language=javascript>alert('密码提示问题错误!');</script>"); TextBox3.Text = ""; } else if(i != 0 && j != 0) { Response.Write("<script language=javascript>alert('密码提示问题或答案错误!');</script>"); TextBox2.Text = ""; TextBox3.Text = ""; } else if (i == 0 && j != 0) { Response.Write("<script language=javascript>alert('问题答案错误!');</script>"); TextBox2.Text = ""; } } dr.Close(); conn.Close(); 5.4 上传文件、照片 图5-3 上传文件 图5-4 上传照片 上传文件和照片主要是用到FileUpload控件,上传文件代码如下: if (FileUpload1.HasFile)//如果FileUpload控件中包含了某文件 { string name = FileUpload1.PostedFile.FileName;//客户端文件路径 FileInfo file = new FileInfo(name);//创建FileInfo实例 //从File对象中获得文件名称,并赋给变量FileName string fileName = file.Name; //服务器端文件路径 string webFilePath = Server.MapPath("文件/" + fileName);//读取文件类型,并赋给变量fileContentType string fileContentType = FileUpload1.PostedFile.ContentType; SqlConnection conn = new SqlConnection(); conn.ConnectionString = "server=PC-200905172339;database=学工之家;uid=sa;password=123456"; string strVal = "'" + Session["name"] + "','" + TextBox1.Text + "','" + webFilePath + "'"; string strIns = "insert into 文件表(Uname,wname,SPath)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服