[TOC]
## uni使用规范
> 写页面代码时,尽量以封装组件的思路进行设计,参考《[仿转转源码](https://ext.dcloud.net.cn/plugin?id=1531)》
## uniapp以750rpx屏幕宽度为基准
> rpx 实际显示效果会等比放大,剩下的元素根据情况定义大小
> 如果ui设计出图后,有个设计技巧就是使用photoshop将图片宽度设置为750px后,然后以后每个元素的大小,间距等就可以定位了,比如头像是50px,那么代码中我们可以设置成50rpx
## 定义公共类
```
font-size:28rpx;
```
## template结构体常识
> root节点只能包含一个view标签
![](https://img.kancloud.cn/e7/0d/e70d3502624014bec467f63797dd47ad_1066x432.png)
## css 的引用
> 如创建 `/common/main.css`
> 1. 在App.vue中全局引用,每个页面都可以使用该样式
> 2. 在`/components/xx.vue` 或 `/pages/xx.vue`中局部引用
> 可以使用官方hello-demo css作为公共css
> 也可以使用colorUI作为公共css
```
<style>
@import "/common/main.css";
</style>
```
## js的引用
> 如创建 `/common/music.js`
> 1. 在App.vue中全局引用,每个页面都可以使用该函数
> 2. 在`/components/xx.vue` 或 `/pages/xx.vue`中局部引用
```
<script>
import music from './common/music.js'
</script>
```
![](https://img.kancloud.cn/6d/fa/6dfa1f465c72b9738ad2342df58092d2_232x78.png)
## iconfont
> 1. 到https://www.iconfont.cn/ 将喜爱的图标加入到购物车,创建文件夹(一般为项目名称),然后即可下载代码
> 2. 应用到uniapp中,仅保留`iconfont.css`和`iconfont.ttf`即可,`iconfont.ttf`需在iconfont**项目**中获取在线资源文件地址,“加入购物车 -> 添加到项目”
> 3. 注意:每次iconfont平台项目中新增了图标后,都需要对其进行更新图标代码,重新生成对应的在线资源地址;
> main.css
```
@font-face {
font-family: "iconfont";
/* 小于 40kb 的字体文件可以直接本地引用 src: url('~@/common/iconfont.ttf'); */
src: url('https://at.alicdn.com/t/font_42467_u3l1wf3roda.ttf');
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-sousuo:before {
content: "\e66d";
}
```
> test.vue中应用
```
<view class="content">
<view class="iconfont icon-sousuo"></view>
</view>
```
## 使用sass编写样式
> 在 style 中 添加`lang`属性,这样 uniapp 就支持 scss 样式编译了
> scss更多知识参考:https://www.jianshu.com/p/a99764ff3c41
~~~
<template>
<view class="content">
<view class="item">
<view class="title">这是我的标题</view>
<view class="count">222</view>
</view>
</view>
</template>
<style lang="scss">
.item{
background-color: red;
}
.item{
.title{
background-color: #0066CC;
}
.count{
background: black;
color: #FFF;
}
}
</style>
~~~
- 基础知识
- UNI核心介绍
- flex布局
- 生命周期
- 全局方法
- 组件定义
- 自定义组件
- 全局组件
- 组件之间的数据传输
- 条件编译
- 自定义头部
- 节点信息 (SelectorQuery)
- vuejs基础语法
- 页面跳转以及参数传递
- 事件的监听注册以及触发
- css3动画
- block的妙用
- mixin (混入)
- uniapp快捷键
- vuex状态管理
- 实用功能
- 获取服务提供商
- 启动页 / 启动界面
- 引导页
- tabbar配置
- 头部导航栏基础设置
- 上拉下拉(刷新/加载)
- 第三方登录
- 第三方分享
- 推送通知 之 unipush
- scroll-view双联动
- 配置iOS通用链接(Universal Links)
- 本地缓存操作
- 升级/更新方案
- 热更新
- 图片上传
- 搜索页实现
- canvas绘图助手
- 地图定位
- 第三方支付————todo
- 分类轮播
- 清除应用缓存
- uniapp与webview的实时通讯
- 视频-----todo
- 聊天----todo
- 长列表swiper左右切换
- 第三方插件
- uview
- mescroll
- uCharts (图表)
- 无名 (更新插件)
- 第三方模版
- 自定义基座
- 打包发行
- 要封装的方法
- 缓存 cache.js
- 请求接口 request.js
- 工具类 util.js
- 小程序登录 xcxLogin.js
- 版本更新 update.js
- 优质插件
- 更新插件----todo
- 语音
- 语音识别 (含上传)
- 百度语音合成播报接口
- 官方常用组建
- input 输入框
- image 图片
- audio 音频
- picker 选择器
- video 视频
- scroll-view 滚动视图