2026.03.07
jscode2session 必须做一个后端接口来调用,参考文档,前端不能直接调用;
这是一个很简单的接口调用
- 先调用
wx.login获取 code ,传递给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- 因为配置过参数
ignoreDevUnusedFiles和ignoreUploadUnusedFiles我修改了这个文件,而且还复制到 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
ignoreDevUnusedFiles和ignoreUploadUnusedFiles可以直接配置在manifest.json文件中;- 这里配置的属性会自动映射到
project.config.json文件中;
"mp-weixin" : {
"appid" : "xxxxxxxxxxx",
"setting" : {
"urlCheck" : false,
"ignoreDevUnusedFiles": false,
"ignoreUploadUnusedFiles": false
},
"usingComponents" : true,
"lazyCodeLoading": "requiredComponents"
},
.
