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

商品浏览功能





相关推荐
马剑威(威哥爱编程)6 分钟前
【AI全栈后端12-03】Spring Boot 用多模型路由把智能客服成本降下来
java·人工智能·spring boot
霸道流氓气质11 分钟前
AI模型幻觉检测与抑制完全指南:从规则引擎到RAG对比的Java生产级实战
java·开发语言·人工智能
niucloud-admin21 分钟前
JAVA V6 多商户商城 开发文档——手机端前端
java·开发语言·前端
云安全助手27 分钟前
自建接入VS聚合平台:企业 AI 调用的选型思路与迁移成本拆解
java·大数据·数据库·人工智能·ai大模型
樱花落木兰27 分钟前
SpringBoot + ECharts 后台数据统计报表模块实战
java·javascript·spring boot·ai·log4j·github·echarts
霸道流氓气质36 分钟前
Dify 可视化 LLM 应用开发平台完全指南:从Workflow编排到Java生产级集成实战
java·开发语言
m0_5873830041 分钟前
24小时自助健身房软硬件解决方案实战:从架构设计到部署指南
java·spring·小程序·架构·需求分析
CallFay云起未来1 小时前
AI客服上线后多久才能回本?从TCO到ROI的完整测算方法
java·大数据·人工智能·架构·文心一言
Sam_Deep_Thinking1 小时前
什么是CountDownLatch?
java·后端·面试·程序员
小蒜学长1 小时前
基于SpringBoot和Vue的低卡食品销售系统的设计与实现(代码+数据库+LW)
java·后端·springboot·健康管理·低卡食品销售系统