记录开发淘宝商家应用(小程序)踩的坑

此篇随着我开发中遇到的问题累计更新

授权

  • 所有的云函数调用,必须要先在项目入口授权,不然云函数调用无效

获取用户信息流程

// 获取openId
let getOpenId = async (option) => {
  let res = await cloud.topApi.invoke({
    api: "taobao.miniapp.userInfo.get",
    authScope: "scope.userInfo"
  });
  let info = res.result.model;
  return info;
};

事件

  • ios系统的tap类型事件触发有延迟,也就是一秒内最多触发3下左右,两只手点就不会有问题。其中包括onTap onTouchStart

配置

app.json中的 window

  • defaultTitle (安卓不显示标题,ios显示)(已修复)
  • transparentTitle (提交工单回复说 “always” 无效, 请使用 “auto”, 经过我测试这两个都在真机上面无效,谨慎使用)
  • transparentTitle 在二级页面不展示标题问题,navigationBarForceEnable 在app.json中把这个设置为true

组件

swiper

tips: 如果你想设置swiper的宽高,请尽量在acss中加上 !important 否则很可能会失效,至少我的就是这样

  • 全屏swiper,在第一张滑动到最后一张时 以及 最后一张滑动到第一张的时候滑的很快的话 会闪白,如果滑动的时候点击,会卡住,会整个swiper-item都会消失,只有背景展示。
  • 为了避免这种问题,尽量把 circular 设置为 false
  • 文档里面的必填是假的,有些可以不填

API

my.chooseImage

  • 拍照或者从相册中选择图片
  • 安卓手机会在选择图片后默认拉起一个裁剪页面,如果不需要这个页面的话,要在调用里面配置一个参数
  • isClipped: false

my.createInnerAudioContext

  • 这个api是用来创建音频的
  • 使用这个要注意,在有音效和背景音乐的需求时,最好是去掉音效这个需求,因为在真机中只能允许一个音频播放,也就是说触发音效时,背景音乐会停止播放
  • 它的src 属性值必须是 https 或 http 协议的远程资源,本地资源不行
  • 域名限制 如小程序云存储域名、.alicdn.com 、.aliimg.com 、 *.taobao.com 、 *.aliyun.com, 如果你购买了阿里云oss 可以把资源放在阿里云oss上面引用,如果没有阿里 oss,可以放在云存储上面,请看下一条。

canvas

  • canvas同层渲染不能用,在app.json中配置"enableSkia":“true”,会导致canvas无法渲染
  • canvas绘制要执行ctx.draw()函数
  • 如果要绘制和导出在同一时刻,要把绘制方法卸载draw的回调函数内。文档

云开发

上传资源到云存储

使用云存储的资源

  • 如果你想在云存储中引用资源来作为src使用,那么你会发现无效,因为云存储中的不是https 协议
let urls = await cloud.file.getTempFileURL({  
   fileId: ['cloud://xxx1', 'cloud://xxx2']  
})
  • 这个api 可以通过云存储域名解析得到https 或 http 的url资源
  • 文档链接:点我

需求

  • 如果你想让你的页面全屏展示,请在全局的acss中给page加上
    tips: 尽量不要在最外层容器用absolute,因为我在项目中遇到ios系统定位不准的情况,导致页面底部会有空白
  width: 100%;
  height: 100%;
  position: fixed;

开放能力

  • 如果你想使用Pixi来开发淘宝小游戏,淘宝对pixi的支持并不好,所以建议不要使用
  • 如果你想使用three.js 来开发3D 小程序,不建议使用

各位看官,有遇到什么坑可以留言,或者有什么解决发案,以及我说的有什么错误的都可以留言,谢谢各位。

第一次更新时间: 2020/07/27
第二次更新时间: 2020/09/07
第三次更新时间: 2020/09/24

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值