目录
一、小程序简介
1.小程序与普通网页的区别
二、注册小程序账号 安装微信发者工具
- 推荐下载和安装稳定版(Stable Build)的微信开发者工具,下载链接如下:
微信开发者工具(稳定版 Stable Build)下载地址与更新日志 | 微信开放文档
- 安装完成之后打开软件弹出以下图片
- 扫码登录
登录成功出现如下页面
- 设置外观和代理
三、创建小程序项目
1.点击“+”按钮
2. 填写项目信息
AppID:登录 小程序后台 ,我们可以在菜单 “开发”-“开发设置” 看到小程序的 AppID 了 。
3.在真机上预览效果
4. 主界面的5个组成部分
四、项目结构
1.了解项目的基本组成结构
2.小程序页面的组成结构
2.1 JSON配置文件的作用
JOSN是一种数据格式,在实际开发中,josn总是以配置文件的形式出现。小程序中也不例外; 通过不用的 .json配置文件,可以对小程序项目进行不同级别的配置
小程序中有4种json配置文件,分别是:
- 项目根目录的app.json配置文件
- 项目根目录的project.config.json配置文件
- 项目根目录的sitemap.json配置文件
- 每个页面文件夹中的 .json配置文件
app.json配置文件
app.json是当前小程序的全局配置,包括了小程序的所有页面路径、窗口外观,界面表现、底部tab等
demo项目里的app.json配置内容如下:
project.config.json配置文件
project.config.json是项目配置文件,用来记录我们对小程序开发工具所做的个性化配置,例如:
- setting中保存了编译相关的配置
- appid中保存的是小程序的账号ID
- compileType:编译类型
-
editorSetting:编辑器设置,包括tabIndent(缩进方式)和tabSize(缩进大小)等配置。
-
condition:条件配置,用于条件编译。
sitemap.json配置文件
页面中的 .json配置文件
小程序中的每一个页面,可以使用.json文件来对本页面的窗口外观进行配置,页面中的配置项会覆盖app.json中window中相同的配置项,例如
3.新建小程序页面
只需要在app.json --> pages中新增页面的存放路径,小程序开发者工具即可帮我们自动创建对应的页面文件,如图所示:
4.修改项目首页
只需要调整app.json --> pages数组中页面路径的前后顺序,即可修改项目是首页。小程序会把排在第一位的页面,当做项目首页进行渲染,如图所示:
5.WXML模板
5.1什么是WXML
WXML(WeiXin Markup Language)是小程序框架设计的一套标签语言,用来构建小程序页面的结构,其作用类似于网页开发中的HTML。
5.2WXML和HTML的区别
①标签名称不同
- html(div,span,img,a)
- wxml(view,text,image,navigator)
②属性节点不同
- <a href="#">超链接</a>
- <navigator url="pages/home/home"></navigator>
③提供了类似于Vue中的模板语法
- 数据绑定
- 列表渲染
- 条件渲染
6.WXSS样式
6.1什么是WXSS
WXS5 (WeiXin Style sheets)是一套样式语言,用于描述 WXML 的组件样式,类似于网页开发中的 CSS.
6.2.WXSS 和 CSS 的区别
①新增了rpx 尺寸单位
- CSS 中需要手动进行像素单位换算,例如rem
- WXSS 在底层支持新的尺寸单位rpx,在不同大小的屏幕上小程序会自动进行换算
②提供了全局的样式和局部样式
- 项目根目录中的 app.wxss 会作用于所有小程序页面
- 局部页面的 .wxss 样式仅对当前页面生效
③WXSS 仅支持部分 CSS 选择器
- .class 和 #id
- element
- 井集选择器、后代选择器
- ::after 和::before 等伪类选择器
7. JS逻辑交互
7.1 小程序中的 .js 文件
一个项目仅仅提供界面展示是不够的,在小程序中,我们通过.js文件来处理用户的操作。例如:响应用户的点击、获取用户的位置等等。
7.2小程序中 .js 文件的分类
小程序中的 JS 文件分为三大类,分别是:
① app.js
- 是整个小程序项目的入口文件,通过调用 App()函数来启动整个小程序
②页面的 .js 文件
- 是页面的入口文件,通过调用 Page()函数来创建并运行页面
③普通的 .js 文件
- 是普通的功能模块文件,用来封装公共的函数或属性供页面使用
五、小程序的宿主环境
1.宿主环境简介
1.1什么是宿主环境
宿主环境(hostenvironment)指的是程序运行所必须的依赖环境。例如:
Android 系统和 iOS 系统是两个不同的宿主环境。安卓版的微信 App 是不能在 iOS 环境下运行的,所以Android 是安卓软件的宿主环境,脱离了宿主环境的软件是没有任何意义的!
1.2小程序的宿主环境
手机微信是小程序的宿主环境,如图所示:
小程序借助宿主环境提供的能力,可以完成许多普通界面无法完成的功能,例如:
微信扫码、微信支付、微信登录、地理定位....
2.小程序宿主环境包含的内容
①通信模型
②运行机制
③组件
④API
2.1通信模型
1.通信的主体
小程序中通信的主体是渲染层和逻辑层,其中:
① WXML 模板和 WXSS 样式工作在渲染层
②JS 脚本工作在逻辑层
2.小程序的通信模型
小程序中的通信模型分为两部分:
①渲染层和逻辑层之间的通信
- 由微信客户端进行转发
②逻辑层和第三方服务器之间的通信
- 由微信客户端进行转发
2.2 运行机制
小程序启动的过程
- 把小程序的代码包下载到本地
- 解析 app.json 全局配置文件
- 执行 app.js 小程序入口文件,调用 App()创建小程序实例
- 渲染小程序首页
- 小程序启动完成
页面渲染的过程
- 加载解析页面的 .json 配置文件
- 加载页面的 .wxml模板和 .wxss 样式
- 执行页面的 .js 文件,调用 Page()创建页面实例
- 页面渲染完成
2.3组件
小程序中组件的分类
小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构。官方把小程序的组件分为了9大类,分别是:
① 视图容器
② 基础内容
③ 表单组件
④ 导航组件
⑤ 媒体组件
⑥ map 地图组件
⑦canvas 画布组件
⑧ 开放能力
⑨ 无障碍访问
常用的视图容器组件
①view
- 普通视图区域
- 类似于 HTML中的 div,是一个块级元素
- 常用来实现页面的布局效果
②scroll-view
- 可滚动的视图区域
- 常用来实现滚动列表效果
③swiper和swiper-item
- 轮播图容器组件 和 轮播图 item 组件
view组件的基本使用
scroll-view组件的基本使用
- scrool-y属性:运行纵向滚动
- scrool-x属性:运行横向滚动
- 注意:使用竖向滚动时,必须给scroll-view 一个固定高度
swiper和swiper-item组件的基本使用
swiper的属性
<swiper class="swiper-container" indicator-dots indicator-color="white" indicator-active-color="gray" autoplay="true" interval="1000" circular="true">
常用的基础内容组件
①text
- 文本组件
- 类似于 HTML 中的 span 标签,是一个行内元素
②rich-text
- 富文本组件
- 支持把 HTML 字符串渲染为 WXML 结构
text组件的基本使用
通过text组件的selectable 属性,实现长按选中文本内容的效果
rich-text组件的基本使用
通过rich-text组件的 nodes 属性节点,把HTML字符串渲染为对应的UI结构:
其他常用组件
①button
-
按钮组件
-
功能比 HTML 中的 button 按钮丰富
-
通过 open-type 属性可以调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息等)
② image
- 图片组件
- image 组件默认宽度约 300px、高度约 240px
③ navigator
- 页面导航组件
- 类似于 HTML中的a链接
button按钮的基本使用
type、size、plain
image组件的基本使用
image组件的mode属性
image组件的mode属性用来指定图片的裁剪和缩放模式,常用的mode属性值如下:
2.4 API
小程序API概述
小程序中的 API是由宿主环境提供的,通过这些丰富的小程序 AP!,开发者可以方便的调用微信提供的能力 例如:获取用户信息、本地存储、支付功能
小程序API的3大分类
小程序官方把 API分为了如下3大类:
① 事件监听 API
- 特点:以 on 开头,用来监听某些事件的触发
- 举例:wx.onWindowResize(function callback)监听窗口尺寸变化的事件
② 同步 API
- 特点1:以 Sync 结尾的 API都是同步 API
- 特点2:同步 API的执行结果,可以通过函数返回值直接获取,如果执行出错会抛出异常举例:wx.setStorageSync(key','value’)向本地存储中写入内容
③ 异步 API
- 特点:类似于 jQuery 中的 $.ajax(options) 函数,需要通过 success、fail、complete 接收调用的结果
- 举例:wx.request()发起网络数据请求,通过success 回调函数接收数据
六、协同工作与发布
1.协同工作
1.1了解权限管理需求
- 在中大型的公司里,人员的分工非常仔细:同一个小程序项目,一般会有不同岗位、不同角色的员工同时参与设计与开发。
- 此时出于管理需要,我们迫切需要对不同岗位、不同角色的员工的权限进行边界的划分,使他们能够高效的进行协同工作。
1.2了解项目成员的组织结构
1.3小程序的开发流程
2.小程序成员管理
2.1 成员管理的两个方面
2.2不同项目成员对应的权限
2.3开发者的权限说明
2.4添加项目成员和体验成员
3.小程序的版本
3.1软件开发过程中的不同版本
3.2小程序的版本
4.发布上线
4.1.小程序发布上线的整体步骤
4.2上传代码
①点击开发者工具顶部工具栏中的“ 上传 ” 按钮
②填写版本号以及项目备注
4.3在后台查看上传之后的版本
登录小程序管理后台 -> 管理 ->版本管理 ->开发版本,即可查看刚才提交上传的版本了:
4.4提交审核
- 为什么需要提交审核:为了保证小程序的质量,以及符合相关的规范,小程序的发布是需要经过腾讯官方审核的。
- 提交审核的方式:在开发版本的列表中,点击“提交审核”按钮之后,按照页面提示填写相关的信息,就能把小程序提交到腾讯官方进行审核。
4.5发布
审核通过之后,管理员的微信中会收到小程序通过审核的通知,此时在审核版本的列表中,点击“发布”按钮之后,即可把“审核通过”的版本发布为“线上版本”供所有小程序用户访问和使用