‘一、跟普通开发不同点
-
运行环境不同:网页浏览器,小程序微信环境
-
API:运行环境不同,所以无法调用DOM和BOM得API,但是小程序可以调用微信环境API,如地理位置,扫码,支付
-
开发模式不同:
- 网页:浏览器和代码编辑器
- 小程序:申请小程序账号,安装小程序开发者工具,创建配置小程序项目
- 后台:https://mp.weixin.qq.com/wxamp/home/guide?lang=zh_CN&token=1444414227
二、小程序代码构成
目录结构

小程序页面在pages目录中以单独文件夹存在

JSON 配置文件
- JSON配置文件作用

- app.json 文件

- project.config.json 文件

- sitemap.json 文件

- 页面的 .json 配置文件

WXML模板
- 什么是WXML

- WXML和HTML的区别

- WXSS和CSS的区别

JS逻辑交互
- 小程序中的.js代码

- 小程序中.js文件分类

三、宿主环境
宿主环境简介
- 什么是宿主环境

- 小程序宿主环境
手机微信是小程序宿主环境,小程序借助宿主环境提供的功能,可以完成许多网页无法完成的功能,如微信扫码,微信支付,微信登录,地理定位,ect…
- 小程序宿主环境提供的支持
- 通信模型
- 运行机制
- 组件
- API
通信模型
- 通信主体

- 小程序通信模型

运行机制
- 小程序启动过程

- 页面渲染过程

三、组件
- 小程序中组件分类
视图容器;基础内容;表单组件;导航组件;媒体组件;map地图组件;canvas画布组件;开放能力;无障碍访问
- 常用的视图容器类组件

- scroll-view 组件属性
| 属性 | 说明 |
|---|---|
| scroll-y | 允许y轴滚动 |
| scroll-x | 允许x轴滚动 |
<scroll-view scroll-y><scroll-view />
- swiper 组件属性

<swiper autoplay>
//里面必须标签
<swiper-item>1</swiper-item>
<swiper-item>2</swiper-item>
<swiper/>
- 常用的基础内容组件

- text 组件属性
<text selectable>1874454<text> //selectable 手机端长按复制
- rick-text组件属性
<rich-text nodes="<h1 style='color:red'>123</ h1>"></rich-text>
- 其他常用组件

- button按钮组件属性


- image 组件的mode属性

<image src='/images/1.png' mode='aspectFit'><image>
四、API
- 小程序API概述

- 小程序API的3大分类

五、协同工作权限
- 不同项目成员对应权限

- 开发者权限说明

六、小程序版本
- 软件开发过程中不同版本

- 小程序版本

七、发布上线
- 小程序发布上线步骤

- 上传代码

- 后台查看上传的版本

- 提交审核

- 发布

- 基于小程序码进行推广

- 查看小程序运营数据

八、数据绑定
- 数据绑定基本原则

2**.在data中定义数据结构**

- Mustache语法格式

4.Mustache语法应用场景

- 动态绑定属性

九、事件绑定
- 小程序常用事件

- 事件对象属性列表

触摸点就是几个手指在屏幕上
- target 和 currentTarget 的区别

- bindtap语法

- 在事件函数中为data中数据赋值

- 事件传参


data-info用胡子语法是数组,引号传过去就是字符串

- bindinput 的语法格式

- 文本框和input之间数据绑定


十、条件渲染
- wx:if

- hidden

- wx:if与hidden对比

十一、列表循环渲染
- wx:for循环渲染

- wx:key使用

十二、WXSS样式模板
- WXSS 和CSS 关系

- rpx的实现原理

- rpx和px之间换算

- @import 的语法格式

十三、全局配置
- 全局配置文件及常用配置项

- window配置
- 程序小窗口组成部分

-
常用的 window 节点配置项

-
模拟器问题说明
当下拉刷新页面颜色可能会自东改变,自动合上,真机不会改变颜色,不会自动合上。
tabBar配置

- 什么是tabBar

- tabBar 6个组成部门

- tabBar 节点的配置项

- list里面每个配置项包含

tabBar标签对应页面必须放在数组最上面,否则无法显示
十四、单个页面配置
- 页面配置和全局配置关系

- 页面配置中常用的配置项

十五、数据请求
- 小程序中网络请求的限制

- 配置request合法域名

- 发起post和get请求


- 在页面刚加载请求数据

onLoad:function(options){
postinfo(){
...
}
}
- 跳过 request 合法域名请求

- 关于跨域和Ajax的说明

十六、页面导航
- 小程序页面导航2种方式

声明式导航
- 声明式导航-跳转tabBar页面

- 声明式导航-跳转非tabBar页面
不写open-type属性,就是跳转非tabBar页面
- 声明式导航-后退导航

- 传参

编程式导航
- 导航到 tabBar页面

示例代码如下:

- 跳转非tabBar页面

- 后退导航

- 传参

接收导航参数

十七、下拉刷新
- 启用下拉刷新

- 监听页面下拉刷新事件,停止下拉刷新效果


十八、上拉触底
- 监听页面的上拉触底事件

- 添加loading效果

- 上拉触底进行节流处理

十九、小程序生命周期
- 小程序生命周期分类

- 应用生命周期函数

- 页面生命周期函数

二十、WXS脚本过滤器
- wxs 的应用场景
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kPweYK1F-1644226550891)(小程序笔记.assets/image-20220202144942793.png)]
- wxs 和 js 的关系

- 内嵌 wxs脚本

- 定义外联 wxs 脚本

- 使用外联wxs脚本

二十一、自定义组件
组件创建与引用
- 创建组件

- 组件引用方式

- 局部引用组件

- 全局引用组件

- 组件和页面组件区别

样式
- 组件样式隔离

- 组件样式隔离注意点

- 修改组件的样式隔离选项

stylesolation 的可选值

数据、方法和属性
- methods方法

- properties 属性接收外部数据

- data 和properties 区别

- 使用setData 修改properties数据

数据监听器
- 什么是数据监听器

- 监听器基本使用

- 监听器对象属性变化

- 监听对象所有属性变化

纯数据字段
- 什么是纯数据字段

作用:可以提升性能,只适用组件
- 使用规则

组件生命周期
- 组件全部生命周期函数

注意:初始化调用一次
- 组件主要的生命周期函数

- 生命周期函数定义方式

-
组件所在页面生命周期
-
定义方法

组件插槽
- 单个插槽

- 启用多个插槽

- 定义和使用多个插槽


父子组件通信
- 父子组件通信3种方式

- 属性绑定

- 事件绑定子传父
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TBLte4zs-1644226550905)(小程序笔记.assets/image-20220202230025551.png)]
- 获取子组件实例访问子组件方法属性

behaviors代码共享
- 什么是behaviors

- 工作方式

- 创建behaviors

- 导入并使用

- behavior可用的节点

- 同名字段覆盖规则

二十二、npm和组件库
- 小程序对npm的限制

Vant Weapp 组件库

官方文档:https://youzan.github.io/vant-weapp/#/home
安装 Vant 组件库

首先创建npm init -y 命令创建组件管理文件
API Promise化
- 实现API Promise化
小程序装完一个包必须重新构建

小程序入口文件中(app.js)配置,只需调用一次 promisifyAll() 方法
import {promisifyAll} from 'miniprogram-api-promise'
const wxp = wx.p={}
promisifyAll(wx,wxp)
请求发送方式

二十三、全局数据共享
- 什么是全局数据共享

- 小程序全局数据共享
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uergFGEQ-1644226550911)(小程序笔记.assets/image-20220201124229720.png)]
3.创建store实例对象store=>store.js
import {observable,action} from 'mobx-miniprogram'
export const store = observable({
// 数据字段
numA:1,
numB:2,
// 计算属性
get sum(){
return this.numA+this.numB
},
// actions 函数,专门修改store中数据函数
updateNum1:action(function(step){
this.numB+=step
}),
updateNum2:action(function(step){
this.numA+=step
})
})
- 将store绑定页面上
import {createStoreBindings} from 'mobx-miniprogram-bindings'
import {store} from '../../store'
Page({
onLoad:function(){ //生命周期函数,监听页面加载
this.storeBindings=createStoreBindings(this,{
store,
fields:['numA','numB','sum'],
actions:['updateNum1']
})
},
onUnload:function(){ //生命周期函数监听页面卸载
this.storeBindings.desrroyStoreBindings() //卸载方法
}
})
- 将Store 中成员绑定组件中

二十四、分包
基础概念
- 什么是分包

- 分包的好处

- 分包前项目构成

- 分包后项目构成

- 分包的加载规则

- 分包体积限制

使用分包
- 配置方法

- 打包原则

- 引用原则

独立分包
- 什么是独立分包

- 独立分包和普通分包区别

- 独立分包应用场景

- 独立分包配置方法

- 引用原则

分包预下载
- 什么是分包预下载

- 配置分包预下载

- 分包预下载限制

g-n6cc7HZX-1644226550913)]
- 分包的加载规则
[外链图片转存中…(img-RGpxbjeI-1644226550913)]
- 分包体积限制
[外链图片转存中…(img-cjrCfuZj-1644226550913)]
使用分包
- 配置方法
[外链图片转存中…(img-Iix0JKK5-1644226550914)]
- 打包原则
[外链图片转存中…(img-mRN4jNQ1-1644226550914)]
- 引用原则
[外链图片转存中…(img-zJIthrTO-1644226550914)]
独立分包
- 什么是独立分包
[外链图片转存中…(img-KjPDxHv4-1644226550915)]
- 独立分包和普通分包区别
[外链图片转存中…(img-m2Mk2IH8-1644226550915)]
- 独立分包应用场景
[外链图片转存中…(img-3HMqdbGm-1644226550915)]
- 独立分包配置方法
[外链图片转存中…(img-w3WkK744-1644226550916)]
- 引用原则
[外链图片转存中…(img-yCVJx3BU-1644226550916)]
分包预下载
- 什么是分包预下载
[外链图片转存中…(img-IfPYo2yL-1644226550917)]
- 配置分包预下载
[外链图片转存中…(img-mmJ3gf7V-1644226550917)]
- 分包预下载限制
[外链图片转存中…(img-Kob1CdWc-1644226550917)]
