一、背景 需求是,每个播放视频的地方都有控制是否静音的按钮,点某一个静音则全局静音。 问题:由于我的每个小卡片都是一个组件,本质是每个页面引几次同一个组件,刚开始用的setData,但是这样每个卡片中的数据都是经过深拷贝而独立的,所以点击某个按钮只会改变所在视频的声音状态。 引申问题:也试过用app.globalData,这样只是在不同的页面有效,同一个页面多个组件还是无效。二、解决办法 在小程序中,常常有些数据需要在几个页面或组件中共享。使用MobX来管理小程序的跨页面数据, 其实类似于vuex的store。使用方法:1.在小程序中引入MobX 方法一:直接
项目场景:在使用wx小程序原生,云开发模板,aap.json中配置tabTar,报错 miniprogram/app.json文件内容错误]miniprogram/app.json:["tabBar"]["list"][0]["iconPath"]:"icon/deploy_step1.png问题描述再projection.config.json中配置miniProjection:"miniprogram/",后在tabBar中添加图片路径报错,试过了很多方法。[miniprogram/app.json文件内容错误]miniprogram/app.json:["tabBar"]["list"]
小程序分类:uni-appqq小程序支付宝小程序百度小程序钉钉小程序微信小程序小程序转成uni_app小程序转为uni_app小程序转uni_app小程序转换工具现在支持npm全局库、HBuilderX插件两种方式使用,任君选择,HBuilderX插件地址:https://ext.dcloud.net.cn/plugin?id=2656一、它是谁?【miniprogram-to-uniapp】转换微信小程序”项目为uni-app项目(新版本工具已经支持各种小程序转换)。二、它的原理是什么?最初是学了半节课堆和栈,觉得词法分析挺有意思的,再加上转换小程序插件时,发现这些繁琐的操作完全可以使用程序
1、工作过程Lottie:设计师使用AE设计好动画,通过bodymovin插件将AE工程文件导出为json文件,在客户端(使用LottieSDK)解析,最后通过各平台原生渲染方案进行渲染,其中在Android平台上通过Canvas进行绘制,在iOS上通过CALayer进行绘制,在web端支持SVG、Canvas和HTML绘制。PAG:设计师使用AE设计好动画以后,通过PAGExporter插件读取AE工程文件,根据具体需求选择矢量导出、BMP预合成、混合导出方式中的一种导出一个PAG二进制文件,客户端对该PAG二进制文件进行解码、渲染,各端共享一套C++实现,平台端只做接口封装。(导出插件:P
一:Lottie的使用在你工程的build.gradle文件里添加如下配置implementation'com.airbnb.android:lottie:3.4.0'二:布局文件直接引入LottieAnimationView例如:文件放置目录如此,动画就能跑起来了:1.lottie_fileName:在app/src/main/assets目录下的动画json文件名。2.lottie_loop:动画是否循环播放,默认不循环播放。3.lottie_autoPlay:动画是否自动播放,默认不自动播放。4.lottie_imageAssetsFolder:动画所依赖的图片目录,在app/src/m
1.前言多年以前汽车还是以机械仪表主体的年代,各大汽车主机厂商并不十分关注操作系统UI的交互功能,但是随着车载SOC算力的不断提高以及主机厂商对汽车座舱竞争的白热化。座舱的HMI在设计上在强调功能性的同时也开始关注UI的艺术性,HMI的设计师们期望艺术与功能应该协同工作,让用户沉浸在“第三空间”的体验中。有了需求程序员就需要关注如何实施和落地,然而Android应用本身虽然有着完整的动画框架支持,但是开发复杂、调试耗时,大型的gif或逐帧动画对于CPU&内存占用都不太理想,所以许多Android的手机应用基本上不怎么有动画。而且车载HMI上越来越多的开始引入各种光影、粒子效果,如果基于Andr
前言项目中引入了“大量的”lottile动画文件以优化动画显示效果,稍微统计了下,共20多个,小的几十k,大的1.33M,总大小超过8M,apk包体积急速膨胀。使用的lottie文件统计.png解决方案由于项目中显示动画的需要,引入了大量的Lottie动图,以优化显示效果导致包体积急速膨胀,目前可以想到的解决方案主要有如下2种:方案1)远端方案将lottiejson文件放置在远程服务端,在需要时加载文件或者提前预加载到本地。这个方案可以说是针对“包体积”最优的解决方案,但缺点也同样致命。优化方案会切入业务逻辑,对于已经开发好的项目需要重新进行测试评估,增加了业务逻辑Bug的风险,只适合在项目开
使用@escook/request-miniprogram封装网络请求官网地址:https://www.npmjs.com/package/@escook/request-miniprogram快速入门1、下载依赖npminstall@escook/request-miniprogram2、引入把下面代码放到main.js//@escook/request-miniprogram网络请求import{$http}from'@escook/request-miniprogram'//在uni-app项目中,可以把$http挂载到uni顶级对象之上,方便全局调用uni.$http=$http//请
背景最近接到一个h5需求,和普通的h5不一样,这个h5页面是嵌入到小程序中使用的,需求简单来说就是展示一个跳转按钮,判断如果是小程序环境下就进行跳转到其他小程序页面。实现思路核心逻辑其实就是判断小程序环境这一块,我们可以直接使用wxsdk来进行判断小程序环境,由于公司内部已经有这些api的封装,所以实现起来比较简单。windows.wx实际上就是wxsdk的对象//判断是否在微信环境constisWeixin=/MicroMessenger/i.test(navigator.userAgent);//获取微信运行环境constgetWxEnv=()=>{returnnewPromise((re
失败的原因就是:wx.redirectTo不允许跳转到tabBar页面!!!详情请往下看:我的需求是用webview把h5内嵌在小程序中,在h5中进行跳转页面。模拟跳转到首页:wx.miniProgram.redirectTo({url:'/pages/shop/shop'});排查错误:1.首先确保pages/index/index已经存在2.跳转url是否正确,记得在路径前加"/"wx.miniProgram.redirectTo({url:'pages/shop/shop'});//错误wx.miniProgram.redirectTo({url:'/pages/shop/shop'})