百度小程序配置需在manifest.json的mp-baidu字段下填写appid等关键项,且域名白名单、AI接口调用、开发者工具路径均须按平台规范单独配置,否则导致编译失败、白屏或静默错误。

manifest.json 里必须填对 mp-baidu 配置项
百度小程序的 AppID 和基础开关必须写在 manifest.json 的 mp-baidu 字段下,否则 HBuilderX 打包时不会生成百度小程序所需的结构,真机预览或上传都会失败。
关键配置项包括:
-
appid:必填,从百度智能小程序后台获取,格式如"wx1234567890abcdef" -
setting.urlCheck:开发阶段建议设为false,跳过域名白名单校验;上线前必须改为true并确保后端域名已在百度平台「服务器域名」中配全 -
usingComponents:建议设为true,启用自定义组件支持,避免部分 UI 组件渲染异常
错误示例:"mp-baidu": { "appid": "" } —— 空 AppID 会导致编译无报错但小程序无法启动;"urlCheck": true 却没配域名,运行时直接白屏且控制台只显示 request:fail net::ERR_CONNECTION_REFUSED,根本看不出是配置问题。
百度小程序开发工具路径要手动指定
HBuilderX 不会自动识别百度开发者工具安装位置,必须在「工具 → 设置 → 运行配置 → 小程序运行配置」里填入完整路径,比如 C:\Program Files\Baidu\SwanIDE\SwanIDE.exe(Windows)或 /Applications/BaiduDeveloperTools.app(macOS)。
常见卡点:
- 路径末尾不能带空格或中文,否则 HBuilderX 启动失败
- 百度开发者工具需已登录账号,否则 HBuilderX 调用时提示“未授权”
- 首次运行时,HBuilderX 控制台会输出项目绝对路径,需手动在百度开发者工具中点击「添加项目」→ 粘贴该路径
注意:百度小程序不支持“一键运行”,它不像微信那样能自动打开并加载项目,每次改完代码都要手动在百度工具里刷新。
百度能力集合,提供百度搜索和百度地图路线规划功能,包含网页搜索、路线规划和附近场所推荐,适用于搜索网页、规划出行路线及查找附近餐饮、景点、酒店等位置服务。
百度平台的域名白名单和微信不共用
百度小程序有自己的「服务器域名」管理后台,和微信、支付宝完全隔离。即使你在微信后台配好了 request 域名,百度也必须单独配置,且规则更严格:
- 只接受
https://开头的域名,不支持http://或 IP 地址 - 域名必须精确到 host + port,比如
https://api.example.com:443,少写:443也会被拒绝 -
uploadFile和downloadFile域名必须和接口实际返回的Location或响应体中的资源地址完全一致(协议、host、port、路径前缀都不能多也不能少)
典型报错:uploadFile:fail domain not configured 或控制台静默失败——这时不是代码问题,而是百度后台漏配了 uploadFile 域名,哪怕 request 能通,上传照样挂。
AI 能力调用要分清平台 API 和 SDK 集成方式
百度语音识别、OCR 等 AI 接口不能直接用 uni.request 调,因为涉及签名、token 刷新、设备指纹等逻辑,必须走百度官方 SDK 或封装好的插件。
实操要点:
- 语音识别推荐用
plus.speech.startRecognize(仅限 app-plus 平台),百度小程序端要用swan.ai.asr等原生 API,需通过条件编译隔离:// #ifdef MP-BAIDU - 调用
swan.ai.xxx前,必须在manifest.json中声明权限,比如"scope.record"和"scope.camera" - 服务端调用百度 AI 接口时,
API_KEY和SECRET_KEY绝不能暴露在前端代码里,应由 uni-app 后端代理转发
最容易忽略的是:百度小程序的 AI 接口调用频率有默认限制(如每秒 1 次),连续快速点击触发两次识别,第二次会直接返回 errCode:10001,不是网络问题,是平台限流。










