版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要在当下网络的不断发展,互联网逐渐成为人们彰显个性、结交好友的重要平台。而传统的社交网络已不是人类的独有物,与我们生活在同一屋檐下的宠物也开始走入社交网络。本文中来介绍的宠物社区是一个以宠物为主题的微信小程序,选用的是JFinal+ide作为开发环境,MySQL作为后台数据库支持,实现了汪牌注册、登录、添加贺卡、添加宠物信息、发布宠物信息、添加宠物犬养护知识等功能。为爱宠物之人提供了一个“以宠物会友”的平台。关键词:宠物社区JFinalMySQL数据库
AbstractWiththecontinueddevelopmentoftheInternet,theInternetgraduallyshowspeople'spersonalityandisanimportantplatformformakingfriends.Traditionalsocialnetworksarenottheonlyhumanbeings,andpetslivinginthesamehousewithusarealsoincludedinsocialnetworks.Thepetcommunityintroducedinthispaperisapetchatbasedwechatprogram.SelectJFinal+IDEasthedevelopmentenvironmentandselectMySQLasbackstagedatabasesupport.Itrealizesthebrandregistration,loginfunction,addgreetingcards,addpetinformation,publishpetinformationandaddpetdogmaintenanceknowledge.Makeapetandafriendprovideaplatformforpetlovers.Keywords:PetCommunityJFinalMySQLdatabase 目录10761_WPSOffice_Level1第一章绪论 132072_WPSOffice_Level21.1宠物社区的发展背景 122904_WPSOffice_Level21.2宠物社区开发目的与意义 223445_WPSOffice_Level1第二章开发环境与操作平台介绍 22019_WPSOffice_Level22.1MySQL简介 218168_WPSOffice_Level22.2JFinal技术介绍 227121_WPSOffice_Level22.3小程序介绍 27118_WPSOffice_Level32.3.1小程序API 317295_WPSOffice_Level1第三章系统可行性分析 311056_WPSOffice_Level23.1技术可行性 321199_WPSOffice_Level23.2经济可行性 43807_WPSOffice_Level23.3操作可行性 45783_WPSOffice_Level23.4需求分析 421299_WPSOffice_Level1第四章系统的总体结构设计 58451_WPSOffice_Level24.1系统功能结构描述 51434_WPSOffice_Level34.1.1系统功能 512849_WPSOffice_Level34.1.2系统功能结构图 64101_WPSOffice_Level24.2数据库设计 613231_WPSOffice_Level34.2.1概念结构设计 66516_WPSOffice_Level34.2.2数据表详细设计 77497_WPSOffice_Level1第五章系统的详细设计 1015366_WPSOffice_Level25.1小程序界面设计与核心功能实现 1017420_WPSOffice_Level35.1.1“汪牌”页面 105752_WPSOffice_Level35.1.2“狗狗圈”页面 1323088_WPSOffice_Level35.1.3上传页面 1411969_WPSOffice_Level35.1.4图片裁剪上传功能实现 168144_WPSOffice_Level35.1.5编辑删除功能实现 1822163_WPSOffice_Level35.1.6收藏功能实现 1820968_WPSOffice_Level35.1.7“我的”页面 192239_WPSOffice_Level35.1.8“汪朋狗友”功能实现 204778_WPSOffice_Level35.1.9“遛一遛记录”功能实现 2211978_WPSOffice_Level25.2后端核心功能实现 237476_WPSOffice_Level35.2.1小程序登录实现 2330786_WPSOffice_Level35.2.2API接口访问拦截器实现 2426661_WPSOffice_Level1第六章系统测试 2531113_WPSOffice_Level26.1测试目的 2513731_WPSOffice_Level26.2测试方法 2513878_WPSOffice_Level26.3系统测试 2620324_WPSOffice_Level1第七章总结与展望 276812_WPSOffice_Level27.1工作总结 2713584_WPSOffice_Level27.2展望 276864_WPSOffice_Level1参考文献 283561_WPSOffice_Level1致谢 28广东东软学院本科生毕业设计(论文)[9]将概念模型转化为逻辑模型。这个概念是在设计过程中独立设计的,使得所有阶段的任务都变得更加独特且单一个体。我们在这里利用E-R图来对数据库的设计呢,来规范以及规划好一个设计,以小来见大,通过设计局部的E-R模式,使得我们数据库实体类之间相互联系,之后再组合到一个全局模式,通过下图标记的1-n,与n-n,分别对应的是一对多,以及多对多的关系,继而通过优化,最终得到一个完整的E-R图。E-R图:根据会员、文章、汪牌之间的关系得到会员、文章、汪牌E-R图:图4-2E-R结构图4.2.2数据表详细设计基于宠物社区名字所建立的数据库名称为Superpet,包括的数据库表主要有以下几个基本表。表4-2用户信息表列名说明类型备注Id编号Int(4)不允许空,主键UserCode用户名char(100)不允许空Sex性别char(100)不允许空Age年龄Int(8)允许空Loacl所在地char(100)允许空QQQQchar(100)允许空Email邮箱char(100)允许空Sign个性签名char(100)允许空Picture照片char(100)允许空表4-3宠物信息表列名说明类型备注Id编号Int(4)不允许空,主键StuCode昵称char(100)不允许空Sex性别char(100)不允许空Age年龄Int(8)允许空StuFromSchool兴趣爱好char(100)不允许空Picture照片char(100)允许空Master电话char(100)不允许空Fans粉丝数Int(4)不允许空表4-4文章信息表列名说明类型备注Id编号Int(4)不允许空,主键Title标题char(100)不允许空Content内容char(100)不允许空CreateTime发表时间char(100)允许空Writer作者char(100)允许空表4-5收藏表列名说明类型备注Id编号Int(4)不允许空,主键UserCode用户名char(100)不允许空PetType类型char(100)不允许空表4-6关注表列名说明类型备注Attentio关注人Int(4)不允许空,主键Attentiod被关注人Varchar(50)不允许空EachOther相互关注Int(4)不允许空第五章系统的详细设计5.1小程序界面设计与核心功能实现5.1.1“汪牌”页面此页面为小程序的开启时的页面,也为首页,第一次进入时会判定用户是否第一次登入。(a)先通过wx.login()获取到用户登录的临时code,发送res.code到服务后台,获取到sessionkey和openid。来实现用户登录功能。(b)随后通过公共文件storageService文件中的TokenStorage方法保存accessToken。(c)而该“汪牌”页面通过登录用户,获取该用户的宠物列表,获取用户的宠物个数,如果已经有过注册“汪牌”,则会刷新出来。登录的详细核心逻辑代码具体如下。wxlogin:function(){varthat=this;wx.login({success:res=>{//发送res.code到后台换取openId,sessionKey,unionIdif(res.code){RemoteDataService.wxLogin({jsCode:res.code}).then(result=>{if(result&&result.code=="000"){TokenStorage.setData(result.accessToken);that.checkSettingsStatus();if(result.petsCount&&parseInt(result.petsCount)>0){that.getMyPetList()}else{that.navToPetAddPre()}}}).catch(err=>{that.setData({loading:false});})}},fail:err=>{console.log(err);}})},新登入的用户会看到注册狗牌的按钮,而注册成功之后,刷新页面会显示注册成功的狗牌,实际效果如图5-2所示。 图5-2首页“汪牌”页面效果图点击注册汪牌之后跳转到注册汪牌页面,实际效果如图5-2所示。图5-3注册“汪牌”页面效果图注册“汪牌”页面,提供给用户为他们的宠物填写上详细内容信息,内容如上图所示,分别有上传宠物头像,输入名称,性别,体重,年龄,品质,是否绝育,以及个性描述。(a)先通过wx.login()获取到用户登录的临时code,发送res.code到服务后台,获取到sessionkey和openid。来实现用户登录功能。(b)随后通过公共文件storageService文件中的TokenStorage方法保存accessToken。(c)而该“汪牌”页面通过登录用户,获取该用户的宠物列表,获取用户的宠物个数,如果已经有过注册“汪牌”,则会刷新出来,注册“汪牌”页面的核心逻辑代码具体可参照下方。publicvoiddoLogin(){ StringjsCode=getPara("jsCode"); WxSessionVowxVo=WeixinKit.getWxSession(jsCode); if(!StringUtils.isNotBlank(wxVo.getErrcode())){ LonguserId=UserService.me.saveOrUpdateUser(wxVo); StringaccessToken=HashKit.generateSalt(64); wxVo.setAccessToken(accessToken); wxVo.setUserId(userId); srv.saveToken(wxVo); List<Pets>pets=PetService.me.getUserPetList(userId); intpetsCount=0; if(pets!=null&&!pets.isEmpty()){ petsCount=pets.size(); } renderJson(Ret.ok("code",ConstantKit.CODE_SUCCESS).set("msg",ConstantKit.MSG_SUCCESS).set("accessToken",accessToken).set("petsCount",petsCount)); }else{ renderJson(Ret.fail("code",ConstantKit.CODE_WX_FAIL).set("msg",ConstantKit.MSG_SUCCESS+wxVo.getErrmsg())); } }5.1.2“狗狗圈”页面在小程序的第二个页面当中,是狗狗圈页面。效果如图5-5所示。(a)上方的轮播图当中显示的是狗类相关资讯,点击轮播图会跳转到详细页面当中。(b)下方为狗类选择,提供复选按钮进行选择,通过数据库中保存各个狗类的特性,在用户选择自己想要的特性,找出符合条件的狗,在页面刷新之后单独显示出来,进而能够查看其中关于这个狗狗更详细的内容,详细效果如图5-6所示。图5-5轮播图内容页面效果图图5-6选择狗类内容页面效果图5.1.3上传页面点击汪牌之后可以看到更详细的信息,该页面这里提供了图片上传功能,点击“上传写真”,实现上传图片功能,如图5-7所示。图5-7汪牌详细内容页面效果图图5-8写真集内容页面效果图5.1.4图片裁剪上传功能实现首先调用wx.chooseImage()这个原生接口,获取到需要上传的图片,通过以下这段代码对其进行压缩图片处理,图片裁剪上传功能详细核心逻辑代码具体可参照如下。wx.chooseImage({count:1,//默认9sizeType:['compressed'],//可以指定是原图还是压缩图,默认二者都有sourceType:['album','camera'],//可以指定来源是相册还是相机,默认二者都有success(res){constsrc=res.tempFilePaths[0]//获取裁剪图片资源后,给data添加src属性及其值console.log("res.tempFiles[0].size==",res.tempFiles[0].size);self.wecropper.pushOrign(src)}})生成图片,avatar为裁剪后的图片临时路径,如果路径中有图片,则生成一个信息提示框显示正在上传,随后通过uploadType:
"petAvatar"将获取到的图片上传到服务器中。然后通过引用import导入的remoteDataService.js公共文件。调用当中暴露出来的接口中的uploadPetAvatar函数方法,RemoteDataService.uploadPetAvatar(params,
avatar,
'avatarFile'),获得返回的结果,通过console.log打印函数获得内容反馈。通过json.stringify()方法是将是JavaScript值的内容反馈转换为JSON字符串内容来保存,继而通过另一个公共文件common.js,随即通过Router.redirectTo("../dogedit/dogedit",
params);路由跳转返回到注册页面,图片生成功能详细核心逻辑代码具体参考如下。getCropperImage(){letthat=thisthat.wecropper.getCropperImage((avatar)=>{if(avatar){wx.showToast({icon:"loading",title:"正在上传"})//获取到裁剪后的图片,上传到服务器letparams={uploadType:"petAvatar"}wx.showNavigationBarLoading()RemoteDataService.uploadPetAvatar(params,avatar,'avatarFile').then(result=>{if(result&&result.code=="000"){//putintransferparaconsole.log(that.data.pet)console.log(that.data.petVali)console.log(that.data.pet.avatar)that.data.pet.avatar=result.filePaththat.data.pet.avatarTmp=avatarthat.data.petVali.avatarOk=trueconsole.log("ok")letparams={pet:JSON.stringify(that.data.pet),petVali:JSON.stringify(that.data.petVali)}console.log("Readytoreturn")console.log(params)Router.redirectTo("../dogedit/dogedit",params);}wx.hideNavigationBarLoading()}).catch(err=>{wx.hideNavigationBarLoading()})}else{console.log('获取图片失败,请稍后重试')}})},5.1.5编辑删除功能实现本功能实现图片上传之后的删除功能,通过for循坏来判断图片是否删除,删除功能详细核心逻辑代码参考效果如下。deleteImg:function(e){letthat=thisletimgs=that.data.uploadImgslettmpImgs=[]letpetPicIds=[]for(leti=0;i<imgs.length;i++){if(!imgs[i].isDelete){tmpImgs.push(imgs[i])}else{petPicIds.push(imgs[i].petPicId)}}letparams={petPicIds:petPicIds.join(",")}wx.showNavigationBarLoading()RemoteDataService.deletePetPic(params).then(result=>{if(result&&result.code=="000"){this.setData({uploadImgs:tmpImgs,showDeleteBtn:!that.data.showDeleteBtn})}wx.hideNavigationBarLoading()}).catch(err=>{wx.hideNavigationBarLoading()})},5.1.6收藏功能实现通过记录用户的宠物ID,用户的ID,调用公共文件中的CollectPet方法获得返回值,判断如果为1,则通过common文件中的myToast方法显示弹窗反馈“收藏成功”信息。收藏功能详细核心逻辑代码详情如下。collectPet:function(){letthat=thisletcollectVal=that.data.isCollectif(that.data.isCollect==0){collectVal=1}else{collectVal=0}letparams={petId:that.data.pet.id,userId:that.data.pet.userid,isCollect:collectVal}wx.showNavigationBarLoading()RemoteDataService.CollectPet(params).then(result=>{if(result&&result.code=="000"){that.setData({isCollect:collectVal})if(collectVal==1){Common.myToast("收藏成功");}else{Common.myToast("取消收藏成功");}}wx.hideNavigationBarLoading()}).catch(err=>{wx.hideNavigationBarLoading()})},5.1.7“我的”页面“我的”页面在最后一个页面,相比于传统的注册登录,遵循小程序简单快捷的原则,选择了沿用微信用户体系。点击“我”将会跳转到“汪牌”页面。在这页面上放置了“遛一遛记录”,“汪朋狗友”,这两个组件将会记录客户进行相对应的数据绑定,并且将用户操作功能之后产生的数据展示在我们的相关页面上。具体效果如图5-13所示。图5-13“我的”页面实现效果图5.1.8“汪朋狗友”功能实现此功能关联微信用户注册了汪牌的好友,关联微信步数并转化记录为遛狗时产生的运动总值。(由于暂时没有好友,所以页面暂时没有东西)实现效果效果如图5-14所示。图5-14“汪朋狗友”页面实现效果图此功能逻辑页面主要是调用公共文件中暴露的接口的getPetHouseList方法返回保存信息,然后显示保存到数据库中的内容,“汪朋狗友”核心逻辑代码效果如下所示。onLoad:function(options){letthat=thisletparams={}wx.showNavigationBarLoading()RemoteDataService.getPetHouseList(params).then(result=>{if(result&&result.code=="000"){that.setData({pet:result.pet,petFriends:result.petFriends})}wx.hideNavigationBarLoading()}).catch(err=>{wx.hideNavigationBarLoading()})},5.1.9“遛一遛记录”功能实现本功能的记录的是通过微信运动运动步数记录的数据,在汪朋狗友间选择一名好友的小狗,给他选择遛一遛,把微信运动记录的数据存在数据库中记录的数据。实现效果效果如图5-16所示。图5-16“遛一遛记录”功能实现效果图此功能逻辑页面主要是调用公共文件中的getFeedPetList方法返回保存信息,显示保存在数据库中的内容,“遛一遛记录”功能实现详细效果如下。onLoad:function(options){letthat=thisletparams={}wx.showNavigationBarLoading()RemoteDataService.getFeedPetList(params).then(result=>{if(result&&result.code=="000"){that.setData({myFeedList:result.myFeed,feedMyList:result.feedMy})}wx.hideNavigationBarLoading()}).catch(err=>{wx.hideNavigationBarLoading()})},5.2后端核心功能实现5.2.1小程序登录实现此页面为小程序的开启时的页面,也为首页,第一次进入时会判定用户是否第一次登入。(a)首先我们通过页面传过来的jsCode,能够获取到微信登录的session,而如果登录成功,即errorcode为空。(b)随后保存登录的用户信息到数据库当中,然后生成前端后续访问的64位token,以token为key,存储openid和sessionKey,为后续的自动登录做准备。(c)而该“汪牌”页面通过登录用户,获取该用户的宠物列表,获取用户的宠物个数,如果已经有过注册“汪牌”,则会刷新出来。以下为后端登录的详细代码具体。publicvoiddoLogin(){ StringjsCode=getPara("jsCode"); WxSessionVowxVo=WeixinKit.getWxSession(jsCode); if(!StringUtils.isNotBlank(wxVo.getErrcode())){ LonguserId=UserService.me.saveOrUpdateUser(wxVo); StringaccessToken=HashKit.generateSalt(64); wxVo.setAccessToken(accessToken); wxVo.setUserId(userId); srv.saveToken(wxVo); List<Pets>pets=PetService.me.getUserPetList(userId); intpetsCount=0; if(pets!=null&&!pets.isEmpty()){ petsCount=pets.size(); } renderJson(Ret.ok("code",ConstantKit.CODE_SUCCESS).set("msg",ConstantKit.MSG_SUCCESS).set("accessToken",accessToken).set("petsCount",petsCount)); }else{ renderJson(Ret.fail("code",ConstantKit.CODE_WX_FAIL).set("msg",ConstantKit.MSG_SUCCESS+wxVo.getErrmsg())); } }5.2.2API接口访问拦截器实现因为本程序很多功能数据需要对登录的用户进行绑定,所以在本程序会对用户是否为登录状态会进行一个检测,未登录的用户直接判定了非法请求,禁止访问。(a)获取微信用户在登录的session_key,随后进行判定,如果是以/api开头的action(登录除外),则进行拦截,其他暂时先不拦截。(b)获取访问token,查看访问中是否有accessToken参数,且是否有值。以accessToken为key值,查询我们在后台当中的缓存以及通过保存在数据库中是否存放着有这些合法的openid和sessionKey,而如果经过判断语句来判断这个token不为空的话,且缓存或数据库中此token还是有效的话(这就表示已登录),则允许访问。(c)查询成功,则进入controller,否则判定为非法请求,以下为API接口访问拦截器实现详细代码。publicvoidintercept(Invocationinv){StringactionKey=inv.getActionKey();System.out.println("actionKey===="+actionKey);if("/api/wx/login/doLogin".equalsIgnoreCase(actionKey)){inv.invoke();}elseif(actionKey.startsWith("/api")){if(inv.getController().getRequest().getHeader("Content-Type").contains("multipart/form-data")){inv.getController().getFile();}StringaccessToken=inv.getController().getPara("accessToken");System.out.println("accessToken===="+accessToken);if(StringUtils.isNotBlank(accessToken)&&LoginService.me.hasLogin(accessToken)){inv.invoke();}else{inv.getController().renderJson(Ret.fail("code",ConstantKit.CODE_FORBID).set("msg",ConstantKit.MSG_FORBID));}}else{inv.invoke();}}第六章系统测试6.1测试目的软件是由程序员来编写的,程序员在编程中犯错误是不可避免的。软件开发的各个阶段其实我们都是在学习理解,把知识内容实体化成代码,但我们都不是学习了很久的专业人士,都可能出现错误,不管是从理解层面,还是来到了编写的过程,如果这些错误不能在软件在最终终了前,寻找出真相,查出来进行改正,那事实上会因为报错,也会通过一系列连锁情况,早早晚晚都会在软件测试,甚至实现真机调试时被看见,届时修改这错误的代价会更高,而且往往造成很恶劣的后果。无论是什么软件系统的开发,设计完成以后都必须经过调试,不管是计算机方面,还是时装设计,乃至食品问题,通过测试软件产品的性能和质量,不可能不通过检查来找出问题,检查才是才能发现并解决系统、程序或功能等方面的错误。调试乃发现、检查并纠正错误的过程,是开发一个软件系统必不可少的过程。因为软件测试的目的是找出软件的错误。测试理论指导测试人员设计出更容易发现软件错误的测试用例,有助于在软件正式运行之前发现更多的错误,减少软件正式使用之后出现问题的频度;此外,软件测试时收集到的测试结果数据为软件的可靠性与质量分析提供了依据。宠物社区小程序的运行,尝试真机调试来试用时,都应该是确保在连接各个模块功能页面和整体的菜单整体体系后测试所有内容是否正确。6.2测试方法在软件开发的过程中,软件测试乃当中重要的一部分。由于开发一个软件项目的时间是十分之庸长的,加上新学习的问题,自身的能力问题,同时还要面对这极其错综杂复的问题,查找问题时的困难,实际上难度并不低。然而在过程当中,这主观认识不可能完美契合客观现实,因此呢,在构建设计这个软件时,在每个阶段都有一定的几率产生差错,这只能希望在每个阶段发展之前想办法寻找出,以及尽可能早发现早学习并去纠正这么个错误。明确地知道它是正确的测试是很重要的,但是带着要要证明测试是正确的目的,设计一些简单的测试计划,那是不行的。6.3系统测试根据需求分析得到宠物社区的主要功能模块:汪牌、狗狗圈、我的设置。 1. 汪牌:注册汪牌、显示汪牌; 2. 狗狗圈:主页、宠物犬养护知识; 3. 我的:汪朋狗友、宠物犬写真、遛狗排行榜。
第七章总结与展望7.1工作总结到这里,在花时间构建计划,应用到自己的实际工作,绞尽脑汁来寻找对应的答案来解决工作过程中的问题,在这深刻又艰难的时刻里,逐渐地对程序有深刻理解,而对于在学习过程中深入学习过的数据库设计方面,还有一点程度上了解明白编程技术方面也还是有了一点的进步。我针对目前最流行微信小程序进行开发,实现多个功能,在软件中可以添加汪牌信息、添加宠物犬详情、管理宠物犬养护知识、查找汪朋狗友、关注汪朋狗友、查看汪朋狗友列表等等。除此之外,我们这些用户朋友还可以随时给他们自己宠物诞生新的想法内容,发布宠物的新的写真照片,并且通过连接微信运动,产生一个数据来关联。系统中我们实现了关于狗类相关信息等一系列的功能,功能比较完备,界面友好。在紧凑的时间里,系统在进行开发前的第一步,先是所有事情的第一步,那就是目标想法,必须要熟悉小程序的开发流程,因为小程序是课程中没有学到过的内容,我们通过初步了解思路,学习这些个相关知识。而首要的目标是非常非常重要的一件事,第一步,使得从开始熟悉这些知识,慢慢找好自己的方向,思路,自己的水准到底能到达什么样的高度,再来对整体设计有了解,再从初步设计、再详细设计到深入地学习理解、分析考虑、进行开始编码,就跟开始读书一样,直到最后的测试,像是考试测验,整个过程感觉很充实,在当中这段花费的岁月年日当中,我感悟了有许多,失败不可怕,坚持去学习其实才是磨炼人内心的,此后坚持很多的事情,其实都一样,这也是人生路上该学会的最重要的东西,就是坚持地去学,坚持地来干。7.2展望微信小程序在目前仍是处于一个良好的发展状态,微信的研发团队也是不断地在为小程序更新迭代,以简洁实用的要求一直规范着小程序,所以实用性与方便性都是在一个很高的位置之上,近年来小程序平台活跃性用户也是十分地多,所以更加保持健康成长的态势,为众多小程序开发者提供更好的开发环境,以至于提高开发效率。而本人开发的宠物社区平台,希望能够给用户带来一个不错的体验,在微信这个大平台下,再营造一个爱宠物的人的交流平台,希望通过这个方式,让宠物不仅仅存在于图片当中,而是围绕着宠物,关系着宠物,以宠物做陪伴进行更突显式的交流。经过这几个月的毕业设计实习,中途遇到了许多事情,加上疫情的影响,电脑不在身边导致浪费了许多时间没有能够进行学习的机会,但实际上还学到了不少的东西,同时也明显感觉自己知识的欠缺。小程序的开发也是在选择题目过后再慢慢熟悉的,开发水准有限,所以这个程序总体上看来还是有着许多欠缺,在实际运用方面仍要继续努力。虽然即将毕业,但在此后的人生道路上,坚定自己的人生信念,学做事先做人,一定要继续坚持、努力地学习自己想要的知识,找到自己的道路,努力去贴近自己的梦想,只有这样才能紧跟时代的发展,脚踏实地的同时,活的舒心。参考文献王嘉顺.宠物饲养者的社会心理行为分析[J].医学与社会,2011,24(03):85-87孙慧娟.SNS社交网络服务[J].剑南文学(经典教苑).2012(02):302.邱勋拥,张华成.基于微信小程序的《软件测试技术与应用》学习平台的研究与设计[J],电子世界,2019.郑阿奇.JavaEE基础实用教程[M],电子工业出版社,2009.张春晖.基于微信小程序的工单智能管理系统[J],电脑知识与技术,2018,014(022):70-71.张政桢.NXC编程入门[M],清华大学出版社,2015.王嘉顺.宠物饲养者的社会心理行为分析[J].医学与社会.2011(03):87.王珊,萨师煊.数据库系统概论[M].高等教育出版社,2011:15.郑阿奇,刘启芳,顾韵华.SQL Server教程[M].清华大学出版社.2010:15.致谢这四年的大学学习生涯在此即将结束之际,毕业论文便成了我们这四年来学习成果的检验和总结,同时也是对我们能力的一种考核。首先我要特别感谢四年来专业课的所有老师们,是他们在我的专业课的学习过程中无私地教导给我许多专业内容,使我能够在论文写作的过程中顺利解决难题和疑问。其次,在这次论文写作过程中,非常感谢老师给予我的耐心指导和帮助。与此同时,我也要感谢四年来所有赐予我知识和帮助的老师们,是你们共同帮助我成长,促使我进步的。我明晓老师们最大的心愿就是让自己的学生能够有能力在未来的社会中有所成就,能够为国家贡献自己的最大力量。在此后的日子里,我一定会牢记老师的教诲,努力去做一个对社会有用的人。至此,论文完成之际,向计算机专业的全体老师们献上我最真诚的谢意和祝福,真心祝各位老师身体健康,工作顺利!最后的最后请许我敬上一声:“老师,您辛苦了!”
HYPERLINK电脑快捷知识大全编辑本段一、常见用法F1显示当前程序或者windows的帮助内容。F2当你选中一个文件的话,这意味着“重命名”F3当你在桌面上的时候是打开“查找:所有文件”对话框F10或ALT激活当前程序的菜单栏windows键或CTRL+ESC打开开始菜单CTRL+ALT+DELETE在win9x中打开关闭程序对话框DELETE删除被选择的选择项目,如果是文件,将被放入回收站SHIFT+DELETE删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站CTRL+N新建一个新的文件CTRL+O打开“打开文件”对话框CTRL+P打开“打印”对话框CTRL+S保存当前操作的文件CTRL+X剪切被选择的项目到剪贴板CTRL+INSERT或CTRL+C复制被选择的项目到剪贴板SHIFT+INSERT或CTRL+V粘贴剪贴板中的内容到当前位置ALT+BACKSPACE或CTRL+Z撤销上一步的操作ALT+SHIFT+BACKSPACE重做上一步被撤销的操作Windows键+L锁屏键Windows键+M最小化所有被打开的窗口。Windows键+SHIFT+M重新将恢复上一项操作前窗口的大小和位置Windows键+E打开资源管理器Windows键+F打开“查找:所有文件”对话框Windows键+R打开“运行”对话框Windows键+BREAK打开“系统属性”对话框Windows键+CTRL+F打开“查找:计算机”对话框SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏ALT+F4关闭当前应用程序ALT+SPACEBAR打开程序最左上角的菜单ALT+TAB切换当前程序ALT+ESC切换当前程序ALT+ENTER将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换PRINTSCREEN将当前屏幕以图象方式拷贝到剪贴板ALT+PRINTSCREEN将当前活动程序窗口以图象方式拷贝到剪贴板CTRL+F4关闭当前应用程序中的当前文本(如word中)CTRL+F6切换到当前应用程序中的下一个文本(加shift可以跳到前一个窗口)在IE中:ALT+RIGHTARROW显示前一页(前进键)ALT+LEFTARROW显示后一页(后退键)CTRL+TAB在页面上的各框架中切换(加shift反向)F5刷新CTRL+F5强行刷新目的快捷键激活程序中的菜单栏F10执行菜单上相应的命令ALT+菜单上带下划线的字母关闭多文档界面程序中的当前窗口CTRL+F4关闭当前窗口或退出程序ALT+F4复制CTRL+C剪切CTRL+X删除DELETE显示所选对话框项目的帮助F1显示当前窗口的系统菜单ALT+空格键显示所选项目的快捷菜单SHIFT+F10显示“开始”菜单CTRL+ESC显示多文档界面程序的系统菜单ALT+连字号(-)粘贴CTRL+V切换到上次使用的窗口或者按住ALT然后重复按TAB,切换到另一个窗口ALT+TAB撤消CTRL+Z编辑本段二、使用“Windows资源管理器”的快捷键目的快捷键如果当前选择展开了,要折叠或者选择父文件夹左箭头折叠所选的文件夹NUMLOCK+负号(-)如果当前选择折叠了,要展开或者选择第一个子文件夹右箭头展开当前选择下的所有文件夹NUMLOCK+*展开所选的文件夹NUMLOCK+加号(+)在左右窗格间切换F6编辑本段三、使用WINDOWS键可以使用Microsoft自然键盘或含有Windows徽标键的其他任何兼容键盘的以下快捷键。目的快捷键在任务栏上的按钮间循环WINDOWS+TAB显示“查找:所有文件”WINDOWS+F显示“查找:计算机”CTRL+WINDOWS+F显示“帮助”WINDOWS+F1显示“运行”命令WINDOWS+R显示“开始”菜单WINDOWS显示“系统属性”对话框WINDOWS+BREAK显示“Windows资源管理器”WINDOWS+E最小化或还原所有窗口WINDOWS+D撤消最小化所有窗口SHIFT+WINDOWS+M编辑本段四、“我的电脑”和“资源管理器”的快捷键目的快捷键关闭所选文件夹及其所有父文件夹按住SHIFT键再单击“关闭按钮(仅适用于“我的电脑”)向后移动到上一个视图ALT+左箭头向前移动到上一个视图ALT+右箭头查看上一级文件夹BACKSPACE编辑本段五、使用对话框中的快捷键目的快捷键取消当前任务ESC如果当前控件是个按钮,要单击该按钮或者如果当前控件是个复选框,要选择或清除该复选框或者如果当前控件是个选项按钮,要单击该选项空格键单击相应的命令ALT+带下划线的字母单击所选按钮ENTER在选项上向后移动SHIFT+TAB在选项卡上向后移动CTRL+SHIFT+TAB在选项上向前移动TAB在选项卡上向前移动CTRL+TAB如果在“另存为”或“打开”对话框中选择了某文件夹,要打开上一级文件夹BACKSPACE在“另存为”或“打开”对话框中打开“保存到”或“查阅”F4刷新“另存为”或“打开”对话框F5编辑本段六、桌面、我的电脑和“资源管理器”快捷键选择项目时,可以使用以下快捷键。目的快捷键插入光盘时不用“自动播放”功能按住SHIFT插入CD-ROM复制文件按住CTRL拖动文件创建快捷方式按住CTRL+SHIFT拖动文件立即删除某项目而不将其放入SHIFT+DELETE“回收站”显示“查找:所有文件”F3显示项目的快捷菜单APPLICATION键刷新窗口的内容F5重命名项目F2选择所有项目CTRL+A查看项目的属性ALT+ENTER或ALT+双击可将APPLICATION键用于Microsoft自然键盘或含有APPLICATION键的其他兼容键编辑本段七、Microsoft放大程序的快捷键这里运用Windows徽标键和其他键的组合。快捷键目的Windows徽标+PRINTSCREEN将屏幕复制到剪贴板(包括鼠标光标)Windows徽标+SCROLLLOCK将屏幕复制到剪贴板(不包括鼠标光标)Windows徽标+PAGEUP切换反色。Windows徽标+PAGEDOWN切换跟随鼠标光标Windows徽标+向上箭头增加放大率Windows徽标+向下箭头减小放大率编辑本段八、使用辅助选项快捷键目的快捷键切换筛选键开关右SHIFT八秒切换高对比度开关左ALT+左SHIFT+PRINTSCREEN切换鼠标键开关左ALT+左SHIFT+NUMLOCK切换粘滞键开关SHIFT键五次切换切换键开关NUMLOCK五秒QQ快捷键,玩QQ更方便Alt+S快速回复Alt+C关闭当前窗口Alt+H打开聊天记录Alt+T更改消息模式Ait+J打开聊天纪录Ctrl+A全选当前对话框里的内容Ctrl+FQQ里直接显示字体设置工具条Ctrl+J输入框里回车(跟回车一个效果)Ctrl+M输入框里回车(跟回车一个效果)Ctrl+L对输入框里当前行的文字左对齐Ctrl+R对输入框里当前行的文字右对齐Ctrl+E对输入框里当前行的文字居中Ctrl+V在qq对话框里实行粘贴Ctrl+Z清空/恢复输入框里的文字Ctrl+回车快速回复这个可能是聊QQ时最常用到的了Ctrl+Alt+Z快速提取消息Ctrl+Alt+A捕捉屏幕最常用的快捷键F5刷新DELETE删除TAB改变焦点CTRL+C复制CTRL+X剪切CTRL+V粘贴CTRL+A全选CTRL+Z撤销CTRL+S保存ALT+F4关闭CTRL+Y恢复ALT+TAB切换CTRL+F5强制刷新CTRL+W关闭CTRL+F查找SHIFT+DELETE永久删除CTRL+ALT+DEL任务管理SHIFT+TAB-反向切换CTRL+空格--中英文输入切换CTRL+Shift输入法切换CTRL+ESC--开始菜单CTRL+ALT+ZQQ快速提取消息CTRL+ALT+AQQ截图工具CTRL+ENTERQQ发消息Alt+1保存当前表单Alt+2保存为通用表单Alt+A展开收藏夹列表资源管理器END显示当前窗口的底端HOME显示当前窗口的顶端NUMLOCK+数字键盘的减号(-)折叠所选的文件夹NUMLOCK+数字键盘的加号(+)显示所选文件夹的内容NUMLOCK+数字键盘的星号(*)显示所选文件夹的所有子文件夹向左键当前所选项处于展开状态时折叠该项,或选定其父文件夹向右键当前所选项处于折叠状态时展开该项,或选定第一个子文件夹自然键盘【窗口】显示或隐藏“开始”菜单【窗口】+F1帮助【窗口】+D显示桌面【窗口】+R打开“运行”【窗口】+E打开“我的电脑”【窗口】+F搜索文件或文件夹【窗口】+U打开“工具管理器”【窗口】+BREAK显示“系统属性”【窗口】+TAB在打开的项目之间切换辅助功能按右边的SHIFT键八秒钟切换筛选键的开和关按SHIFT五次切换粘滞键的开和关按NUMLOCK五秒钟切换切换键的开和关左边的ALT+左边的SHIFT+NUMLOCK切换鼠标键的开和关左边的ALT+左边的SHIFT+PRINTSCREEN切换高对比度的开和关运行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度房地产代理服务合同范本6篇
- 二零二五年度撬装加油站润滑油销售合同范本2篇
- 二零二五年度智慧家居产品研发与应用技术服务合同范本3篇
- 二零二五年度企业环保设施建设与运营合同2篇
- 2025年度生态摄影项目聘用及保护合同3篇
- 2025年度油气勘查探矿权转让合同书3篇
- 2025年度矿山边坡生态修复与修护坡合同范本3篇
- 海南职业技术学院《行草》2023-2024学年第一学期期末试卷
- 二零二五年度新能源技术股份合作开发合同3篇
- 2025年度离婚协议中未成年人监护权及抚养权争议调解书6篇
- 浙江省金华市婺城区2024-2025学年九年级上学期期末数学试卷(含答案)
- 重庆市2023-2024学年七年级上学期期末考试数学试题(含答案)
- 安徽省合肥市蜀山区2023-2024学年五年级上学期期末质量检测科学试题
- 高数(大一上)期末试题及答案
- 员工工资条模板
- 14K118 空调通风管道的加固
- 规划设计收费标准
- 大气喜庆迎新元旦晚会PPT背景
- 山区道路安全驾驶教案
- 常见浮游植物图谱(1)
- 丙酮-水连续精馏塔的设计
评论
0/150
提交评论