uni-app 条件编译解决跨端兼容问题
https://uniapp.dcloud.io/platform
跨端兼容
uni-app 已将常用的组件、JS API 封装到框架中,开发者按照 uni-app 规范开发即可保证多平台兼容,大部分业务均可直接满足。
但每个平台有自己的一些特性,因此会存在一些无法跨平台的情况。
大量写 if else,会造成代码执行性能低下和管理混乱。
编译到不同的工程后二次修改 ...
uni-app 媒体之图片的使用
uni.chooseImage(OBJECT)
从本地相册选择图片或使用相机拍照。
App端如需要更丰富的相机拍照API(如直接调用前置摄像头),参考plus.camera
OBJECT 参数说明
参数名
类型
必填
说明
平台差异说明
count
Number
否
最多可以选择的图片张数,默认9
见下方说明
sizeType
Array
否
original 原图,compressed 压缩图, ...
uni-app 数据缓存
uni.setStorage(OBJECT)
将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。
OBJECT 参数说明
参数名
类型
必填
说明
key
String
是
本地缓存中的指定的 key
data
Any
是
需要存储的内容,只支持原生类型、及能够通过 JSON.stringify 序列化的对象
success
Function
否
...
uni-app 网络请求
uni.request(OBJECT)
https://uniapp.dcloud.io/api/request/request?id=request
发起网络请求。
在各个小程序平台运行时,网络相关的 API 在使用前需要配置域名白名单。
OBJECT 参数说明
参数名
类型
必填
默认值
说明
平台差异说明
url
String
是
开发者服务器接口地址
data
Object/String/ArrayBuffer
否
...
uni-app 页面样式与布局
官方文档
https://uniapp.dcloud.io/frame?id=页面样式与布局
rpx单位
uni-app 支持的通用 css 单位包括 px、rpx
px 即屏幕像素
rpx 即响应式px,一种根据屏幕宽度自适应的动态单位。以750宽的屏幕为基准,750rpx恰好为屏幕宽度。屏幕变宽,rpx 实际显示效果会等比放大,但在 App 端和 H5 端屏幕宽度达到 960px 时,默认将 ...
uni-app全栈仿微信开源项目系列(一)
叮咚项目参考文档 v1.0
项目技术栈:
前端:uni-app + nvue 实现原生页面渲染、同时兼容多端。
后端:Egg.js + MySQL + Redis 实现后端API服务。
不使用第三方组件库,自己写一套。
NVUE需要注意的点
在NVUE中引入字体图标需要参考Weex的引入规则 点我查看
NVUE模式下的页面默认是Flex布局
iconfont图标应该放在tex ...
uni-app内置基础组件
官方文档:
概述
https://uniapp.dcloud.io/vue-components?id=uni-app内置基础组件
组件详情
https://uniapp.dcloud.io/component/README
uni-app为开发者提供了一系列基础组件,类似HTML里的基础标签元素。
但uni-app的组件与HTML不同,而是与小程序相同,更适合手机端使用。
虽然不推荐使用HTML标签,但实际上如果开发 ...
uni-app pages.json常用配置
globalStyle全局配置
pages.json是项目的配置,而这个配置文件里的globalStyle选项是项目的全局样式配置
用于设置应用的状态栏、导航条、标题、窗口背景色等。详细文档
属性
类型
默认值
描述
navigationBarBackgroundColor
HexColor
#F7F7F7
导航栏背景颜色(同状态栏背景色)
navigationBarTextStyle
String
whi ...
uni-app使用html2canvas
uni-app html2canvas在web端兼容性挺好的,但是对于app来说就不太行
uni-app App是vue页面,无法获取window对象,所以我们就需要配合render.js来完成canvas的绘制
人为触发比如点击按钮实现起来很方便,但是有时候我们需要进来就执行绘制的方法,那么就需要如下操作:
在开发过程中我们将HTML2canvas封装成一个 ...
使用uni-app给一个按钮点击后修改样式,实现样式切换
<template> <view class="box"> <view class="loginBox"> <view class="popup"> <view class="loginMode"> <view class="account" @click="isAccount" :class="!isshowAccount ? 'isAccMax': 'isAccMin'">账号登录</view> // isshowAccoun ...
UNI-APP_uni-simple-router的快速上手(路由,nui路由拦截)
官网文档:http://www.hhyang.cn/src/router/start/quickstart.html
安装插件npm安装命令:npm install uni-simple-router下载好后会多出这个文件夹
初始化在项目的根目录下创建如下用红框框住的文件夹及文件
modules目录下的index.js内容如下(这个文件主要作用是将所有路由整合成一个数组)
...
【uni-app】subPackages 分包加载机制
起初小程序上线时,微信限制了代码包不能超过1MB,后来功能变大变成了2M了,限制大小是出于对小程序启动速度的考虑,希望用户在使用任何一款小程序时,都能获得一种“秒开”体验。但是,2MB也限制了小程序功能的扩展,小程序业务的发展可能需要更大的体积。为了解决这个问题,微信推出了—分包加载。
小程序分包加载
对小 ...
【uni-app】easycom模式(自动按需引入组件)
传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。easycom将其精简为一步。 只要组件安装在项目的components目录下,并符合components/组件名称/组件名称.vue目录结构。就可以不用引用、注册,直接在页面中使用。 如下:
官网:https://uniapp.dcloud.io/collocation/pages?id=easycom
<template>
<view ...
uni-app小白入门自学笔记(二)
码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14429616.html
目录码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14429616.htmluni的生命周期应用生命周期页面生命周期导航跳转和传参声明式导航:navigator编程式导航:uni.navigateTo(obj)uni.redirect ...
uni-app小白入门自学笔记(一)
码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14427845.html
目录码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14427845.html环境搭建创建uni-app运行uni-app介绍项目目录,文件作用页面外观设置页面底部 tabBar启动模式配置 condition数据 ...
【uni-app/微信小程序】预览图片(单张、多张)uni.previewImage()
uni-app官网:https://uniapp.dcloud.io/api/media/image?id=previewimage
微信小程序官网:https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewImage.html
uniapp 实现图片预览 单图预览和多图预览
关键点就是调用
uni.previewImage({
current: index,
urls: photoList
});
如果是单图预览, ...
uni-app 之 web-view 与h5 通讯
已经很久没有更新我的博客了,差点要遗忘自己还有博客了,哈哈哈哈。最近有接触过关于web-view的东西,大家也知道我一直在做uni-app的项目,也研究了很久,收获颇丰吧,今天就跟大家分享一下
什么是web-view
web-view是一个web浏览器组件,可以用来承担网页的容器,会自动铺满整个屏幕 各小程序平台,web-view 加载 ...
Uni-app基础
资料来源:https://www.bilibili.com/video/BV1BJ411W7pX
uni-app的基本使用
基础部分:
环境搭建
页面外观配置
数据绑定
uni-app的生命周期
组件的使用
uni-app中样式学习
在uni-app中使用字体图标和开启scss
条件注释跨端兼容
uni中的事件
导航跳转
组件创建和通讯,及组件的生命周期
uni-app中使用uni-ui库
项目:黑 ...
uni-app onReachBottom钩子触发问题
前情
uni-app是我很喜欢的跨平台框架,它能开发小程序,H5,APP(安卓/iOS),对前端开发很友好,自带的IDE让开发体验也很棒,公司项目就是主推uni-app。
最近有多个需求,页面滚动到底的时候应该加载下一页数据,于是通过页面生命周期钩子onReachBottom来实现。
坑位
onReachBottom是当页面滚动底一定距离的时候触发,但是滚动 ...
uni-app 自定义公用模块
在uni-app 项目跟目录下创建common目录,然后再common目录下创建common.js用于定义公用的方法。
common.js可以定义常量和方法:
//接口地址
const apiUrl='';
//定义公用方法
const sayHi=function(){
console.log('hi');
}
//输出
export default{
apiUrl,
sayHi
}
在使用的vue中调用该模 ...