《数据库设计报告-微信公众号.doc》由会员分享,可在线阅读,更多相关《数据库设计报告-微信公众号.doc(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库系统课程设计报告题目:天下Movie微信公众号课程代号: 课程名称:数据库系统课程设计学号:_ _姓名:_ _ 完成日期:2016年10月29号第一章 引言1.1设计开发的意义2016年是社交网络爆发的一年,手机则是社交网络重要的通信工具,而微信是手机成为重要工具中主要的一部分。我们针对微信平台开发微信公众号的开发是为了让学生的编程技术顺应时代潮流,不拘泥于课本知识,了解现实社会生活中客户需求,更好的提高自己的技术。同时,也从编程角度深刻感受到了社交网络带给我们的便利。我们的选题其中主要内容展示是电影。电影市场在2016年由疯狂趋于理性,大家更注重于电影的质量,所以我们选择了“天下Mov
2、ie”这样的课题,既能提升我们的编程水平,又能贴近生活,服务大家。1.2任务及目标项目的提出者:天津理工大学计算机与通信工程学院课题开发组。开发单位:13级中加6班项目小组。任务:建立一个服务电影爱好者的微信公众号,在新浪云建立后台数据库,响应微信公众号的请求。目标:微信公众号可以实现电影的搜索,电影查询,留影评。主要功能:电影搜索功能;电影排行榜查询功能;留影评。可用性:很高,基本满足需求。安全性:很高,云端数据库只有我们2个人才能操作。注册用户只能对自己部分数据进行修改删除等操作。可维护性:云端维护,有网即可,比较方便。可跨平台性:移植性较强。可针对不同要求的微信公众号。1.3开发环境操作
3、系统:windows 10编译环境:使用html,CSS,微信测试号进行UI开发使用Mysql进行数据库管理第二章 系统分析与设计2.1系统需求分析2.1.1 处理需求1 用户订阅我们的微信公众号,公众号自动表示感谢;2 用户点击微信公众号菜单栏进行电影搜索和电影排行查询;3 用户点击微信公众号菜单栏登录微网站进行留影评,并对影评经行增删改查等操作;4 用户点击微信公众号菜单栏,公众号自动回复消息:加入我们的微信群,并提供群二维码;2.1.1 数据流图2.1.2 数据字典m_movie表欄位型態Null預設值註解movieIDint(11)否电影idmovievarchar(255)否电影名d
4、atedate否发行日期countryvarchar(255)否国家lengthvarchar(255)否时长scorefloat否评分intromediumtext是NULL简介awardmediumtext是NULL所获奖项moviepicvarchar(255)是NULL电影图片m_dist表欄位型態Null預設值註解distIDint(11)否发行商iddistvarchar(255)否发行商名m_dist_m表欄位型態Null預設值註解movieIDint(11)否电影iddistIDint(11)否发行商idm_dire表欄位型態Null預設值註解direIDint(11)否导演i
5、ddirevarchar(255)否导演名m_dire_m表欄位型態Null預設值註解movieIDint(11)否电影iddireIDint(11)否导演idm_class表欄位型態Null預設值註解classIDint(11)否类型idclassvarchar(255)否类型m_class_m表欄位型態Null預設值註解movieIDint(11)否电影idclassIDint(11)否类型idm_actor表欄位型態Null預設值註解actorIDint(11)否演员idactorvarchar(255)否演员名m_act_m表欄位型態Null預設值註解movieIDint(11)否电影
6、idactorIDint(11)否演员idc_user表欄位型態Null預設值註解userIDint(255)否用户idusernamevarchar(255)否用户名passwordvarchar(255)否密码emailvarchar(255)是NULL邮箱c_comm表欄位型態Null預設值註解commIDint(11)否留言iduserIDint(11)否用户idtimedatetime否最后更新时间titletext否标题commtext否留言内容2.2 数据库概念结构设计E-R图2.3数据库逻辑结构设计电影电影id,电影名,发行日期,国家,时长,评分,简介,所获奖项,相关图片演员演
7、员id,演员名演员对应演员id,电影id导演导演id,导演名导演对应导演id,电影id发行商发行商id,发行商名发行商对应发行商id,电影id类型类型id,类型名类型对应类型id,电影id用户信息用户id,用户名,密码,邮箱留言信息留言id,用户id,最后更新时间,标题,留言内容2.4 数据库物理结构设计m_movie表m_dist表m_dist_m表m_dire表m_dire_m表m_actor表m_act_m表m_class表m_class_m表c_comm表c_user表2.5 功能图第三章 系统开发及实现3.1论述设计开发采用的技术及设计效果3.1.1微信界面 功能:微信用户关注公众号
8、,公众号向用户发送信息。以及菜单栏显示。界面设计效果:实现方法:在新浪云(SAE)端上传代码包index.php.zip,代码配置微信接口,实现微信公众号和新浪云数据库的链接。3.1.2电影区-搜电影 功能:点击电影去搜电影,进入电影搜索界面界面设计效果:实现:编写search.html,然后上传到新浪云端,在浏览器显示,用query.php链接新浪云的Mysql数据库去查寻具体电影名字。功能:展示具体电影的内容界面设计效果:实现:编写concent.html,然后上传到新浪云端,在浏览器显示,用conn.php调用数据库显示出要查找电影的具体内容。3.1.3电影区-查询排行榜 功能:实现电影
9、按照排行榜进行查询,可以按类型,可以按评分和年代进行排序。界面设计效果:实现:编写list.php,然后上传到新浪云端,在浏览器显示出要查找电影的具体内容。3.1.3互动区-评电影功能:用户的注册登录界面设计效果:实现:编写login.html和login.php实现用户的注册、登陆。用户登陆后调用loged.php使用户可以留言。3.1.4互动区-微信群功能:让微信公众号开发人员和用户有良好的互动界面设计效果:实现:在新浪云端的index.php文件中设置返回参数,用户点击查看全文即可看到我们的群二维码。第四章 总结这次课程设计学校安排了2周时间让我们完成,我们选择了“电影推荐:微信公众号-
10、天下Movie”的课题,并从图书管借了数据库程序设计、HTML设计、php的资料书,对课程设计中会遇到的问题提前做了些准备,并到网上也找相关的系统的代码看了下,对这个系统有了一定的全局观,完成了初步的需求分析。稍作细化后,便开始设计数据库。而后做了界面设计,完成了程序大部分的主要界面。我们从系统的功能、规模和实用方面考虑,采用HTML+Mysql技术。在数据库设计阶段:细致的考虑到了用户的全部需求,并用了大量的时间进行了信息的收集建立了比较完善的信息表;编码阶段:在设计接近完成的时候,我们对部分代码做了优化,对界面效果进行了调整。这次课程设计,我更加深入的了解到软件工程的复杂性,以及前期规划分
11、析的重要性。以及团队协作的重要性,决定在以后的学习中学习一些先进的思想,并多加实践,从写程序和软件架构两个方面都增强自己的能力。在编程中遇到了很多困难,我们在立项时候因为没有接触过微信开发,并不了解微信平台是需要开发权限的,使我们走了弯路;在UI设计时候,我们的界面功能经过了反复的修改,在一定程度上延缓了设计进程。网页显示在页面上回进行转码,与我们设想的有差别。我们没有使用响应式开发设计是我们的一大缺陷,这直接影响了用户体验。通过这次的数据库课程,我学会了在制作程序时应仔细谨慎,因为细小的错误都会导致程序的失败。另外老师还教会了我们,在制作一个系统时,要有自己的思想,使自己制作的程序能锦上添花
12、,做出属于自己的东西。我也会在以后的生活学习中尽量完善自己的工作,使自己做的更好!第五章 参考文献1 方倍工作室微信公众平台开发(58)自定义菜单方倍工作室 - 博客园http:/ 2菜鸟教程HTML/CSSw3cschool菜鸟教程 http:/ W.Sebesta 著 马跃 李增民 李立新 译 Web程序设计(第7版) 清华大学出版社4 PHP官方网站 http:/ Jeffrey D.Ullman Jennifer Widom 著 数据库系统基础教程 机械工业出版社附录 1 conn.php附录 2 index.phpresponseMsg();else $wechatObj-valid
13、();class wechatCallbackapiTest public function valid() $echoStr = $_GETechostr; if($this-checkSignature() echo $echoStr; exit; private function checkSignature() $signature = $_GETsignature; $timestamp = $_GETtimestamp; $nonce = $_GETnonce; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce);
14、 sort($tmpArr); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr = $signature ) return true; else return false; public function responseMsg() $postStr = $GLOBALSHTTP_RAW_POST_DATA; if (!empty($postStr) $postObj = simplexml_load_string($postStr, SimpleXMLElement, LIBXML_NOCDATA);
15、$RX_TYPE = trim($postObj-MsgType); switch ($RX_TYPE) case text: $resultStr = $this-receiveText($postObj); break; case event: $resultStr = $this-receiveEvent($postObj); break; default: $resultStr = ; break; echo $resultStr; else echo ; exit; private function receiveEvent($object) $contentStr = ; swit
16、ch ($object-Event) case subscribe: $contentStr = 你好,欢迎订阅天下Movie!点击菜单栏的“电影区可以进行电影搜索和电影排行榜查询”,点击“互动区可以加入微信群和留影评哦!”/微笑; case unsubscribe: break; case CLICK: switch ($object-EventKey) case 微信群: $contentStr = array(Title =微信群, Description =爱好电影小伙伴们欢迎你来!, PicUrl =http:/ Url =http:/ break; default: $conten
17、tStr = array(Title =评电影, Description =大胆的发表您的评价吧, PicUrl =http:/ Url =http:/ break; break; default: break; if (is_array($contentStr) $resultStr = $this-transmitNews($object, $contentStr); else $resultStr = $this-transmitText($object, $contentStr); return $resultStr; private function transmitText($ob
18、ject, $content, $funcFlag = 0) $textTpl = %s%d; $resultStr = sprintf($textTpl, $object-FromUserName, $object-ToUserName, time(), $content, $funcFlag); return $resultStr; private function transmitNews($object, $arr_item, $funcFlag = 0) /首条标题28字,其他标题39字 if(!is_array($arr_item) return; $itemTpl = ; $it
19、em_str = ; foreach ($arr_item as $item) $item_str .= sprintf($itemTpl, $itemTitle, $itemDescription, $itemPicUrl, $itemUrl); $newsTpl = %s%s$item_str%s; $resultStr = sprintf($newsTpl, $object-FromUserName, $object-ToUserName, time(), count($arr_item), $funcFlag); return $resultStr; ?附录 3 search.html
20、天下Movie 附录 4 query.php 天下Movie img src= width=300px height=400px while($rowb=mysqli_fetch_assoc($resultb) print_r($rowbdire); echo /; ? while($rowa=mysqli_fetch_assoc($resulta) print_r($rowaactor); echo /; ? while($rowc=mysqli_fetch_assoc($resultc) print_r($rowcdist); echo /; ? ©年 代:©国 家:©时 长:©评 分:©获奖: ©简 介:点我返回搜索页附录 5 list.php 天下Movie 类型 爱情 动作 犯罪 剧情 奇幻 动画片 喜剧 冒险 科幻 评分 高分 低分 年份/b