uniapp开发app案例(uniapp开发项目实例)
今天给各位分享uniapp开发app案例的知识,其中也会对uniapp开发项目实例进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
uniapp开发App,ios发布流程
第一步:在 App Store Connect 里,点击【我的APP】,选择你的应用;
第二步:添加新版本,然后把升级信息填完,选择刚刚上传的版本作为发布版本
1)关于版本信息:填写版本升级的描述;
2)app预览:让设计做两种尺寸的图,关于app的功能介绍;
3)然后就是构建版本了,选择刚刚上传的版本;
4)app审核信息备注:登录流程/主要功能流程;
5) 版本发布一般选择手动发布;
6)广告标识符通常选择【是】,标识复选框通常选后三个即可;
7) 最后提交审核就可以了。
uniapp开发App引导页
App的引导页是当用户第一次打开一款App时所展示的3-5精美的图片,用于告知用户产品的功能及特点。好的引导页会促使用户对产品增加更多的兴趣,当然这是UI设计的能力体现了,尽管很多人都会快速的滑过。对于开发人员怎么去添加这几张图片只有在用户第一次打开app时展示呢。
以uniapp开发的项目为例:在onLaunch函数中,检查flag是否为false,如果为false,则跳转到引导页面,在引导页中可设置跳转到首页。注意,最好用reLaunch,避免,用户物理按键返回;为true,则存储flag到本地。原理既是如此;但是实际开发时,会发现,存在闪屏现象,这样用户的体验就不太好,所以比较关键的地方就在于这块,还是以uniapp为例,需要在uniapp的源码视图下将splashscreen的设置进行修改,将autoclose改为false,在onLaunch中通过设置延迟时间调用plus.navigator.closeSplashscreen方法来关闭启动图。delay设置为0。这样启动图的设置就ok了。
以下封装了检查是否进入引导页的方法,仅供参考下:
Tip:在多次的应用中发现,如果在手机本身比较卡的情况下,用户在第一次开启app时,还是会存在首页在引导页之前出现,这种情况的处理方式是将引导页默认设置为主页,即在路由管理中,将引导页写在第一个,然后通过flag去判断是否跳转到首页;
以上的引导页开发只是提供一种思路,还有很多其他的方式,比如后端去控制是否展示引导页,引导页的动态变化。当然问题本身不难实现,关键在于实际应用时所存在的问题。
uni-app 入门到精通 (二)
18 年时候有幸接触到 uniapp , 写了一篇 《uni-app 入门到精通》 ,由于一些原因,该方案并没有执行,该项目一系列文章也就没有再写下去,所以遭受到了许多人评论的吐槽,到如今公司项目的需求又要根据 uniapp 写 H5 嵌入到 app 中,所以想根据项目实际开发分享一下,有兴趣的伙伴可以参考和吐槽。
这一篇文章主要分享一下内容
uniapp 模板项目有两种初始化方式
由于无法舍弃 VSCode ,我们采用 vue-cli 来初始化项目, HBuilderX 大家可以参照官方文档
这种方式是可以通过 vue 脚手架命令指定模板,这个是 dcloudio 的官方提供模板
我们选择默认模板即可,
成功后我们执行
打开浏览器地址,直接运行即可。
一般刚接触前端的小伙伴可能会对 postcss 不太了解,这里简单介绍一下,
当然 PostCSS 具体使用是需要引入一些插件的,例如常用的是 autoprefixer postcss-preset-env 等, 具体如何使用大家可以自行参考资料,毕竟这块知识还是挺多的就不具体展开解释了。
通常我们在写移动端时候需要做的是页面适配方案的确定, uni-app 支持的通用 css 单位包括 px、rpx , 之前的 upx 方案已经被废弃掉,官方解释是目前市面上已经基本上支持了微信的 rpx 方案,所以 upx 中转方案已经意义不大了,不过还可以继续使用,不过已经不再推荐。
rpx 之初是由微信小程序提出一种方案,即根据宽度来进行适配以 750 宽屏幕为基准, 750rpx 恰好为屏幕宽度, uni-app 规定屏幕基准宽度 750rpx 。所以说如果你们的UI 设计以 750*1334 iphone 6/6s 为基准设计的话,你只需要将屏幕上 px 写为 rpx 即可,不用做任何换算,如果不是的话,你就需要做如下换算:
uniapp 有自己一套路由管理机制,而未采用 vue-route 方案,个人认为这套方案还是比较成熟和好用的,以及可以满足我们日常的需求:
保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。
2.uni.redirectTo(OBJECT)
关闭当前页面,跳转到应用内的某个页面。
3.uni.reLaunch(OBJECT)
关闭所有页面,打开到应用内的某个页面。
注意: 如果调用了 uni.preloadPage(OBJECT)) 不会关闭,仅触发生命周期 onHide
4.uni.switchTab(OBJECT)
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
注意: 如果调用了 uni.preloadPage(OBJECT)不会关闭,仅触发生命周期 onHide
5.uni.navigateBack(OBJECT)
关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。
5.uni.preloadPage(OBJECT)
预加载页面,是一种性能优化技术。被预载的页面,在打开时速度更快。
以上路由API 已经满足我们的需求,当然进行路由跳转的前提是我们需要在 pages.json 进行路由配置, 包括路由和具体的样式配置
而进行具体路由跳转我们需要如下,需要多加一个 /
需要特别注意的一点是, 利用浏览器 在 进行 移动H5页面调试时候,会出现页面刷新之后页面栈会消失,此时navigateBack不能返回,如果一定要返回可以使用history.back()导航到浏览器的其他历史记录。
uniapp 提供网络请求的 api 是 uni.request ,具体支持的请求方法可以参考官网 method 有效值
不过我们通常不会直接使用,而是进过一系列的封装以方便我们的使用,具体封装接口使用会在随根据页面数据请求一并展示。
uni-app小程序开发踩坑记录
最近要从零开发一个跟后台管理系统对接的小程序,因为功能比较复杂,时间短,选择了比较火的uni-app,因为小程序出现的时间较短,各方面并不完善,开发过程中就是不断踩坑的过程,特此记录一小下。
uni-app虽然功能还不完善,但是插件市场里东西还是不少的,在搭建框架中因为需求要求借鉴了之前开发的PC端,所以有一些跟之前开发VUE相关的插件 ,可以提高开发效率,
插件:
坑:
1.覆盖原生组件,需要用cover-view容器,但是cover-view里可包含的标签有限,类似view等在真机调试时不显示,需全部替换成cover-view,且icon无法显示,可以用cover-imaga代替。
2.小程序和小程序之间的跳转(如腾讯云的人机滑动验证),跳转回来时需要进行操作,此时可以判断app.vue中的options,如果按小程序文档中来说当options.scene === 1038时是小程序跳回来的场景,但是部分手机跳回来是options.scene为1001,只能将这2种都作为跳转判断的条件。
3.小程序跳转回来app中的onshow有时不执行,这个原因暂未找到
4.在uniapp的H5版本 ,接入 腾讯云滑动验证 ,示例的点击滑动验证元素是通过dom操作的,但是无效,可能跟uniAPP不支持dom操作有关系,采用定制接入方法一,手动调用。
uni-app开发一个小视频应用(二)
前情回顾uni-app开发一个小视频应用(一)上篇文章,我们已经实现了首页的头部导航栏组件、底部的tabBar导航栏组件、中间的视频列表组件以及视频列表组件中的视频播放组件,传入视频列表渲染后已经可以上下滑动进行视频切换和播放,接下来我们将完成首页的剩余部分,左侧信息栏组件、右侧图标栏组件,以及完善视频切换动画、播放控制等功能。
左侧的信息栏组件,主要分三块: 作者名、视频标题名、音乐名。这个左侧信息栏信息是和当前播放视频相关联的,所以应该在循环视频列表的时候,将左侧信息栏组件一起渲染出来,所以左侧信息栏组件应该加到swiper-item中。
// components/list-left.vue
// components/video-list.vue
右侧图标栏组件,主要分为: 头像图标(头像设置border-radius)、收藏图标(iconfont图标)、评论图标(iconfont图标)、分享图标(iconfont图标)、音乐图标(图片设置border-radius),右侧图标栏组件设置一个固定宽度,然后让各种图标依次排列即可,如:
// components/list-right.vue
当点击头像下部的加号图标,可以对该用户进行关注,即隐藏加号图标,还有就是收藏爱心图标颜色切换,当点击收藏爱心图标,爱心图标变成红色,再次点击收藏爱心图标,爱心图标变回白色,这里先只处理颜色的变化,具体后台交互暂不处理。
// 在头像图标下方通过绝对定位添加一个加号图标,并定位到头像底部
所谓滑动播放,即向上滑动的时候,暂停当前播放视频并且播放下一个视频,向下滑动的时候,暂停当前播放视频,播放上一个视频,而这最关键的就是如何判断是向上滑动还是向下滑动。swiper组件给我们提供了一个change事件,我们可以监听这个change事件,拿到滑动完成后滑动到了第几页,即swiper-item的序号(从0开始),然后与滑动前的当前page相比较,就可以知道是向上滑还是向下滑了。
判断好了是上滑还是下滑后,我们还需要对上滑和下滑作出正确的处理,我们需要能够拿到每个视频播放组件,然后调用视频播放组件上的相关方法对播放进行控制,这就是涉及到了父组件如何调用子组件上方法,父组件要想调用子组件上的方法,关键是父组件要能够拿到子组件对象,我们可以通过ref实现,因为每一个视频播放组件是video-list视频列表组件的一个子组件,所以我们可以在video-list视频列表组件中给每一个video-player视频播放组件添加上一个ref="player",即可拿到对应的视频播放组件了。
// components/video-list.vue
要想实现单击视频播放组件,视频可以进行播放和暂停切换,那么我们需要给视频播放组件添加一个isPlay属性表示视频是否处于播放中,如果是播放中,那么点击就暂停,如果不是播放中,那么点击就播放,同时,由于uni-app不支持vue的dblclick事件的,所以我们还需要对单击和双击操作进行判断,我们需要定义一个变量用于记录用户点击次数,如果300ms内用户点击次数大于等于2,那么就是双击,否则就是单击,如:
双击的时候会向video-list父组件(视频列表组件)发送一个follow事件,video-list组件监听到follow事件后再通知list-right组件调用其方法让其爱心图标变红即可,如:
之前我们的视频播放组件接收了一个index属性,即当前视频对应的索引号,我们可以通过这个索引号判断当前视频是否是第一个,然后将其video组件的autoPlay设置为true即可自动播放。
至此,首页已经完成,效果图如下:
原文地址:
uniapp开发app案例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于uniapp开发项目实例、uniapp开发app案例的信息别忘了在本站进行查找喔。