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

商品浏览功能





相关推荐
2601_9538246134 分钟前
【计算机毕业设计】基于Spring Boot的画师接稿平台设计与实现
java·spring boot·后端
mykj155142 分钟前
灵感石这个手链DIY小程序,简直是手作人的福音
小程序·灵感石小程序开发·手串diy小程序
小宋10211 小时前
不用学算法也能玩转 AI?普通 Java 程序员转 AI 应用开发路线
java·人工智能·重构
我是唐青枫2 小时前
Java Jetty 实战详解:从嵌入式 HTTP 服务到 Spring Boot 容器替换
java
带刺的坐椅2 小时前
当所有人都在用 TS/Python 写 Agent,我们为什么坚持 Java
java·ai·solon·codex·opencode·soloncode
小王师傅662 小时前
英语学习记
java·学习
早点睡啊Y3 小时前
深入学LangChain官方文档:Observability 与 Studio——先看清 Agent 到底做了什么
java·数据库·langchain
雨落在了我的手上3 小时前
Java数据结构(六):链表的介绍
java·开发语言·数据结构
独隅3 小时前
DevEco Code Plan+Build 双 Agent 协同开发效率实测
java·开发语言
一只昀3 小时前
基于微信小程序的咖啡店点餐小程序
微信小程序·小程序