• 下载
  • 社区

常见问题 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) 

示例代码如下:  

1App({  
2    onLaunch(query) {  
3      my.alert({  
4          title: 'ceshi', // alert 框的标题  
5          content: JSON.stringify(query),  
6      });   
7  }
8}) 


my.httpRequest 使用问题

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


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

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


my.request 接口请求报错 {data: "请求超时异常", error: 14, headers: {…}, status: 13, errorMessage: "JSON parse data error"} ,如何处理?

因返回数据格式 text 与入参 dataType 值 JSON 不一致而导致接口报错,请修改后台返回数据格式为 JSON。


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

登录 支付宝开放平台, 按照以下步骤进行生活号关联小程序:

1. 在 小程序管理 中,设置关联小程序;

2. 在 自定义菜单 中,设置菜单类型为 小程序

3. 按照要求填写相关信息,并设置小程序指定页面的链接。


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

小程序只支持 https 域名配置。

相比于 http,https 可以提供更加优质保密的信息,保证了用户数据的安全性,此外 https 同时也一定程度上保护了服务端,使用恶意攻击和伪装数据的成本大大提高。 

因此小程序强制使用 https,还在使用 http 协议的开发者需要尽快对服务器进行升级。 

为了方便开发者尽快进行 https 的配置,我们提供了免费的 SSL 证书,点此申请


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

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


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

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


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

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


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

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


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

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


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

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


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

解决方案:

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

组件

web-view 相关常见问题请见 web-view FAQ

video 组件中播放的视频 当用户加载观看视频一次后,再次进行观看的时候是拉取的缓存,还是再次使用网络重新加载的?

目前的缓存策略是如果视频是循环播放的,再次观看是拉取的缓存,如果不是循环播放,每次都是网络重新加载。

主要是针对一些循环播放的短视频场景提供缓存能力。

如何设置 scroll-view 的高度?

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

scroll-view 组件支持自定义的下拉刷新吗?

不支持。


为何 scroll-view 在 popup 扩展组件中无法滑动?

popup 组件上加上 disableScroll={{false}} 属性才能滑动。


为何 scroll-view 做滚动吸顶效果会卡顿?


卡顿是因为在滚动监听中做判断和赋值导致的,建议通过设置 upper-threshold 属性来实现滚动吸顶效果。

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

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

如何设置 swiper 组件高度?

swiper 高度是根据 swiper-item 里的元素高度适应的,所以可以通过设置 swiper item 元素高度来控制 swpier 高度。

为何 swiper 组件设置宽度100%但是左右还是有空白距离?

去除 previous-margin 和 next-margin 的设置距离。

cover-view 默认背景白色如何取消?

不支持更改背景色,建议更改字体颜色。

cover-view是否支持圆角和阴影?

小程序 acss 支持圆角和阴影,示例代码:

圆角:border-radius: 15%;

阴影:box-shadow: 10px 10px 5px #888888;

如何隐藏 textarea 唤起的键盘?

可以使用 my.hideKeyboard  隐藏键盘。

为何安卓系统下 textarea 获取焦点的时候,文字会消失?

可加上 enableNative="{{false}}" 。


textarea 弹出键盘后内容被顶上去,如何避免?

可以在 input 组件中加上 enableNative="{{false}}"。

map 组件如何跳转到高德的 app 中去进行导航?

可使用 my.openLocation

map 组件 optimize 属性设置了 true 后如何获取 scale 值?

optimize 属性设置了 true 后,如果需要获取 scale 值,必须要使用 onRegionChange。

如何实现用户关注后,关注生活号组件不显示?


使用属性 onFollow 可以在用户关注后,来实现控制关注生活号组件不显示。

如何自定义 contact-button 智能客服 组件的样式?


可通过 button 按钮 组件设置自定义咨询按钮。

路由 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?

未命名文件 (19).png

小程序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?

未命名文件 (20).png


跳转到小程序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 可以添加多个参数,自定义参数都是从这里传入的。

自定义参数中间使用 & 符号进行拼接。


小程序跳转页面怎么传值?

参数规则:路径与参数之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数必须用 & 分隔。示例: path?key1=value1&key2=value2,详情参考文档 my.navigateTo


使用 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 代码为例)进行编写。


 1//实例化客户端
 2AlipayClient alipayClient = new     DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
 3//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.create.
 4AlipayTradeCreateRequest request = new AlipayTradeCreateRequest();
 5//SDK已经封装掉了公共参数,这里只需要传入业务参数。
 6request.setBizContent("{" +
 7        "\"out_trade_no\":\"20171115010101001\"," +
 8        "\"total_amount\":0.01," +
 9        "\"subject\":\"Iphone616G\"," +
10        "\"buyer_id\":\"用户pid\"" +
11        "}");
12try {
13    //使用的是execute
14    AlipayTradeCreateResponse response = alipayClient.execute(request);
15    String trade_no = response.getTradeNo();//获取返回的tradeNO。
16} catch (AlipayApiException e) {
17    e.printStackTrace();
18}


2. 将获得的 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)即可实现只出现一个授权弹框。示例代码如下:

1my.getAuthCode({
2  scopes: ['auth_base'],
3  success: (res) => {
4    my.alert({
5        content: res.authCode,
6      });
7  },
8});


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

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


1my.getAuthCode({
2  scopes: 'auth_user',
3  success: (res) => {
4    console.log(res.authCode);
5    my.alert({
6        content: res.authCode, 
7      });
8  },
9});


效果如下图所示:

用户授权FAQ IDE.png


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

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


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

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


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

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


获取会员基础信息

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

用户 主动触发 才能发起获取会员基础信息请求,不能由 API 直接获取会员基础信息,需使用 button 组件 的“点击”动作来触发操作。需要将 <button> 组件 open-type 的值设置为 getAuthorize,并将 scope 设为 userinfo ,示例代码如下:

1<!-- .axml -->
2<button a:if="{{canIUseAuthButton}}" open-type="getAuthorize" 
3onGetAuthorize="onGetAuthorize" onError="onAuthError" 
4scope='userInfo'>
5    会员基础信息授权
6</button>


为什么在小程序开发者工具(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. 在小程序开发管理后台的 功能列表 中,点击 添加功能

添加功能.png


2. 添加 获取会员基础信息 功能包。

获取会员基础信息.png

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

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


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

不能在同一个弹框中同时获取会员手机号和头像、昵称。

可分别获取会员手机号,和获取用户头像及昵称。

详情请参见:


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

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


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

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


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

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


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

1my.getAuthCode({
2  scopes: ['auth_base'],
3  success: (res) => {
4    my.alert({
5        content: res.authCode,
6      });
7  },
8});



获取会员手机号

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

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


操作流程:

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

示例代码:

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


Button属性说明:

属性说明
open-type此处设置为 getAuthorize ,用于授权。
scope此处设置为 phoneNumber ,手机号码。
onGetAuthorize授权成功回调(在回调里可以调用获取信息的接口)。
onError授权失败回调(包括用户拒绝和系统异常)。


2. 用户点击并同意授权后,可以通过 my.getPhoneNumber 获取到支付宝服务器返回的加密数据, 然后在第三方服务端结合签名算法和AES密钥进行解密获取手机号,方法详见 敏感信息加解密方法

 1my.getPhoneNumber({
 2  success: (res) => {
 3    let encryptedData = res.response;
 4    my.httpRequest({
 5      url: '你的后端服务端',
 6      data: encryptedData,
 7    });
 8  },
 9  fail: (res) => {
10    console.log(res);
11    console.log('getPhoneNumber_fail');
12  },
13});


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

报错“ISV权限不足”是由于未添加“获取会员手机号”功能包。请至小程序管理后台添加功能包。

1. 在 小程序开发管理后台 的 功能列表 中,点击 添加功能

添加功能.png

2. 添加 获取会员手机号 功能包。

image.png

3. 点击 用户信息申请

image.png

4.  在 申请权限 中申请用户手机号。

image.png

5. 填写申请原因、使用场景等信息,提交申请,等待审核。

image.png


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


错误码

错误详情

解决方案

20000

系统繁忙

稍后再试。

40001

应用未设置默认签名类型

在 小程序开发管理后台 > 设置 > 开发设置 中,设置 支付宝公钥 和 应用网关

40002

加密异常

在 小程序开发管理后台 > 设置 > 开发设置 中,设置 aes 秘钥,aes 相关信息可参见 内容加密接入指引

40003

无效的授权关系

用户未同意授权,或授权已失效,可稍后再试。


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

my.getPhoneNumber 获取的是支付宝服务器返回的加密数据。

在第三方服务端结合签名算法和 AES 密钥进行解密可获取手机号,方法详见 敏感信息加解密方法

服务端解密后的明文示例如下:

1{
2  "code": "10000",
3  "msg": "Success",
4  "mobile": "18818181818"
5}


其他开放能力

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

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


基础信息

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

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


如何开发支付宝小程序?

小程序的开发流程如下图所示:

Image 7.png


1. 注册与入驻

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


2. 创建一个小程序

a. 登录 支付宝开放平台,在 开发者中心 > 我的应用 > 小程序 中创建小程序即可。    

b. 填写小程序基础信息。

请准确填写小程序的基础信息,基础信息不允许包含违禁词,应用信息修改规则如下:

    • 上架前,应用信息均可修改,不限次数。  
    • 上架后,应用名/应用英文名将不允许修改; 应用简介、应用描述、应用类目这三个信息在新版本提审时每个自然月可修改 5 次,其他信息在新版本提审时可修改。  

c. 获取小程序 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个工作日),名称即修改成功。


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

若小程序审核未通过,可参见 小程序审核驳回常见类型 进行驳回原因排查,并重新提交审核。

更多审核规范相关信息,可参见:


框架相关

小程序支持 cookie 和 session 吗?

小程序不建议使用 cookie,不支持 session。推荐使用小程序缓存,详情请参考 缓存


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

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


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

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


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

在不调整代码的情况下,可以在后台设置最低基础库版本解决低版本兼容问题。如果钱包版本过低,则钱包会提醒用户升级钱包。

登录 支付宝小程序管理中心,点击 小程序名 > 设置 > 基础设置 > 最低基础库版本,点击 设置 按钮,选择基础库版本进行设置。基础库和钱包版本对比,请参考 基础库版本分布

:推荐使用设置最低基础库版本去解决低版本兼容问题,选择版本时尽量选择用户占比高的版本作为最低版本。



如何调用 page 的 data 参数值?

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


如何设置标题栏/导航栏的透明度?

window 用于设置小程序的状态栏、导航条、标题、窗口背景色等。详细使用方法,请参见 app.json


开发者工具(IDE)

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

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


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

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


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

这通常是 npm 文件路径过长造成的问题。解决方案:在 npm 包管理工具中改用 yarn:tnpm i --by=yarn

yarn.png


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

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