小程序是一种不需要下载、安装即可使用的应用,它实现了应用触手可及的梦想,用户扫一扫或者搜一下就能打开应用,也实现了用完即走的理念,用户不用安装太多应用,应用随处可用,但又无须安装卸载
拦截用户流量入口,今后,用户每天的大多数应用需求,都可以从微信小程序中获得
运行环境不同
网页
运行在 浏览器环境
中小程序
运行在 微信环境
中App
运行在 手机操作系统
中API
不同
无法调用 DOM 和 BOM 的 API
App
的 API 是手机操作系统给提供开发模式不同
代码编辑器
+ 浏览器
申请小程序开发账号
安装小程序开发者工具
创建和配置并开发小程序项目
在开发者工具中对代码进行上线
App
开发模式需要调用 IOS
和 Android
的组件库参考网址:微信公众平台
注册:在微信公众平台注册小程序,完成注册后可以同步进行信息完善和开发
小程序信息完善:填写小程序基本信息,包括名称、头像、介绍及服务范围等
开发小程序:完成小程序开发者绑定、开发信息配置后,开发者可下载开发者工具、参考开发文档进行小程序的开发和调试
提交审核和发布:完成小程序开发后,提交代码至微信团队审核,审核通过后即可发布(公测期间不能发布)
需要在微信公众平台注册小程序账号
微信公众平台:微信公众号平台
微信公众号实际上分为 4 类:订阅号(就是咱们平台聊天时候说的公众号)、服务号、小程序、企业微信
点击注册按钮
使用浏览器打开 微信公众平台 网址,点击右上角的 “立即注册” 即可进入到小程序开发账号的注册流程
填写账号信息
相当于小程序在微信中的“身份证”,有了 AppID ,微信客户端才能确定小程序“身份”,并使用微信提供的高级接口
了解微信开发者工具
微信开发者工具是官方推荐使用的小程序开发工具,它提供的主要功能如下:
下载并安装微信开发者工具
Stable Build
的微信开发者工具为什么需要代理设置 ?
主界面的 5 个组成部分,从上到下,到左到右,依次是
pages
用来存放所有小程序的页面utils
用来存放工具性质的模块(例如:格式化时间的自定义模块)app.js
小程序项目的入口文件 — main.jsapp.json
小程序项目的全局配置文件app.wxss
小程序项目的全局样式文件project.config.json
项目的配置文件sitemap.json
用来配置小程序及其页面是够允许被微信索引 – SEO – 搜索引擎优化vue 单文件组件:3 个部分:template 、script、style
小程序官方建议把所有的 小程序页面,都存放在 pages 目录中,每个页面以单独的文件夹存在
其中,每个页面 由 4 个基本文件
组成,他们分别是:
.js
文件 – 页面的脚本文件,存放页面的数据、事件处理函数、生命周期等.json
文件 – 当前页面的配置文件,配置页面的外观、表现等.wxml
文件 – 页面的模板结构文件.wxss
文件 – 当前页面的样式表文件JSON
是一种数据格式,在实际开发中,JSON
总是以配置文件的形式出现。小程序项目也不例外,通过不同的 .json
配置文件,可以对小程序项目进行不同级别的配置。小程序项目中有 4 中 json
文件,分别是:
app.json
配置文件 ★★★★★project.config.json
配置文件sitemap.json
配置文件.json
配置文件 ★★★★★app.json
是当前小程序的全局配置,包括了小程序的所有页面路径
、窗口外观
、界面表现
、底部 tab
等, Demo
项目里面的 app.json
配置内容如下:
简单了解下这 4 个配置项的作用:
pages
:用来记录当前小程序所有页面的路径window
:全局定义小程序所有页面的背景色、文件颜色等style
:全局定义小程序组件所使用的样式版本
sitemapLocation
:用来指明 sitemap.json 的位置project.config.json
是项目配置文件,用来记录我们对小程序开发工具所做的个性化配置,例如:
setting
中保存了编译相关的配置
projectname
中保存的是项目名称
appid
中保存的是小程序的账号 ID
在实际开发中,这个文件,默认就可以
如果需要进行配置,需要按照运营的要求,进行文件的配置
微信现已开放小程序内搜索
,效果类似于 PC 网页的 SEO (搜索引擎优化),sitemap.json 用来配置小程序页面是否允许微信搜索
。
当开发者允许微信搜索时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索关键字和页面的索引匹配成功的时候,小程序的页面将可能展示在搜索结果中。
注意: sitemap
的索引提示是默认开启的,如需要关闭 sitemap
的索引提示,可在小程序项目配置文件 project.config.json
的 setting
中配置字段 checkSiteMap
为 false
小程序中的每一个页面,可以使用 .json
文件来对本页面的窗口外观进行配置,页面中的配置项会覆盖 app.json
中的 window
中的配置项
pages
文件中右键 新建文件夹 -- home
,在 home
文件夹右键 新建 home -- 输入 hoome
不需要输入后缀名
app.json
--> pages
中新增页面的存放路径,小程序开发者工具即可帮我们自动创建对应的页面文件app.json
--> pages
数组中页面路径的前后顺序,即可修改项目的首页,小程序会把排在第一位的页面,当作项目首页进行渲染app.json
中 pages
同级,配置一个新的节点 entryPagePath
节点,传入需要设置为首页的路径即可
entryPagePath
节点设置的为准什么是 WXML
WXML
(WeiXin Markup Language
)是框架设计的一套标签语言(组件),用来构建小程序页面的结构,其作用类似于网页开发中的 HTML
WXML
和 HTML
的区别
标签名称不同
HTML
— div、p、span、img
WXML
— view、text、image、navigator
属性节点不同
提供了类似于 Vue 中的模板语法
什么是 WXSS
WXSS
(WeiXin Style Sheets
)是一套样式语言,用于描述 WXML
的组件样式CSS
WXSS
和 CSS
之间的区别
新增了 rpx 自适应尺寸单位
CSS
中需要手动进行像素单位换算,例如 rem
WXSS
在底层支持新的尺寸单位 rpx
,在不同大小的屏幕上小程序会自动进行换算提供了全局的样式和局部样式
app.wxss
会作用于所有小程序页面.wxss
样式仅对当前页面生效WXSS
仅支持部分 CSS
选择器
重点使用 class 选择器
.class 和 #id
element
并集选择器和后代选择器
::after 和 ::before 等伪类选择器
一个项目仅仅提供页面的展示是不够的,在小程序中,我们通过 .js 文件来处理用户的操作,例如:响应用户的点击、获取用户的位置等等
小程序中的 JS 文件分类三大类,分别是:
app.js
整个小程序项目的入口文件
,通过调用 App() 函数
来启动整个小程序页面的 .js 文件
页面的入口文件
,通过调用 Page() 函数
来创建小程序页面,并运行小程序页面普通的 .js 文件
普通的功能模块文件
,用来封装公共的函数或属性
供页面使用宿主环境指的是 程序运行所必须的依赖环境
,例如:
小程序的宿主环境
微信是小程序的宿主环境
,如图所示:
小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能,例如:微信扫码、微信支付、微信登录、地理定位 等等
小程序中通信的主体是 渲染层
和 逻辑层
,其中:
WXML
模板和 WXSS
样式工作在渲染层JS
脚本工作在逻辑层小程序中的通信模型分为两个部分
渲染层
和 逻辑层
之间的通信
逻辑层
和 第三方服务器
之间的通信
小程序启动的过程
app.json
全局配置文件app.js
小程序入口文件,调用 App() 创建小程序实例
页面渲染的过程
.json
配置文件.wxml
模板和 .wxss
样式.js
文件,调用 Page() 创建页面实例
小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构,官方把小程序的组件分为了 9 大类,分别是:
① 视图容器 ② 基础内容 ③ 表单组件 ④ 导航组件 ⑤ 媒体组件
⑥ map 地图组件 ⑦ canvas 画布组件 ⑧ 开发能力 ⑨ 无障碍访问
常用的视图容器类组件
view
组件
scroll-view
组件
swiper
和 swiper-item
组件
view 类似于 div ,一般主要用来布局
实现如图的 Flex 横向布局效果:
<view class="container">
<view>Aview>
<view>Bview>
<view>Cview>
view>
.container {
display: flex;
justify-content: space-around;
}
.container view{
width: 100px;
height: 100px;
text-align: center;
line-height: 100px;
}
.container view:nth-child(1) {
background-color: lightgreen;
}
.container view:nth-child(2) {
background-color: lightskyblue;
}
.container view:nth-child(3) {
background-color: lightcoral;
}
<scroll-view class="container" scroll-y>
<view>Aview>
<view>Bview>
<view>Cview>
scroll-view>
.container {
width: 100px;
height: 120px;
}
.container view{
width: 100px;
height: 100px;
text-align: center;
line-height: 100px;
}
.container view:nth-child(1) {
background-color: lightgreen;
}
.container view:nth-child(2) {
background-color: lightskyblue;
}
.container view:nth-child(3) {
background-color: lightcoral;
}
<swiper indicator-dots class="swiper-container">
<swiper-item>
<view class="item">Aview>
swiper-item>
<swiper-item>
<view class="item">Bview>
swiper-item>
<swiper-item>
<view class="item">Cview>
swiper-item>
swiper>
.swiper-container {
/* 轮播图容器的高度 */
height: 150px;
}
.item{
height: 100%;
line-height: 150px;
text-align: center;
}
swiper-item:nth-child(1) .item{
background-color: lightgreen;
}
swiper-item:nth-child(2) .item{
background-color: lightskyblue;
}
swiper-item:nth-child(3) .item{
background-color: lightcoral;
}
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
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
组件
HTML
中的 span
标签,是一个行内元素rich-text
组件 (v-html)
HTML
字符串渲染为 WXML
结构text
组件的基本使用
text
组件的 selectable
属性,实现长按选中文本内容的效果
<view>
手机号支持长按选中效果
<text selectable>18222222222text>
view>
rich-text
组件的基本使用
rich-text
组件的 nodes
属性节点,把 HTML 字符串渲染为对应的 UI 结构
<rich-text nodes=" style='color: red'>rich-text组件</h4>">
rich-text>
常用的其他组件
button
HTML
中的 button
按钮丰富open-type
属性可以调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息等)button
按钮的基本使用
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
size | String | default | 按钮的大小 |
type | String | default | 按钮的样式类型 |
plain | Boolean | false | 按钮是否镂空,背景色透明 |
disabled | Boolean | false | 是否禁用 |
loading | Boolean | false | 名称是否带 loading t图标 |
<view>~~~ 通过 type 指定按钮类型 ~~~view>
<button>默认按钮button>
<button type="primary">主色调按钮button>
<button type="warn">警告按钮button>
<view>~~~ size="mini" 小尺寸按钮 ~~~view>
<button size="mini">默认按钮button>
<button size="mini" type="primary">主色调按钮button>
<button size="mini" type="warn">警告按钮button>
<view>~~~ plain 镂空效果 ~~~view>
<button plain size="mini">默认按钮button>
<button plain size="mini" type="primary">主色调按钮button>
<button plain size="mini" type="warn">警告按钮button>
image 组件的基本使用
src
– 支持本地和网络上的图片mode
– 指定图片的裁剪、缩放的模式
<image>image>
<image src="/images/ha.jpg">image>
image {
border: 1px solid red;
}
image
组件的 mode
属性
image
组件的 mode
属性用来指定图片的裁剪和缩放模式。常用的 mode
属性值如下:
mode 值 | 说明 |
---|---|
scaleToFill | 默认值,缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素 |
aspectFit | 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。 |
aspectFill | 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。 |
widthFix | 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变,这里的宽度是指 image 宽度,不在是默认值 |
heightFix | 缩放模式,高度不变,宽度自动变化,保持原图宽高比不变,这里的高度是指 image 高度,不在是默认值 |
小程序中的 API 是宿主环境提供的,通过这些丰富的微信原生 API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等。小程序官方把 API 分为如下 3 大类:
事件监听 API
on
开头的 API
用来监听某个事件是否触发同步 API
Sync
结尾的 API
都是同步 API
API
的执行结果,可以通过函数返回值直接获取,如果执行出错会抛出异常异步 API
特点:类似于 jQuery 中的 $.ajax(options) 函数,需要通过 success、fail、complete 接收调用结果
举例:wx.request() 发起网络数据请求,通过 success 回调函数接收数据
小程序中,大多数的 API
都是异步 API
了解权限管理需求
了解项目成员的组织结构
小程序的开发流程
小程序成员管理体现在 管理员
对小程序 项目成员
及 体验成员
的管理:
项目成员
体验成员
不同项目成员对应的权限
开发者的权限说明
软件开发过程中,根据时间节点的不同,会产出不同的软件版本
小程序的版本
审核是微信官方进行审核,审核周期一般是 3 ~ 7 天
小程序发布上线 的整体步骤
一个小程序的发布上线,一般要经过 上传代码
--> 提交审核
--> 发布
这三个步骤
上传代码
在后台查看上传之后的版本
登录小程序管理后台 --> 管理 --> 版本管理 --> 开发版本,即可查看刚才提交上传的版本
提交审核
为什么需要提交审核
提交审核的方式
提交审核
按钮之后,按照页面提示填写相关的信息,就能把小程序提交到腾讯官方进行审核发布
审核通过之后,管理员的微信中会收到小程序通过审核的通知,此时在审核版本的列表中,点击 发布
按钮之后,即可把 审核通过
的版本发布为 线上版本
,供所有小程序用户访问和使用
相对于普通二维码来说,小程序码的优势如下:
获取小程序码的 5 个步骤:
登录小程序管理后台
--> 设置
--> 基本设置
--> 基本信息
--> 小程序码及线下物料下载
在 小程序后台
查看
使用 小程序数据助手
查看
如有不足,请多指教,
未完待续,持续更新!
大家一起进步!