基于微信小程序的生活助手的设计与实现.doc

上传人:封****n 文档编号:96763533 上传时间:2024-03-19 格式:DOC 页数:55 大小:8.48MB
返回 下载 相关 举报
基于微信小程序的生活助手的设计与实现.doc_第1页
第1页 / 共55页
基于微信小程序的生活助手的设计与实现.doc_第2页
第2页 / 共55页
点击查看更多>>
资源描述

《基于微信小程序的生活助手的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于微信小程序的生活助手的设计与实现.doc(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、摘 要本文主要设计并实现了一款基于微信小程序的生活助手,开发生活助手的一个方案,该设计主要用于解决互联网时代下快节奏的生活对信息获取的日益破解和日益臃肿的应用程序的矛盾,以此来带给人们获取信息更加轻便快捷的体验。本设计的生活助手小程序的设计和实现包含应用前端和管理后台两个部分,其中前端运用了JavaScript技术,并利用微信小程序独有的视图层来完成我们的界面渲染。前端界面主要实现了“天气信息”、“股票信息”、“笑话阅读”、“历史上的今天”、“星座运势”、“图片备份”、“备忘录”、“计算器”、“事件助手”等功能;管理后台使用Django框架,通过微信小程序提供的API进行前后台数据互连,。从而

2、实现的“个人生活助手”基于“轻”应用的潮流和个人便利生活的需求。关键词:Django;JavaScript;微信小程序AbstractThis article mainly designs and implements a life assistant based on WeChat applet, and develops a solution for life assistant. The design is mainly used to solve the contradiction between the increasingly cracked and increasingly bl

3、oated applications of fast-paced life in the Internet era. , In order to give people a more convenient and faster experience in obtaining information.The design and implementation of the designed life assistant applet includes the application front end and the management back end. The front end uses

4、 JavaScript technology and uses the unique view layer of the WeChat applet to complete our interface rendering. The front-end interface mainly implements weather information, stock information, joke reading, historical today, horoscope, picture backup, memo, calculator, event assistant And other fun

5、ctions; the management background uses the Django framework, and the data connection between the front and background is performed through the API provided by the WeChat applet. The personal life assistant thus realized is based on the trend of light applications and the needs of personal convenienc

6、e.Key words: Django;JavaScript;Applet of WeChat目 录第一章 绪论11.1 项目背景与意义11.2 国内外发展状态21.2.1国内外研究现状2第二章 相关理论与开发技术综述32.1 微信小程序32.1.1微信小程序简介32.1.2微信小程序开发工具42.2 技术开发模式42.2.1MVC设计模式42.2.2MTV设计模式52.3技术架构62.3.1小程序框架62.3.2小程序API72.3.3后端Django框架82.4 开发环境及配置82.5 本章小结9第三章 需求分析与设计103.1 需求分析103.1.1市场需求分析103.1.2可行性分析1

7、13.1.3功能需求分析113.2 系统设计123.2.1小程序设计原则123.2.2 Django设计原则123.3 系统设计133.3.1系统总体设计133.3.2系统功能设计133.4 本章小结13第四章 数据库设计与实现164.1 数据库E-R关系设计164.2 数据库表设计174.3 本章小结23第五章 程序功能模块实现245.1 小程序前端界面设计与实现245.1.1“首页”页面245.1.2“周边”页面255.1.3“应用功能”页面265.1.4“个人中心”页面275.2 小程序前端核心功能实现295.2.1图片备份功能实现295.2.2计算器功能实现305.2.3备忘录功能实现

8、305.2.4事件助手功能实现325.3 后端核心功能实现355.3.1用户状态绑定功能实现345.3.2后端API数据调取实现355.3.3后端缓存模块365.4 本章小结38第六章 系统功能测试386.1 测试目标386.2 页面及功能测试386.2.1模拟器调试体验评分386.2.2 真机调试386.3 兼容性测试446.4 本章小结45第七章 总结与展望467.1 总结467.2 展望47参 考 文 献48致 谢49第一章 绪论1.1 项目背景与意义随着科技地快速发展与经济水平的提升,人们不断提高自己的生活质量,并且提高了对信息的急切需求。相比以往,“飞鸽传书”与纸质报刊的获取信息的渠

9、道,很明显已经满足不了现代人的需求。如今的是一个信息化的时代,是一个大数据的时代,我们应该追随着科技发展地趋势,去利用和发挥出如今大数据提供给我们的便利。在这个科技智能化的时代,首先能促进社会进步和快速发展的必然是一个最好的发展趋势项。而微信小程序所带来的轻量化,在我们的生活,工作还是学习上能带来极大的便利,能提高我们的生活工作效率。据中商情报网可知,2019年一季度微信用户数量高达达11亿1,在这个用户基础上,开发微信小程序就具有一个很肯定的意义。并且互联网厂商纷纷布局小程序、轻应用,以期抓住下一轮平台级的机会。移动互联网的下半场的核心趋势在于场景化分发,用户除记住少量的头部APP之外,大量

10、的产品都是用完即走,头部APP通过发展小程序,可以进一步充分地利用内生流量价值。对于开发者来说,小程序具有营销价值、导流价值、运营价值、新增场景/功能价值,从而用于获取新用户、提升用户粘性、提升用户体验、提高ARPU、从而出现新的营销和应用场景等作用。目前,时代飞速发展,我们可以通过轻量级的小程序来便利我们的生活,那么,我们为什么不“物尽其用”呢。在目前的小程序商城中,充斥各种各样的小程序助手,而他们基本都是功能趋向于单一的,就算他的功能相对于来说是比较完善的,但是我们要清楚原本小程序的目的,它的存在意义就是为了便利,更快捷。那么我们大多数的受众人群其实根本不会用到,因此一款工具类的小程序就是

11、要“简短有力”,呈现给用户的就是要简单,能享受到主要的功能。而这些工具类的小程序,我们可以集合在一个小程序内,那么用户只需要打开一个小程序,就能享受到其他的小程序所拥有的功能。而我选择的该课题“生活小助手”小程序就是一个能为为我们带来便利功能的集合。用户只需要打开一个小程序,就能享受到天气查询,图片上传保存,听音乐,查股票之类的功能;并且拥有自己的个人中心,使用过的数据能同步记录,不需要过多的手机空间,也没有恼人的重新设置,给你打造一个专属自己的便利小助手。这样子就能够给用户提高体验感和获取信息的速度,减少对获取信息的时间。因此,将个人生活助手与小程序的结合是符合时代需求和潮流的尝试,本设计的

12、开发同时具有以下意义:从微观层面来说,本设计能够帮助现代社会的人们快速便捷地获取生活资讯,提供用户所需要的工具,使用户能大大利用科技带来的便利。从宏观层面来看,本设计响应小程序开发潮流,使用轻便技术,改善现代人生活;发挥如今科技的最大收益,从而福利社会。1.2 国内外发展状态1.2.1国内外研究现状海外的国家一般使用的聊天交流工具并不是微信,多数是Facebook和Instagram,在国外并不是很流行微信,微信用户基底少,自然使用微信小程序的不会多。但是国外也是会使用轻应用的,轻应用与小程序有点类似,都是无需安装,可以直接使用的一个应用。国外的发达国家的信息科技技术发展相对比较快,比较成熟。

13、在生活类助手这方面,国外还是发展的比较吃香的,人工智能的时代,国外发达国家普遍使用谷歌助手,Bixby语音助手等来获取信息,一般都有着比较大规模的开发团队来对其进行稳定的维护与支持。随着我国信息科技的飞速发展,人们对于信息流通的需求急剧增大。在我们国内微信已经成为我们每一个人常用的聊天工具,时至今日,微信用户使用的用户数已经超过了11亿,在中国,微信已经是不可或缺的即时通信工具。而基于微信的小程序,更成为人们常用的必备小型应用。小程序轻量化的体现在灵活、快捷的使用中,相较于APP而言,小程序不仅为用户节省较大内存空间,更专注于满足用户的核心需求,更加简洁轻量化,很直白的让用户所接受。而在这个时

14、代背景下,很多助手功能类的小程序一般都是单一功能的比较多,而结合生活实际,开发出一款多功能的生活助手的小程序就能带给用户更快捷方便的体验。第二章 相关理论与开发技术综述2.1 微信小程序2.1.1微信小程序简介随着智能移动设备和无线网络的快速发展,移动终端的计算能力和无线网络的传输能力获得质一般的飞跃2。以智能手机为代表的移动终端设备得到了广泛的使用。在此背景下,腾讯在2017年1月正式上线微信小程序,小程序一经推出,便成为时代潮流的宠儿,它能够实现移动终端的各种功能,也可以说是在应用层上的一个新的突破。小程序的官方定位是“轻应用”,即简洁明了的基础应用,它不仅有着巨大的开发潜力,使用简单,用

15、户体验感优秀。微信小程序是建立在拥有庞大流量基础的微信上的,可以说它所带来的流量转化率是十分的高的。小程序的开发时间成本低,开发者在一个很短的开发周期就可以基于手机的系统功能来完成一个微信小程序,并且在十几亿人们使用的微信上进行使用和分享,即搜即用,随走随开,并且开放的入口众多,通过扫码,搜索,公众号等入口。可以说在微信上随时就能打开一个小程序,达到快速方便的效果,而且微信小程序需要通过微信的审核才能够发布,小程序的上线需要采用https访问,ssl加密通信,最主要前端的逻辑代码和样式代码都封装在了微信小程序上,所带来的安全性比较高。而且小程序有着自己独立一套的开发环境,开发者在进行开发时,并

16、能进行及时地预览调试,而且开发的门槛低,个人开发者只需要到微信小程序官方平台进行注册,下载安装微信开发者工具即可。并且在微信开发者工具中还能使用各种插件。对比传统的APP开发,一套代码可多次使用修改,最终通过微信审核即可。在拥有强大的微信入口,小程序的传播性非常地广,可以给开发团队带来快速地收益。大致地说,小程序主要是基于JavaScript,但它同时又拥有着自己地特性。(1)Java Script 是一种属于网络的脚本语言,在目前的主流的web开发上提供着各种动态功能。并且可以在多种平台下使用,(如Windows,Linux,Mac,Android,ios)3,并且在现在主流的浏览器中获得支

17、持。(2)WXML是微信小程序研发团队的基于XML语法的描述独立发明的,其实在web开发中,我们经常使用到的html开发语言,对应在小程序中,就是WXML。(3)单单使用WXML的来进行页面的开发时,会发现非常的简陋,这时候我们就需要用到WXSS来进行对WXML的修饰,对应着Web开发中运用的CSS,但是由于需要针对微信小程序的渲染运用,微信官方团队对其进行了一定的补充和修改。2.1.2微信小程序开发工具由于微信小程序是基于在微信上的,同时也需要用到微信提供的官方入口和接口,加上微信小程序开发的渲染和逻辑分离的运行机制与传统的web开发有一定的差异。所以就有了微信小程序开发工具。开发者可以通过

18、使用微信开发者工具进行微信小程序的逻辑代码编译运行,进行视图页界面的渲染,还能进行想对应地调试,并且提供了页面的及时渲染预览,以及真机调试预览等。2.2 技术开发模式2.2.1MVC设计模式MVC有三个基础部分:Model、View、Controller,分别对应着模型、视图、控制器。MVC模式可以说是一种动态的设计模式,它比较灵活有序,它的分层管理开发有主与去管理开发一些比较大型的复杂的应用程序。并且可在不同的分层上进行应用的测试,使得代码开发变得井然有序并且容易管理调试。可不依赖逻辑业务的开发,而去进行视图设计的开发。视图层(View):图形开发界面层,提供输入与输出的操作界面,可以将从模

19、型层中返回的结果以适当的方式呈现出来。控制器(Controller):负责转发请求处理;一般为在视图层中接收数据4,并想数据库层发送数据,一般作为应用程序之间的交互处理模型(Model):可以说是数据层,一般用于开发者进行数据库设计与进行数据管理。三者的具体关系如图2- 1所示。图2- 1 MVC设计模式2.2.2MTV设计模式MTV设计模式分为三个基础部分:模型(Model)、模板(Template)和视图(Views)5。可以说MTV框架与MVC框架是大同小异的。模型(Model),用来创建和操作应用中的数据,并且模型包含了所储存数据的必要字段和数据之间的关系,一般来说,每个模型都对应着数

20、据库唯一的一张表。模板(Template),与表现有关的相关功能,主要是处理如何才能在web页面中的展示。视图层(View),请求对选取数据的功能处理,主要用于显示指定请求的数据显示。当用户接收到一个http的请求后,会发送一个URL,请求时,web服务器接口会将此url转发到服务器路由中,在路由中变回寻找到需要进行的网络请求,在此时便会寻求到此路由对应的views进行工作,由views,处理这个url,逻辑层(views)选择处理方法,看逻辑层中的处理请求是到对应的模型Models,和相应样式(Templates)。三者的具体关系如下图2- 2所示。图2- 2 MTV设计模式2.3技术架构2

21、.3.1小程序框架小程序开发框架主要分成两部分:逻辑层(App Service)和视图层(View)6,并通过JSBridage来作为这两部分的通信桥梁,在视图层与逻辑层之间进行数据传输和事件的交互响应5。图 23 技术框架图App Service逻辑层用来逻辑处理、数据请求、接口调用7,View视图层使用WebView渲染来对页面结构进行渲染。当小程序编译运行时,逻辑层与视图层就会通过JSBridage进行通信。当逻辑页面进行逻辑操作时,视图层就会相对应地进行渲染更新。相反地视图层绑定好的函数的触发按钮,进行触发时,也会对应地运行逻辑层中的函数方法。大致结构图如图 2-3 所示。微信小程序的

22、文件结构主要是由根目录下的全局(App)的设置(在APP的页面下关乎着整个程序的页面)和多个page页面构成。APP是小程序的公共根基,它拥有着app.js,app.json, app. wxss,三个文件构成,分别起到在该文件中监听并处理有关的事件,全局页面的属性设置,全局页面的公共视图层样式。在次目录中一般分为page目录和utils目录(工具目录)。在page目录下,每个页面同时对应一个目录,而在这个分页目录下一般包含着4个文件,分别为.js,.wxml,.wxss,.json。Js页是当前页面的逻辑层,wxml页面是用于编辑小程序中页面的结构,wxss用于编辑页面的样式,类似css,.

23、json文件对应的时当前页面的属性,可使用特定的配置,或使用微信某些封装好的功能(比如引用封装好的插件)。2.3.2小程序APIAPI(Application Programming Interface应用程序编程接口)8。是开发者一些预先定义的函数,开发人员在调用这些封装好的函数,无需了解函数内封装好的功能模块或者说是此函数里的源码实现,直接在应用程序或者硬件中通过此接口便可进行里此接口中封装好的功能。而微信小程序的API则是基于微信中已经封装好的功能函数,只需要通过官方提供的API便可以在逻辑层上进行一个交互。微信小程序的开发团对在此方面封装好了丰富的功能模块函数,直接通过官方提供的API

24、便可实现多种功能。例如:网络请求功能、数据交互功能、转发分享、本地存储功能、图片预览下载功能等。在绝大部分情况下,开发者人员都可以在通过微信原生的API来实现一个功能性的交互,并且在拥有此条件下,开发者开发程序的时间周期更短,并且大大提升开发效率。API在小程序中大致的工作原理如下图2- 4所示。图 24 API技术框架图2.3.3后端Django框架Django是一个遵循 MVC 设计模式的框架,它的具体设计模式主要采用了MTV设计模型,即上文所提到的Django是一个开放源代码的Web应用框架,基于Python语言。Django框架有着MVC设计模式的优点,更好地通过分层来进行更有序的编程

25、开发,它所使用的URL设计能更好地为开发者所利用随意地设计接口,并且有着良好的创建模型的对象关系映射的ORM数据模型,能为开发者用户提供更好设计的管理界面,并且拥有缓存系统,可以实现挂在内存缓冲。2.4 开发环境及配置本程序设计的主体小程序端主要是使用微信开发者工具,后端使用Python语言并结合MySql数据库来进行综合实现的,主要的开发环境如下表2- 1开发环境表所示。表 2- 1开发环境表开发环境内容备注服务端软件工具:PyCharm 2018.3.7 (Professional Edition x64)、Navicat Premium 12.018、硬件环境:Intel-I3 6100

26、CPU、8G RAMPython3.6小程序端微信开发者工具v.1.02.1910120开发时进行预览调试2.5 本章小结本章主要介绍了小程序在顺应科技发展的潮流,并且大致了告知了小程序主要的开发环境,也介绍了微信小程序开发中使用到的重要开发工具。还有本设计中所需要用到的技术框架与设计模式。本设计采用的是主流的前后端分离的开发模式。49第三章 需求分析与设计3.1 需求分析3.1.1市场需求分析在这越来越快节奏的社会生活中,人们对智能设备的依赖和要求越来越高。尤其是在智能移动终端上,智能手机的市场发展迅速,人们对生活的信息获取显得尤为重要,还有能够为生活提供辅助工具的应用显得尤为急切。在目前的

27、这个市场中,不缺乏这些能提供生活辅助工具的应用程序,但正是由于这龙蛇混杂的应用市场,充斥五花八门的工具应用。一般这些应用程序需要独立安装,软体的体积不断增大,功能虽然繁多,但是非常的臃肿,并且有着大量的广告,这让用户的体验十分的不良好,似乎在原有的简单好用,变成了现在的“水桶应用”。用户寻找需要功能的时候,非常的麻烦,需要在此应用中进行一级又一级的跳转。这很明显已经“打扰”到用户了。但是“轻应用”和小程序的新型应用的出现,为这市场打开了一扇新的窗户。基于云端存储的app,无需独立下载安装,更加轻量级的应用功能,即搜即用。更加简便的访问方式,实施的发布与更新,安全简单,基于最新的云端技术。很明显

28、更符合用户的需求,同时也是用户最需要的信息访问方式。尤其是小程序,在智能时代的今天,我们可以发现,每个人们的手机打开的主页面都是微信的主页面。这说明微信已然成为人们最重要的通信工具,可以这样说,在我国,基本人人都有一个微信。小程序基于微信平台,能够提供用户最简单的应用入口,人们对于小程序的需求不断提高。尤其对于一些生活上的应用,如天气查询之类的应用十分的受到用户欢迎。时至今天,在我国,微信小程序是如今人们最常用的访问应用之一。用户对小程序的质量也越来越高,一些小程序只有单一的应用,已经不能满足用户的需求。小程序的简洁特性结合生活功能,能带给用户最直观的良好体验。在经济效益方面,一个生活小程序的

29、开发的时间成本低,又能在用户市场上受到用户的欢迎。在一定程度上,能带动此市场的发展,也能带给用户最方便生活的工具;无论是对于开发者来说还是用户市场来说,生活小助手小程序是非常可行的。3.1.2可行性分析在技术层面上,本设计使用了小程序端独有的小程序开发工具来作为主要开发,小程序的开发工具无需独立安装配置环境,直接集成了在开发工具中,能提高开发效率,并且大大提高了容错率,可排除环境配置中存在的错误。而后端是基于Python语言平台上的,使用了Django框架,此框架能进行快速的web开发,并且集成的ORM数据模型框架,结合经典的Mysql数据库使用,能快速地建立起数据模型。提供更加快捷稳定的数据

30、存储。3.1.3功能需求分析生活助手需要分析出人们使用次数最频繁的应用功能,并且能够为用户提供到最直接的直观体验,以避免臃肿复杂。要求在于能够简单地提供给用户最需要的功能,并且在设定上设定某些常用信息能直接提供给用户。协助用户最快地获取信息。“个人生活助手”小程序主要侧重于生活信息上,其中最重要的莫过于天气,股票,星座运势等信息其次则是一些辅助工具能带给用户生活的便利,实现快捷操作的功能,如 “图片备份”、“备忘录”、“日程管理”等有助于生活的辅助小工具。功能结构如图3- 1所示 。图 31 功能结构图3.2 系统设计3.2.1小程序设计原则小程序本就是微信研发团队用于适配于微信平台上的,而微

31、信之所以能成为我国目前最大的通信软件,其中原因之一就是简洁明了,侧重于沟通交流的功能,在这追求效率的时代,一款简洁方便,直戳用户痛点的应用程序实为重要。而微信小程序就很好的继承这一传统,适配于微信平台上,使用着WEUI简洁明了的界面以及快捷方便的使用程序功能正是微信小程序的核心。微信小程序产品轻量化,遵循着“即走即用”的产品属性,这也是官方所一直强调的,因此在设计上,小程序并不是让用户沉浸体验的产品,而是快速满足需求。第一, 要遵循礼貌友好的设计规范,在界面设计或者是功能设计上,一定要做清晰明确,大大方方,避免复杂臃肿。第二, 要遵循设计规范清晰明确滴标注界面的色调以及格调规范,做到简洁不冗余

32、。第三, 直截了当的使用官方原生接口API以提升小程序的性能,带给用户更好的交互体验。第四, 尽量统一稳定地使用一致的交互控件,做到程序开发整体结构上统一,促使程序的稳定性与可控性。第五, 遵守国家法律法规,不主张,不传播任何有关于违法违纪的行为,拒绝一切有损社会道德的行为。3.2.2 Django设计原则Django框架的的基本思想就是”松耦合、高内聚“,做到每层独立,分工明确,开发思路清晰明确。1、 充分地使用Python的动态能力,Django的App应尽量地控制代码的长度,拒绝冗长复杂,使其更好地进行web开发。2、 尽可能地不重复“造轮子”,做到不同的逻辑概念或者数据分配到对应的地方

33、,以标准规范原则进行开发。3、 依照一致统一的风格进行开发,使得逻辑代码开发更加具有可控性与提高容错率。4、 鼓励Django中路由的设计灵活,不将路由绑定到Python函数名,使其路由设计更加漂亮,单个路由可存放多种应用,使其调用时更加地方便,并且能够快速地对个应用修改,让开发更具高效性。5、 阻止冗余,充分利用Django模板系统,让相同的元素存储在同一个地方,从而去除掉重复多余的代码。3.3 系统设计3.3.1系统总体设计“个人生活助手小程序”是基于小程序还有我们的Django后端来进行设计的,系统的总体设计大致为如图3- 2所示。图 32 功能与管理端设计3.3.2系统功能设计本系统的

34、功能设计丰富,考虑到用户生活中的需求。尽量设计了多种比较刚需的功能,不同的功能包含着不同的操作模式及具体内容,具体见下文(表3- 1)。表 31 个人生活助手功能功能项功能介绍具体内容天气功能定位当前城市天气查看当前位置的天气和空气质量周边功能通过地图定位周边附近美食酒店服务店的综合信息点击地图上的标注即可查看对应的服务店信息,如服务电话图片备份功能上传、下载、删除备份图片经过编码处理的图片计算器功能用于数字计算点击即可使用热门股票功能查看当前人们的股票信息点击即可查看笑话阅读功能阅读笑话再次点击此功能,笑话将随机调取变化历史上的今天功能查看当天在历史上发生的大事件点击即可使用备忘录功能用于用

35、户做笔记备忘功能通过手动输入备忘录数据,保存后即显示笔记的主要标题和记录时间星座运势功能查看12星座的当天运势点击即可使用日程安排功能记录指定日期的特定事件选定指定的日期,可在此日记录上需要注意的事件个人信息绑定功能授权登陆绑定个人信息 点击确认登陆显示头像、名称等信息关注城市功能可在首页显示关注的城市天气信息点击下拉框选定需关注的城市关注股票功能可在首页显示关注的股票信息点击下拉框选定需关注的股票关注星座功能可在首页显示关注的星座运势信息点击下拉框选定需关注的星座分享功能转发分享功能可以分享此小程序给好友3.4 本章小结本章主要介绍了本系统的具体设计,希望通过本章节,能使读者大致地了解“个人

36、生活小助手”这个小程序是如何进行需求分析设计的,用过比较系统化的介绍,希望能让读者更好地去清晰读懂逻辑设计,以及更好地操作使用。第四章 数据库设计与实现4.1 数据库E-R关系设计E-R图称为实体-联系图9,它是可以用于表达数据库中实体与实体、属性联系的一种概念模型,通过E-R图我们能很好地发现我们数据库实体类之间的相互联系关系。在图中标注的m-n对应的关系是多对多的关系,因为应用功能列表是多变的,同时也对应着不同应用功能。而其中的N-m,N-1则是表示着一对一的关系,因为我们的用户对应的应用数据都是唯一的。按照我们的程序需求分析中,我们可以得出以下关系,具体如图4- 1所示。图 41 E-R

37、关系设计4.2 数据库表设计首先数据库设计规范有助于更快捷地对数据库进行对应地操作,本着数据库统一的设计原则;本数据库的命名设计规范为库名_模块名_子表名,字段名则统一地对应着后端的实体字段名,主键字段则统一使用int字段类型的64位的id命名。而外键字段名则统一地使用int字段类型的64位的“user模块名_id”命名。每个表的设计按照功能需求分析具体可知,需要绑定用户的数据表都关联着微信用户。以下图4- 2 至 图4- 7为各个实体之间关系的E-R图,分别对应的数据表的具体设计详情如表4- 1 至 表4- 6所示。图 42 微信用户实体E-R图图 43 用户应用列表实体E-R图图 44 应

38、用功能列表实体E-R图图45 备忘录功能实体E-R图图46 图片备份功能实体E-R图图47 事件助手功能实体E-R图表 41 authorization_user “用户信息记录”数据表键名数据类型长度是否主键实体类字段名描述idint11是Id唯一字段open_idvarchar64否open_id微信用户的唯一标识nicknamevarchar256否nickname微信用户的昵称focus_citieslongtext否focus_cities用户关注的城市focus_constellationslongtext否focus_constellations用户关注的星座focus_stoc

39、kslongtext否focus_stocks用户关注的股票表 42 authorization_user_menu “用户添加的应用”数据表键名数据类型长度是否主键实体类字段名描述idint11是Id唯一字段user_idint11否user_id用于关联用户信息表的外键app_idvarchar32否app_id对应应用功能的标识表43 apis_app “应用功能列表”数据表键名数据类型长度是否主键实体类字段名描述appidvarchar11是appid唯一字段categoryvarchar64否category应用的类型applicationvarchar256否application

40、网络请求应用名namelongtext否name应用名称publish_datedate否publish_date应用发布的日期urlvarchar否url应用对应的请求接口desclongtext否desc应用内容的描述表 44 authorization_notes“备忘录的记录数据”数据表键名数据类型长度是否主键实体类字段名描述idint11是id唯一字段titlelongtext否title备忘录数据中的标题contentlongtext否content备忘录数据中的内容timelongtext否time记录时间usernote_idint11否usernote_id用于关联微信用户的

41、外键45 authorization_pic 用户备份的图片数据数据表键名数据类型长度是否主键实体类字段名描述idint11是Id唯一字段picurllongtext否open_id备份的图片数据(base64编码)userpic_idint11否nickname用于关联微信用户表的外键表 46 authorization_datemg事件助手的事件数据数据表键名数据类型长度是否主键实体类字段名描述idint11是id唯一字段titlelongtext否title事件标题contentlongtext否content事件内容yearint11否year事件年份monthint11否month事

42、件月份dateint11否date事件日子levelint11否level事件等级addDateint11否addDate事件时间戳_idlongtext否_id事件标识userdmg_idint11否Userdmg_id关联用户表的外键4.3 本章小结本章主要介绍了“个人生活助手”系统的数据库设计,希望通过本章节,能使读者具体地了解本设计数据库具体的设计原则和各个实体之间的关系。第五章 程序功能模块实现5.1 小程序前端界面设计与实现5.1.1“首页”页面此页面为小程序的主页面,主页面从上往下滑动,分别有三个主体展示。(a)轮播图与自动定位当前位置的天气的信息,在天气信息的页面上展示当前位置

43、的温度,风向,PM2.5,还有天气生活建议。在其右侧有“更改定位”的按钮,当用户点击时,便会跳转到一个拥有全国天气的城市列表,用户可手动搜索想要更改的城市。(b)往下展示的则为用户关心的城市天气简略信息,显示了温度,风况,对湿度等信息。点击信息页可直接跳转到天气应用功能。(c)用户关注股票信息页,若股票指数为上升时,股票名称与升降指数点呈现绿色,反之,下降则呈现红色。并在每支股票下方展示今天的最高和最低的指数点,还有开盘时的信息。(d)显示当天用户绑定的星座运势信息。界面效果如图5- 1所示。图5- 1 “首页”页面天气功能的实现数据来源于“和天气”,稳定的数据来源是给用户带来最信赖的保障。更

44、好地使用天气API,并使其嵌入个人生活助手小程序当中。根据接口的参数,设计了数组weekday(周几),数组showday(今天,明天),字符串:district(区域),now(当前的时间),foreacast(七日天气预报),quality(空气质量),通过API提供的数据,分别设置好每组数据,最后将其数据setdata(存进页面数据),最后通过小程序生命周期的函数onshow()将其呈显出来。以下是具体的代码实现,如图5- 2所示。图 52 天气页面核心代码5.1.2“周边”页面在小程序的第二个页面,通过官方提供的地图API,放置了一张地图,并且在地图的上方有三个按钮,分别为:“酒店”,

45、“美食”,“服务”。用户点击标注的按钮,地图将展示周边的对应服务点的信息(酒店名称,地址,电话)。效果如图5- 3所示。图5- 3 “周边”页面为提升用户良好的体验和增加地图的精准度,本人使用了来自百度地图的数据来源,并且将此数据提供给我们的“周边”地图功能实现。首先引入了引用百度地图微信小程序JSAPI模块,定义好经度,纬度的数组,使用API获取当前的经纬度,通过setdata()存进当前的页面数据;如xx图所示。再将获取的经纬度数据进行调用,返回到百度地图的服务器后台,获取当前位置的周边信息。将得到的周边信息再setdata()到我们的页面数据当中,最后渲染出来。具体的实现逻辑如图5- 4所示。图 54 获取周边服务信息核心逻辑5.1.3“应用功能”页面此页面放置在第三个页面上,以九宫格的形式来放置用户可绑定的应用功能,提供了一个“more”的添加应用按钮,用户添加应用后,返回上一页下拉刷新,即可看到刚添加完的功能。效果如图5- 5所示。图5- 5 应用功能页面5.1.4“个人中心”页面“个人中心”页面放在最

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 期刊短文 > 信息管理

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁