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可以查看发出的请求以及相应的传输参数,还可以看对应的返回结果,只要点进具体的请求就可以看

商品浏览功能





相关推荐
小袁拒绝摆烂15 分钟前
多表关联大平层转JSON树形结构
java·json
ja哇1 小时前
大厂面试高频八股
java·面试·职场和发展
yoyo_zzm1 小时前
Laravel6.x新特性全解析
java·spring boot·后端
fix一个write十个2 小时前
【uniApp开发】微信小程序 web-view 内嵌 H5 跳转支付踩坑实录
微信小程序·uni-app
Nick_zcy2 小时前
小说在线阅读网站和小说管理系统 · 功能全解析
java·后端·python·springboot·ruoyi
源码宝2 小时前
基于 SpringBoot + Vue 的医院随访系统:技术架构与功能实现
java·vue.js·spring boot·架构·源码·随访系统·随访管理
qinqinzhang2 小时前
Java 中的 IoC、AOP、MVC
java
禾叙_2 小时前
【langchain4j】结构化输出(六)
java·开发语言
饭小猿人3 小时前
Android 腾讯X5WebView如何禁止系统自带剪切板和自定义剪切板视图
android·java
Advancer-3 小时前
第二次蓝桥杯总结(上)
java·算法·职场和发展·蓝桥杯