评论

wx.login | jscode2session | 40029(invalid code),调试记录

前后端APPID不一致导致的 jscode2session | 40029(invalid code)问题; 优先排查 project.config.json 文件;

2026.03.07

jscode2session 必须做一个后端接口来调用,参考文档,前端不能直接调用;

这是一个很简单的接口调用

不需要“签名”校验等复杂操作;但是,我这里,就是一直报错 40029(invalid code),花费了几个小时,才解决问题

破案 project.config.json

project.config.json
manifest.json
  • 我是使用 uniapp vue3 开发,用 HBuilderX 作为开发工具;
  • appid 通过 manifest.json 来配置
  • 微信开发者工具,有一个 project.config.json 文件,这里也可以输入 appid ,而且,这里的优先级更高,会覆盖 manifest.json 中的 appid
    • 因为配置过参数 ignoreDevUnusedFilesignoreUploadUnusedFiles 我修改了这个文件,而且还复制到 HBuilderX 中了;
    • 每次运行到 微信开发者工具,project.config.json 也会被复制过去
  • 主要还是太菜,好久不开发,失去了直觉;遇到 jscode2session | 40029(invalid code)问题
    • 应该第一时间,检查 project.config.json 文件,看看这里的 appid 和 服务端的appid 是不是一致的;(按照正确的步骤 -> 怀疑)
    • 使用 postman 或者 apifox 等工具,测试一下
    • 99.9% 都是编写代码时疏忽大意,造成前后端APPID不一致,导致40029(invalid code)
  • end

工具

  • (1)接口报错诊断:

https://developers.weixin.qq.com/console/devtools/debug?utm_source=api_tools

  • (2)postman 或 apifox
  • (3)常见开发问题

https://developers.weixin.qq.com/doc/oplatform/developers/troubleshooting/#_13-code-相关问题


【更新】2026.04.15

https://uniapp.dcloud.net.cn/collocation/manifest.html#setting
  • ignoreDevUnusedFilesignoreUploadUnusedFiles 可以直接配置在 manifest.json 文件中;
  • 这里配置的属性会自动映射到 project.config.json 文件中;
"mp-weixin" : {
	"appid" : "xxxxxxxxxxx",
	"setting" : {
		"urlCheck" : false,
		"ignoreDevUnusedFiles": false,
		"ignoreUploadUnusedFiles": false
	},
	"usingComponents" : true,
	"lazyCodeLoading": "requiredComponents"
},

.

最后一次编辑于  04-15  
点赞 0
收藏
评论
登录 后发表内容