支付宝小程序开发填坑

提示:内容有丢丢长,兄弟姐妹们cmd+f自己动手查查吧

1、contact-button 智能客服原生组件,文字样式自定义,需要将原生组件设置opacity:0;绝对定位覆盖到自定义的标签上
2、1rpx border显示不全的问题,如果自身或父容器设置了margin或者padding为奇数,那么设置的1rpx边框将显示不全,可以测试web h5
3、textarea控件字数计算的问题,请使用原生控件的props字段控制(ui默认),自定义监听onInput计算字数有问题(ui可自定义)
4、小程序页面Page 不支持mixin
5、在调用支付宝小程序jsapi时提示:无权限调用该接口
api请求的地址非https,或者不在request域名请求白名单中
部分ios手机可以,安卓手机不行,请联系产品,找支付宝技术开发反馈
6、sjs 只能导出一个对象
7、showLoading与hideLoading,showToast与hideToast之间的关系
在showToast调用之前,你需要执行hideLoading(如果前面调用了showLoading),如果在showToast之后调用hideLoading,showToast会被覆盖失效
在showLoading调用之前,你需要执行hideToast(如果前面调用了showToast),如果在showLoading之后调用hideToast,showLoading会被覆盖,toast消失后,loading才显示
8、image元素不支持动画
9、setData key可以不需要在 this.data 中预先定义,但最好不要这样做,setData是同步的,与react.js中setState略有不同
10、小程序向h5发送消息的前提是h5先向小程序发送消息,才能收到小程序发送过来的消息
11、分享的图片oss地址不能带t=时间戳,否则分享的时候图片会重新加载
12、分享成功回调,该回调执行存在手机兼容性问题,只要点了微信/qq分享icon就会触发,并不代表用户真实分享成功
13、如果主体小程序使用了分包,目前暂不支持使用插件,插件使用的兼容性代码一定要放在app.js顶部(开头处);插件2.0目前只有支付宝官方才有开发权限,2.0新增了作为组件嵌入到主体小程序,向主体小程序提供js接口的功能
14、分享到微信,qq自动保存的二维码图片及吱口令有效期60天(长期需在后台码管理配置)
15、onShareAppMessage回调是用户点击来分享才触发,因此不能调用接口(异步)获取返回配置信息
16、小程序canvas与web端canvas,小程序canvas不存在区分画布大小与显示大小,样式设置隐藏画布将无内容(需通过父容器height:0;来隐藏),画完必须调用draw方法
17、埋点上报地址不能有端口,否则支付宝官方小程序会中止屏蔽
18、image标签闭合,否则后续view标签内容不显示
19、插件css不能使用标签选择器,如:你不能使用page标签选择器,可以使用页面JSON配置项backgroundColor指定页面背景颜色
20、由于插件没有app.js, 没有存放公共数据入口,所以有些公共的数据需要保持在内存变量中,以供页面间共享数据
21、隐藏小程序返回按钮,my.setBackButton({ color: '#ffffff' }),如果后一个页面返回前一个页面,颜色会重置,需要在onShow中设置
22、使用my.reLaunch关闭所有页面(包含母体小程序,插件页面)
23、支付宝真机模式调试预览页面,页面性能损耗较大,测试过程中动画很卡;普通预览二维码不受影响
24、为什么小程序获取会员基础信息根据 auth_code 获取 access_token 时提示 APPID 无效?开发者获取 auth_code 关联的 APPID 需要在调用换取 token 接口appId的白名单中,如果第一次未配置正确,后续需要解除appId关联的应用授权,然后再尝试
25、showLoading -> 用户初次主动授权弹窗(拒绝) -> hideLoading(失效)
使用setTimeout延时执行hideLoading有效;即:弹窗隐藏过渡动画完成后再执行hideLoading有效;
my.getAuthCode前不允许执行my.showLoading,必须在其后执行
通用解决方法一般是封装一个delayShowLoading方法(延时500ms)
26、插件页面发射一个事件,母体小程序监听事件,并使用my.redirectTo重定向到其他母体小程序页面,该母体小程序页面"pullRefresh": "YES"的配置依赖上一个插件页面的配置pullRefresh
27、小程序开发工具ide如何调试webview页面,点击右上角的4宫格icon,在弹出的面板中点击webview,接着会弹出webview承载的h5页面的控
28、页面设置 transparentTitle: 'always' 在IDE中无效,部分手机(iOS等)真机调试也不能正确显示
29、暂不支持设置标题颜色,在设置了 transparentTitle: 'always' 时,iOS和android 标题栏颜色显示不一样
30、小程序没有 requestAnimationFrame,js 动画只能用 setTimeout 和 setInterval 实现
31、插件暂时没有公共样式文件,重复样式不能抽离
32、小程序无法获取当前使用插件版本,只能插件提供 jsapi 类似方式获取相关信息
33、android 机型,如果通过访问 https 服务端重定向到 alipays:// 拉起支付宝,会留下一个 https 地址白屏(支付宝webview),无解
34、由于 rpx 是按照比例算实际大小,如果字体过小,则字体会出现大小取整偏移,这时候通过 transform-origin 配合 scale 来实现比例基本稳定(参考合同管家模板页)
35、gif 导出、压缩都会导致颜色可能失真,产生色差
36、image 和 canvas 应该始终设置宽高,覆盖默认大小
37、部分组件如 ai-camera 在页面中通过 display: none 来控制隐藏,不要使用 a:if 渲染;比如视频双录中重新录制,取消display:none 即可,否则可能会产生一些组件派发的异常,管理生命周期变得复杂
38、ai-camera 的 stop 事件,即使是手动调用 stopRecord 也会出现,导致监听这个事件变成了无用,支付宝方建议暂时忽略
39、如果是用户手动触发的操作,最好都加上 debounce 防抖,页面重入的可能性很大,代码也要做好幂等处理
40、支付宝小程序内跳转支付宝官方页面,试试这个方法:my.call('startApp', { scheme: 'YOUR_SCHEME' }),这是个特权方法,没有对外公开
41、小程序拉取不到插件,检查订购关系,尝试重启IDE,尝试重新登录IDE
42、IDE 有些莫名其妙的异常,如果确认代码正确,经常是缓存问题,清除缓存,最好重启IDE
43、给小程序scheme添加参数要分清跟 appid 同级还是属于某页面的query,参数值最好一律 encodeURIComponent(),避免不规范的 format 解析
44、小程序中 RPC 接口无法抓包,且不在小程序开发调试工具输出,需要控制台输出或者联系支付宝方
45、android 控制台没有输出,无法查看页面节点和当前数据;目前只能iOS,后续可能修复
46、支付宝小程序IDE小程序集成插件,插件无法登陆(获取auth_code是母体小程序的,跟插件appid 不对应)

你可能感兴趣的:(支付宝小程序开发填坑)