当前位置:首页 > 娱乐 > 百度小程序源码 正文

百度小程序源码

来源:烟消火灭网   作者:热点   时间:2026-10-17 05:54:34

百度小程序源码不是百度一套开箱即用的“完整项目”,它更像一份拆散了的小程序源说明书。官方在GitHub上放了几个demo,百度比如“hello world”级别的小程序源页面、API调用示例、百度自定义组件模板。小程序源你把这些文件拖进百度开发者工具,百度能跑起来,小程序源但离一个能上线的百度产品差得远。

我去年帮一个本地生活号做百度小程序,小程序源想省事,百度直接扒了官方demo里的小程序源登录模块。结果发现源码里swan.login的百度调用逻辑和微信小程序几乎一样,但回调里的小程序源code换session_key那步,百度要求必须走自己的百度服务器,而且域名得在后台配白名单。demo里没写这个,注释只有一行“请替换为你的接口”。这行注释坑了我半天——我以为是替换URL就行,实际还得处理bd_crypto的签名校验。

源码目录结构倒不复杂。pages放页面,components放自定义组件,utils里通常有个request.js封装了swan.request。但那个封装很粗糙,没做错误重试,也没处理401跳登录。我后来自己重写了,加了拦截器。百度小程序的swan.request有个坑:它默认不携带cookie,得手动在header里塞Cookie字段,或者用swan.setStorageSync存token再塞进header。官方源码里没提这点,我是抓包才发现的。

样式方面,.swan文件支持rpx单位,和微信一样。但百度对flex布局的兼容性在低端安卓机上有点问题——我遇到过justify-content: space-between在旧版百度App里失效,换成margin手动撑开才正常。源码里的示例页面全是简单布局,根本测不出这些。

自定义组件那块,百度要求component字段设为true,并且usingComponents里路径必须写全,不能像微信那样省略.swan后缀。我复制微信的组件过来,编译直接报错“找不到组件”。后来翻百度文档才看到,它要求路径带后缀。这种细节,源码里不会标红,得自己踩。

最麻烦的是支付。百度小程序的swan.requestPolymerPayment需要先调服务端接口拿orderInfo,再把orderInfo里的字段拆开传进去。官方demo里只给了一个假数据,字段名和真实返回的对不上。我对着百度支付文档调了一下午,发现totalAmount单位是分,不是元。源码注释写的是“金额”,没写单位。

说回源码本身。如果你只是想学百度小程序的语法,官方demo够用。但要做真实项目,那些源码顶多算个脚手架。真正花时间的是:配服务器域名、处理登录态过期、适配不同百度App版本、调支付回调。这些官方源码里要么没有,要么写得含糊。我的建议是,把demo当参考,别当依赖。自己从零搭一个app.json,按需引入API,反而更清楚每个环节在干什么。

另外,百度小程序的社区活跃度远不如微信。遇到问题搜到的答案经常是两年前的,API都改了。比如swan.getSystemInfoSync现在返回的platform字段,在iOS上有时是ios有时是iPhone,源码里没做归一化。你得自己写个函数兜底。

最后提一句,百度小程序源码里的project.config.json有个appid字段,测试时可以用touristappid,但真机预览必须换成自己注册的。我见过有人直接改源码里的appid,结果上传时被拒,因为那个appid绑定了别人的账号。这种坑,源码不会告诉你。

标签:

责任编辑:探索