下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
必选项处理
appID 获取
微信公众平台进行 appID 获取
参考地址:https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/code.html#JSON-%E9%85%8D%E7%BD%AE
.json
后缀的 JSON
配置文件.wxml
后缀的 WXML
模板文件.wxss
后缀的 WXSS
样式文件.js
后缀的 JS
脚本逻辑文件小程序基本结构
{userInfo.avatarUrl}}" background-size="cover"> {{userInfo.nickName}} {{motto}}
配置信息 app.json
全局配置 -> https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html
{"pages": ["pages/index/index", "pages/logs/index"],"window": {"navigationBarTitleText": "Demo"},"tabBar": {"list": [{"pagePath": "pages/index/index","text": "首页"},{"pagePath": "pages/logs/index","text": "日志"}]},"networkTimeout": {"request": 10000,"downloadFile": 10000},"debug": true
}
页面配置 app.json
{"navigationBarBackgroundColor": "#ffffff","navigationBarTextStyle": "black","navigationBarTitleText": "微信接口功能演示","backgroundColor": "#eeeeee","backgroundTextStyle": "light"
}
全局生命周期函数 app.js
/*** 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)*/onLaunch: function () {},/*** 当小程序启动,或从后台进入前台显示,会触发 onShow*/onShow: function (options) {},/*** 当小程序从前台进入后台,会触发 onHide*/onHide: function () {},/*** 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息*/onError: function (msg) {}
onLoad: function(options) {// 页面创建时执行},onShow: function() {// 页面出现在前台时执行},onReady: function() {// 页面首次渲染完毕时执行},onHide: function() {// 页面从前台变为后台时执行},onUnload: function() {// 页面销毁时执行},onPullDownRefresh: function() {// 触发下拉刷新时执行},onReachBottom: function() {// 页面触底时执行},onShareAppMessage: function () {// 页面被用户分享时执行},onPageScroll: function() {// 页面滚动时执行},onResize: function() {// 页面尺寸变化时执行}
定义组件
引用组件:在 json 文件
使用组件
组件生命周期->https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/lifetimes.html
Component({lifetimes: {created() {console.log('created,组件实例刚刚被创建好时, created 生命周期被触发')},attached() {console.log('组件实力进入页面节点树时候进行执行')},detached() {console.log('在组件实例被从页面节点树移除时执行')},},
})
界面跳转
新界面打开=>https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/route.html
调用 API wx.navigateTo
历史记录椎
使用组件
页面重定向
调用 API wx.redirectTo
使用组件
页面返回
调用 API wx.navigateBack
使用组件
用户按左上角返回按钮
Tab 切换
调用 API wx.switchTab
使用组件
用户切换 Tab
重启动
调用 API wx.reLaunch
使用组件
数据绑定
{{message}}
Page({data: {message: 'hello world',},
})
条件渲染
{isShow}}">条件判断显示
Page({data:{isShow:false}
})
列表渲染
{list}}" wx:for-index="idx" wx:for-item="itemName">{{idx}}: {{itemName.name}}
Page({data: {list: [{ name: 'a' }, { name: 'b' }],},
})
页面文件遵循 Vue 单文件组件(SFC)规范
组件标签靠近小程序规范 =>https://uniapp.dcloud.io/component/README
页面内容
接口能力(JS API)靠近微信小程序规范 => https://uniapp.dcloud.io/api/README
uni.getStorageInfoSync()
数据绑定事件处理同 Vue.js 规范
点击事件绑定
兼容多端运行,使用 flex 布局进行开发
uni-app 官方推荐使用 HBuilderX 来开发 uni-app 类型的项目。主要好处:
DOWNLOAD
按钮正式版
/alpha -> App 开发版
zip包
进行解压缩HBuilderX.exe
即可启动 HBuilderX文件 -> 新建 -> 项目
填写项目基本信息
项目创建成功
基本目录结构
项目名称
----【pages】 内部存放所有页面
----【static】 存放所有静态资源,比如图片,字体图标
----【unpackage】存放所有打包生成后的文件
----app.vue 应用配置,用来配置App全局样式以及监听 应用生命周期
----main.js Vue初始化入口文件
----mainfast.json 配置应用名称、appid、logo、版本等打包信息
----pages.json 配置页面路由、导航条、选项卡等页面类信息
----uni.scss 用途是为了方便整体控制应用的风格。比如按钮颜色、边框风格,uni.scss文件里预置了一批scss变量预置。
### 小程序运行1. 填写自己的微信小程序的 AppID:
2. 在 HBuilderX 中,配置“微信开发者工具”的**安装路径**:
3. 在微信开发者工具中,通过 `设置 -> 安全设置` 面板,开启“微信开发者工具”的**服务端口**:
4. 在 HBuilderX 中,点击菜单栏中的 `运行 -> 运行到小程序模拟器 -> 微信开发者工具`,将当前 uni-app 项目编译之后,自动运行到微信开发者工具中,从而方便查看项目效果与调试:
5. 初次运行成功之后的项目效果:
### app 真机运行> 确保你的手机与电脑是在同一个局域网下面1. 手机开启开发者模式
2. 选择数据管理
3. hbuildeX 选择真机运行
4. 等待基座安装
5. 安装完成手机运行项目### IOS 模拟器运行1. Xcode 下载
2. 定义版本进行模拟器运行***
文档参考地址:https://uniapp.dcloud.net.cn/component/
基础组件在 uni-app 框架中已经内置,无需将内置组件的文件导入项目,也无需注册内置组件,随时可以直接使用,比如
组件。
组件演示参考地址 => https://hellouniapp.dcloud.net.cn/pages/component/view/view
除了上述公共属性,还有一类特殊属性以
v-
开头,称之为 vue 指令,如 v-if、v-else、v-for、v-model。
Demo 地址:https://hellouniapp.dcloud.net.cn/pages/component/scroll-view/scroll-view
参考地址:https://ext.dcloud.net.cn/search?q=uni-icons
插件市场 --> 搜索 uni-icons --> uni-icons 图标 -->
小程序的域名处理:
在小程序—>开发管理—>开发设置—>服务器域名
参考地址:https://uniapp.dcloud.net.cn/api/README
网络请求
uni.request 发起网络请求
为了解决 uni.request 网络请求 API 相对简单的问题,可使用@escook/request-miniprogram 进行网路请求的处理
参考地址:https://www.npmjs.com/package/@escook/request-miniprogram
在小程序中,无法使用 fetch 及 axios 进行网络请求发送
测试接口地址:https://study.duyiedu.com/api/herolist
上传、下载
图片处理
数据缓存 => https://uniapp.dcloud.net.cn/api/storage/storage?id=setstorage
交互反馈 => https://uniapp.dcloud.net.cn/api/ui/prompt?id=showtoast
路由
page
页面容器 css 属性
page: {height: 100%;background-color: red;
}
尺寸单位
可使用单位:px rpx,upx, rem vh vw
外部样式文件引入
同 vue 使用相同
**参考地址:**https://uniapp.dcloud.net.cn/collocation/frame/lifecycle?id=应用生命周期
onLaunch 初始化完成时触发(全局 🈯️ 触发一次)
onShow uni-app 启动,或从后台进入前台显示
onHide 当 uni-app 应用从前台进入后台
只能在 App.vue 里面进行监听,在其他界面监听无效
条件编译是用特殊的注释作为标记,在编译时根据这些特殊的注释,将注释里面的代码编译到不同平台。
语法
取值
条件编译支持的文件
条件编译是利用注释实现的,在不同语法里注释写法不一样,js 使用
// 注释
、css 使用/* 注释 */
、vue/nvue 模板里使用;
可以使用多种预编译处理器进行安装使用,以 scss 文件为例
下载地址:https://ext.dcloud.net.cn/plugin?name=compile-node-sass
下一篇:TCP协议原理一