微信支付代码分析报告:第5~10步与支付回调
外卖1适用对象:已了解 Java 方法调用和基本 HTTP 请求,希望对照时序图理解微信小程序支付的学习者。整理日期:2026年10月25日。 阅读目标:区分商户下单、预支付标识、后端二次签名、客户端调起收银台及服务端通知。本报告基于用户提供的代码进行静态分析,保留讨论中的澄清;未执行真实支付或验证线上配置。源码节选、解释性改写和补充示例分别标明。 核心结论 图中步骤按系统之间的交互划分,不是一个步骤对应一个 Java 方法。post() 发送第5步的下单请求,也接收第6步的微信响应。PayNotifyController 主要接收第13步通知,并调用业务层完成第14步。取得 prepay_id 或返回支付参数,都不代表用户已经付款。 原始时序图与代码定位 图中步骤 交互方向与任务 源码定位 4:申请微信支付 小程序向商户后端申请支付参数 OrderController.payment();PUT /user/order/payment 5:调用微信下单接口 商户后端向微信创建预支付交易单 pay() → jsapi() →...
苍穹外卖part1
外卖1项目结构 序号 名称 说明 1 sky-take-out maven父工程,统一管理依赖版本,聚合其他子模块 2 sky-common 子模块,存放公共类,例如:工具类、常量类、异常类等 3 sky-pojo 子模块,存放实体类、VO、DTO等 4 sky-server 子模块,后端服务,存放配置文件、Controller、Service、Mapper等 名称 说明 Entity 实体,通常和数据库中的表对应 DTO 数据传输对象,通常用于程序中各层之间传递数据 VO 视图对象,为前端展示数据提供的对象 POJO 普通Java对象,只有属性和对应的getter和setter 当前端提交的数据和实体类中对应的属性差别⽐较⼤时,建议使⽤DTO来封装数据(@RequestBody Json请求参数)//在service层:对象属性拷贝:将源对象(employeeDTO)的属性值复制到目标对象(employee)中 BeanUtils.copyProperties(employeeDTO,...
Git笔记
Git笔记操作git inittouch …git add . //全都加到缓存区以下搭配使用:touch .gitignorevi .gitignore//gitignore的文件然后*.a(说明.a文件add时忽略掉,就不在status里面了)git status //查看修改状态(touch后会提示你将要修改)git commit -m “add …”git commit -m “update …”… //提交缓存区到本地仓库commitgit log //查看提交日志,但是太长了git-log//查看提交日志//见相册,更多进阶eg.加–allvi file01.txt按insert写完然后esc,最后下面输入:wq//为文件写入内容clear//清除一下选中然后按下滚轮实现粘贴,不用ctrl+c,ctrl+vgit reset –hard...
Hexo 博客搭建指南
Hexo 博客搭建指南12345678910# Hexo 博客搭建指南## 基础命令```bashhexo init # 初始化博客项目npm install # 安装依赖(非hexo install)hexo g # 生成静态文件(generate)hexo s # 本地预览(server)hexo cl # 清除缓存(clean)hexo d # 部署到GitHub(deploy) 首次部署准备 安装Git部署插件: 1npm install hexo-deployer-git --save 修改 _config.yml: 1234deploy: type: git repo: https://github.com/用户名/仓库名.git # 从GitHub复制的HTTPS链接 branch: main # 或master(根据仓库设置) 文章管理1hexo new "文章标题" #...
Git 常用命令指南
Git 常用命令指南1234567891011# Git 常用命令指南## 基础操作```bashgit init # 初始化本地仓库touch [filename] # 创建新文件git add . # 将所有修改加入缓存区git status # 查看修改状态git commit -m "提交信息" # 提交到本地仓库git log # 查看详细提交日志git-log # 查看简洁提交日志(需配置别名) .gitignore 配置1234touch .gitignore # 创建忽略文件vi .gitignore # 编辑忽略规则# 示例规则:*.a # 忽略所有.a文件 文件操作123vi...
项目part1
面向对象程序设计大作业前端部分准备NodeJS安装Vue,是一款用于构建用户界面的渐进式的JavaScript(1)框架,通过使用vue官方提供的脚手架create-vue帮我们完成前端的工程化,而要想使用create-vue来创建vue项目,则必须安装依赖环境:NodeJS(1)HTML负责网页的结构,CSS负责网页的表现,JavaScript让网页具备一定的交互效果,具有一定的动作行为 1. 双击安装包 2. 选择安装目录安装到一个,没有中文,没有空格的目录下(新建一个文件夹NodeJS) 3. 验证NodeJS环境变量NodeJS 安装完毕后,会自动配置好环境变量,我们验证一下是否安装成功,通过: node -v 4. 配置npm的全局安装路径 使用管理员身份运行命令行,在命令行中,执行如下指令: 1npm config set prefix "D:\develop\NodeJS" 注意:E:\develop\NodeJS 这个目录是NodeJS的安装目录 5....
项目part1
面向对象程序设计大作业前端部分准备NodeJS安装Vue,是一款用于构建用户界面的渐进式的JavaScript(1)框架,通过使用vue官方提供的脚手架create-vue帮我们完成前端的工程化,而要想使用create-vue来创建vue项目,则必须安装依赖环境:NodeJS(1)HTML负责网页的结构,CSS负责网页的表现,JavaScript让网页具备一定的交互效果,具有一定的动作行为 1. 双击安装包 2. 选择安装目录安装到一个,没有中文,没有空格的目录下(新建一个文件夹NodeJS) 3. 验证NodeJS环境变量NodeJS 安装完毕后,会自动配置好环境变量,我们验证一下是否安装成功,通过: node -v 4. 配置npm的全局安装路径 使用管理员身份运行命令行,在命令行中,执行如下指令: 1npm config set prefix "D:\develop\NodeJS" 注意:E:\develop\NodeJS 这个目录是NodeJS的安装目录 5....
计算机网络
计算机网络网络层
JavaWeb(二)后端part1
JavaWeb(二)MavenWeb入门Http协议TomCatSpringBootWeb请求响应分层解耦
JavaSE预习Day4
JavaSE预习Day4网络编程引入基本的通信架构有2种形式:CS架构( Client客户端/Server服务端 ) 、 BS架构(Browser浏览器/Server服务端)(Browser浏览器不需要程序员开发实现。)。无论是CS架构,还是BS架构的软件都必须依赖网络编程! 网络通信三要素IPIP:设备在网络中的地址,是唯一的标识。IP地址有两种形式:IPv4(32bit,点分十进制表示法)、IPv6(128bit,分成8段表示,每段每四位编码成一个十六进制位表示, 数之间用冒号(:)分开)IP域名–>IP(DNS服务器)公网IP, 内网IP 公网IP:是可以连接互联网的IP地址;内网IP:也叫局域网IP,只能组织机构内部使用。 192.168. 开头的就是常见的局域网地址,范围即为192.168.0.0–192.168.255.255,专门为组织机构内部使用。特殊IP地址: 127.0.0.1、localhost:代表本机IP,只会寻找当前所在的主机。IP常用命令: ipconfig:查看本机IP地址。 ping...




