java从头开始-苍穹外卖-day06-微信小程序开发-微信登录和商品浏览


因为已经使用了阿里云的OSS服务,而这个OSS是基于HttpCient来实现的,因此在导入maven依赖的时候也会把HttpCient导入,因此实际上咱们已经导入过了,不需要再显式的导入了,不过再导一次也没什么问题

首先是一个单元测试,来测试具体使用情况,但是需要注意因为我们是使用的本地ip,所以一定要先把项目跑起来再进行测试

下面是post的例子

这里先截取了前半段,来进行一个说明,其实流程和前面是完全一样的,但是由于post需要传输json格式的数据,因此我们需要将数据封装到一个json对象中,然后放入一个Http对象,而这个Http对象就是使用StringEntity类来存储。在构建的时候我们可以直接使用构造函数来输入一个字符串类型的JSON数据,但是不方便,因此还是选择构建一个JSONObject类型的对象然后向其中填入数据,然后再使用toString方法转换成对应的数据再输入给StringEntity。

我们可以发现上面两个代码都是大差不大,一大坨重复内容。因此黑马很贴心的对这个部分进行了封装,到时候可以直接调用对应的接口

接下来开始微信小程序开发的流程




开始创建项目

点击+就可以创建了

左边是模拟器,中间文件的是编辑器,右边是编辑器。左边可以显示具体样式,中间就是修改代码的,右边就是和网页页面里面的编辑器是一样的

注意不校验合法域名要勾选,因为是开发环境,否则无法接受请求

入门案例




导入以后,如果端口号不是8080,可以在如下文件中修改

开始微信登录的开发

微信登录流程

编译小程序代码但是发现是空白,查看调试器发现如下错误

因为这个文件的大小实际上有700KB,但是不能压缩超过500kb的文件。搜索说有分成几个文件,清理缓存之类的都不行,还是看了弹幕解决的。原因就是刚下载的开发工具自动调用最新的调试基础库。更换版本以后解决。我使用的是2.25.4版本



路径里面两个user,第一个是表示用户端,第二个表示用户模块



微信登录的整体流程其实和普通登录差不多,他唯一不同的一点就是需要从前端获得一个用户码,然后根据这个一次性的用户码向微信提交一个Http请求,然后wx会返回给用户的一系列信息,包括一个唯一标志用户的openid。然后我们就会执行以前的登录流程,用这个openid数据库中有没有用户,有说明已经注册授权过了,就可以直接取出这个用户的完整信息;如果没有这个用户说明用户是第一次使用功能,我们就在数据库创建一个用户,也就是自动注册,然后再执行查数据库的登录流程。所以这一段核心其实是使用java后端发送http请求,具体流程上面有写。

剩余见视频

需要说明一下的调试器中的network可以查看发出的请求以及相应的传输参数,还可以看对应的返回结果,只要点进具体的请求就可以看

商品浏览功能





相关推荐
Wang's Blog1 分钟前
Java框架快速入门: Spring Security+OAuth2之过滤器与过滤器链
java·开发语言·spring
谢尔登21 分钟前
01_Java基础速通
java·开发语言
lemon_sjdk1 小时前
javafx-Image图像(2)
java·javafx
小七在进步1 小时前
C++入门(2)
java·jvm·c++
To0R1 小时前
Agent 上线前必须过的五道门(附 Spring Boot 实现)
java
vipxieliang1 小时前
固定电话验证详解:区号、号码、分机号的完整验证
java·spring boot
步行cgn2 小时前
Spring Boot 主入口类上的 @Enable 和 @Scan 注解详解
java·spring boot·后端
lhldsg2 小时前
全民健身解决方案软件开发实战:从架构设计到部署指南
java·前端·数据库·小程序
两点王爷2 小时前
Java 与前端加载 MVT 数据:从服务端切片到浏览器渲染
java·前端·状态模式
TinyMemory2 小时前
Java 面向对象核心入门(九):方法重写 Override|彻底分清重载与重写
java·面向对象·override·方法重写·重载与重写