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

商品浏览功能





相关推荐
程序员黑豆2 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
风流 少年3 小时前
Spring AI 2.0:Memory
java·后端·spring
码匠许师傅3 小时前
【C++ 面试真题】聊聊 C++ 的移动语义与右值引用
java·c++·面试
show4333 小时前
2026视频处理小程序技术选型指南:链接解析+OCR+ASR+AI配音多引擎对比
小程序·ocr·音视频
小席是个热心肠4 小时前
AI相关的自我学习
java·人工智能·学习
数智化管理手记6 小时前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?
java·大数据·人工智能
cfm_29147 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
鲸采云SRM采购管理系统8 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
0x538 小时前
Java网络编程(二)
java·服务器·网络
Flittly9 小时前
【雕虫大技】Agent 动态 Skill 供应链安全加固(三):输出校验与治理闭环实战
java·spring boot·spring