springboot+微信小程序(地图应用)(eclipse)开发文档

微信小程序之“脚步·生活”开发文档

——地图小程序

源码链接:https://github.com/LiuGuoXiangIamI/mapApp

目录: 开发前的准备;

微信小程序前端开发

管理网站前端开发

数据库设计

后端开发

前后端交互方法

Bug总结

总结与不足

附录:代码链接

  • 开发前的准备

1、选定开发工具:

微信开发者工具(安装及配置见微信小程序官方开发文档);

Eclipse;

  1. 前端+后端选定框架:

前端:html+css+javascript+layui+colorui

后端:springboot(Eclispe配置Springboot见博客)+mybatis

地图API:高德API

  • 微信小程序前端开发

功能需求与设计:

  1. 多用户

功能说明:

实现用户的区分,以便用户可以查看属于自己的记录信息,并同时方便实现同城聊天和标记

功能实现:

用户在首次使用本微信小程序时,小程序先获取该用户的OpenID,则以此OpenID在数据库中进行查询,若未查询到,则给该用户绑定一个UserID,在小程序中使用UserID进行多用户的区分;若查询到,则返回之前绑定过的UserID;

2、标记当前用户的位置

功能说明:

用户在当前位置可以记录该位置的信息或当前的心情,以便之后回顾与查询

功能实现:

调用高德API获得用户标记时的位置信息,然后获取用户所记录的信息或心情或照片,调用后台接口进行上传

3、查看之前该用户所标记的位置信息

功能说明:

用户可查看之前标记的位置信息

功能实现:

调用后台接口返回数据库中之前记录的位置信息,后调用高德API将其显示在静态图中

4、记录用户的轨迹

功能说明:

用户想记录自己从某地到某地的自己走过的路径则可以通过该功能实现

功能实现:

①:用户点击开始记录按钮后,设置一个定时器,每5s记录一下该用户的当前位置信息,并作为该条路径中的一个点的格式上传到数据库中;

②用户点击结束记录按钮后,关闭定时器;

  1. 查看之前该用户所记录的轨迹

功能说明:

用户可回看自己之前从某地到某地所经过的路径

功能实现:

从后台返回所查看的路径的信息(各时刻的位置信息),后调用高德API将其显示在静态图中

  1. 匿名同城聊天

功能说明:

用户可以与使用该小程序的其他用户进行匿名聊天,其他用户显示在自己这是相同的头像显示在右侧,自己是用类微信聊天显示在左侧,且用绿色标识,在其他用户那里显示同理

功能实现:

①从后台每5s或更短时间返回聊天消息列表,判断消息的UserID是否是该用户的UserID,若是则以一种格式显示在列表左侧,若不是则以另一种形式显示在列表右侧以划分其他用户

②发送消息时,调用后台接口将其传到后台消息列表数据库中即可

  1. 查看同城标记

功能说明:

用户可以查看使用该小程序的其他用户所标记的位置信息

功能实现:

调用后台接口,返回后台数据库中所记录的所有标记位置信息即可

  1. 查看附近热点

功能说明:

可以搜索查看你想去的位置及周边建筑物的位置

功能实现:

调用高德API

  1. 路线查询

功能说明:

查询某地到某地的导航信息

功能实现:

通过获取设置的出发地和目的地的位置信息,调用高德API返回路径规划信息

10、查看当时天气

功能说明:

查看当时的天气信息

功能实现:

调用高德API

页面设计:

采用ui:colorui

  1. 起始页

页面预览:

页面代码:

见“/pages/firstPage/”

  1. 标记位置页

页面预览:

           

页面代码

见:“/pages/testPage/”与“/pages/targetPage/”

  1. 位置记录页

页面预览:

                 

页面代码:

见“/pages/positionLine”与“/pages/theConcreteRecordPage”与“/pages/theXiangQingPage”

  1. 轨迹页面

页面预览:

         

页面代码:

见“/pages/myTrackPage”与“/pages/theConcreteTracePage”

  1. 同城聊天界面

页面预览:

          

页面代码

见“/pages/chat”

  1. 同城标记界面

页面预览:

页面代码

见“/pages/theSameCityMark”

  1. 附近热点界面

页面预览:

页面代码

见“/pages/poi”

  1. 路径规划页面

页面预览:

          

页面代码

见“/pages/firstOfNavigation”与“/pages/endOfNavigation”与“/pages/navigation_car”

  1. 天气页面

页面预览:

页面代码

见“/pages/weather”

  • 管理网站前端开发

功能需求与设计:

  1. 功能需求:

①管理者登录

②位置管理

③轨迹管理

④聊天消息管理

  1. 功能设计:

①管理者登录:

提供一种较为安全的登录机制,用户在发送登录请求时,先将用户输入的用户名发给后台,检测是否存在,若存在,在后台端产生随机数并将该随机数返回按一定规则插入到用户所输入的密码中,随后进行md5加密,发给后台,后台进行密码与该随机数的同种处理后进行判断是否相等;在登录界面的前端添加验证码

②管理信息:

调用后台接口,将各信息从后台返回到页面中,然后结合高德API进行显示即可

页面设计:

所采用ui:layui

登录页面:

位置管理页面:

轨迹管理页面:

消息管理页面:

  • 数据库设计

采用工具:mysql+navicat

结构:

①管理者用户设计:

②位置信息设计:

③轨迹信息设计:

④聊天信息设计:

  • 后端开发

该微信小程序后端采用的是springboot+mybatis

项目结构如下:

项目结构说明:

pom.xml:项目依赖项等的管理(maven库)

MapAppApplication:项目启动项

myPosition等:位置信息类等

UserMapper:由于本人并不是很了解springboot的原理,本人感觉该层是对sql语句的外部封装

UserService:本人感觉为对UserMapper的进一步封装

UserServiceImpl:对UserService的重写

UserController:提供与前端交互的封装

application.yml:与数据库连接等的配置

UserMapper.xml:sql语句的内部封装

后端接口所提供的功能:

插入所标记的位置信息;查询所标记的位置信息;删除所标记的位置信息;插入轨迹信息;查询轨迹信息;删除轨迹信息;判断管理者登录;插入聊天信息;查询聊天信息;删除聊天信息;实现多用户操作;上传照片等

UserController预览:

UserMapper.xml预览:

其他具体代码见源码

  • 前后端交互方法

具体参见上一篇博客

https://blog.csdn.net/weixin_42412973/article/details/90082427

  • bug总结

开发初期遇到的bug见上一篇博客

https://blog.csdn.net/weixin_42412973/article/details/90082427

本次开发遇到的bug有:

  1. 我是将该后台部署到了阿里云上,所以讲一下部署的步骤:

参见博客

https://blog.csdn.net/xw12138/article/details/78503399

在打成jar包时:

出现test错误,这时我查阅博客发现可以跳过test阶段:

参见博客

https://www.cnblogs.com/ShanHeDiao/p/5705121.html

https://www.cnblogs.com/youran-he/p/9590855.html这一篇我好像因为有webSocket,所以它讲了一下为啥不行

打包流程:

参见博客

https://blog.csdn.net/qq_34975710/article/details/83989642

thymeleaf访问页面解析出错Could not parse as expression:

出现在JavaScript二维数组的解析上:

参见博客

https://blog.csdn.net/minion_banana/article/details/82772034

打包在服务器端运行后,没办法访问其资源里的静态页面:

参见博客

https://blog.csdn.net/fengzyf/article/details/83341479这一篇博客有个错误是

这个地方是不能在index前面加“/”的,我测试的是这样

微信小程序中的定时器设置:

参见博客

https://www.jianshu.com/p/4f6e48701d37

官方文档

https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/setTimeout.html

  • 总结与不足

通过制作本微信小程序,我学会了springboot的使用和前端制作以及前端与后台交互的方式,学会了使用地图API,并学会使用了数据库,为以后的项目打下了基础。

不足之处在于小程序很多地方并不完善,功能过于单一和简陋,用户逻辑欠缺考虑等。

附录:源码连接

https://github.com/LiuGuoXiangIamI/mapApp

  • 6
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Spring Boot 是一个用于构建独立的、可扩展的、基于Java的应用程序的框架。微信小程序是一种基于微信平台的轻量级应用程序。通过结合Spring Boot 和微信小程序开发实战,可以创建出功能丰富、灵活可扩展的小程序。 首先,可以使用Spring Boot 提供的便利性和高效性来创建一个后端服务。通过Spring Boot 的自动配置和快速开发特性,可以快速搭建一个高度可扩展的后端服务,支持实现用户登录验证、数据存储和访问等功能。 其次,可以利用微信小程序提供的各种API和功能来实现与用户的交互。可以使用微信小程序的界面组件和模板来构建用户界面,支持用户与小程序进行交互。同时,通过调用微信提供的API,可以实现用户登录、用户位置获取、支付等功能。 此外,通过Spring Boot 和微信小程序的结合,可以实现数据的实时同步和共享。可以通过后端服务将数据存储到数据库中,并通过微信小程序将数据展示给用户。同时,通过微信小程序提供的数据上报和反馈功能,可以将用户的操作数据实时传输到后端服务,并进行相应的处理。 最后,利用Spring Boot 和微信小程序开发实战,可以进行持续的迭代和优化。通过使用Spring Boot 提供的测试框架和集成开发环境,可以快速进行开发和测试。同时,通过微信小程序提供的发布和更新功能,可以实现小程序的持续改进和功能优化。 综上所述,通过Spring Boot 和微信小程序开发实战,可以创建出高效、灵活、功能强大的小程序,为用户提供良好的使用体验。同时,可以借助Spring Boot 和微信小程序提供的开发工具和功能,实现快速开发、持续迭代和优化的开发流程。 ### 回答2: Spring Boot是一种用于构建Java应用程序的开源框架。微信小程序是一种可以在微信中运行的小型应用程序。结合Spring Boot和微信小程序可以进行微信小程序开发实战。 在使用Spring Boot开发微信小程序时,我们可以使用Spring Boot的各种特性和功能来加快开发速度和简化开发过程。首先,我们可以使用Spring Boot的自动配置功能来快速配置和集成微信小程序的相关组件和功能。例如,我们可以使用Spring Boot的自动配置来集成微信小程序的授权登录和用户信息获取功能,这样我们就可以快速实现用户登录和权限控制。 其次,Spring Boot有良好的开发文档和社区支持,我们可以通过查阅文档和参与社区讨论来解决开发过程中的问题和困惑。同时,Spring Boot也有丰富的第三方库和插件,我们可以借助这些工具来实现更复杂的功能和性能优化。 此外,Spring Boot还提供了方便的测试工具和环境,我们可以通过单元测试和集成测试来确保微信小程序的稳定性和质量。通过使用Spring Boot的测试工具,我们可以快速编写和运行各种类型的测试,例如接口测试、性能测试和压力测试等。 最后,Spring Boot具有良好的扩展性和可维护性,我们可以使用Spring Boot的模块化和组件化特性来管理和维护微信小程序的代码和资源。同时,Spring Boot也支持容器化部署,我们可以使用Docker等工具将微信小程序打包为容器镜像,并通过云平台实现自动化的部署和运维。 综上所述,使用Spring Boot进行微信小程序开发实战可以提高开发效率、简化开发过程、保证应用质量,并且具备良好的扩展性和可维护性。这些优点使得Spring Boot成为一种非常适合用于微信小程序开发的框架。 ### 回答3: Spring Boot 是一个开源的Java开发框架,它简化了Java应用程序的配置和部署过程。微信小程序是一种用于开发在微信平台上运行的小程序的框架。在开发微信小程序时,使用Spring Boot可以提供更高效、更简洁的开发方式。 首先,Spring Boot提供了丰富的功能和插件,可以帮助开发者快速搭建微信小程序后端服务。通过使用Spring Boot的自动配置功能,可以省去繁琐的配置过程,并且可以轻松地集成其他常用的框架和组件,如数据库访问、缓存、消息队列等。 其次,Spring Boot提供了灵活的开发方式,可以根据具体需求选择使用Java、Kotlin或者Groovy等不同的开发语言。开发者可以根据自己的技术栈和喜好进行选择,提高开发效率。 另外,Spring Boot还提供了丰富的文档和社区支持,开发者可以轻松地学习和解决问题。通过参与Spring Boot社区,可以与其他开发者进行交流和分享经验,使开发过程更加顺利。 总结来说,Spring Boot在微信小程序开发中可以提供快速搭建后端服务、灵活的开发方式和丰富的文档和社区支持等优势。使用Spring Boot开发微信小程序,可以提高开发效率,减少不必要的工作量,让开发者能够更专注于业务逻辑的实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值