微信小程序 毕业论文 第1篇
微信小程序小程序不需要下载安装,应用因而变得触手可及,进入微信页面扫一扫就可以打开,同时它的新理念也体现在“用完就走”上,应用将会变得无时无地不在,不需要卸载省了手机内存。小程序存在的必要性和必然性:拥有订票功能、订餐等功能;服务号功能相对不完善,小程序的功能非常强大;附近的用户可以轻易的搜索到,还可以结合公众平台进行推广。[7]本系统主要从开发角度,简略地阐述小程序的开发过程,并综合分析了微信小程序的开发环境、页面框架、API组件等方面,讨论了针对小程序目前的发展现状以及未来的发展趋势。用户可以在微信公众平台获取服务,这是全新的方式,高校图书馆作为文献资料、知识服务的中心,也是一种提供服务延伸的方式[10]。电子商务平台与传统的手机应用APP相比有优势,不仅可以满足大众购物的需要,同时用微信小程序来构建占用的资源会更小、运行和操作更简单方便。系统需求会用到客户端微信小程序、并用Web服务器、Https协议进行数据传输等,系统功能更加稳定。[12]本文主要工作:1.研究微信小程序的背景和国内外停车系统发展现状,使系统开发更具意义;2.根据市场上面的需求以及小程序自身具有的优势,梳通思路来进行可行性的分析;3.搭建开发环境、熟悉关键技术,前端和后端、数据库的设计;4.完善系统测试的功能。[13]小程序与APP的关系特点:跨平台;依赖于微信;小程序可通过扫一扫或搜一搜找到。微信小程序与APP关系如图所示:
微信小程序的发展历程(1)2016年1月,应用号的概念被微信团队第一次提出;(2)2016年9月,微信公众平台对外发送内测通知;(3)2016年11月,微信公众平台开始首次对外发出公测,但只允许提交审核,禁止发布上线;(4)2016年12月,微信小程序的答疑公开课回应了没有应用商店、没推送消息等被别人疑惑的一些问题;(5)2016年12月,当时的微信小程序最多只可以生成一万个含有参数的二维码,距离上线还有一段距离;(6)2017年1月,小程序正式上线; 微信小程序提供的功能对比(1)分享当前页面的功能,但是只能分享到群或一个好友;(2)小程序支持线下扫码功能;(3)小程序的挂起有时间限值;(4)小程序具有消息通知的功能;(5)小程序和公众号二者之间你中有我,我中有你;(6)小程序可以进行搜索以及查询历史列表;(7)小程序不仅没应用商店,还没有地方作为集中的入口;(8)小程序无订阅关系;(9)小程序不能进行消息的推送;(10)小程序不含做游戏的功能; 微信小程序迅速发展的表现生态体系:企业中会通过微信小程序来拓展业务,如滴滴打车、美团外卖等。开放能力:主要为开发者进行深度挖掘提供便利。用户黏性:随着小程序用户量的激增,许多诉求会随之而来,同样改进产品的机会也越来越多,小程序会快速崛起。小程序依赖微信的程度会加深,在未来用户获取小程序也会更加便捷。 开发环境的搭建和使用 开发环境开发环境如表所示: 表 开发环境
注册开发者账号首先,到微信公众平台,注册一个自己的微信开发者账号,复制网址“https://”到浏览器;注册账号的类型需手动进行选择;单击“小程序”即可注册成功。如图和所示:
在微信公众平台左侧的“设置”里找到“开发设置”,即可查看自己的AppID号,如图:
开发者工具的安装与使用微信开发者工具的下载网址在微信公众平台里,如图所示;创建项目:首次微信扫码登录,登录成功后选择开发模式,如图所示;小程序项目创建成功后,就会进入到开发调试环境中,开发者工具的使用如图所示:
wxml、wxss、js和json四个文件构成了每个页面,如图所示:
API相关组件微信小程序柜架里的UI组件有很多,如视图容器类组件、基础内容类组件、完善的表单组件、友好的逻辑交互操作反馈组件、导航组件里面的页面链接、媒体组件用于音视频播放、地图导航以及画布类组件。这些UI组件就像小时候玩的积木一样,使用这些积木可以建造一座房子、一座大桥,而每个UI组件也都有不同的用处,有了这些组件,就可以完成界面的布局和界面的渲染。 组件分类(1)视图容器类组件;(2)基础内容类组件;(3)表单类组件;(4)导航类组件;(5)媒体类组件;(6)地图类组件;(7)画布类组件;(8)开放能力类组件; 常用API阐述(1)服务器数据的请求:请求、上传和下载的发起;(2)媒体的操作:图片的添加、录音的插入、视频的播放;(3)文件操作:文件的打开、保存和删除;(4)数据操作:数据的获取、保存与删除;(5)位置操作:当前位置的获取及查看;(6)设备管理:系统的状态、重力的感应、电话的拨打;(7)界面设计:交互逻辑的反馈、导航页面、过渡动画、下拉操作;(8)开放接口;用户登录检测、状态信息查询、当前页面分享; 登录授权平常所使用的应用程序,都离不开用户的注册和登录。小程序拥有完整的登录流程,在这套登录流程里,进行通讯交互的涉及到小程序端、应用自身的服务端、微信的服务端。小程序端首先调用API的()获取code,这个code是用户的临时登录凭证,它是有有效期的。获取到登录凭证后,需要向服务端发送一个request请求,并携带上刚刚所获取到的code,服务端在接受到这个请求后会带上小程序应用的appid以及appsecret,这个appsecret表示小程序应用的一个秘钥。服务端拿到code之后,调用微信提供的接口,这条接口是微信的登录凭证校验接口,这个校验接口包含三个实参,分别是appid和appsecret,第三个就是临时登录凭证code。在调用微信的这条登录凭证校验接口之后,会换取一个seccion_key和openid,这个seccion_key就是用户当前会话的一个密钥,这个openid是用户在小程序里面的唯一标识。 换取seccion_key和openid后,服务端需要将两者组合生成小程序应用中用户当前的登录态标识。服务端还需要将seccion_key和openid所生成的登陆态标识这三者相关联,存入到对应的数据库中。生成一个自定义的登录态标识之后,小程序拥有登录态标识后,将它存起来,这里不是通过小程序全局变量来存储,而是一般会将它存入到小程序的本地缓存中。服务器端在接收到这样的一个请求,并拿到所携带的登陆态标识之后就可以去数据库中查询当前所携带的登录态标识所对应的用户的openid及seccion_key,通过openid对用户的数据来进行存取,并且返回给小程序端结果。具体如图所示:
在小程序业务端,应该如何对用户进行登录健全的操作?在这张流程图中,小程序启动的时候,也就是onLaunch生命周期函数内,会去检测本地缓存中是否存在一个skey,即自己下发的一个登录态标识,如果存在,就需要去调用小程序所提供的一个的API来去检测当前用户的一个seccion_key是否过期,如果用户的seccion_key过期,需要调用login进行重新登录,这个登录操作是自己去定义的,不是微信提供的API,如果调用API里面的后,用户的seccion_key没有过期,就可以进行用户正常的一个业务请求。如果本地缓存中没有登录态标识,同样需要进行login这样的一个登录操作,具体流程如图所示:
微信支付技术这个应用程序中也会涉及到微信支付的一个功能,小程序给用户提供了这个开放功能。在小程序管理后台,左侧有一个微信支付的入口,个人主体类型是没有这样的入口的,因为只有微信认证之后,其支付功能才能够使用,而个人主体类型没有微信认证的入口。开通微信支付有两种方式,首先是申请新的微信支付的商户号,否则只能绑定之前的商户号。在开通微信支付功能之后,会分配一个微信商户系统的登陆账号和密码,拿到账号和密码后就要去登录微信商户的一个平台来进行一些相关的设置,在账户中心找到‘账户设置’,再找到‘API安全’这一项,需要去进行一个秘钥的设置,密钥是32位的密钥,所有微信支付相关的接口都可以使用这个密钥来加密,同时需要去下载商户对应的一个证书,然后将这个证书部署到web代理服务器上,使用微信支付功能之前,要确保web代理服务器开通了一个HTTPS的服务。在微信支付交互中,用户需要去主动的触发支付行为,并将这个行为传达给小程序,小程序在接收到这行为之后会向服务端进行一个下单的请求,在进行下单请求之前,要确保用户登录过小程序,并通过getuserinfo获取用户的openid标识,服务端在接收到下单请求之后,需要去生成对应的商户定单数据,然后去调用微信支付所提供的一个统一下单的API,这个统一下单API会在微信支付服务后台来生成一个预支付的交易单。在所有的支付方式中都需要通过统一下单这个API来获取到一个支付的凭证。 服务端调用微信支付统一下单接口成功的情况下,会返回一个预付单的信息prepay_id,它表示当前商户系统预支付交易单的标识,然后组合前面所传入的一些参数的数据进行再次签名,并将签名结果以及前面所传入的一些参数下发给小程序,小程序端就可以通过结合这些参数以及签名来发起支付的操作。支付交互如图所示:
MySql数据库 MySQL简介MySql是一种传统关系型数据库类型的产品,它拥有开放式架构,并且技术日渐成熟,性能也在不断增强,支持的功能也日益完善,用户对平台的支持量以及社区的开发与维护人数也在逐日增多。目前,在遵守GPL协议的条件下,因MySql功能优越、性能稳定可靠,并可以免费的使用和修改而得到用户的青睐。关系型数据库不是把所有的数据都融合、统一地放一起,它鲜明的特点是将数据存到不同的工作表里,然后再将这些工作表放进不同的数据库中,这样不仅加快了MySql的读取速度,而且其变通性和可管理性也得到了极大的改善。Sql——结构化查询语言是对MySql数据库访问和管理的最常用的标准化语言。对数据库进行增添、删除、修改、查找的操作因Sql变得更加简单、方便。 项目数据库技术在项目中,可以后台录入数据进行测试。即用到了数据库来查询个人信息、车位信息等。当后台录入数据后,在小程序中再次进行查询和登录等操作时,即可正常进行存取操作。例如:当用户查看个人信息时,会调用('sessionid')方法来获取storage中的信息,并返回对应的session_key来查看信息,js界面调用方法,用getStorageSync同步获取小程序的sessionid,成功之后会调用一个带有参数的callbackFun函数来获取用户个人信息userInfo,否则就显示图标为加载的提示框,代码为:
3 系统分析及总体设计 系统概述在智能停车管理系统小程序中,本系统基于小程序平台的客户端,主要解决车主寻找停车位的问题。首先,用户通过手机号来注册账号,注册后进行登录,登录系统后可以查看目前所在的位置,停车场的详细信息也可以被查询到,如车库所在位置、是否有空余车位等。其次,用户还可以通过小程序来进行空余车位的预约,并查看导航路线,根据路线进行驾驶。用户查询服务主要是客户端,可以根据个人中心的页面详情来进行信息的查询,如停车记录、我的钱包、充值等信息。设计较为人性化、简洁的界面,与小程序的特点相吻合。本系统设计了一个智能车位管理系统的微信小程序,以此来把传统停车场进行智能化、自动化等不同程度的改进,让设备来处理需要花费人力的问题,如停车收费、人力疏导式导航等。这不仅使得数据更加实时、精确、高效,同时还帮助车主更加方便快捷的寻找泊车位、取车,进而解决停车难的问题。预约车位的功能可以让车主提前查看是否有空余车位,避免到场后才发现没有车位的情景;自动计时的功能可以使用户的停车收费更加透明化,自主付费结合微信应用,可以有效的推广,并且提高用户满意度,增加社会以及经济效益。 功能总体描述该系统主要实现微信小程序用户的注册和登陆、个人信息的管理、车位状态的查询和预约、线上的支付模块等功能。项目将实现以下功能:1)用户登录管理:用户注册,用户登陆2)用户信息管理:查看和修改个人资料,密码等信息3)车位信息查询:实时查询某车库位置信息以及车位的状态4)车位预约:提前进行预约车位,并进行支付策略5)其他:1、云端管理系统:用户管理、车位状态查看;2、微信小程序:①功能:显示停车场名称、地址等信息;短时车位预定;车费在线支付;②界面设计遵循简洁原则、信息量最小原则; 业务功能分析 用户登录管理用户登陆管理模块分为用户的注册和登陆。用户注册后才方便对自己的信息进行管理,并且使用系统相应的功能。用户注册需要用到手机号。用户登陆主要是用户查看和管理个人信息、停车的记录、车位信息等业务活动。用户登陆系统可以防止非法数据的写入,用户登陆需要填写正确的账号和密码才可以进入系统。 用户信息管理用户登录后,可以查看个人信息,包括头像,昵称等信息;同时还有停车记录、我的钱包、消息通知等其他信息。用户信息管理模块的功能主要有:查询个人信息,查询停车记录,同时添加车牌号以及删除之前的车牌信息等操作来管理车俩信息。登陆后可以查看之前的停车记录信息,并且可以对车辆的车牌信息进行查询、增加和删除。 车位查询和预约1、寻找导航上的停车场;2、查看停车信息;3、可短时预约车位。实现方案:通过程序提供车场地址,结合网商地图组件实现功能;利用传感器车辆检测技术结合嵌入式系统实现功能,再通过云端与程序内置场内地图实时校对实现功能。 行车导航和记录车辆入场:1、找到停车场后,通过地图组件导航至指定位置,同时自动生成车辆入场信息记录;2、入场后,计费系统开始计费;3、用户端可实时查看车位位置。实现方案:终端通过传感器的检测,可自动生成信息报表,计费系统开始计费,并与用户端通过云端实时同步实现功能。 系统总体架构设计整体系统的流程结构如图所示:
4 系统详细设计 用户登录管理模块 功能结构用户登录模块的功能结构如图所示:
流程设计微信小程序的登录环节是不可或缺的,登录流程可以简单分为以下几步:调用()来获取临时登录凭证code;获取到code后再结合AppID、小程序的秘钥appsecret,服务端会调用微信登录凭证接口来获取session_key;拿到session_key再结合openid生成用户当前的登录态标识存储在本地缓存storage中;以后用户再进入小程序,先再storage获取信息,再根据这个去寻找合法的session_key。用户登录管理模块流程设计如图所示:
用户信息管理模块 功能结构用户的信息管理功能结构如图所示:
微信小程序 毕业论文 第2篇
选题的背景和意义
随着人们现实生活水平的提高以及车辆数目的迅速扩大,使得交通拥挤和停车难等一系列问题变得更加严重。本系统通过研究当前阶段的停车管理系统,对于市面上大部分系统并没有实行智能化管理,还属于封闭落后传统类型,造成停车位信息和快速预定等问题无法被车主提前了解,基于此提出了相关智能停车场的研究课题[4]。人们开始越来越重视停车位的控制是因为现有的车位对于停车需求而言仍供小于求,同时交通的安全和畅通也被车辆的任意停放带来了非常大的影响,也给交通管理工作带来了很多麻烦。不仅如此,停车场汽车数量的迅速飙升,规模不断扩张,都给停车场的车辆管理带来了新的挑战,而产品数量依然满足不了停车场管理类的系统,自动化和智能化管理系统的停车场依然凤毛麟角。配备一套智能、综合的收费及管理系统来让停车场安全、便捷运转成为了必要。作为腾讯下的一款智能产品,微信小程序是一种应用程序,安装在WeChat,同时也是WeChat系统的必不可少的组成部分。它的特点是:开发成本低廉、友好的用户体验、访问便捷且速度飞快、并可以实现共享等,同时还可以到微信入口来实现搜索的功能、访问用户及其信息。这种新理念是通过线上线下双结合,不仅实现了绿色环保,更有利于提升人们的体验度。各类型的大型停车场是为解决停车难等一系列问题而出现的,然而收效甚微,并使得停车位寻找的问题更加突出。司机不能快速迅捷地找到距离最近的停车位;并且采用人力疏导停车的方式不仅效率超低,还耗费人力财力,总而言之,人员分配方面不能达到最合理,这也是这种管理方式带来的巨大的缺点。这种社会现象已普遍存在,它的出现不仅困于的城市规模,更是让社会的中高速发展变的迟缓。因此当前的焦点问题就在于怎样达到司机对车辆的停放管理需求,减少驾驶员寻找空闲车位的时间来缓解城市道路的交通压力,还要有益于社会的绿色发展,所以建设一个高效、科学的智能车位管理系统已成燃眉之急。结果证实,该系统不仅极大地提高了停车场的泊车管理水平,还加快了车辆的出入速度,顾客寻找车位的时间也大大节省,乱停车的现象亦减少,系统不仅可靠稳定,还实现了智能管理,又维护了社会的秩序。[1] 国内外发展现状分析 国内停车系统发展现状停车场系统的研究和实践在我国起步稍慢,80年代,在我国交通工程界的努力奋斗下,国内才开始接触到相关的智能车位导航的概念和技术。但是总得不到相应的支持,同时技术上的弱项和落后,经济基础上的资金匮乏,相关管理体制也不完善。然而在一些慈善团体的慷慨捐助下以及政府的大力支持,我国的科技领域不断的在蓬勃发展,在国内专家学者的不懈奋斗下,在智能车位导航领域取得了一定的傲人成绩,并为后续的接力发展打下了坚固的基础。目前停车场管理系统虽然存在,社会上虽然研发了相关智能停车管理系统的产品,但它的核心是车辆的图像管理,它对于车辆出入停车场的凭证是ID/IC卡,这种卡是非接触式的[5]。并且大多数为了对车位的数目详情进行实时显示,其硬件手段都是单一的,网络的共享和网络化管理不仅都不能实现,而且资源的利用率也是不尽人意。停车引导功能依然不完善,称不上智能、快速,采用人工记录的方法来统计车辆,浪费人力资源不说,对总体车流量的统计更是达不到标准。大多停车场不具备最短路径式的找寻功能,司机不能在第一时间内找到最优的停车路径。作为和智能交通管理系统紧密相关的部分,智能车位管理系统潜能无限,具有很光明的发展前景。
国外停车系统发展现状德国是最早进行智能车位引导系统的,在发展中稳中求健,功能建设的相对完善、稳定。1971年,亚瞋研发了世界上第一个智能车位系统。在那期间,智能车位引导系统在英国、法国和瑞士也接续兴起。1973年,亚洲的第一个车位导航系统在日本的处于东京中心区域的新宿区得到逐步建立,智能车位导航系统开始得到普遍发展。日本的建立赢得了社会的一致好评,这促使了日本使系统功能更趋完善,逐渐地,逐步实现了其商业区域系统的建立。在国外,智能停车场管理系统经过了数年积累和沉淀,其收费系统越来越智能化,无人操作进行收费的专用设备也得以实现。停车场管理系统的功能不断的被优化、完善,是因为许多管理系统配备了车位引导、查询等智能化设备,一些外国停车设备厂商正努力建立一个在稍微宽广地区内的多个停车场之间任意泊车的‘网络化存车’停车场管理系统,该系统的网络连接可以依赖Internet。这种新兴的停车场管理极大的扩展了它的使用范围,并使得功能更加延伸、完善、丰富。
停车系统未来发展前景当前,人们出行的交通工具普遍是汽车,造成交通拥挤不堪的原因有很多,最主要的却是车辆数目的急速剧增、车辆的任意乱停乱放,对于传统的停车场,不仅占地面积大,而且车辆管理系统智能化程度偏低、停车位利用率等一系列纷繁复杂问题造成了停车难问题。鉴于此,从实时位置查看、精确定位、位置信息上报等通信卫星导航系统的特点出发,接口为物联网中间件成为必不可少的一环[6]。中国各大城市对泊车位的需求总是供不应求,其需求缺口约五成,所以可以预测智能停车行业有着光明的发展前景。“当斯定律”同样适用于智能停车领域:道路设施由于新建,所以会触发车流量的新增,而交通需求却依然偏向供过于求的交通供给的一方,这定律和道路交通极其相似。因此,智能停车管理系统结合互联网,不仅使用户可以提前进行车位状态信息的查询、停车时间的自动计时缴费,还可以有效缓解停车难的问题并使得停车效率更加高效。停车诱导系统主要是平衡停车位和驾驶员车辆二者之间的关系,但是目前停车诱导技术并不从驾驶员所想的停车因素方面来进行诱导, 停车场外部的区域引导是主要方面,而内部停车场引导机制仅仅随机生成一条从停车场入口到空余车位的单一的最短路径。如果场外诱导系统可以增加停车场的空余车位预测技术模块的话,则会有效帮助停车场外部的引导[8]。而反向寻车系统不仅增加了反向寻车诱导的功能,同时系统还推荐给用户一些空余车位让用户进行自由选择,与传统停车场相比,该系统的功能更丰富、完善。它大大缩减了用户反向寻车的时长,停车位的使用效率更进一步提升[9],同时为达到选择算法最优的目的,并且只考虑一种因素下的最短路径问题,它把储物柜原理和蚁群算法相结合。最后,通过实施软件硬件相结合,车位引导系统得以完成开发和使用。[11]由于停车市场的兼容性不断延伸,作用范围越来越普遍,阿里、腾讯等一些电商巨头都纷纷争先恐后的涌入市场,电子支付成为“香饽饽”已是必然。随着微信小程序的正式上线,停车缴费的“电子支付”迎来了春天,使用小程序可进行扫码预支付、更可通过小程序进行车牌号的绑定来实现无感支付功能,电子发票功能使得车主开票更便捷、凭证更得以长期保存。智能停车是帮助车主快速找到一个可用的、路径最优的停车位,它为司机提供导航路线的技术依赖物联网、大数据、人工智能等,在使用期间,传感器会监测到的大量的实时数据,这些数据会被传到司机手中设备的专用App或车载上面。未来停车管理产业的主打方向将会是智能化、无人化,而行业想要立足的基石将会是技术、终端、资金等。 研究的主要内容为了推动“智能交通”向“智慧交通”过程的转换,需进行不懈的努力,如在交通管理中不断增科技含量、科学管理方法的创新、服务市民能力水平的提高等;实现交通管理数据化服务需要平台的大力支撑;为预防应用事故的发生,需要进行设施管理的融合,同时还要搭建大数据库[3]。人们已然适应腾讯服务的社交行业转到了付款方式,而本次基于智能车位管理系统微信小程序的毕业设计,使用现在数据并发处理非常流行的js代码,设计了智能车位管理小程序,可以通过扫描二维码或计时收费来实现模拟支付,具体分析设计有:系统分析及总体架构、数据库的设计,具有车位位置的显示、查询以往车辆的收费记录、车位信息查找等功能,方便节时。[2]
微信小程序 毕业论文 第3篇
字段
数据类型
长度
主键
说明
int
主键id
uid
int
用户id
readtime
intr
首次阅读时间
Novel_name
varchar
255
小说名称
图5-1 个人中心界面
如上图所示,个人中心页面包含我的书架,推荐好友,我的粉丝以及客服等功能,下面是具体设计内容。
用户在首次使用时先要登录,常见的小程序登录方式有三种,分别是自有账号登录、使用第三方平台账号登录、使用微信账号登录[21],由于小程序中没有cookie的机制,所以在使用前两种方式时要确认要使用的API是否有依赖,还有小程序中也不支持HTML页面,那些需要使用页面重定向来进行登录的第三方API就需要改造。这里我们就采用微信账号登录。
使用微信账号登录,是官方推荐的登录方式,毕竟小程序是基于微信,这种登录方式在安全性也比其他的要高(微信对数据做了数据签名和加密)。下面是微信小程序登录时序流程图:
图5-2 小程序登录时序流程
由以上图可以看出首先调用()获取临时登录凭证code,并回传到开发者服务器。然后调用()接口,换取用户唯一标识OpenID和会话密钥session_key。之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份[22]。
通过用户登录小程序接受微信授权来获取用户的基本信息。这个过程需要先调用微信的微信登录()API接口来获取用户的临时登陆凭证code码,在小程序中code码可以作为用户本小程序中的唯一标识。然后再调用微信的获取用户信息的()API接口来获取用户的基本信息,此时若用户接受微信登陆时的授权请求,则会在()API接口中返回用的基本信息,主要包括:用户昵称、用户头像、以及所用的语言等信息。此时在我的信息页面就会显示用户的微信头像和昵称信息,否则打印出登录失败。
图5-3 书架界面