知识点名称 | 知识点内容 | 难度系数 | 要求程度 |
---|---|---|---|
小程序介绍和开发环境 | 微信小程序概述、开发流程、账号注册和设置、开发工具的使用 | 3星 | 掌握 |
代码组成 | 目录和页面组成、配置文件学习、了解WXML/WXSS的概念、JS的分类 | 2星 | 掌握 |
小程序宿主环境 | 宿主环境概念、小程序宿主环境、小程序常用组件、小程序API 的3大分类 | 3星 | 掌握 |
协同开发与发布 | 了解协同开发流程、发布小程序 | 2星 | 掌握 |
文章目录
- 1、学习目标
- 2、介绍和开发环境
- 2.1、微信小程序概述
- 什么是小程序
- 小程序出现的目的
- 与普通网页开发的区别
- 体验小程序
- 2.2、小程序开发流程
- 2.3、账号注册和设置
- 注册小程序账号
- 小程序基本信息
- 获取小程序的 AppID
- 2.4、开发者工具使用
- 了解微信开发者工具
- 工具的下载
- 工具的安装
- 登录、创建项目
- 开发者工具的使用
- 3、代码组成
- 3.1、程序目录和页面构成
- 目录构成
- 小程序页面的构成
- 3.2、小程序的配置文件
- 4 种 json 配置文件
- 全局配置文件 app.json
- project.config.json
- sitemap.json 文 件
- 页面 .json 配置文件
- 3.3、新建页面
- 3.4、设置首页
- 3.5、WXML和WXSS
- 什么是 WXML
- 什么是 WXSS
- 3.6、小程序中的 js
- 小程序中的JS 文件分类三大类
- 4、小程序宿主环境
- 4.1、宿主环境的概念
- 什么是宿主概念
- 4.2、小程序的宿主环境
- 小程序的宿主环境是什么
- 小程序宿主环境提供的内容
- 通讯主体
- 通讯模型
- 运行机制
- 4.3、小程序常用组件
- 了解常用的视图容器组件
- 常用的视图容器类组件
- view 组件的使用
- scroll-view 组件的基本使用
- swiper 和 swiper-item 的使用
- 常用的基础内容组件
- text 组件的基本使用
- rich-text 组件的基本使用
- button 组件的基本使用
- image 组件的基本使用
- 4.4、小程序 API
- 5、协同开发流程
- 5.1、小程序协同开发
- 5.2、小程序发布流程
- 5.3、基于小程序码进行推广
小程序是一种不需要下载、安装即可使用的应用,它实现了应用触手可及的梦想,用户扫一扫或者搜一下就能打开应用,也 实现了用完即走的理念,用户不用安装太多应用,应用随处可用,但又无须安装卸载 ---------微信之父、Foxmail 之父 – 张小龙
拦截用户流量入口,今后,用户每天的大多数应用需求,都可以从微信小程序中获得
开发者可使用微信客户端(6.7.2 及以上版本)扫码下方小程序码,体验小程序。
总结概况
❓ 什么小程序?>> 方便
小程序是一种不需要下载、安装即可使用的应用,用户扫一扫或者搜一下就能打开应用,也实 现了用完即走的理念,用户不用安装太多应用,应用随处可用,但又无须安装卸载
⑤、 点击链接激活账号
注意:如果在企业中实际开发,这里应该选择器主体未 企业,然后提交相关材料
在小程序开发完成以后,要对项目进行推广和运营,因此需要对小程序进行基本信息的设置,通常需要对以 下内容进行设置:
思考
❓ 什 么 是 AppId?
小程序的 “身份证”,用于微信辨识和验证小程序以提供高级的 API 和接口
微信开发者工具是官方推荐使用的小程序开发工具,它提供的主要功能如下:
安装方式:双击安装包 → 下一步 → 接受协议 → 安装 → 完成 , 即可完成安装
编译预览小程序的两个方式
开发者工具的 5 个组成部分
思考
❓ Vue 页面的由几部分组成? 怎么组成的 ?
分为 3 部分,template、script、style 一个页面,一个单文件,一个单文件由 这 3 部分组成
小程序官方建议把所有的小程序页面,都存放在 pages 目录中,每个页面以单独的文件夹存在
每个页面由 4 个基本文件组成,分别是:
.js 文件 - 页面的脚本文件,存放页面的数据、事件处理函数、生命周期等
.json 文件 - 当前页面的配置文件,配置页面的外观、表现等
.wxml 文件 - 页面的模板结构文件
.wxss 文件 - 当前页面的样式表文件
JSON 是一种数据格式,在实际开发中,JSON 总是以配置文件的形式出现。小程序项目也不例外,通过不同 的 .json 配置文件,可以对小程序项目进行不同级别的配置。
小程序项目中有 4 种 json 文件,分别是:
app.json 是当前小程序的全局配置,包括了小程序的所有页面路径、窗口外观、界面表现、底部 tab 等, 初始化项目 里面的 app.json 配置内容如下:
project.config.json 是项目配置文件,用来记录我们对小程序开发工具所做的个性化配置,例如:
微信现已开放小程序内搜索,效果类似于 PC 网页的 SEO (搜索引擎优化),sitemap.json 用来配置小程序页面是否 允许微信搜索。 当开发者允许微信搜索时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索关键字和页面的索引 匹配成功的时候,小程序的页面将可能展示在搜索结果中。
在 stiremap.json 文件中,通过配置 rules 字段指定了索引规则,每项规则为一个 JSON 对象, 默认情况下所有页面 都允许被索引
注意:sitemap 的索引提示是默认开启的,如果需要关闭 sitemap 的索引提示,可在小程序项目配置文件, project.config.json 的 setting 中配置字段 checkSiteMap 为 false
小程序中的每一个页面,可以使用 .json 文件来对本页面的窗口外观进行配置,页面中配置项会覆盖 app.json 中的 window 中的配置项
总结概况
❓ 小程序的 4 种配置文件分别是什么?各自的作用是什么 ?
- app.json 小程序的全局配置
- project.config.json 项目配置文件
- sitemap.json 搜索引擎配置文件
- 页面 .json 配置文件 页面的配置文件
方式1:创建文件夹方式
在 pages 文件夹上,右键新建文件夹,创建 home文件夹 ,在 home 文件夹右键新建 page 选项,输入 home
方式2:配置 pages 字段方式
方式1:调整 pages 字段
调整 app.json → pages 数组中页面路径的前后顺序,即可修改项目的首页,小程序会把排在数组第一位的页面,当作项目首页进行渲染
方式2:增加entryPagePath 节点
在 app.json 中 pages 同级,配置一个新的节点 entryPagePath 节点,传入需要设置为首页的路径即可
注意:最终小程序项目的首页,以 entryPagePath 节点设置的为准
思考
❓ 小程序的 设置首页的两个方式是什么 ?
- 将首页的路由放到 app.json → pages 数组第一 项
- 配置一个新的节点 entryPagePath 节点
WXML(WeiXin Markup Language)是框架设计的一套标签语言(组件),用来构建小程序页面的结构, 其作用类似于网页开发中的 HTML
WXML 和 HTML 的区别
WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式,类似于网页开发中的 CSS
WXSS 和 CSS 之间的区别
一个项目仅仅提供页面的展示是不够的,在小程序中,我们通过 .js 文件来处理用户的操作、同时进行开发业务逻辑以及 调用小程序的API 来完成业务,需求例如:响应用户的点击、获取用户的位置、微信登录、微信支付等等
思考
❓ 在前面我们介绍了小程序文件的构成,那么这些文件在小程序中是如何协同工作的呢 ?
依赖于微信客户端给小程序所提供的 宿主环境 !小程序可以调用宿主环境提供的微信客户端 的能力,这就使得小程序比普通网页拥有更多的能力
宿主环境指的是程序运行所必须的 依赖环境,例如: Android 系统和 IOS 系统是两个不同的宿主环境,安卓版的微信 App 是不能在 IOS 环境下运行的。所以 Android 是安卓软件的宿主环境,脱离了宿主环境的软件是没有任何意义的
总结概况
❓ 宿主环境是什么 ?
所谓的宿主环境,就是程序在运行所必须 依赖环境
思考
❓ 安卓版本的微信在 Android 系统下运行,所以 Android 系统是 安卓版本微信的宿主环境 IOS 版本的微信在 IOS 系统下运行,所以 IOS 系统是 IOS 版本微信的宿主环境 那么小程序的宿主环境是什么 ?
微信小程序是依赖于微信运行的,脱离了微信运行不了,所以小程序的宿主环境是微信
微信是小程序的宿主环境,脱离了微信,小程序是运行不成功的
小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能,例如:微信扫码、微信支付、微信登 录、地理定位 等等功能
小程序中通信的主体是 渲染层 和 逻辑层,其中:
小程序中的通信模型分为两个部分:
小程序启动的过程: ①. 把小程序的代码包下载到本地 ②. 解析 app.json 全局配置文件 ③. 执行 app.js 小程序入口文件,调用 App() 创建小程序实例 ④. 渲染小程序首页 ⑤. 小程序启动完成
页面渲染的过程:
①. 加载解析页面的.json 配置文件 ②. 加载页面的 .wxml 模板和 .wxss 样式 ③. 执行页面的 .js 文件,调用 Page() 创建页面实例 ④. 页面渲染完成
思考
❓小程序的宿主环境是什么 ?
小程序的宿主环境是微信
思考
❓ 小程序的通讯主体什么 ?
渲染成与逻辑层
思考
❓ 小程序的通讯模型什么 ?
渲染层和逻辑层的通讯,逻辑层与第三方服务器的通讯,都需要经由微信客户端转发
组件文档open in new window
一个小程序页面可以分解成多个部分组成,组件就是小程序页面的基本组成单元。为了让开发者可以快速进行开 发,小程序的宿主环境提供了一系列基础组件,常用的组件包含以下几种:
①、view 组件
②、scroll-view 组件
③、 swiper 和 swiper-item 组 件
View 组件类似与 HTML 中的 div 标签,一般主要用来布局
scroll-view 组件一般用来实现滚动区域的视图
swiper 和 swiper-item,滑块视图容器 ,需组合使用,一般用来实现轮播图区域布局
swiper 和 swiper-item 常用属性说明
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
indicator-dots | boolean | false | 是否显示面板指示点 |
indicator-color | color | rgba(0, 0, 0, .3) | 指示点颜色 |
indicator-active-color | color | #000000 | 当前选中的指示点颜色 |
autoplay | boolean | false | 是否自动切换 |
interval | number | 5000 | 自动切换时间间隔 |
circular | boolean | false | 是否采用衔接滑动(最后一张的时候滑动到第一张) |
①、text 组件
②、rich-text 组件 (v-html)
通过 text 组件的 selectable 属性,实现 长按选中文本 内容的效果
通过 rich-text 组件的 nodes 属性节点,把 HTML 字符串渲染为对应的 UI 结构
按钮组件,功能比 HTML 中的 button 按钮丰富,通过 open-type 属性可以调用微信提供的各种功能(客服、转 发、获取用户授权、获取用户信息等)
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
size | String | default | 按钮的大小 |
type | String | default | 按钮的样式类型 |
plain | Boolean | false | 按钮是否镂空,背景色透明 |
disabled | Boolean | false | 是否禁用 |
loading | Boolean | false | 名称是否带 loading t图标 |
图片组件,渲染图片(注意:image 组件如果不设置图片地址,也占据空间,image组件默认宽度320px、高度240px)
image 组件的 mode 属性用来指定图片的裁剪和缩放模式。常用的 mode 属性值如下:
mode 值 | 说明 |
---|---|
scaleToFill | 默认值,缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素 |
aspectFit | 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来,可以将完整地将图片显示出来。 |
aspectFill | 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完 整的,另一个方向将会发生截取。 |
思考
❓ 小程序常用的组件有哪些?
view、scroll-view、text、swiper、image 等
思考
❓ 小程序中如何渲染 HTML 字符串?
通过 rich-text 组件的 nodes 属性节点,把 HTML 字符串渲染为对应的 UI 结构
思考
❓ image 组件默认的宽高是多少?
image组件默认宽度 320px、高度 240px
小程序中的 API 是宿主环境提供的,通过这些丰富的微信原生 API,可以方便的调起微信提供的能力,如获取用 户信息,本地存储,支付功能等。小程序官方把 API 分为如下 3 大类:
①、事件监听 API
②、同步 API
③、异步 API
了解权限管理需求
在中大型的公司中,人员的分工非常仔细:同一个小程序项目,一般会有不同的岗位、不同角色的员工同时参与 设计与开发
此时出于管理需要,我们迫切需要对不同的岗位、不同的角色的员工的权限进行边界的划分,使他们能够高效的 进行协同开发
了解公司组织结构
了解公司开发流程
了解小程序成员管理的两个方面
小程序成员管理体现在 管理员 对小程序 项目成员 及 体验成员 的管理:
开发者的权限说明
不同项目成员对应的权限,项目成员分为三个角色: 运营者、开发者、数据分析者
开发者的权限说明
如何添加项目成员和体验成员
每个小程序帐号可添加一定数量的项目成员、体验成员,具体限制如下
总结概况
❓ 项目成员分为几种角色?企业账号能够添加多少添加项目成员和体验成员
- 分为 3 种:运营者、开发者、数据分析者
- 个人分别最多添加 15 个,企业分别最多添加 90 个
了解小程序的版本阶段
版本阶段 | 说明 |
---|---|
开发版本 | 使用开发者工具,可将代码上传到开发版本中。 开发版本只保留每人最新的一份上传的代码。 点击提交审核,可将代码提交审核。开发版本可删除,不影响线上版本和审核中版本的代码。 |
体验版本 | 可以选择某个开发版本,将其转为作为体验版 |
审核中版本 | 只能有一份代码处于审核中。有审核结果后可以发布到线上,可直接重新提交审核,覆盖原审核版本。 |
线上版本 | 线上所有用户使用的代码版本,该版本代码在新版本代码发布后被覆盖更新。 |
了解小程序发布上线的主要步骤
在后台查看上传之后的版本
登录小程序管理后台 --> 管理 --> 版本管理 --> 开发版本,即可查看刚才提交上传的版本
发布
审核通过之后,管理员的微信中会收到小程序通过审核的通知,此时在审核版本的列表中,点击 发布 按钮之后, 即可把 审核通过 的版本发布为 线上版本,供所有小程序用户访问和使用
相对于普通二维码来说,小程序码的优势如下: ① 在样式上更具有辨识度和视觉冲击力 ② 能够更加清晰的树立小程序的品牌形象 ③ 可以帮助开发者、商家更好的推广小程序
获取小程序码的步骤
登录小程序管理后台 → 设置 → 基本设置 → 基本信息 → 小程序码及 线下物料下载
查看小程序的运营数据
使用小程序数据助手查看
打开微信==>搜索 “小程序数据助手”==>查看已发布的小程序相关的数据
思考
❓小程序版本分为几个阶段?
分为 4 个:开发版本、体验版本、审核中版本、线上版本