草庐IT

【微信小程序】基于SpringBoot开发后端

口木呆呆 2023-04-21 原文

微信小程序登录流程:

主要步骤:
1、小程序端调用 wx.login()向微信接口服务获取临时登录凭证code,并上传至开发者服务端。
2、开发者服务端向微信服务接口服务调用 auth.code2Session 接口,换取用户唯一标识OpenID和会话密钥session_key。
3、开发者服务端根据session_key等信息,基于JWT标准,生成自定义的网络令牌token,返回至小程序端存储。

后端编写

IDEA搭建springboot项目

环境参数
开发工具:IDEA
基础环境:Maven+JDK8
主要技术:SpringBoot、lombok、mybatis-plus、mysql 、微信小程序
SpringBoot版本:2.2.6

SpringBoot环境搭建

新建项目,选择Spring Initializr,更改名称、位置、组、JDK和java版本
,选择Jar包。
我用的是教育邮箱身份,可以免费用IDEA的全部功能,所以有Spring Initalizr插件


下一步
添加依赖:Spring web、lombok、mybatis-plus、mysql、Thymeleaf

创建成功!

设计数据库

数据库字符集记得改成uft8mb4,这个才是真正utf-8可以存中文字符。

在MySQL中,“utf8”编码只支持每个字符最多三个字节,而真正的 UTF-8 是每个字符最多四个字节。


设计数据库的时候想起来,要思考图片怎么存,搜了一下可以存在本地路径里,通过搜索路径+图片名访问图片。

微信小程序图片上传参考:
java语言
SpringBoot与微信小程序进行图片的上传和后端返回图片url在前端展示
python语言
微信小程序与django后端的图片传输、存储与访问

首先不建议直接将图片、文件等内容存放在数据库中,而是将其存放在对应的路径存放在数据库里。

如果是学习用,可以设置数据库的字段为blob等二进制类型,然后将图片存放于数据库中。

前端完善

还是在设计数据库的时候,思索数据库放不放一些想做但不知道能不能做出来的功能的数据。常规的个人信息可以放,试一下地区选择功能能不能做,能做就把地区也加进数据库里。

城市选择器

看了这俩链接写出来的
uni-app开发微信小程序使用腾讯地图选点和城市选择器插件

微信小程序插件 / 开发指南 / 城市选择器插件
微信小程序授权后按上面这个网页底下官方文档教程操作就可以了

一些详细步骤:
要先申请自己的key
登录腾讯地图申请属于自己小程序的key 腾讯位置服务
应用管理 ⇒ 我的应用 ⇒ 创建应用 ⇒ 添加key :点击创建应用,输入应用名称,选择应用类型。然后按文档填写必填的key和refer即可。其他属性可以不填。

后序详细步骤请参考这个 uni-app开发微信小程序使用腾讯地图选点和城市选择器插件

做一半了发现uniapp好像更好用。。。打开Hbuilder,抛弃微信开发者工具(*^▽^*)
参考了下面这个链接
uni-app开发流程

uni-app官方文档

从头开始设计小程序

阿里巴巴图标库
1.阿里巴巴图标库:https://www.iconfont.cn/manage/index
2.选择合适的图标
3.收藏,在收藏中查看
4.选择:自己的项目
5.选择:第二个{font class},复制类的地址,在网页中粘贴,选择所有,都知道项目中
6.在项目中创建:styles文件夹下创建iconfont.wxss文件
7.粘贴到 iconfont.wxss中,并保存。
8.在全局app.wxss中,引入“@import “./styles/iconfont.wxss”; ”。
9.在要引入的页面中:class一个类名:“iconfont icon-hongshizi”
10.即可引入图标

个人资料修改

个人资料页面:把用户的昵称改变了之后,还要改变用户在首页中的昵称
创建编辑子页和修改个人信息页面

SpringBoot结构如下

File→New→Project→Spring Initializr→项目
我的IDEA里没有Spring Initializr
搜索了一下如何导入Spring Initializr

http://start.spring.io/ 登录该网站,填写项目信息,选择依赖后,点击 Generate
Project,然后下载一个该项目的压缩包。下一步是将这个压缩包解压,然后在Idea中,File->New->Project from
existing sources,选择好文件夹后, 点击OK,在Import Project中,选择Import project from
external model,
默认是用Maven工程,选择Maven,点击Next,下面看情况,一路Next,JDK选择JDK8,到Finish,点击Finish。工程就建立好。
刚开始,可能会下载很多依赖,稍等一会。这样工程就建立好了。

原文来自https://blog.csdn.net/qq_46416934/article/details/124350528

下载导入后:

有关【微信小程序】基于SpringBoot开发后端的更多相关文章

  1. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  2. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  3. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  4. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  5. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  6. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  7. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  8. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  9. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  10. 微信小程序通过字典表匹配对应数据 - 2

    前言一般来说,前端根据后台返回code码展示对应内容只需要在前台判断code值展示对应的内容即可,但要是匹配的code码比较多或者多个页面用到时,为了便于后期维护,后台就会使用字典表让前端匹配,下面我将在微信小程序中通过wxs的方法实现这个操作。为什么要使用wxs?{{method(a,b)}}可以看到,上述代码是一个调用方法传值的操作,在vue中很常见,多用于数据之间的转换,但由于微信小程序诸多限制的原因,你并不能优雅的这样操作,可能有人会说,为什么不用if判断实现呢?但是if判断的局限性在于如果存在数据量过大时,大量重复性操作和if判断会让你的代码显得异常冗余。wxswxs相当于是一个独立

随机推荐