微信公众平台
获取AppID(小程序ID)
小程序项目结构
- pages 存放小程序页面
- utils 用来存放工具模块
- app.js 小程序项目的入口问价
- app.json 小程序项目的全局配置文件
- app.wxss小程序项目的全局样式文件
- project.config.json项目的配置文件
- sitemap.json用来配置小程序及其页面是否允许被微信索引
小程序页面组成
每个页面由四个基本文件组成
- js文件(页面的脚本文件,存放页面的数据、事件处理函数等)
- json文件(当前页面的配置文件,配置窗口的外观、表现等)
- wxml文件(页面的模版结构文件)
- wxss文件(当前页面的样式文件)
小程序项目中有4种json配置文件
- 项目根目录中的app.json配置文件
- 项目根目录中的project.config.json配置文件
- 项目根目录中的sitemap.json配置文件
- 每个页面中的.json配置文件
app.json配置文件
app.json文件是当前小程序的全局配置,包括了小程序所有页面路径、窗口外界面表现、底部tab等。 pages:记录当前所有页面路径 window:全局定义小程序所有页面的路径 style:全局定义小程序组件所使用的样式版本(v2使用最新样式) sitemapLocation:指明sitemap.json的位置
{
"pages": [
"pages/index/index",
"pages/logs/logs"
],
"window": {
"navigationBarTextStyle": "black",
"navigationStyle": "custom"
},
"style": "v2",
"rendererOptions": {
"skyline": {
"defaultDisplayBlock": true,
"disableABTest": true,
"sdkVersionBegin": "3.0.0",
"sdkVersionEnd": "15.255.255"
}
},
"componentFramework": "glass-easel",
"sitemapLocation": "sitemap.json",
"lazyCodeLoading": "requiredComponents"
}
project.config.json配置文件
project.config.json是项目配置文件,用来记录小程序开发工具所做的个性化配置,例如: setting中保存了编译相关的配置 projectname保存项目名称 appid保存小程序账号ID
sitemap.json配置文件
微信现已放开小程序内搜索,效果类似于PC网页的SEO,sitemap.json文件用来配置小程序页面是否允许微信索引。 当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索关键字和页面的索引匹配成功的时候,小程序的页面可能将展示在搜索结果中。
page:"*" action:"allow" 所有页面都允许被索引(disallow不被索引)
注意:sitemap的索引提示是默认开启的,如果需要关闭sitemap提示,可在配置文件project.config.json的setting中配置字段checkSiteMap设置为false
页面中的json配置文件
小程序中的每一个页面,可以使用json文件对本页面的窗口外观进行配置,页面中的配置项会覆盖app.js的window中相同的配置项
新建小程序页面
只需要在app.json -> pages中新增页面的存放路径,小程序开发者工具即可帮我们自动创建对应的页面文件,如:
小程序首页
只需调整app.json -> pages数组中页面路径顺序,即可修改项目的首页。小程序会把排在第一位的页面,当做项目首页进行渲染,如"pages/index/index"在第一个,则index为首页
"pages": [
"pages/index/index",
"pages/logs/logs",
"pages/list/list"
]
什么是WXML
WXML(WeiXin Markup Language)是小程序框架设计的一套标签语言,用来构建小程序页面结构,作用类似html
标签名称不同
- HTML(div,span,img,a)
- WXML(view,text,image,navigator)
属性节点不同
<a href="#">超链接</a>
<navigator url="#"></navigator>
提供了类似vue中模版语法
- 数据绑定
- 列表渲染
- 条件渲染
什么是WXSS
WXSS(WeiXin Style Sheets)是一套样式语言,用于描述WXML的组件样式,类似网页开发中的CSS。
新增rpx尺寸单位
- css中需要手动进行像素单位换算,例如rem
- WXSS在底层支持新的尺寸单位rpx,在不同大小的屏幕上下程序会自动换算
提供了全局样式和局部样式
- 项目根目录中的app.wxss会作用于所有小程序页面
- 局部页面的wxss样式仅对当前页面生效
WXSS仅支持部分CSS选择器
- .class和#id
- element
- 并集选择器、后代选择器
- ::after和::before等伪类选择器
什么是JS
一个项目仅仅提供界面展示是不够的,在小程序中,我们通过js文件来处理用户的操作。例如:响应用户的点击,获取用户的位置等等。 小程序中的js文件分为三大类,分别是:
app.js
- 是整个小程序项目的入口文件,通过App()函数来启动整个小程序
页面的js文件
- 是页面的入口文件,通过调用Page()函数来创建并运行页面
普通的js文件
- 是普通的功能模块文件,用来封装公共函数或属性
小程序的宿主环境
手机微信是小程序的宿主环境。宿主环境是指程序运行所必须的依赖环境。例如:安卓系统和IOS系统是两个不同的宿主环境,安卓的app是不能在IOS系统下运行的,所以安卓系统是安卓软件的宿主环境,脱离了宿主环境的软件是没意义的。
小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能,例如:微信扫码、微信支付、微信登录、地理定位、etc等,小程序的能力都是由微信提供的。
小程序宿主环境包含的内容
通信模型
通信的主体
小程序通讯主体是渲染层和逻辑层。其中:
- WXML模版和WXSS样式工作表在渲染层
- JS脚本在逻辑层
小程序的通信模型
小程序的通信模型分为两部分:
- 渲染层和逻辑层之间的通信
- 由微信客户端转发
- 逻辑层和第三方服务器之间的通信
- 由微信客户端转发
运行机制
小程序的启动过程
- 把代码包下载到本地
- 解析app.json全局配置文件
- 执行app.js小程序入口文件,调用App()创建小程序实例
- 渲染小程序首页
- 小程序启动完成
页面的渲染过程
- 加载解析页面的json配置文件
- 加载页面的wxml模版和wxss样式
- 执行页面的js文件,调用Page()创建页面实例
- 页面渲染完成
小程序组件分类
小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建页面结构。官方把小程序组件分为9大类,分别是:
- 视图容器
- 基础内容
- 表单组件
- 导航组件
- 媒体组件
- map地图组件
- canvas画布组件
- 开放能力
- 无障碍方向
常用的视图组件
view
- 普通视图区域
- 类似于HTML中的div,是块级元素
- 常用来实现页面布局效果
scroll-view
- 可滚动的视图区域
- 常用来实现滚动列表效果
swiper和swiper-item
轮播图容器组件和轮播图item组件
常用基础内容组件
text
文本组件,类似span标签 selectable属性,实现长按选中文本效果
rich-text
富文本组件,支持把HTML字符串渲染为WXML结构。通过rich-text组件的node属性节点,把HTML字符串渲染为对应的ui结构:
<rich-text nodes="<h1 style='color:red'>标题</h1>"/>
其他常用组件
button
- 功能比HTML更丰富
- 通过open-type属性可以调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息)
image
- 图片组件
- image组件默认宽度约为300px,高度约为240px
- mode属性用来指定图片的裁剪和缩放模式
navigator
- 页面导航组件
- 类似于HTML中a连接
小程序API概述
小程序中的API是由宿主环境提供的,通过这些丰富的API,开发者可以方便调用微信提供的能力,例如:获取用户信息、本地存储、支付功能等。
小程序API的3大分类
事件监听API
- 特点:以on开头,用来监听某些事件的触发
- 举例:wx.onWindowResize监听窗口尺寸变化
同步API
- 特点1:以Sync结尾的API都是同步API
- 特点2:同步API的执行结果,可以通过函数返回值直接获取,如果执行出错会抛出异常
- 举例:wx.setStorageSync向本地存储中写入内容
异步API
- 特点:类似于ajax,需要通过success、fail、complete接收调用的结果
- 举例:wx.request发起网络请求,通过success回调函数接收数据
小程序成员管理
开发者权限说明
- 开发者权限:可使用小程序开发者工具及对小程序功能进行代码开发
- 体验者权限:可使用体验版的小程序
- 登录权限:可登录小程序管理后台,无需管理员确认
- 开发设置:设置小程序服务器域名、消息推送及扫描普通链接二维码打开小程序
- 腾讯云管理:云开发相关设置
添加项目成员和体验成员
管理->成员管理
小程序的版本
软件开发过程中,根据时间节点不同,会产出不同的软件版本,例如:
- 开发者编写代码的同时,对项目进行自测(开发版本)
- 当程序到达一个稳定可体验的状态时,开发者把体验版本给到产品经理和测试人员进行体验测试
- 最后修复完Bug后,发布正式版供用户使用
版本阶段
- 开发版本:使用开发者工具,可将代码上传到开发版本中。开发版本只保留每人最新的一份上传的代码。点击提交审核,可将代码提交审核。开发版本可删除,不影响线上版本和审核中版本的代码
- 体验版本:可以选择某个开发版本作为体验版
- 审核中的版本:只能有一份代码处于审核中,有审核结果后可以发布到线上,也可以直接重新提交审核,覆盖原审核版本
- 线上版本:线上用户使用的版本,该版本代码在新版本代码发布后被覆盖更新
发布上线步骤
上传代码
点击开发者工具栏中的“上传”按钮,填写版本号及项目备注,完成后在管理->版本管理->开发版本中查看信息
提交审核
- 提交审核是为了保证小程序的质量,以及符合相关的规范,小程序的发布是需要经过腾讯官方审核的
- 提交审核的方式:在开发版本列表中,点击“提交审核”按钮之后,按照页面提示填写相关信息,就能把小程序提交到腾讯官方进行审核。
审核
审核通过之后,管理员的微信中会收到小程序通过审核的通知,此时在审核版本的列表中,点击“发布”按钮之后,即可把“审核通过”的版本发布为“线上版本”,供用户使用。
基于小程序码进行推广
- 相对于普通二维码,小程序码的优势如下
- 在样式上更有辨识度和视觉冲击力
- 能够更加清晰地树立小程序的品牌形象
- 可以帮助开发者更好地推广小程序 获取小程序码 登录小程序管理后台->设置->基本设置->基本信息->小程序码及线下物料下载
查看小程序运营数据的两种方式
在“小程序后台”查看
- 登录小程序管理后台
- 点击侧边栏“统计”
- 点击相应的tab可以查看到相关的数据
使用“小程序数据助手”查看
- 打开微信
- 搜索“小程序数据助手”
- 查看已发布的小程序相关的数据