{“msg“:“请求访问:/xxx-api/xxx/xxx/list,认证失败,无法访问系统资源“,“code“:401} 钉钉小程序对接若依后台时访问报错如下即可开始后续开发流程{msg:请求访问/xxx-api/xxx/xxx/list认证失败无法访问系统资源,code:401}浏览器返回code:401 认证失败说明两点网络完全通了地址、端口、上下文/xxx-api全部正确后端能收到请求并返回校验结果工单接口需要携带Authorization: Bearer token请求头浏览器直接访问没带 token所以 401小程序现在的问题是免登流程没拿到有效 token根本没走到工单请求。一、401 含义与流程梳理完整执行链路小程序打开 → 调用dd.getAuthCode获取钉钉授权码请求/xxx-api/xxx/xxx/login提交 authCode后端返回 token把 token 存入缓存再携带Authorization头部请求/smz/work/list你现在浏览器直接访问工单接口没带 token必然 401小程序卡在第 1/2 步免登环节没拿到 token不会发起工单请求后端看不到工单接口日志。二、模拟器核心坑最主要原因钉钉开发者工具模拟器中dd.getAuthCode无法获取有效 authCode会直接进入 fail 回调Promise 不会 resolve后续工单请求永远不执行。解决必须用手机真机扫码预览调试右上角点「预览」生成二维码手机连接你电脑同 WiFi192.168.x.*钉钉扫码打开小程序真机环境才能正常拿到 authCode、请求登录接口、生成 token再拉取工单。三、检查免登接口逻辑utils/login.js1. 免登接口地址核对url: http://192.168.x.xxx:xxxx/dev-xxx/xxx/xxx/login浏览器访问这个地址测试http://192.168.x.xx:xxxx/dev-xxx/xxx/xxx/loginPOST 方式传{authCode: 随便字符串}正常会返回登录失败 / 有效 token不会 401登录接口放行不需要 token。2. 补全异常捕获定位卡死位置修改login.js增加 fail 捕获export function getRuoyiToken() { return new Promise((resolve,reject) { dd.getAuthCode({ success: async (res) { const authCode res.authCode; dd.httpRequest({ url: http://192.168.x.xx:xxxx/dev-xxx/xxx/xxx/login, method: POST, data: { authCode }, success: (loginRes) { const data loginRes.data; if(data.code 200){ dd.setStorageSync(ruoyi_token, data.token); resolve(data.token); }else{ reject(钉钉登录校验失败 data.msg); } }, fail:(err){ reject(请求登录接口网络失败JSON.stringify(err)); } }) }, fail:(err){ // 模拟器一定会进这里拿不到authCode reject(获取钉钉授权码失败JSON.stringify(err)); } }) }) }3. workList.js 增加弹窗打印看阻塞在哪async initLogin(){ dd.showModal({content:开始执行免登流程}); try{ const token await getRuoyiToken(); dd.showModal({content:获取token成功token}); this.setData({token}); this.getWorkData(true); }catch(e){ dd.showModal({content:免登失败原因e}); } }真机打开后会弹窗提示提示「获取钉钉授权码失败」模拟器限制真机可解决提示「钉钉登录校验失败」钉钉 AppKey/AppSecret 配置错误后端校验不通过打印出 token 字符串免登成功后端会收到工单请求。四、工单请求头确认拿到 token 后才会携带workList.js里工单请求 header 是正确的header:{Authorization:Bearer this.data.token}只有免登成功赋值 token 后这个 header 才会带上否则为空访问工单接口直接 401。五、分步操作流程确认后端application-dev.yml已添加address:0.0.0.0服务重启完成开发者工具勾选全部 3 条忽略域名校验编译项目手机连本机同 WiFi点右上角「预览」扫码真机打开观察弹窗提示定位免登失败原因若弹窗打印出 token后端控制台会收到/smz/work/list请求页面加载工单数据。注意浏览器直接访问工单接口没有携带登录 token401 是正常安全拦截不代表地址错误只证明接口鉴权生效真正的问题是小程序没走完登录拿 token 流程。

相关新闻

最新新闻

察元AI超级智能体桌面单机版下载到出对话的完整路径 一台办公本就够

察元AI超级智能体桌面单机版下载到出对话的完整路径 一台办公本就够

很多人对「单机版 AI 软件」的第一反应是配置麻烦,得装 Docker、得开端口、得熟悉命令行。我想用一段自己装的过程把这层心理障碍先拆掉。整个流程从下载到出第一句对话,时间不到二十分钟,机器是一台公司发的普通办公本,i5 加 16G…

2026/8/12 20:38:19
MySQL图书借阅系统实战:数据库设计、事务处理与性能优化

MySQL图书借阅系统实战:数据库设计、事务处理与性能优化

1. 项目概述与核心价值 最近在整理一些过往的项目经验,发现“图书借阅管理系统”这个题目,几乎是每个计算机相关专业学生或初入行的开发者都会接触到的经典案例。它麻雀虽小,五脏俱全,涵盖了从需求分析、数据库设计、后端逻辑到前…

2026/8/12 20:38:19
免费开源的AI软件值不值得自己装一遍 察元AI从零到第一句对话的真实记录

免费开源的AI软件值不值得自己装一遍 察元AI从零到第一句对话的真实记录

免费开源的AI软件值不值得自己装一遍 察元AI从零到第一句对话的真实记录 我承认装这类东西之前,我已经被 ChatGPT 桌面端、豆包、Cherry Studio、各种聊天客户端折腾得有点麻木。每装一个新东西,门口都堆着同一组问题:要不要联网、模型钥匙塞…

2026/8/12 20:38:19
DeepSeek生成Word居然会崩?别慌!用AI导出鸭一招封神,格式零损耗!

DeepSeek生成Word居然会崩?别慌!用AI导出鸭一招封神,格式零损耗!

DeepSeek生成Word居然会崩?别慌!用AI导出鸭一招封神,格式零损耗!痛点直击:你离10w爆款文档,只差这最后1毫米的距离我是谁? 一个被格式问题折磨了5年的技术架构师。 我的焦虑是什么? …

2026/8/12 20:38:19
【数据库篇|ORM】一篇速通SQLALchemy必备知识

【数据库篇|ORM】一篇速通SQLALchemy必备知识

一.SQLALchemy概述1.1 定义SQLAlchemy 是 Python 生态中最强大、最成熟的数据库工具库,它既是一个 SQL 工具包,也是一个 对象关系映射(ORM)框架。ORM 让你用操作对象的方式操作数据库。1.2 安装命令行cmd或者pyCharm终端输入&…

2026/8/12 20:38:19
Unity渲染中Dither透明物体阴影丢失的深度解析与解决方案

Unity渲染中Dither透明物体阴影丢失的深度解析与解决方案

1. 项目概述:当透明物体的阴影在Dither下“神秘消失” 做Unity渲染开发,尤其是涉及到半透明效果时,最让人头疼的莫过于“场景里看着好好的,一运行阴影就没了”。如果你正在使用Dither(抖动)技术来处理透明物…

2026/8/12 20:33:19