▶_MiniApp Toolkit

百度智能小程序

T2平台

百度智能小程序是一种开放生态的应用形态,一次开发可运行在百度App、贴吧、百度地图等百度系产品及联盟设备上。最大优势是百度搜索自然流量分发,适合内容型和工具类应用。支持百度支付、AI能力(语音/图像识别)、地图等。包体主包 2MB,总包 16MB。

📊 月活 百度App MAU 6.87亿(2025)
小程序云服务云开发百度小程序

特性

  • 百度搜索流量分发
  • 百度支付
  • 百度登录
  • 地图能力
  • 语音识别
  • 图像识别
  • 信息流推荐
  • 百家号关联
  • 小程序联盟

详细文档

百度智能小程序#

平台概述#

百度智能小程序于 2018 年正式上线,运行在百度 App、贴吧、百度地图、百度网盘等百度系产品及「智能小程序联盟」设备上。与微信/支付宝最大的差异是 百度搜索自然流量分发 —— 用户在百度搜索结果页可直接调起小程序,无需下载安装。

核心优势:

  • 搜索分发:搜索结果、信息流推荐带来自然流量,内容型/工具型小程序获益明显
  • AI 能力:通过 swan.ai.* 直接调用图像识别、语音识别、文字识别等能力
  • 百家号联动:可与百家号内容关联,进入信息流推荐池
  • 小程序联盟:联盟厂商设备(vivo/OPPO/小米等)可跨端运行

典型场景:

  • 内容资讯:知乎、汽车之家、宝宝知道
  • 工具服务:墨迹天气、万年历
  • 本地生活:百度地图服务卡片
  • 搜索承接:从搜索结果直达业务(查快递、查违章)

设计规范#

尺寸单位#

  • 支持 rpx750rpx = 屏幕宽度(与微信/支付宝通用)
  • 开发者工具内置「px to rpx」插件,默认设计稿宽度 1242px
  • 也支持 pxvh/vw;用大写 Px/PX 可阻止自动转换

组件规范#

  • 组件体系与微信高度相似:<view>, <text>, <image>, <scroll-view>, <swiper>
  • 原生支持 <map>(百度地图)、<canvas><web-view>
  • 自定义组件:使用 Component 构造器,支持 behaviors 混入

导航模式#

  • 与微信一致:swan.navigateTo / swan.redirectTo / swan.switchTab / swan.reLaunch / swan.navigateBack
  • 页面栈最大深度:10 层
  • 事件绑定用 bindtap(与微信相同,区别于支付宝的 onTap

样式#

  • .css.wxss 基本兼容
  • 支持大部分 CSS3 选择器与动画

审核规范#

常见被拒原因#

  1. 类目不符:实际内容与所选服务类目不匹配
  2. 资质缺失:医疗、金融、新闻、电商等需相应资质
  3. 虚拟支付:iOS 上不得提供虚拟商品内购
  4. 诱导分享:禁止强制分享后才能使用
  5. 网页套壳:仅嵌入 H5 无原生体验

审核周期#

  • 通常 1-3 个工作日
  • 涉及支付、新闻类资质审核更严

企业 vs 个人#

  • 支持个人主体注册
  • 但支付、AI、广告等能力多需企业主体

开发指南#

快速上手#

code
// app.js
App({
  onLaunch() {
    console.log('百度智能小程序启动')
  }
})

// pages/index/index.js
Page({
  data: { msg: 'Hello 百度' },
  onLoad() {
    console.log('页面加载')
  }
})

// pages/index/index.swan
<view class="container">
  <text>{{msg}}</text>
  <button bindtap="handleTap">点我</button>
</view>

常见陷阱#

  1. 聚合支付:百度支付为 swan.requestPolymerPayment(聚合多种支付渠道),而非微信的 requestPayment
  2. 登录流程swan.login 拿到 code → 服务端用 code2SessionKey 换 session_key + openid
  3. 域名白名单request/uploadFile/downloadFile 必须先在后台配置合法域名
  4. AI 能力swan.ai.* 需在小程序后台开通相应 AI 能力并配置 ak/sk
  5. 联盟端差异:联盟厂商设备上部分 API 表现可能不一致,需真机覆盖测试

从微信迁移#

微信百度说明
wx.xxxswan.xxx仅命名空间不同
.wxml.swan模板语法基本一致
.wxss.cssrpx 通用
wx.requestPaymentswan.requestPolymerPayment支付聚合
bindtapbindtap事件绑定一致

使用 Taro / uni-app 等跨端框架可自动处理命名空间差异。

生态资源#

推荐框架#

框架支持度说明
Taro⭐⭐⭐百度端支持完善
uni-app⭐⭐⭐内置百度适配
Mpx⭐⭐⭐滴滴出品,跨端编译支持百度

推荐 UI 库#

说明
Vant通过 Taro/uni-app 适配到百度端
TDesign多端适配
百度官方组件开发者工具内置示例组件库

社区资源#

  • 官方文档:smartprogram.baidu.com
  • 百度智能小程序学院:官方视频与图文教程
  • 百度开发者社区:问答与 Bug 反馈

版本更新#

近期重要变更#

  • TypeScript 支持:开发者工具内置 TS 编译
  • 小程序联盟:持续扩展联盟厂商设备覆盖
  • AI 能力增强:图像/语音识别接口持续开放