文档小喇叭 | 支付宝小程序开发常见问题 FAQ

文档小喇叭 | 支付宝小程序开发常见问题 FAQ

API / 组件相关

小程序如何接收链接里的自定义参数?

App() 中设置 onLanch(query) 。 query 内容格式为:“参数名=参数值&参数名=参数值…”。
示例 query 值如下:

  • 有页面参数(没有启动参数):

location.href = "alipays://platformapi/startapp?appId=xxx&page=pages/goodDetail/goodDetail"+encodeURIComponent("?goods_id="+goods_id) 

  • 有页面参数,有启动参数:

location.href = "alipays://platformapi/startapp?appId=xxx&page=pages/goodDetail/goodDetail"+encodeURIComponent("?goods_id="+goods_id)+&query=encodeURIComponent("appParams="+xx) 
示例代码如下:  

App({  
    onLaunch(query) {  
      my.alert({  
          title: 'ceshi', // alert 框的标题  
          content: JSON.stringify(query),  
      });    
  }
}) 

my.httpRequest 使用问题

目前 my.httpRequest 已不建议使用,建议更换为 my.request 接口。

my.request 的 method 目前只支持 get 和 post 方式,不支持其它的方式吗?

my.request() 目前只支持 get、post 请求,其他的请求暂时不支持。

如何在生活号中关联小程序?

登录 蚂蚁金服开放平台, 按照以下步骤进行生活号关联小程序:

  1. 小程序管理 中,设置关联小程序;
  2. 自定义菜单 中,设置菜单类型为 小程序
  3. 按照要求填写相关信息,并设置小程序指定页面的链接。

小程序只支持 https 域名配置吗?

小程序只支持 https 域名配置。
相比于 http,https 可以提供更加优质保密的信息,保证了用户数据的安全性,此外 https 同时也一定程度上保护了服务端,使用恶意攻击和伪装数据的成本大大提高。 
因此小程序强制使用 https,还在使用 http 协议的开发者需要尽快对服务器进行升级。 
为了方便开发者尽快进行 https 的配置,我们提供了免费的 SSL 证书,点此申请

小程序可以接入第三方地图 API 吗?

小程序不支持第三方接入,请使用小程序自带的 地图组件地图 API ,该 API 基于高德地图。

web-view 页面跳转 H5 提示“访问受限”/ 报错 / 无法跳转,如何处理?

使用 web-view 嵌套 H5 时,若遇到页面访问受限 / 跳转报错 / 无法跳转等问题,可参考如下解决方案:
获取 H5 页面中所有的域名地址(含静态资源地址,例如图片、.js 文件地址等),全部加入域名白名单中。域名白名单配置路径:支付宝小程序配置后台 > 设置 > 开发设置  > H5 域名配置

文档小喇叭 | 支付宝小程序开发常见问题 FAQ

注意事项:

  • 请不要使用 scheme 方式进行页面跳转。
  • 跳转链接是支付宝钱包客户端某个端内 H5 页面,请不要使用该方式。
  • 域名仅支持 https 开头的链接,格式支持英文大小写字母、数字、及“-”,不支持IP地址及端口号。
  • 需下载校验文件,并放置于配置域名的根目录下。
  • H5 页面不能为重定向页。
  • 配置域名后,未重新设置体验版或者推送真机预览导致。

文档小喇叭 | 支付宝小程序开发常见问题 FAQ

web-view 嵌套的 H5 页面如何跳转到小程序首页?

web-view  H5 页面可以使用手动引入 https://appx/web-view.min.js (此链接仅支持在支付宝客户端内访问),再调用 my.navigateTo 接口即可。

web-view 的标题可以修改吗?

web-view 的标题取决于 H5 的标题,如需修改,请直接修改 H5 的标题内容。但是标题无法隐藏。

支付宝 App 不支持 web-view 组件?

支付宝 App 版本过低导致,升级至最新版本即可。

web-view 不支持个人使用吗?

目前不支持个人使用,仅支持企业使用。

web-view 中引入的 js 有本地文件吗?js 只支持在线访问吗?js 只能使用链接引入不能手动引入吗?

本地没有 js 文件,仅支持在支付宝客户端(小程序)内使用链接 H5 引入 ,不支持下载也不建议引用本地文件。

为何视图容器是不建议超过5个?

一个 web-view 里面不能有太多嵌套,过多嵌套会影响性能,所以一般不建议嵌套超过5层。

web-view 组件支持刷新当前页面吗?

web-view 中没有该接口,可以重新请求数据从而更新页面。

web-view 支持获取手机号吗?支持拨打手机号吗?

不支持,可以从 web-view 跳转到小程序页面去获取。

web-view 是否可以获取用户头像?

不支持。可以通过 button 触发。

小程序内用 web-view 嵌入了 H5 页面,H5 页面如何调用扫一扫?

使用 web-view 与小程序的通信, 唤起小程序的 my.scan。

小程序中可以调用支付宝开放平台的授权吗?

建议通过小程序与 web-view 交互的方式,由小程序获取手机号通过交互传给页面。

为什么每个页面加载过程中都会显示一个加载进度条?

嵌套了 web-view 的页面都有这个进度条,无法去掉。

小程序中没有原生的小程序代码,是否可以通过 web-view 全部实现?

如果 H5 项目中没有调用 jsapi 而且也没有集团域名是可以实现的,但是不建议如此操作,建议开发原生小程序,小程序嵌套 H5 和独立 H5 体验都不如原生小程序。

如何设置 scroll-view 的高度?

不能用百分比进行高度设置,需要使用具体的高度值,建议结合 my.getSystemInfo 获取手机屏幕高度。

开发中的小程序可以测试支付接口吗?

开发中的小程序可以测试支付接口,只需已添加功能(仅对企业小程序开放)并签约后,即可正常使用,需要使用真机进行测试。

小程序是否支持获取用户运动步数的数据?

支持,请参见 运动数据文档

小程序是否支持富文本和 HTML 渲染?

小程序可使用富文本组件 rich-text 进行渲染,建议安装并使用 mini-html-parser 来转换 HTML String。

my.scan 为什么无法识别小程序二维码的参数?

my.scan 只能识别二维码的码值,无法识别小程序二维码的参数,详情请参见文档 my.scan

服务器域名为什么没有生效呢?

添加服务器白名单后需要重新打包上传生成体验版。

小程序上传图片可以自动转成 base64(基于 64 个可打印字符来表示二进制数据的方法)吗?

小程序暂不支持图片转成 base64。

my.uploadFile 如何获取服务器返回的错误信息呢?

解决方案:

  1. 可以通过 success 回调中的 data 参数获取。
  2. 可以在服务端增加一个日志获取接口。如果上传失败,就请求到日志获取接口获取详细的失败日志。

路由 FAQ

使用 my.reLaunch 跳转的页面为什么不显示底部的 tab 栏?

该 API 是不允许跳转到选项卡页面的。若要跳转到 tab 页面,请使用 my.swithTab 方法。

my.navigateTo 是否支持传参?

支持。
参数规则:路径与参数之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数必须用 & 分隔。
示例:path?key1=value1&key2=value2

使用 my.redirectTo 跳转页面,是否可以去掉左上角的返回按钮?

当页面栈深度为 1 时,使用 my.redirectTo 跳转页面的左上角不会有返回按钮,建议通过 getCurrentPages 方法判断页面栈峰值。或者用户可以直接使用 my.reLaunch 进行跳转,使用 my.reLaunch 进行跳转时,不允许跳转到 tabbar 页面。

小程序多次通过 my.navigateTo 跳转,尝试几次后为何再点击不会跳转了?

小程序规定最多不能超过 5 层页面栈,建议通过 getCurrentPages 方法判断页面栈峰值,超过后用重定向跳转页面。

小程序跳转

小程序A如何跳转到 H5、小程序B、生活号、其他 App?

文档小喇叭 | 支付宝小程序开发常见问题 FAQ

小程序A跳转 是否支持 使用限制 实现方法
H5 web-view 内嵌式跳转 H5,仅限企业账号小程序使用。 - 小程序外跳 H5 页面请参见:my.ap.navigateToAlipayPage

- 跳转小程序内嵌式 H5 页面

可通过 web-view H5页面承载组件实现在小程序内打开 H5页面。(仅限企业账号小程序使用)

小程序B

(小程序A、小程序B由同一主体账户创建)

- 同主体小程序可直接互跳。

- 支付宝客户端 10.1.10 及以上版本支持

my.navigateToMiniProgram
小程序C

(小程序A、小程序C由不同一主体账户创建)

- 不同主体小程序互跳,需对方在 小程序管理后台设置 > 基础设置 > 小程序相互跳转 中设置为 允许所有小程序跳转指定小程序跳转

- 支付宝客户端 10.1.25 及以上版本支持

my.navigateToMiniProgram
生活号 只能跳转到支付宝官方业务或运营活动页面,部分页面需申请权限。 my.ap.navigateToAlipayPage
其他 APP - -

H5、小程序B、生活号、其他 App 如何跳转到小程序A?

文档小喇叭 | 支付宝小程序开发常见问题 FAQ

跳转到小程序A 是否支持 使用限制 实现方法
H5 至少需要上架一次小程序,才能使用该跳转方式测试。没有上架的小程序无法被跳转。 - 有页面参数,无启动参数时:

location.href = "alipays://platformapi/startapp?appId=xxx&page=pages/goodDetail/goodDetail"+encodeURIComponent("?goods_id="+goods_id) 

- 有页面参数,有启动参数时:

location.href = "alipays://platformapi/startapp?appId=xxx&page=pages/goodDetail/goodDetail"+encodeURIComponent("?goods_id="+goods_id)+&query=encodeURIComponent("appParams="+xx) 

- 详细参数说明请参见下文《H5跳转小程序实现方法参数解释》表格

小程序B 当小程序A跳转至小程序B,小程序B再跳转到当前小程序A时才会调用成功。 my.navigateBackMiniProgram
生活号 - 请参见 生活号管理
其他APP - -

H5 跳转小程序实现方法参数解释 

参数名称 说明
appid 表示要跳转的目标小程序 appId。
page 表示要跳转到目标小程序的具体 page 页面,该值等于 app.json 里面的配置值;如果不带 page 字段,默认跳转到小程序首页。
query 启动参数,内容格式为:“参数名=参数值&参数名=参数值…”。

可以在 IDE 中测试两个小程序之间的相互跳转吗?

不可以,在真机上分别预览两个小程序,就可以在真机上测试相互跳转。

my.navigateToMiniProgram 的 extraData 的参数在哪里获取? extraData 是否可以添加多个参数?自定义参数中间使用的什么符号进行拼接?

目标小程序可在 App.onLaunch( )、App.onShow( ) 中获取到这份数据。
extraData 可以添加多个参数,自定义参数都是从这里传入的。
自定义参数中间使用 & 符号进行拼接。

使用 my.ap.navigateToAlipayPage 打开 H5 页面为何提示“参数错误,打开失败”?

可能原因 解决方案
H5 页面链接地址有误。 修改错误H5 页面链接。
部分支付宝运营、业务页面需申请权限后才能跳转。 请点击文档页面后侧 咨询反馈 ,联系人工技术支持 开通跳转权限。

小程序支付 / 资金授权

小程序支付会调用后台服务的回调地址通知支付结果吗?

只要在创建订单的时候传了异步通知参数 notify_url ,就会发送异步通知;关于异步通知的详细说明可以点击查看 异步通知 说明。    

在 IDE 上调用 my.tradePay 报错 “error2:无效API入参”,如何处理?

my.tradePay 无法在 IDE 模拟器中进行测试,只能在真机上测试,请以真机调试结果为准。

小程序支付无法调起支付,如何处理?

可能原因:

  • 传入 my.tradePay 的  tradeNO 参数错误,导致服务端回传的 tradeNO 出错。
  • 小程序支付无法在 IDE 模拟器中进行测试。

解决方案:

  1. 在服务端调用  alipay.trade.create (统一收单交易创建接口),获得支付宝交易号 tradeNO。

注意
在小程序场景内 alipay.trade.create 接口中的“buyer_id”为必填项,若未传入调式时会出现报错。推荐使用开放平台提供的 服务端 SDK ,并参考以下示例代码(以 Java 代码为例)进行编写。

//实例化客户端
AlipayClient alipayClient = new     DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.create.
AlipayTradeCreateRequest request = new AlipayTradeCreateRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数。
request.setBizContent("{" +
        "\"out_trade_no\":\"20171115010101001\"," +
        "\"total_amount\":0.01," +
        "\"subject\":\"Iphone616G\"," +
        "\"buyer_id\":\"用户pid\"" +
        "}");
try {
    //使用的是execute
    AlipayTradeCreateResponse response = alipayClient.execute(request);
    String trade_no = response.getTradeNo();//获取返回的tradeNO。
} catch (AlipayApiException e) {
    e.printStackTrace();
}
  1. 将获得的 tradeNO 参数传入 my.tradePay 中(设置为固定值),并在真机上进行测试。

资金授权冻结接口无法调起支付,如何处理?

可能原因:

  • 传入 my.tradePay 的  orderStr 参数错误,导致服务端回传的 orderStr 出错。
  • 资金授权无法在 IDE 模拟器中进行测试。

解决方案:

  1. 请参考 资金授权 文档 接入指引 > 第五步:调用接口 > 线上资金预授权冻结,获取用于小程序支付的 orderStr 参数。
  2. 将获得的 orderStr 参数传入 my.tradePay 中(设置为固定值),并在真机上进行测试。

资金授权时, 支付宝预授权报错“订单异常ALIN42683”,如何处理?

报错原因:
OutOrderNo 和 OutRequestNo 重复请求。(OutOrderNo 和 OutRequestNo 参数详情请参见 线上资金授权冻结。)

解决方案:

  1. 确保 OutOrderNo 和 OutRequestNo 入参在商家系统中唯一 (只传入OutOrderNo 或只传入 OutRequestNo)。
  2. 检查参数是否按照文档要求设置,建议只传必传参数测试,避免其他参数干扰。

用户授权

小程序如何实现用户授权?

小程序不支持使用拼接授权链接进行授权,建议使用 my.getAuthCode 实现用户授权、用户登录等。

先调用 my.getAuthCode,再调用my.getOpenUserInfo会出现两次授权窗口,是否有方法可以实现只出现一个授权弹框?

正常获取会员基础信息是需要弹窗两次进行授权确认的,一次是 my.getAuthCode 获取用户授权码的授权框, 一次是 my.getOpenUserInfo 中获取用户基础信息的授权框。

my.getAuthCode 使用静默授权方法(令 scopes 为 auth_base)即可实现只出现一个授权弹框。示例代码如下:

my.getAuthCode({
  scopes: ['auth_base'],
  success: (res) => {
    my.alert({
        content: res.authCode,
      });
  },
});

如何打印 my.getAuthCode 获取到的 authCode?

在 IDE 中使用 console.log,在 console 里打印即可。示例代码如下:

my.getAuthCode({
  scopes: 'auth_user',
  success: (res) => {
    console.log(res.authCode);
    my.alert({
        content: res.authCode, 
      });
  },
});

效果如下图所示:
文档小喇叭 | 支付宝小程序开发常见问题 FAQ

为什么要使用用户授权 my.getAuthCode API?

开发者在支付宝开放平台上读写用户信息,均需经过用户许可。支付宝开放平台的用户授权基于国际标准的 OAuth2.0 授权机制。基于此机制,使用 my.getAuthCode API 得到用户授权后,方可进行获取用户信息、给用户发放会员卡等操作。

为什么不允许在小程序首屏使用用户授权 API?

为了创造更良好的支付宝小程序用户体验,在小程序的首屏引导用户授权是不被允许的。需要在用户充分了解小程序的业务内容后再引导用户授权,建议将小程序授权环节放在业务流程中。

用户的 userID 可以通过用户授权 API 获取吗?

不可以,userID 需要在服务器端调用 alipay.system.oauth.token 获取。

获取会员基础信息

为什么在小程序开发者工具(IDE)无法中调用my.getOpenUserInfo?(提示:"appxrpc 暂不支持,请在真机调试")

my.getOpenUserInfo API 用于获取支付宝会员基础信息,所以只能在真机上调试,无法在 IDE 中调试。

“获取会员信息”、“获取会员基础信息”两个功能包有什么区别?

为提高小程序开发效率,“获取会员信息”功能包已升级为“获取会员基础信息” 功能包。
自 2019 年5月25日 起,已不再支持添加“获取会员信息”功能包。
已添加“获取会员信息”功能包的小程序,在使用“获取会员基础信息”功能之前,仍需添加“获取会员基础信息”功能包。

调用 alipay.user.info.share 报错“ISV 权限不足”如何处理?

alipay.user.info.share 是“获取会员信息”功能包中使用的 API。“获取会员信息”功能包已于2019 年5月25日升级,在此日期之前未签约“获取会员信息”功能包的小程序无法再调用 alipay.user.info.share,请使用“获取会员基础信息”功能包。

调用 my.getOpenUserInfo 报错 "ISV权限不足"如何处理?

“获取会员信息”功能包已下架,若之前创建的应用已添加了“获取会员信息”的功能包则能正常调用接口,未添加的则无法再添加此功能。 新创建的应用请使用 获取会员基础信息 my.getOpenUserInfo 接口。

  1. 在小程序开发管理后台的 功能列表 中,点击 添加功能
    文档小喇叭 | 支付宝小程序开发常见问题 FAQ
  2. 添加 获取会员基础信息 功能包。
    文档小喇叭 | 支付宝小程序开发常见问题 FAQ

为什么接入“获取会员基础信息”功能并调用成功后,在获取用户信息时获取不到用户的昵称?

部分支付宝用户没有设置昵称,故获取不到用户昵称。

小程序可以同时获取手机号、头像、昵称等公开信息吗?

不能在同一个弹框中同时获取会员手机号和头像、昵称。
可分别获取会员手机号,和获取用户头像及昵称。
详情请参见:

“获取会员基础信息” 可以获取支付宝用户的 user_id 吗?

不可以。获取支付宝用户的 user_id 需要在服务器端调用 alipay.system.oauth.token

“获取会员基础信息”可以获取用户身份证、真实姓名等信息吗?

不可以。“获取会员基础信息”只能获取用户头像、昵称、性别、所在地区等信息。

小程序获取会员基础信息时弹出两次授权窗,如何处理?

正常获取会员基础信息需要弹窗两次进行授权确认:一次是 my.getAuthCode 获取用户授权码的授权框, 另一次是 my.getOpenUserInfo 中获取用户基础信息的授权框。

my.getAuthCode 使用静默授权方法(令 scopes 为 auth_base)即可实现只出现一个授权弹框。示例代码如下:

my.getAuthCode({
  scopes: ['auth_base'],
  success: (res) => {
    my.alert({
        content: res.authCode,
      });
  },
});

获取会员手机号

调用 my.getPhoneNumber,报错“无效的授权关系”,如何处理?

用户主动触发才能发起获取手机号请求,不能由 API 直接获取用户手机号,需使用 button 组件 的“点击”动作来触发操作。

操作流程:

  1. 将 button 组件 open-type 的值设置为 getAuthorize。

示例代码:

<button a:if="{{canIUseAuthButton}}" open-type="getAuthorize"
        onGetAuthorize="onGetAuthorize" onError="onAuthError" scope='phoneNumber'>
    授权手机号
</button>

Button属性说明:

属性 说明
open-type 此处设置为 getAuthorize ,用于授权。
scope 此处设置为 phoneNumber ,手机号码。
onGetAuthorize 授权成功回调(在回调里可以调用获取信息的接口)。
onError 授权失败回调(包括用户拒绝和系统异常)。
  1. 用户点击并同意授权后,可以通过 my.getPhoneNumber 获取到支付宝服务器返回的加密数据, 然后在第三方服务端结合签名算法和AES密钥进行解密获取手机号,方法详见 敏感信息加解密方法
my.getPhoneNumber({
  success: (res) => {
    let encryptedData = res.response;
    my.httpRequest({
      url: '你的后端服务端',
      data: encryptedData,
    });
  },
  fail: (res) => {
    console.log(res);
    console.log('getPhoneNumber_fail');
  },
});

调用 my.getPhoneNumber,报错“ISV权限不足”,如何处理? 

报错“ISV权限不足”是由于未添加“获取会员手机号”功能包。请至小程序管理后台添加功能包。
1.在 小程序开发管理后台 的 功能列表 中,点击 添加功能
文档小喇叭 | 支付宝小程序开发常见问题 FAQ

2.添加 获取会员手机号 功能包。
文档小喇叭 | 支付宝小程序开发常见问题 FAQ

3.点击 用户信息申请
文档小喇叭 | 支付宝小程序开发常见问题 FAQ

4.在 申请权限 中申请用户手机号。
文档小喇叭 | 支付宝小程序开发常见问题 FAQ

5.填写申请原因、使用场景等信息,提交申请,等待审核。
文档小喇叭 | 支付宝小程序开发常见问题 FAQ

返回错误码 20000/40001/40002/40003,如何处理?

错误码 错误详情 解决方案
20000 系统繁忙 稍后再试。
40001 应用未设置默认签名类型 在 小程序开发管理后台 > 设置 > 开发设置 中,设置 支付宝公钥 和 应用网关
40002 加密异常 在 小程序开发管理后台 > 设置 > 开发设置 中,设置 aes 秘钥,aes 相关信息可参见 内容加密接入指引
40003 无效的授权关系 用户未同意授权,或授权已失效,可稍后再试。

返回的数据是密钥和签名,并没有获取到手机号,怎么回事?

my.getPhoneNumber 获取的是支付宝服务器返回的加密数据。
在第三方服务端结合签名算法和 AES 密钥进行解密可获取手机号,方法详见 敏感信息加解密方法
服务端解密后的明文示例如下:

{
  "code": "10000",
  "msg": "Success",
  "mobile": "18818181818"
}

其他开放能力

小程序登录时为什么会提示无效的 APPID?

请核实 getAuthCode 的 APPID 是否和服务端调用唤取 token 接口的 APPID 一致。

基础信息

个人可以创建支付宝小程序吗?

个人支付宝账号可以创建支付宝小程序,详情请参见 开发者入驻

如何开发支付宝小程序?

小程序的开发流程如下图所示:
文档小喇叭 | 支付宝小程序开发常见问题 FAQ

1. 注册与入驻
企业和个人均可成为支付宝小程序开发者,详情请参见 开发者入驻

2. 创建一个小程序

  1. 登录 蚂蚁金服开放平台,在 开发者中心 > 我的应用 > 小程序 中创建小程序即可。    
  2. 填写小程序基础信息。
    请准确填写小程序的基础信息,基础信息不允许包含违禁词,应用信息修改规则如下:

    • 上架前,应用信息均可修改,不限次数。  
    • 上架后,应用名/应用英文名将不允许修改; 应用简介、应用描述、应用类目这三个信息在新版本提审时每个自然月可修改 5 次,其他信息在新版本提审时可修改。  
  3. 获取小程序 APPID 。
    小程序创建成功后,可在小程序详情页查看 APPID,然后即可进入小程序开发流程。  

更多相关信息请参见 创建小程序

3. 开发小程序
下载小程序开发者工具(IDE),查看小程序开发文档与设计规范,使用丰富的快速示例、开放能力。
相关链接:

4. 审核发布
小程序提交审核,通过后可发布上架。
相关链接:

5. 监测数据与小程序运营
上架后的小程序可在丰富的使用场景中进行数据监测,并开展相关运营活动。
相关链接:

开发小程序需要什么样的技术基础?

支付宝小程序的开发过程相对简单,只需了解简单的 HTML、CSS、JavaScript 语法即可轻松接入支付宝小程序前端开发。
以下简单介绍支付宝小程序的语法规则。

  • AXML:AXML 是小程序框架设计的一套标签语言,用于描述小程序页面的结构,与网页编程中的 HTML 语法类似。更多信息请参见 AXML 介绍
  • ACSS:ACSS 是一套样式语言,用于描述 AXML 的组件样式,决定 AXML 的组件的显示效果。为适应广大前端开发者,ACSS 同系统 CSS 规则完全一致,100% 可以用。同时为更适合开发小程序,对 CSS 进行了扩充。更多信息请参见 ACSS 语法参考
  • SJS:SJS(safe/subset javascript)是小程序一套自定义脚本语言,可以在 AXML 中使用其构建页面结构。SJS是 JavaScript 语言的子集,与 JavaScript 是不同的语言,其语法并不与 JavaScript 一致,请勿将其等同于 JavaScript。更多信息请参见 SJS 介绍

创建、审核、发布、版本管理

一个支付宝账号可以创建多少个小程序?

一个账号下最多可以创建 10 个小程序,每个小程序都有唯一的 APPID;未提交过审核的小程序可以删除,删除的小程序不在计数范围。

小程序下架后,名字会占用吗?

小程序名称如果因为知识产权侵权被下架处罚后,名称即被释放,不会被保留或占用。

小程序版本如何更新?

重新上传新版本的小程序,提交审核。审核通过后,把已上架的旧版本改为“待上架”,把新版本设置为“已上架”即可更新小程序版本。

如何修改小程序名称?

  • 小程序未上架

小程序未上架前,可点击小程序管理后台详情页左侧菜单 应用信息,在页面中点击右侧 编辑 按钮,可直接修改小程序的应用名称,修改次数不限制;修改后提交版本审核时,按修改后的信息进入审核流程。

  • 小程序已上架

小程序审核通过后,无法直接修改名称信息,需要走特殊流程申请修改:拨打用户服务电话 95188(8:00-24:00) 或咨询在线客服,说明小程序修改名称的述求,审核通过后(一般审核时间为2个工作日),名称即修改成功。

小程序审核未通过,怎么办?

若小程序审核未通过,可参见 小程序审核驳回常见类型 进行驳回原因排查,并重新提交审核。
更多审核规范相关信息,可参见:

框架相关

小程序可以自定义右上角胶囊菜单样式吗?

小程序右上角胶囊菜单不可自定义成其他样式。

小程序中如何用相对路径引入图片?

小程序内相关资源图片需要放在 image 文件夹下面,否则不会将相关图片打包进小程序内,将导致小程序运行时引入相对路径的图片失败。

如何设置小程序编译基础库的版本?

在不调整代码的情况下,可以在后台设置最低基础库版本解决低版本兼容问题。如果钱包版本过低,则钱包会提醒用户升级钱包。
登录 支付宝小程序管理中心,点击 小程序名 > 设置 > 基础设置 > 最低基础库版本,点击 设置 按钮,选择基础库版本进行设置。基础库和钱包版本对比,请参考 基础库版本分布
:推荐使用设置最低基础库版本去解决低版本兼容问题,选择版本时尽量选择用户占比高的版本作为最低版本。
文档小喇叭 | 支付宝小程序开发常见问题 FAQ

如何调用 page 的 data 参数值?

在 page 方法中使用 this.data.参数名 的格式调用。 

开发者工具(IDE)

如何查看 IDE 上选择的基础版本库?

在 IDE 上运行小程序时,会在调试器中打印类似此类基础库信息: ap/SDKVersion: 1.14.2 ,也可以调用 my.SDKVersion 获取基础库版本信息。

如何更改 IDE 的基础版本库?

可以通过升级 IDE 版本,来实现基础库版本的升级;若不升级 IDE则无法进行基础库版本的升级。点击此处 查看最新 IDE 版本。

上传时报错“文件路径长度: 102(最大允许100个字符),请调整后重新编译”?

这通常是 npm 文件路径过长造成的问题。解决方案:在 npm 包管理工具中改用 yarn:tnpm i --by=yarn
文档小喇叭 | 支付宝小程序开发常见问题 FAQ

上传小程序时,文件包尺寸限制?

建议控制小程序文件包尺寸在 2M 之内。如果文件包太大,可以使用 分包加载 功能。

文档小喇叭 | 支付宝小程序开发常见问题 FAQ

上一篇:欢迎加入 databricks 数据洞察产品交流钉钉群


下一篇:支付宝小程序-MQTT模拟器体验阿里云IoT开发