小程序常见问题汇总

来自    小程序 | 
作者:爱丽丝  |  更新于:2018-05-15 11:54:06     

Q:上线小程序如何修改小程序名称  
A: 未上架的小程序,可以在提交审核的时候填写正确的信息,在审核通过后信息即可变更; 如果已上架过的小程序,则部分内容可以在提交审核的时候更新即可,小程序名称的修改则需要联系0571-88158090进行修改,并提交新版本后才能变更为新名字。详细请看小程序提审、发布与修改  

Q:小程序版本切换不到最新版本(无法切换版本)  
A: 一般情况下不存在该现象,若出现建议先清除支付宝的缓存,再重新打开小程序。 

Q:小程序的分享功能分享后无法跳转  
A: 请按以下步骤检查: 
1、检查页面是否存在; 
2、检查分享的路径是否正确或存在;  

Q:调用收货地址的接口报错找不到对应的service  
A: 权限未开通,此功能定向开放,需和对接的业务BD申请开通此能力,若无对接的业务BD,可以去小程序社区发帖申请,我们会有对口的小二来协助能力申请;  

Q:小程序如何在首页文字前设置空格  
A:目前不支持空格,建议可以使用内边距,用view包裹起来实现  

Q:在扫描小程序体验二维码时,扫码后提示:暂无此功能;  
A: 因为是扫码账号不是体验人员,建议把支付宝账号添加为体验人员。详细可见小程序文档的体验版测试章节。   

Q:image组件中catchTap怎么用不了 
A:image组件没有catcTap事件,需要使用view在image组件外层包裹,使用view的catchTap方法来实现image的点击事件。 

Q:红色下划线依然存在 
A: 若代码末尾还有很短的红色波浪线,请在开发者工具-设置-设置,里把ESLint关掉。  

Q:开发工具IDE支持双开吗? 
A:不支持,请不要双开,避免两个项目代码丢失或日志混乱。  

Q:小程序下架后,名字会占用吗? 
A:不会占用。  

Q:我的类里面,新建一个方法,在另一个js引用/总提示“not a function”错误。 
A:写在export或者export default 里面,然后使用import在相关页面js文件引用。正确代码写法: 
A.js 
[code brush:js;toolbar:false;]export default{ zfb(){ my.alert({ title: 'asdjasklj', // alert 框的标题 success: (res) => { }, }); } };[/code] 
B.js 
[code brush:js;toolbar:false;]import {zfb} from './xxx/A';//引用[/code]  

Q:苹果机datePicker的bug、苹果真机使用datePicker做日期选择时,选项中没用年份,而且选中的时间也不对。 
A:这是IOS自带控件的样式;解决方案:日期和时间分开设置。 

Q:如何开通小程序?怎么申请小程序? 
A:在开放平台-开发者中心-我的应用-小程序中,创建小程序即可。 

Q:我需要什么技能才能开发小程序/支付宝小程序支持的语言 
A:熟悉ECMAScript 6,对react有一定基础或了解。 

Q:我想使用小程序的支付功能/如何申请小程序支付权限/小程序能如何开通支付 
A:在开放平台-开发者中心-我的应用-小程序-小程序详情-开发管理-功能列表中,添加功能【APP支付】,并签约成功APP支付即可使用小程序的支付功能。 

Q:我已经签约了APP支付,可以使用小程序的支付功能吗? 
A:无需再签约,只需要在开放平台-开发者中心-我的应用-小程序-小程序详情-开发管理-功能列表中,添加功能【APP支付】即可使用。 

Q:小程序中怎么调用支付 
A:需要在开放平台-开发者中心-我的应用-小程序-小程序详情-开发管理-功能列表中,添加功能【APP支付】。还需要签约APP支付点击功能列表右侧“立即签约”,签约成功后,状态置为“已生效”。这两个步骤完成后,就可以拥有调用APP支付的权限。 接着编写APP支付的代码—— 第一步:在服务端编写请求的信息,包括对请求信息做签名 第二步:在客户端(IDE)的JS文件中使用my.tradePay的API接口来唤起支付 具体请查看小程序接入支付文档。

 Q:收款账号是否可以不是小程序的账号? 
A:不可以。收款账号仅支持小程序APPID对应的支付宝账号来设置。 

Q:小程序是否支持第三方授权支付 
A:不支持。 

Q:小程序如何获取用户信息 
A:如果只是在客户端上做展示用,则使用my.getAuthCode、my.getAuthUserInfo函数即可拿到用户昵称与用户头像。 如果需要把信息存储到数据库中,则需要: 
第一步:调用API:my.getAuthCode,获取authcode; 
第二步:调用API:my.httpRequest,连接您自己的服务器; 
第三步:在您的服务端,调用开放平台接口alipay.system.oauth.token,用authcode换取token; 
第四步:在您的服务端拿到token后,继续调用开放平台接口alipay.user.info.share,用token换取用户信息。 第五步:把处理成功的结果反馈回API中,并在小程序中展示。 具体请看小程序文档获取会员信息。 

Q:如何正常获取userinfo/token|获取userinfo/token报错/失败|获取不到userinfo/token/用户信息/会员信息/支付宝会员信息 
A:请按照以下步骤进行检查: 
1、 检查是否添加功能【获取会员信息】 
2、 检查接口是否使用的是alipay.user.info.share 
3、 检查scopes: 'auth_user', 
4、 您的签名是否正确?签名检查有以下几点: 
1、检查网关地址是生产环境还是沙箱环境,必须使用与之匹配的app_id与私钥; 
2、检查编码类型是否正确; 
3、检查私钥与开放平台上传的应用公钥是否匹配; 
4、检查代码中私钥格式是否正确,私钥是否为一行; 
5、检查签名类型(sign_type)设置是否正确。如果不传入sign_type参数,默认RSA类型; 
6、检查生成的待签名串是否符合要求:去掉值为空的参数,所有参数是否按照字母升序排序。 
7、检查签名之后是否对所有参数值做了url encode操作才发起请求。 更多详见:签名验签自助排查说明 

Q:体验版能发布吗 
A:不能直接发布,需要先取消体验版,再提交审核,审核通过后,操作上架才能发布完成。

Q:怎么邀请别人使用体验版/如何设置体验人员 
A:开放平台-开发者中心-我的应用-小程序-小程序详情-成员设置-体验成员,点击添加,输入体验人员或被邀请体验的人员的支付宝账号,点击确定后,即可发送邀请。被邀请的体验人员需要打开支付宝手机客户端,在【朋友】选项卡的【消息中心】中查看,并选择【确认】成为该小程序的体验成员。此时,体验人员就可以使用支付宝手机客户端扫一扫功能,扫描体验版小程序二维码来使用体验版小程序。 

Q:小程序体验版是什么?体验版小程序是什么?体验版小程序作用是什么? 
A:体验版小程序是处于支付宝正式环境下却没有对外公开的一种小程序。它的作用是方便开发完成后未发布前,这段期间进行测试联调。体验版小程序无需提交发布审核,任何一个小程序都可以设置为体验版,但每个小程序只允许一个版本设置为体验版。 

Q:如何设置小程序体验版 
A:需要先在IDE工具中成功打包上传一个小程序,再在开放平台-开发者中心-我的应用-小程序-小程序详情中,选择要设置为体验版的某个版本的小程序。 

Q:小程序里如何在本地缓存保存图片 
A:小程序暂时不支持本地存储图片的功能,建议上传至服务器存储图片。需要用到的API是:my.uploadFile。

Q:哪些API需要网络 
A:地图,下拉刷新,保存在线图片到手机相册接口,网络接口,支付,授权等涉及到联网才能完成处理的接口。 

Q:页面跳转空白的问题 
A:原因有以下几种: 
1. 小程序最大支持4个页面层级,不能超过5个。 
2. 跳转的地址路径或命名等错误,使之找不到该文件 
3. 跳转到非小程序页面,小程序只允许跳转小程序页面; 
4. httpRequest接口请求域名白名单未设置或设置不全或错误,该设置在开放平台-开发者中心-我的应用-小程序-小程序详情-设置。 

Q:如何连接商户服务器做到数据上传下载 
A:使用my.httpRequest接口来进行数据传输,请参见:小程序API文档网络章节。 

Q:this.data无法修改data ?page()中无法修改data? 
A:在page()函数中直接修改this.data是无效的,无法改变页面的状态,若要修改data请使用this.setData()。具体请参见:Page.prototype.setData()。 

Q:为什么在JS文件中无法使用window、document、jQuery、Zepto? 
A:由于框架并非运行在浏览器中,所以 JavaScript 在 web 中一些能力都无法使用,如 document、window、jQuery、Zepto等。 

Q:样式表支持级联选择器吗? 
A:不支持。建议使用以.开始的类选择器或标签选择器。

Q:如何修改窗口的背景色 
A:请在acss文件的Page{}根元素中设置。 

Q:为什么 map 组件总是在最上层 
A:map是由客户端创建的原生组件,原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上。 原生组件暂时还无法放在 scroll-view 上,也无法对原生组件设置 css 动画。 

Q:input下划线不能自定义修改,怎么才能去掉下划线? 
A:您好,小程序开发者工具0.8.4版本已修改input组件,样式全都需要自定义。 

Q:文章中的image,如果想单击后浏览图片,可以放大缩小之类,有没有相关接口? 
A:您好,您可以使用图片预览接口来实现。   

Q:支付宝小程序有拨打电话和发送email的方法吗? 
A:可以拨打电话,暂不支持发送email。API是:my.makePhoneCall。 

Q:iPad好像无法预览小程序?/真机调试小程序是否支持IPAD/ipad是否支持预览小程序? 
A:支持iPad预览,只要能装支付宝客户端的都支持预览。 

Q:我在一台机器上同时开发支付宝小程序和服务器程序,请问支付宝小程序在开发时怎么访问我本机的服务器呢?用localhost还是开发机器的IP地址? 
A:目前服务器必须使用域名,需要在开放平台-开发者中心-我的应用-小程序-小程序详情-开发管理-设置中添加httpRequest域名白名单,不支持本地调试。 

Q:小程序因版本升级重新发布后之前制作的二维码会不会变? 
A:不会改变,之前的二维码还是可以使用。 

Q:支付宝小程序可以一个账号上传多个小程序吗? 
A:一个appid对应一个小程序。 

Q:支付宝小程序现在支持将图片保存到相册吗? 
A:支持保存图片到相册,API是:my.saveImage。 

Q:小程序发布新版本,老用户本地缓存会被清理掉? 
A:不会被清理掉。 

Q:生活号绑定小程序后,小程序能否跳转到生活号其中的一个页面? 
A:暂时不支持。

Q:模拟鼠标消失 
A:请检查您的显卡,请打开控制面板->鼠标->指针与轨迹,开启鼠标轨迹,就可以显示了。 

Q:小程序是否能支持iFrame嵌套 
A:不支持。 

Q:多名开发者开发一个小程序如何实现代码共享。 
A:请使用svn 或者 git 等代码管理工具。 

Q:小程序与小程序之间可不可跳转? 
A:暂时不支持。 

Q:小程序能否支持启动第三方APP打开文件? 
A:不支持调用第三方app打开文件。 

Q:小程序中image的格式支持哪些? 
A:小程序支持的格式没有特殊限制,因此与web中所支持的一致。

Q:开发时删错了文件怎么恢复? 
A:暂时不支持恢复。因此请慎重操作删除。 

Q:小程序默认样式都是居中怎么解决? 
A:请使用CSS来解决,推荐通过搜索引擎搜索下答案。 

Q:ES6是否向下兼容? 
A:是向下兼容的。 

Q:小程序新版本发布后,老用户会得到已更新提醒吗?用户需要更新小程序版本吗? 
A:
情况一:如果老用户正在使用中,或者小程序还在后台运行状态,此时不会提醒更新,也不会更新。 
情况二:若用户还没有进入小程序且也没有后台运行状态,那么用户进入小程序时会同步去更新小程序,保证进入的是最新版的小程序。 

 Q:小程序版本如何更新。 
A:重新打包上传新版本,提交审核,审核通过,把已上架的版本改为待上架,把新版本设置为已上架。 

Q:我上传的版本/代码我想下载,请告知还能下载吗?/已上传版本是否可以下载 
A:不支持下载。请妥善保存您本地项目文件。 

Q:小程序可以获得设备MAC地址吗/小程序如何获取设备MAC地址 
A:不可以获取。 

Q:小程序打包上传的包支持多大/小程序包容量多大 
A:最大3M。 

Q:显示不出来细线 
A:在部分机型,如:小屏幕的手机,会出现细线显示不出来的情况,建议把CSS样式上的细线像素改粗点,如:1px改为1.5px。 

Q:样式里的图片是否可以使用外链? 
A:支持外链,但需要加入httpRequst白名单。 

Q:新加了一个开发成员后,无法打开小程序。 
A:真机预览生成好了二维码后,再加开发成员的话,需要在IDE里重新推送,生成新的二维码。 

Q:redirectTo页面跳转后,title没有改变。 
A:需要在onload函数中,设置setTitleBar来设置标题。

Q:我们从H5页面跳转的小程序的时候,需要带一个参数,这个参数怎么传递?
A:跳转方法:alipay://platformapi/startApp?appId=xxx&page=x/yz &query=number%3D1,query内的内容按照格式为参数名=参数值&参数名=参数值… 之后encode。 

Q:如何接收链接里的自定义参数 
A:App() 里面onLanch(query),query即为alipays://platformapi/startapp?appId=xxx&page=x/yz&query=xx%3dxx里的自定义参数集合,query内的内容按照格式为参数名=参数值&参数名=参数值… 之后encode。代码示例: [code brush:js;toolbar:false;]App({ onLaunch(query) { my.alert({ title: 'ceshi', // alert 框的标题 content:JSON.stringify(query), });}})[/code] 

Q:JS文件import的路径写法 
A:绝对路径写法是/开头,如:/pages/index;相对路径写法是./开头,如:./../pages/index。  

Q:hidden属性只有view有用,别的标签是无效的吗? 
A:是的,一般就用view包起来。 

Q:1rpx画的线条在5S上不展示、手机分辨率越高线条越粗 
A:rpx线条跟手机分辨率有关,建议使用3rpx。 

Q:页面title能不能修改字体颜色,我们现在背景色是白色的,ios上面字体默认也是白色,所以看不到title,请问怎么设置呢? 
A:目前没有修改字体颜色的方法,先通过修改背景色来匹配。 

Q:不用上线就可以测试query的那个功能,是怎么调用的? 
A:IDE右下角Query功能。以key=value的形式设置测试的参数。 

Q:小程序里边可以直接跳转到蚂蚁保险某个产品页面吗? 
A:目前不支持。小程序不支持外跳到其他H5页面,也不支持跳到支付宝端内的某个应用,目前已支持跳支付宝手机客户端应用的有扫一扫。 

Q:scroll-view设定的高度一定要具体的值,不能用百分比吗? 
A:不能百分比,需要使用具体的高度值,建议结合API:my.getSystemInfo获取手机屏幕高度。 

Q:下拉刷新可以设置时间吗?数据出来了它还一直的在转 
A:可以使用停止下拉刷新API:my.stopPullDownRefresh来停止。 

Q:哪里可以看到小程序压缩上传之后的大小?有点担心超出大小限制 
A:在您上传的时候,如果超过大小,编译就会报错。目前最大支持2M。 

Q:navgationback可以传递数据回来吗?比如添加一个信息告诉前个页面 要不要刷新 
A:目前小程序不支持(解决方案:在app全局写个字段告诉前个页面要不要刷新,类似vue里面的那种全局的store)。 

Q:为什么在小程序的功能列表里面找不到转账功能添加? 
A:小程序目前没有提供转账的功能。 

Q:axml里面{{}}这种取值,在里面可以写简单的运算,那方法可以调用吗?比如想对一些值做对应格式化处理或者进行映射 
A:目前不支持。 

Q:在小程序中,是否可以打开支付宝的H5页面? 
A:小程序不支持外跳到其他H5页面,也不支持跳到支付宝端内的某个应用,目前已支持跳支付宝手机客户端应用的有扫一扫。 

Q:怎么能知道我的系统是安卓,还是ios呢,通过navigator.userAgent? 
A:使用my.getSystemInfo返回的model来判断。 

Q:可以关闭右上角的分享,单独由界面其它按钮触发分享么? 
A:目前小程序的分享功能仅支持在page({onShareAppMessage(){},})中使用,暂不支持单独的按钮来触发。 

Q:分享return的属性path,是不是就是用户点击分享之后会跳转的页面? 
A:是的,是用户点您分享出去后的跳转的页面 

Q:右上角的分享按钮是一直都有,还是定义了onShareAppMessage方法才会有? 
A:是的,还需要return 一个 Object,用于自定义分享内容。具体请查看文档。 

Q:checkbox的checked设了false之后,还是勾选状态 
A:请检查是否按照checked={{false}}方式写的,如果不加括号会识别成字符串。。 


Q:怎么做到别的页面跳转到tabBar配置中的页面仍能显示tab栏? 
A:使用 my.switchTab来跳转到tabBar页 

Q:小程序的headers里面可以加自己定义的参数吗 
A:可以, 修改了headers后会先发一个OPTIONS嗅探,服务端要做兼容。但推荐还是把自定义参数放在请求参数data中。 

Q:load ---> ready ---> show生命周期是这么走的对么? 
A:是的。 

Q:支付宝小程序有没有获取用户唯一标示的接口? 
A:支持,具体请看获取会员信息。 

Q:图片使用 aspectFit 模式时不是水平和垂直居中(设置 image 元素宽高各 100px,但是图片本身是宽100、长50,这时候图片会靠在 image 元素顶部显示/垂直方向不是居中显示/水平方向也一样) 
A:您检查下属性mode="aspectFit "写的时候会不会多了空格之类的。 

Q:label 元素不会触发绑定的 onTap 事件? 
A:label没有ontap事件。 

Q:你们有没有官方一整套较详细申请上线流程 
A:请查阅论坛置顶帖子小程序完整上线流程。 

Q<input name="txtMsg" type="text" value="{{sendTextVa}}" placeholder="请输入" />&lt;/input /&gt; that.setData({ sendTextVa:''});我想清空input控件的value 但是这样写不起作用 
A:data的数据修改的时候会判断数据有没有改变,没改变是不会做修改的。 

Q:设置域名白名单的域名能写成IP地址吗? 
A:不支持。

Q小程序是否只支持支付宝原生支付接口? 
A不支持。支付需要服务器端配合完成。具体请查看接入支付。 

Q是否支持引入Ping++这类支付接口? 
A不支持。具体请查阅接入支付文档。 

爱丽丝 | 2018-05-15 11:56:51

Q地图有周边功能的相关接口吗? 
A不支持该功能;建议后端用百度或者高德地图获取到信息,然后传到小程序实现。 

Q设置tabBar的时候有什么需要注意吗? 
A设置tabBar时必须包含首页index;路径地址需要正确无误。

Q: 小程序可以生成带参的二维码吗? 
A小程序支持两种带参二维码。 一种是小程序专用二维码&mdash;&mdash; 小程序码,这种码在支付宝开放平台开发者中心的码管理中,最多可以设置19个带参数的。若想要设置更多数量的动态二维码则需要用到alipay.open.app.qrcode.create小程序生成推广二维码接口。 第二种是普通二维码&mdash;&mdash; 关联普通二维码,这种码可以在支付宝开放平台开发者中心的码管理的关联普通二维码设置中,进行规则匹配设置。设置好以后,商户自定义的一个H5链接生成的二维码,在支付宝手机客户端扫码的情况下,就会自动跳转至支付宝小程序。 

Q请问我可以在axml中用app.js中定义的变量吗? 
AgetApp()在需要引用页面的js中获取,用js转换后运用到axml中。 

Q有没有关闭所以页面打开新页面函数? 
A在非tabbar的情况下,目前不支持该功能。如果是在tabbar的情况下,则请使用my.switchTab 

Q小程序能实现查看pdf文件吗? 
A目前暂时不支持PDF文件的查看。 

Q小程序里面有类似js里面的setTimeout 的功能吗? 
A 小程序支持setTimeout 。  

Q:小程序的canvas支持流行绘图库吗? 
A:目前支付宝小程序canvas兼容html5的canvas,但是如果需要引入绘图库,需要自行适配。 

Q:支付宝小程序的名字是否允许重复命名? 
A:不可以。  

Q:小程序能否载入游戏? 
A:不能,具体规则请参考:小程序运营规范 

Q:支付宝小程序是否有必需打开GPS定位才能连接蓝牙的限制? 
A:android6.0以上是有这个限制的,必须有定位权限才能连蓝牙。  

Q:请问我们在Map组件中加了callout属性,真机一直闪退,是为什么呢 
A:这样写callout:{content: &lsquo;xxxx&rsquo;},真机的时候点击markers才显示。  

Q:预览图片api my.previewImage,在调试的过程中发现预览不了手机本地的图片。 
A:可以通过my.chooseImage选择之后让my.previewImage预览。  

Q:现在审核通过了,但是就只有一个灰度测试和退回开发按钮,没有上线按钮? 
A:审核通过后,需要先到灰度阶段,再上架。灰度测试可以选择人群选择比例,比例达到100%之后完成上线,能减小或避免全量上线的风险。  

Q:上架之后不能再修改灰度比例了吗? 
A:灰度期间可以修改比例,当灰度100%,也就是完全上架的意思,因此上架后不能回滚到灰度版本。。  

Q:扫码功能可以同时支持条码和二维码吗? 
A:支持,但建议不要混合扫,因为扫码框不符。  

Q:acss支持属性选择器吗? 
A:不支持。  

Q:官方小程序Demo有没有源码,开始学习支付宝小程序的可以以此小程序练习? 
A:请打开IDE 点击&rdquo;新建&rdquo;,新建一个&ldquo;组件/API DEMO&rdquo;这就是提供的官方小程序Demo。  

Q:问一下支付宝小程序有没有获取用户唯一标示的接口? 
A:可以使用小程序的用户信息授权api,my.getAuthCode,参考文档  

Q:scroll-view 是否支持animation动画? 
A:scroll-view 不支持animation动画。 
 
Q:onShareAppMessage是右上角菜单中的分享按钮,那右上角的关于按钮的事件是什么? 
A:目前没有提供。  

Q:radio标签组件如果更改大小的话就会走样 。 
A:不支持更改。  

Q:为什么我(自研开发者)的管理中心,我的应用没有小程序入口。 
A:需要先申请公测,建议参考文档。  

Q:接入第三方地图API,使用js方式么? 如何接入呢? 
A:不支持第三方接入。  

Q:父标签加上vertical-align: middle样式和 line-height:父元素高度,子元素图片没有和单行文字对齐 
A:图片和文字对齐要在图片上面设置vertical-align: middle。  

Q:有长按的事件触发吗?axml里 onTap可以触发单击事件,有长按事件触发的接口么? 
A:view的onLongTap来实现长按事件,button的hover-start-time属性来实现。  

Q:小程序能支持扫描一维码或二维码吗? 
A:支持的。my.scan文档参考  

Q:代码编辑区怎么编辑 
A:可以参考关于IDE开发工具的文档  

Q:怎么获取系统当前日期时间呢? 
A:使用new Date()就可以获取到当前时间。但需要注意时间类型,避免类型混乱导致页面异常。  

Q:小程序怎么设置tabBar页面? 
A:在app.json 里设置tabBar属性配置,参考文档。  

Q:小程序只能在app.json设置tabBar吗?单个页面json里面目前无效吗? 
A:是的,所有的页面跳转设置tabBar都在app.json里配置。    

Q不要修改page.data 
A如果直接修改 page.data,例如 Page({ data: { arr:[] }, doIt() { this.data.arr.push(1); this.setData({arr: this.data.arr}); } }); 由于 data 为对象时为所有页面共享,因此如果该页面 back 后再次进入则显示为上一次的数据 可以使用不可变数据或者变更 data 为页面独有 不可变数据 Page({ data: { arr:[] }, doIt() { this.setData({arr: [...this.data.arr, 1]}); }, }); 页面独有数据(不推荐) Page({ data() { return { arr:[] }; }, doIt() { this.data.arr.push(1); this.setData({arr: this.data.arr}); } });</p>

回复数
  1
阅读数
  193

返回顶部