首页 “微生活”网站设计与开发毕业论文

“微生活”网站设计与开发毕业论文

举报
开通vip

“微生活”网站设计与开发毕业论文 毕 业 设 计(论 文) 设计(论文)题目: 宁工“微生活”网站设计与开发 摘 要 当手机、平板等移动设备变得日益流行,在这些设备上的运行的应用程序也随之变得越来越重要,更多的同学也得力于此可以随时随地的学习、娱乐和工作,然而,由于传统互联网技术的限制,这些网站却在这些移动设备上不能很好的呈现,严重的阻碍了校园信息的传递,很难适应当前这个以“用户为中心”、“面向资源共享”、“变化快速”的信息时代。 因此,本文在此基础上建立一个面向广大师生与高校内部使用的信息系统微...

“微生活”网站设计与开发毕业论文
毕 业 设 计(论 文) 设计(论文)题目: 宁工“微生活”网站设计与开发 摘 要 当手机、平板等移动设备变得日益流行,在这些设备上的运行的应用程序也随之变得越来越重要,更多的同学也得力于此可以随时随地的学习、娱乐和工作,然而,由于传统互联网技术的限制,这些网站却在这些移动设备上不能很好的呈现,严重的阻碍了校园信息的传递,很难适应当前这个以“用户为中心”、“面向资源共享”、“变化快速”的信息时代。 因此,本文在此基础上建立一个面向广大师生与高校内部使用的信息系统微网站,把传统的校园网发展为“人性化”的产物,以师生需求为核心,运用最新的互联网技术,实现支持多终端应用的高校网站和校园生活服务的完美结合,把学生切身实际的如教务信息,图书查询,以及课表查询等,娱乐学生的功能例如匿名交友,出行功能例如拼车,实时公交等。 本次程序设计是基于SAE的服务器,集成了Apache-2.2和PHP-5.3以及mysql的数据库,而主要函数库用到了Curl和Ereg,微信开发接口,采用面向对象的设计思想,功能间采用低耦合设计。在本地测试则采用wamp的集成环境,即windows、apache、mysql、PHP的集成,更加有效的,方便的在安装和测试体现出来。 整篇文档通过技术理论分析,系统设计,总体架构,数据库设计,以及关键代码编写等流程,最终实现了用户体验良好、界面设计美观、功能完善的宁工微生活的基本功能,以及通过微信实现更多实用性极强的功能。 关键词:网站;PHP;微信;Curl;面向对象;AJAX ABSTRACT When mobile phones, tablets and other mobile devices become increasingly popular, applications that run on these devices becomes more and more important, more students but also effective in the can, at any time, learn, play and work, however, due to limitation of the traditional Internet technology, these sites are in these mobile devices cannot very good showing, serious hindered the campus information transfer, difficult to adapt to the current to "the user as the center", "Sharing Oriented", "change fast in the information age So, based on this, this paper established an information system for the majority of teachers, students and colleges and universities to use micro site, the traditional development of the campus network is the product of "humanization", to the needs of teachers and students as the core, using the latest Internet technology, implementation support multi terminal application of the university website and campus life service of the perfect combination, the students immediate practical such as academic information, inquiries, books and timetable search, student recreation functions such as anonymous friends, travel function such as carpooling, real-time bus. The program design is server based on SAE, integrated Apache-2.2 and PHP-5.3 and the MySQL database and main function library used in the curl and Ereg, development of micro channel interface, using object oriented design, the function between the low coupling design. In the local testing, the integration of windows, Apache, mysql, PHP is more effective, and it is more convenient for the installation and testing. The entire document through theory analysis, system design, architecture, database design, and key code compilation process, and ultimately achieve the user experience is good, beautiful interface design, perfect function of the Ning micro life of basic functions, as well as through micro channel to achieve a more practical very strong function. Key Words:Web site;PHP;WeChat;oop;AJAX; 目 录 1 1. 引 言 1 1.1 研究背景 1 1.2 研究目的与意义 1 1.3 研究内容 3 2. 基本技术和理论 3 2.1 数据库技术 3 2.2 AJAX技术 4 2.3 响应式布局 5 2.4前端技术:Div+CSS等 6 3. 基本系统设计 6 3.1 需求分析 7 3.2系统总体架构设计图 9 3.3 功能设计 14 3.4数据库设计 17 4. 系统实现及测试 17 4.1 主要类设计 17 4.2 关键功能的实现代码 27 4.3 系统运行实例(手机端) 30 4.4测试分析 31 结论 32 致谢 33 参考文献 1. 引 言 1.1 研究背景 Internet的迅速发展,使得人与人之间的交流已经不再局限于面对面的语言交流,可以开始利用Internet上各种快捷的方式进行随时随地的交流。这一点在校园里的表现尤为明显。而大学生所活跃的网站,贴吧,教务网等在互联网的活跃度上所占比例越来越大,校园网在互联网的地位也已经越来越重要。 但国内外的高校网站也也存在单一的模式,即主要是办公类网站,教育类网站,以及生活咨询类网站,而各个网站之间也并没有很多的功能交错在一起,存在相互交独立的关系,而学校官网则比较杂而乱,不能很好的适应同学的生活,在现实生活中不能随时随地的去应用,也不能快速的获取信息反馈,即存在兼容性差,反馈时间长,信息错乱等多方面的不便。 目前在前端设计方面,HTML5 的兴起,使得响应式设计能够很好的去兼容多个移动设备,配合着DIV+CSS设计以及传统AJAX和Jquery等JS库,能够很好的使得网站去切身实际的去满足广大用户的使用。而MYSQL数据库的分布式存储以及优化的 SQL查询算法,有效地提高查询速度。在PHP5方面,则可以更加支持更多函数应用等。 1.2 研究目的与意义 本文主要研究如何简单实用H5;结合PHP技术去实现校园网站的资源整合及重构;需研究如何快速,深化的去使用mysql去查询数据;对服务器的功能的基本了解,包括的自带的功能如Memcache,Storage等的应用;研究如何结合微信公共平台,更加快捷方便的使用微生活的各个功能。 而通过各个功能的实现,以及多个方面的结合,能够使用户在微信上方便,快捷,高校的使用微生活的功能,可以更加完善的结合学校所有的网站功能,而在此基础上,同学们对学校文化,活动,教务以及生活各个方面有个更好的体验和参与,使得信息更加及时,高效,快速的进入同学生活中。 1.3 研究内容 本文通过研究当前高校的校内网的情况,并做出基本功能需求分析。在网站方面,主要包括以下内容: (1) 功能模块设计:包括功能设计,模块划分,系统框架设计,数据库设计和用户操作流程设计等。 (2) 系统实现:基于PHP与mysql数据,在linux的环境下进行开发,实现各功能模块,包括在校基本的信息查询,个人信息管理,校内文件分享以及生活服务等。 拟解决的主要问题 微生活系统的功能设计与实现:通过对宁波工程学院学生用户群体的生活、学习的实际需求进行调研,并结合学校各类信息系统建设的现状,探讨宁工“微生活”网站的功能设计,并基于PHP技术予以实现。 在网页设计方面,通过简单应用响应式设计,简单实现对移动设备不兼容 的问题,以及在对CSS+JavaScript在进入深一步的研究。 2. 基本技术和理论 2.1 数据库技术 Mysql是一个关系型数据库管理系统,但是目前用的最多的数据库管理系统,其中mysql是web应用中最好的RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一,具有分布式数据库和数据仓库功能,将数据库中数据保存到不同的表中,而不是放在一个大仓库中,更好的提高了灵活性,而其所使用的sql语言是用于访问数据库的最常用标准化语言。由于体积小,速度快,总体拥有成本低,又开放源码等特点,因此,一般中小型网站开发都选择mysql作为网站数据库,而搭配PHP,apache可组成良好的开发环境。 图2-1为mysql的可视化图形界面图: 图2-1 数据库可视化图 2.2 AJAX技术 AJAX = Asynchronous JavaScript and XML即异步操作的javascript和xml。能够是网页在整个页面不重新加载的情况下能够和服务器交换数据,更新网页部分技术。主要就是创建请求对象,发送请求,获取响应等步骤,从而与服务器交互,包括get和post两种方法去对接。 浏览器中添加了负责发送请求的AJAX对象,该对象事先会绑定一段事件(js调用)处理函数。用户填写信息点击注册时,会调用AJAX对象的方法,发送请求,AJAX对象发请求并不会影响页面的存在,所以在AJAX对象发送请求的同时,表单页面还可以进行其他的工作。服务器接收到请求后获取数据,处理判断,响应时的数据不再是完整的页面,而是部分数据。当响应提供的部分数据到达客户端时,并不是直接由浏览器展示,事先准备好的事件处理函数接收、解析。部分数据取出来后由JavaScript代码控制这些数据,更新至页面的某位置。 整个过程中,AJAX负责发送请求,也负责接受返回的响应,并将响应中的数据更新至页面中主要流程图如图2-2所示 图2-2 AJAX工作示意图 2.3 响应式布局 Div+Css是在静态页面中最常用的前段技术,是WEB设计的标准,一种网页布局,与之前的表格布局可以完美的实现页面内容与表现相分离。而本文用了简单的响应式设计,集中创建页面的图片排版,智能的根据使用设备进行相应的布局。 响应式布局是在2010年提出的,主要是为了适应不同终端,为用户提供一个更加舒适的界面,提高用户体验。因为代码编写需要使网页适应多个终端设备,因此会出现代码量大,加载时间长,又因为涉及到多方面设计,因此很多效果达不到最佳效果。主要的设计思路是通过javascript语句去判断设备的分辨率,从而去加载不同的css样式效果,而与此同时在设定各个参数的时候,采用百分比,或者自动(auto)等参数,能够充分适应界面。 主要样式图如图2-3所示。 图2-3 自适应样式图 3. 基本系统设计 3.1 需求分析 3.1.1 系统基本功能需求 1. 基本教务系统查询: 对接教务系统,结合网页,微信,实现功能主要包括学生成绩,课表等教务信息的一键查询和在线查询。 2. 图书信息查询 对接学校图书馆系统,获取主要包括个人借书信息,还书时间提醒,以及书籍查询,包括馆藏,出版社等基本信息。 3. 无线公交查询 和宁波通、市公交系统对接,实现公交实时查询,公交到站提醒登录和匹配对接提醒功能。 4. 宁工出行拼车(修改案) 拼车信息填写及查询,主要解决学校出行问题,例如东校区来回拼车,市区来回拼车等 5. 匿名交友 微信平台上学生的匿名交友功能,快速回复等,主要丰富平台的娱乐功能。 3.1.2 系统性能需求 1.时间特性: 系统响应时间足够迅速(<5 s),能够满足用户要求。 2.适应性: 在操作方式、运行环境、使用设备改变以及接口改变的场景下,系统需要能够自动适应,有相应的布局调整。 3.可使用性: 操作界面简单明了,但对格式和数据类型进行验证,包括对客户端验证和服务端验证,并采用错误友好提醒,提示用户输入正确数据和使用正确的操作方式。 4.安全保密性 只有合法用户才能登录使用系统,因此对每个用户都有不同等级的设置。对用户名、密码、以及用户相关信息进行加密处理,保证账号信息安全。 5.可维护性 采用功能间的低耦合连接,相互之间的数据库主外键连接,使用面向对象进行调用,方便修改操作。 系统采用了记录日志,用于记录用户的操作及故障信息,同时本系统采用的B /S模式,结构清晰,便于维护人员进行维护。 3.1.3 系统运行环境需求 云端架构的环境是sae,其中运行环境已经集成配置好,主要SAE平台目前的Web服务器使用的是:CentOS-6.x;Apache-2.2.x;PHP-5.3.x。Web服务器运行在64位Linux环境下。 Apache运行在Prefork模式下,即每个请求都会对应一个Apache进程,请求结束后该进程才能服务于下一个请求。平台通过模块方式扩展了Apache和PHP的相关功能。但也一些函数和类被限制使用例如函数exec,system等,SQLiteDatabase类等。 本地测试则使用wamp(windows+apache+mysql+PHP)环境,而在WampServer安装完成后,通过http://localhost/打开后可以看到WampServer自带的一个简单的页面,里面有PHPinfo、PHPmyadmin和sqlitemanager三个工具,能够图形化mysql和网页界面。 3.2系统总体架构设计图 3.2.1 设计结构功能图 从首页登录之后,可以更具登录帐号密码去访问学校的教务网站,图书馆系统,以及匿名交友等功能,宁波无线公交功能是在未登录状态也可使用,公交提醒功能则需要登录使用。 图3-1 设计结构功能图 3.2.2 功能界面设计: 采用类似win8式风格设计,简单,明白,易操作,比较明显,采用HTML和PHP嵌套写入,结合mysql数据库显示部分数据。 图3-2 功能界面设计图 3.2.3 功能流程图设计 图3-3 功能流程设计图 3.3 功能设计 3.3.1 登陆功能 表3-1 登陆功能简介表 功能描述 登陆,注册基本功能的实现。 关键技术 表单基本验证,数据库账户验证,验证码验证,是否在线判断,邮箱验证。 所需要主要函数及关键类 所需主要函数及关键类:email,check_Session,verification_Code,check_User 登录功能的流程图如图3-4所示。 图3-4 登陆功能流程图 3.3.2 基本教务系统的查询 功能描述 教务系统的成绩课表查询等(本学期和所有课表)。 关键技术 帐号密码验证,模拟登录,正则表达式匹配,放入缓存。 所需要主要函数及关键类 check_Uesr_Edu,curl,ereg(pattern, string)等 设计思路 使用curl模拟登录教务系统,返回到微信和网页端,学生的帐号密码根据openid从数据库查找获取。 表3-2 教务系统查询功能介绍 从教务系统模拟登录获取教务系统获取cookie如图3-5所示,而整个系统走向如图3-6所示。 图3-5 抓取教务系统cookie图 图3-6 教务系统模拟登陆示意图 3.3.3 图书信息的查询 表3-3 图书信息功能介绍 功能描述 包括个人借书信息,还书时间提醒,书籍查询 关键技术 图书馆帐号密码验证,模拟(post)登录,正则表达式匹配,放入缓存,模拟get查询。 所需要主要函数及关键类 Memcache,Bus,Send_Message等。 设计思路 check_Uesr_Lib,curl,ereg(pattern, string),email等(ps:还书提醒应用于微信,需要微信的api) 服务器,客户端,图书馆系统之间的相互调用如图3-7所示。 图3-7 图书馆模拟查询示意图 3.3.4 无线公交查询 表3-4 无线公交功能介绍 功能描述 获取实时公交,加入到站提醒功能 关键技术 h5的自适应网页,get获取公交信息,解析json,AJAX技术以及配合微信api的到站提醒功能。 所需要主要函数及关键类 Memcache,Bus,Send_Message等。 设计思路 发送路线(523)get请求,在获取参数后返回json数据,通过解析用AJAX修改站点选项框,通过PHP语言把所提交的信息写入数据库,带着时间参数 整个设计流程图如图3-8所示。 图3-8 无线公交提醒信息流程图 3.3.5 匿名交友(仅限微信) 表3-5 匿名交友功能介绍 功能描述 在平台匿名交友 关键技术 微信api,sae缓存 所需要主要函数及关键类 Memcache,ACCESS_TOKEN接口等 设计思路 主要利用微信平台做为一个类似的中转站,客服功能,使得发送过来的消息能够通过平台去发送到指定同学 图3-9 微信匿名交友流程图 3.4数据库设计 3.4.1 数据库关系图 图3-10 数据库关系图 3.4.2 数据库设计 1.用户帐号密码设计 userform存放用户信息,id是用户的编号为主键,自动生成。username是用户称呼,password是用户的密码,email是用户的邮箱,realname是用户的真实姓名, 这几行的内容在注册时必须填写不能为空。regedate是用户注册日期,格式为年-月-日,是自动添加,openid是微信fromusername(具有唯一标识)。 表3-6 userform 字段 类型 Null 注释 id int(11) 否 主键 username varchar(255) 否 用户 password varchar(255) 否 密码 email varchar(24) 否 邮箱 realname varchar(255) 否 真实姓名 openid varchar(255) 否 用户id regedate date 否 注册时间 教务系统帐号密码设计 主要存放用户的教务系统账号和密码,以及主键id和用户的唯一标识openid, 表格3-7 User_edu 字段 类型 注释 id int(11)  主键Id user varchar(200)  用户名 password varchar(200)  密码 Openid varchar(200)  用户id 2. 图书馆帐号密码设计 表3-8 User_lib 字段 类型 空 id int(11) 否  user varchar(200) 否  password varchar(200) 否  username varchar(200) 否  3. 匿名交友数据库设计 其中主键是id,与其他表对接的键是openid,time是存储用户参与活动的时间,用在判断用户是否已经过了四十八小时互动,在这里设定是18小时,black是判断是被拉黑,0是被拉黑,1是未被拉黑,默认是1; 表3-9 Maker_friend 字段 类型 默认 注释 id int(11)    主键id openid varchar(200)   用户id time varchar(200)    发送时间 black int(1) 0   是否被拉黑 4. 系统实现及测试 4.1 主要类设计 主要设计如下几个类:Check_User,User_Edu,User_Lib,Bus,Library_serach,Send_Message,Maker_Friend。 每个类都有各自的功能,查询课表成绩,查询公交车等,但 在登录教务系统和图书馆的时候调用Check_User类去检验用户的账号密码的正确与否,而设计到要发送消息的时候即调用Send_Mseeage。关系如下图4-1所示。 图4-1 类关系图 下面对这几个类进行简要说明: 1. User_Edu: 用户可以通过登陆之后,直接获取自己的教务系统成绩课表信息,如果未登陆状态,可以直接使用账号密码登陆,调用Check_User验证信息,在线查询信息。 包含成绩获取,课表获取,用户验证以及成绩课表匹配等功能。 2. User_Lib: 图书馆用户功能在登陆的时候调用Check_User_Lib验证图书个人信息,查询个人图书借阅情况,设置图书还书提醒信息,但是图书信息查询不需要登陆,使用AJAX去显示反馈的信息。 包含图书信息查询,还书提醒。 3. Bus: 公交车查询宁波实时公交,反馈到微信客户端,并让用户可以设置自己的到站提醒功能,到站提醒功能 包含公交车查询,公交车到站提醒。 4. Library_serach 包含图书查询。 5. Check_User 主要是调用图书馆和教务系统信息的验证,通过返回值去说明账号密码是否正确,即模拟登陆是否成功。 4.2 关键功能的实现代码 4.2.1 User_Edu 包含成绩获取,课表获取以及成绩课表匹配等功能。 成绩获取: private function grade($jwid,$jwpwd){ $cookie_file = tempnam('./temp', 'cookie'); $ch=curl_init("http://jwst.gcu.edu.cn/default2.aspx"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); $str=curl_exec($ch); $info=curl_getinfo($ch); curl_close($ch); $pattern = '//i'; 此处省略正则表达式和返回值 } 课表获取: private function kebiao($key){ 此处省略模拟登陆过程 $key=str_replace("课表","",$key); if(empty($key)){ $i=date('w'); if($i==0){ $i=7; } }else{ $i=$key; } $j=$i+1; $week=array('1'=>"星期一",'2'=>"星期二",'3'=>"星期三",'4'=>"星期四",'5'=>"星期五",'6'=>"星期六",'7'=>"星期日"); $arr=array($td[2][$j],$td[4][$i],$td[6][$j],$td[8][$i],$td[10][$j]); foreach($arr as $v){ if(!empty($v)){ $kebiao .= "{$v}\n-------------------\n"; } } $kebiao=trim($kebiao); $w=$week[$i]; } 4.2.2 Check_User: private function chekc_user($jwid,$jwpwd){ 此处模拟登陆获取cookie,登陆主页过程 $login="__VIEWSTATE={$view}&txtUserName={$jwid}&TextBox2={$jwpwd}&RadioButtonList1=%D1%A7%C9%FA&Button1=&lbLanguage="; $ch=curl_init(); curl_setopt($ch, CURLOPT_URL,$login_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $login); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); $str=curl_exec($ch); curl_close($ch); if(preg_match("/xs_main/",$str)){ return 1; }else{ return 0; } } 4.2.3 User_Lib: 包含图书信息查询,还书提醒。 个人借阅信息: private function library_info($login_url,$username,$password) { //拿图书系统cookie $post1= 'referer='.$login_url.'&&loginType=callNo&&username='.$username.'&&password='.$password; //.__VIEWSTATE=dDw1MjQ2ODMxNzY7Oz5HsX7I9BoUKtX%2Fpf18wOU9LWttww%3D%3D&TextBox1=201130101004&TextBox2=3187116&RadioButtonList1=%D1%A7%C9%FA&Button1=++%B5%C7%C2%BC++ $ch=curl_init("http://10.23.4.28:8080/pages/ucenter/checklogin.jsp"); curl_setopt($ch, CURLOPT_POST, 1); //显示图书系统主页 $ch=curl_init($login_url); curl_setopt($ch,CURLOPT_COOKIEFILE, $cookie_file); $header[]='Referer:'.$login_url.'ucenter/login'; //获取图书馆:我的首页 $ch1=curl_init($login_url.'ucenter/mylibrary/do.jsp?type=index&tag=index&subtag=subindex'); curl_setopt($ch1,CURLOPT_COOKIEFILE, $cookie_file); preg_match_all('|(.*?)|i',$data,$m); for ($i = 0; $i < sizeof($m[1]); $i=$i+5) { preg_match('|bank">(.*?)|i',$m[1][$i],$n); $m[1][$i]=$n[1]; } //打印 Return $m; } 4.2.4 Bus: 包含公交车查询,公交车到站提醒,公交车查询(已正向为例)。此处是一个bus的PHP文件,已json格式传递值需要解析。 function change(vae) { while (div.hasChildNodes()) { div.removeChild(div.firstChild); } if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var strs = new Array(); strs = xmlhttp.responseText.split(" "); document.getElementById('fang').innerHTML = strs[0] + " 开往 " + strs[strs.length - 2]; for (var i = 0; i < strs.length; i++) { var para = document.createElement("option"); var node = document.createTextNode(strs[i]); para.appendChild(node); var element = document.getElementById("bus_wait"); element.appendChild(para); } } } xmlhttp.open("GET", "./return.PHP?q=" + vv + "&a=" + vae, true); xmlhttp.send(); } 4.2.6响应设计判断代码(部分): A.加入一行viewport元标签 B.不使用绝对宽度(使用百分比或者自动即auto) width: xx%;或者 width:auto; C.相对字体大小 body{ font: normal 100% Helvetica, Arial, sans-serif;} D.布局流动处理(即使用float) .main {     float: right;     width: 70%;    }   .leftBar {     float: left;     width: 25%;   } 4.2.7 Send_Message 提醒功能(仅限微信或者邮箱提醒,使用缓存设置)。 public function sendMessage($touser,$content) { // $content = "hello world"; $APPID = "wxd30dacc154b2816c"; $APPSECRET = "004626b95896fc7c0b14b2bb224a416b"; $mmc = memcache_init(); $va = $mmc -> get("ACC_TOKEN"); if ($va == null) { $TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $APPID . "&secret=" . $APPSECRET; $json = file_get_contents($TOKEN_URL); $result = json_decode($json); $ACC_TOKEN = $result -> access_token; $mmc = memcache_init(); $mmc -> set("ACC_TOKEN", $ACC_TOKEN, 0, 3000); } else { $ACC_TOKEN = $va; } //echo $ACC_TOKEN."\n"; $data = '{ "touser":"' . $touser . '", "msgtype":"text", "text": { "content":"' . $content . '" } }'; $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" . $ACC_TOKEN; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl); if (curl_errno($curl)) { return 'Errno' . curl_error($curl); } curl_close($curl); $final = json_decode($result); $msg = $final -> errmsg; return $msg; } 4.3 系统运行实例(手机端) 4.3.1 登录/注册 如果没有填写东西或者填写不合理,就会弹出alert对话框。 图5-1 用户登录图 图5-2 用户注册图 4.3.2课表成绩查询页面: 图5-3 用户教务系统密码输入图 4.3.3课表显示页面: 图5-4 用户课表显示图 4.3.4成绩显示 图5-4 用户成绩显示图(网页版) 图5-5 用户成绩显示图(手机版) 4.3.5公交车到站提醒页面(结合微信): 图5-6 用户公交到站提醒信息输入图 4.3.6 匿名交友(微信交友): 图5-7 用户发送信息图 5-8 用户获取交友对象图 4.3.7图书馆信息提交 图5-9 用户图书馆信息输入图 4.4测试分析 1. 其中当涉及到运行查询宁工图书的时候,系统运行的特别慢,可能是设计到系统本身的模拟查询是建立在图书馆系统上的,使得运行步骤增加导致程序的变慢。 2. 数据库的设计在几个表之间主键的利用不是很大,其中对表的查询未加入索引,因为本身的数据量不是很大,而在教务系统查询的时候,如果数量到达一定程度之后,加入索引数据库访问会提高很多。 3. 在使用自适应技术上,时间和精力有限,本页面在该技术上还有很大的提高空间,所以在CSS的效果上做的不是很好,在本文也只是简单实用JS判断设备改变分辨率大小,所以很多地方还不够完美 结 论 本次开发最大的享受就是在边开发边应用的过程,基本所有的开发都应用在宁工小助手的微信平台中,粉丝以近4000,而在线课表完成时一星期的点击量在1.8万左右,在匿名交友的功能更是受到同学的青睐,在开发无线公交的时候,中间停顿了一星期左右,一直在设计思路,也由此明白开发前的设计是多么的重要,在实践中,这些功能也有些弊端,比如交友的拉黑功能还有待改进,公交提醒功能还不够细致等等,但也会在以后的开发中继续完善。 在程序开发过程中,用微信开发网站,使用微信客服的API去使用微信独有的功能,能够在开发使用中更加人性化和娱乐化,不断和用户交互;而其独一无二的openid,可以作为网页中的唯一标识,无论在登陆或者校验,都比较方便;使用AJAX改善用户体验的过程中,响应事件最好可以写在JS中,HTML中可以使用ID选择器,便于维护。当然,很多地方也由于时间和精力的有限,确实没有尽善尽美,也希望能在以后实践应用中多多改正。 致谢 至此,宁工微生活的设计与开发就基本完成了。此次毕业设计历时三个月,短短三个月中,我把自己大学期间所有的知识第一次连贯了起来,从最初的生疏到后来的灵活运用,我真正的体验到了学以致用的乐趣。 在这次的开发中,历时三个多月,在三个多月的时间中,前两个多月一直致力于开发程序,使得论文的攥写一直到第三个月底才开展,而在开发过程中我学习了PHP开发,B/S框架,MySQL数据库管理系统,以及一些有利于软件开发的相关技术,例如AJAX,CSS,Javascript,以及其他网络知识。 此次毕业设计过程中,特别要感谢的是尹天鹤老师对我的帮助,无论是在人生选择还是技术上,都给了我莫大的帮助,从最初毕业论文的选题到最后论文的撰写,老师都一直耐心细致的指导我。尤其在系统的开发过程中,老师丰富的知识和经验叫我软件开发等基本知识,让我能够更加熟悉整个流程,在论文攥写过程中,也不断对我提出建设性的批评。 整个过程中,还要改写在网站完成中给我提供技术指导的小伙伴,无论是本校的学长,还是其他高校的同学,对自己的技术进步有很大的帮住,而在其中,我们的人际交往能力也随之提高,很多设计考虑到整个规划,需要同学的参与,因此也结交了很多好朋友。 最后也感谢宁波工程学院对我的栽培,四年是我人生中最宝贵的财富,从一开始的学生会工作,到对软件编程的基本憧憬到现在真正接触软件,我也从老师那里接受了专业的学科知识,包括数学,编程,算法,运筹,统计,经济等一些非常有意义的课时,也学习了各项技能,同时我也点燃了对这个行业的热情,养成了良好的能力和素养,四年让我成长为一个更加成熟,自信的自己,也让我能够在未来以宁工学子的身份,走的更远。 参考文献 [1] 潘凯华,刘中华等著. PHP从入门到精通[M]. 北京:清华大学出版社,2010:23-37. [2] 于菏云著. PHP+MySQL网站开发全程实例[M]. 北京:清华大学出版社,2012:73-82. [3] 孔祥盛著. PHP编程基础与实例教程[M]. 北京:人民邮电出版社,2011:45-67. [4] 列旭松,陈文著. PHP核心技术与最佳实践[M]. 北京:机械工业出版社,2012:56-78. [5] 姜承尧著. MySQL技术内幕:SQL编程[M]. 北京:机械工业出版社,2012:46-67. [6] 戴一平. 计算机与现代化:MVC设计模式在PHP开发中的应用[J]. 中国出版,2011(3):34-43. [7] 谭贞军著. 深入体验PHP项目开发[M]. 北京:清华大学出版社,2011:78-98. [8] 贾素玲等. XML技术应用.清华大学出版社[M].北京:清华大学出版社,2010:1-14. [9] 标准之路.十天学会DIV+CSS(web标准)[C].http://www.aa25.cn.2011-12-01. [10] 徐辉等. PHP Web程序设计教程与实验.清华大学出版社[M].北京:清华大学出版社,2009:30-33. [11] (2013) Rand. PHP Manual. http://us2.PHP.net/manual/en/function.rand.PHP[C]. [12] User-Defined Functions. PHP Manual. http://PHP.net/manual/en/functions.user-defined.PHP[C]. [13] 13.7.5.5. SHOW COLUMNS Syntax. MySQL[C]. [14] Soonhee, K.; Hyangsoo, L.: The impact of organizational context and information technology on employee knowledge –sharing capabilities. Public Administration Review[C], May-June,370-385 (2006). [15] Morone,P.; Taylor,R.: Knowledge diffusion dynamics and network properties of face-tofac[C]. 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作 者 签 名:       日  期:        ​​​​​​​​​​​​ 指导教师签名:        日  期:        使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:        日  期:        ​​​​​​​​​​​​ 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权      大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名: 日期: 年 月 日 导师签名: 日期: 年 月 日 注 意 事 项 1.设计(论文)的内容包括: 1)封面(按教务处制定的标准封面格式制作) 2)原创性声明 3)中文摘要(300字左右)、关键词 4)外文摘要、关键词 5)目次页(附件不统一编入) 6)论文主体部分:引言(或绪论)、正文、结论 7)参考文献 8)致谢 9)附录(对论文支持必要时) 2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。 3.附件包括:任务书、开题 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 、外文译文、译文原文(复印件)。 4.文字、图表要求: 1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写 2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画 3)毕业论文须用A4单面打印,论文50页以上的双面打印 4)图表应绘制于无格子的页面上 5)软件工程类课题应有程序清单,并提供电子文档 5.装订顺序 1)设计(论文) 2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订 3)其它 _1234567891.vsd � � � 点击注册按钮 根据用户名连接数据库进行条件查询 此用户是否存在� 两次输入密码 判断两次密码是否相同 判断用户名是否合法 Y 输入真实姓名 完成注册 输入真实姓名 教务系统 账号密码 图书馆 账号密码 云端笔记 账号密码 Y N N N Y 开始� 结束 _1234567892.vsd � � � 输入路线(523) 判断是否存在 否 开始 选择方向,地点等 是 结束 _1234567893.vsd � � � 点击注册按钮 根据用户名连接数据库进行条件查询 此用户是否存在� 两次输入密码 判断两次密码是否相同 判断用户名是否合法 Y 输入真实姓名 完成注册 输入真实姓名 教务系统 账号密码 图书馆 账号密码 云端笔记 账号密码 Y N N N Y 开始� 结束 _1234567890.vsd � � � � � 开始 验证 登陆 注册 验证 教务信息 图书馆 宁工笔记 公交,图书馆提醒 结束 实时公交 匿名交友
本文档为【“微生活”网站设计与开发毕业论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
北溟愚鱼
暂无简介~
格式:doc
大小:1MB
软件:Word
页数:0
分类:工学
上传时间:2018-09-22
浏览量:8