开发字节抖音小程序踩坑记

简介: 用uni-app开发多端应用,之前打包的微x小程序好好的,打包成字节的就各种兼容问题,UI框架用的uView的1.x版本,也是各种兼容问题

用uni-app开发多端应用,之前打包的微x小程序好好的,打包成字节的就各种兼容问题,UI框架用的uView的1.x版本,也是各种兼容问题:

一、上传图片上传不了

上传图片用 uni.chooseImage 选中图片后,得到的本地临时路径是个这样的:

ttfile://temp/ab790db96c9b65cb54685c7d99c4d847.jpeg
![1.png](https://ucc.alicdn.com/pic/developer-ecology/gtcdk4vwdwrj4_1895f80272b74492b23f82ee9d062591.png)

直接用这个路径通过 uni.uploadFile 接口上传,会上传不了
解决办法:要用 uni.compressImage 这个压缩图片的接口去压缩下,再用获取到的路径去上传就可以了:

ttfile://temp/tempCompressImg1642681468739.jpg
![2.png](https://ucc.alicdn.com/pic/developer-ecology/gtcdk4vwdwrj4_0367aadbaf8b4d0ab98dc4184332ef51.png)

对比了下两次获取到的本地路径就中间的文件名部分不一样,微x小程序就没这个问题

二、用web-view展示pdf文件在安卓上不显示

页面用web-view来展示pdf文件,在ios和开发工具里都没问题,但在安卓手机上页面打开成功一直显示空白,解决方案先用 uni.downloadFile 下载下来文件,在通过 uni.openDocument 打开文档,但是安卓真机上打开依然只显示一个pdf文件名,需要自己再点一下通过wps之类的其他第三方应用打开
3.jpg

三、子组件传递事件$emit里的事件名不能加“-”

子组件像父组件传递事件时,事件名里加了横杠“-”编译之后事件都是无效的,像下面这样的:this.$emit('on-pick', info),要改成 this.$emit('onpick', info) 才有用

四、子组件里多个slot编译无效

自己封装的组件里有多个 slot 的都编译不出来,uview的很多组件也一样有问题

五、勾选了es6转es5,lodash里用到的函数报错

一般我们都会勾选上es6转es5,页面里如果有用到 lodash库里防抖节流函数 debounce、throttle会直接报错,如果不转则没问题

六、安卓小程序点击空白让输入框键盘收起会触发2次页面的点击事件

有个页面正好有用到输入框和uview的步进器,先点击输入框获取焦点同时键盘弹出,如果此时正好直接去点步进器的 + 或 - 会直接加减2
解决办法:设置个变量去禁掉步进器 disabled,输入框获取焦点focus事件里去设置disabled=true,burl事件里用个定时器设置disabled=false,这样用户要自己先点一下空白收起键盘后,才能点击步进器

七、uni.getEnv方法字节小程序不支持

小程序里web-view可以直接用uni.navigateTo之类的接口跳回小程序或者和小程序通信,单需要在网页里引入对应平台提供的通信sdk文件,像获取环境信息的 uni.getEnv 方法字节小程序里是不支持的

八、uni-app打包优化

uni-app打包一般会根据环境变量来自动设置接口域名,但是uni只有生产模式production才会压缩代码,有时我们开发、测试环境也需要真机上预览,如果不压缩代码有时会提示包超除大小限制(一般主包限制2M)
解决方案:通过默认的 NODE_ENV 命令行变量去让打包生产模式,自己再额外加一个VUE_APP_ENV变量来判断接口地址,如下面这样的命令:
"build:mp-toutiao-dev": "cross-env VUE_APP_ENV=development NODE_ENV=production UNI_PLATFORM=mp-toutiao vue-cli-service uni-build --minimize --watch"

九、获取用户手机号授权需提前申请

抖音小程序获取用户手机号的api需要企业主体,而且要先申请审核通过了才可以用

目录
相关文章
|
29天前
|
人工智能 小程序
【一步步开发AI运动小程序】十五、AI运动识别中,如何判断人体站位的远近?
【云智AI运动识别小程序插件】提供人体、运动及姿态检测的AI能力,无需后台支持,具有快速、体验好、易集成等特点。本文介绍如何利用插件判断人体与摄像头的远近,确保人体图像在帧内的比例适中,以优化识别效果。通过`whole`检测规则,分别实现人体过近和过远的判断,并给出相应示例代码。
|
10天前
|
开发框架 小程序 前端开发
圈子社交app前端+后端源码,uniapp社交兴趣圈子开发,框架php圈子小程序安装搭建
本文介绍了圈子社交APP的源码获取、分析与定制,PHP实现的圈子框架设计及代码编写,以及圈子小程序的安装搭建。涵盖环境配置、数据库设计、前后端开发与接口对接等内容,确保平台的安全性、性能和功能完整性。通过详细指导,帮助开发者快速搭建稳定可靠的圈子社交平台。
110 18
|
28天前
|
人工智能 小程序 UED
【一步步开发AI运动小程序】十六、AI运动识别中,如何判断人体站位?
【云智AI运动识别小程序插件】提供人体、运动及姿态检测的AI能力,本地引擎无需后台支持,具备快速、体验好、易集成等优势。本文介绍如何利用插件的`camera-view`功能,通过检测人体站位视角(前、后、左、右),确保运动时的最佳识别率和用户体验。代码示例展示了如何实现视角检查,确保用户正或背对摄像头,为后续运动检测打下基础。
|
23天前
|
人工智能 小程序 API
【一步步开发AI运动小程序】十七、如何识别用户上传视频中的人体、运动、动作、姿态?
【云智AI运动识别小程序插件】提供人体、运动、姿态检测的AI能力,支持本地原生识别,无需后台服务,具有速度快、体验好、易集成等优点。本文介绍如何使用该插件实现用户上传视频的运动识别,包括视频解码抽帧和人体识别的实现方法。
|
1月前
|
人工智能 小程序 API
【一步步开发AI运动小程序】十三、自定义一个运动分析器,实现计时计数02
本文介绍如何利用“云智AI运动识别小程序插件”开发AI运动小程序,详细解析了俯卧撑动作的检测规则构建与执行流程,涵盖卧撑和撑卧两个姿态的识别规则,以及如何通过继承`sports.SportBase`类实现运动分析器,适用于小程序开发者。
|
1月前
|
人工智能 小程序 API
【一步步开发AI运动小程序】十二、自定义一个运动分析器,实现计时计数01
随着AI技术的发展,AI运动APP如雨后春笋般涌现,如“乐动力”、“天天跳绳”等,推动了云上运动会、线上健身等热潮。本文将指导你从零开始开发一个AI运动小程序,利用“云智AI运动识别小程序插件”,介绍运动识别原理、计量方式及运动分析器基类的使用,帮助你在小程序中实现运动计时和计数功能。下篇将继续探讨运动姿态检测规则的编写。
|
24天前
|
人工智能 小程序 数据处理
uni-app开发AI康复锻炼小程序,帮助肢体受伤患者康复!
近期,多家康复机构咨询AI运动识别插件是否适用于肢力运动受限患者的康复锻炼。本文介绍该插件在康复锻炼中的应用场景,包括康复运动指导、运动记录、恢复程度记录及过程监测。插件集成了人体检测、姿态识别等功能,支持微信小程序平台,使用便捷,安全可靠,帮助康复治疗更加高效精准。
|
1月前
|
数据采集 人工智能 小程序
【一步步开发AI运动小程序】十、姿态动作相似度比较
本文介绍如何利用“云智AI运动识别小程序插件”开发AI运动小程序,重点讲解姿态动作相似度比较功能的运用,包括样本动作帧的采集和姿态相似度的计算方法,以及在组合运动中的应用实例。
|
30天前
|
人工智能 小程序 JavaScript
【一步步开发AI运动小程序】十四、主包超出2M大小限制,如何将插件分包发布?
本文介绍了如何从零开始开发一个AI运动小程序,重点讲解了通过分包技术解决程序包超过2M限制的问题。详细步骤包括在uni-app中创建分包、配置`manifest.json`和`pages.json`文件,并提供了分包前后代码大小对比,帮助开发者高效实现AI运动功能。
|
1月前
|
人工智能 小程序 开发者
【一步步开发AI运动小程序】十一、人体关键点跳跃追踪
本文介绍如何利用“云智AI运动识别小程序插件”开发AI运动小程序,涵盖云上运动会、健身打卡等热门应用场景。通过示例代码展示如何调用插件功能,实现动作追踪与分析,助力开发者快速上手。
下一篇
开通oss服务