微信小程序
一、微信小程序介绍
- 微信小程序,简称小程序,英文名:Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。
1.1 为什么是微信小程序?
- 微信有海量用户,而且粘性很高,在微信里开发产品更容易触达用户。
- 推广 app 或公众号的成本太高。
- 开发适配成本低。
- 容易小规模试错,然后快速迭代。
- 跨平台。
1.2 还有其他的小程序 不容忽视
- 支付宝小程序
- 百度小程序
- QQ 小程序
- 今日头条 + 抖音小程序
1.3 优秀的第三方小程序
- 拼多多
- 滴滴出行
- 欢乐斗地主
- 智行火车票
- 唯品会
- …
二、环境准备
开发小程序之前,必须要准备好相应的环境。
2.1 注册账号
建议使用全新的邮箱,没有注册过其他小程序或者公众号的。
访问注册页面,耐心完成注册即可。
2.2 获取 APPID
- 由于后期调用微信小程序的接口等功能,需要索取开发者的小程序中的 APPID ,所以在注册成功后,可登录获取一下 APPID 。
- 登录,成功后复制 APPID 。
2.3 开发工具
- 微信开发者工具
- 微信小程序自带开发者工具,集开发、预览、调试、发布于一身的完整环境。但是由于编码的体验不算好,因此建议使用
vs code + 微信小程序编辑工具
来实现编码。- vs code 负责敲代码,微信编辑工具负责预览。
- 微信编辑工具负责预览。
三、第一个微信小程序
3.1 打开微信开发者工具
- 第一次登陆需要扫码。
四、小程序目录结构
- 小程序框架的目标是通过尽可能简单、搞笑的方式让开发者可以在微信中开发具有原生 APP 体验的服务。
- 小程序框架提供了自己的视图层描述语言 WXML 和 WXSS ,以及 JavaScript ,并在视图层与逻辑层间提供了数据传输和事件系统,让开发者能够专注于数据与逻辑。
4.1 小程序文件结构和传统 Web 对比
结构 | 传统 Web | 微信小程序 |
---|---|---|
结构 | HTML | WXML |
样式 | CSS | WXSS |
逻辑 | JavaScript | JavaScript |
配置 | 无 | JSON |
- 通过以上对比得出,传统 Web是三层结构。而微信小程序是四层结构,多了一层配置.json。
4.2 基本的项目目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fwpO6B5S-1642639773070)(D:\前端笔记\image\小程序项目结构.png)]
五、小程序配置文件
- 一个小程序应用程序会包括最基本的两种配置文件。一种是全局的
app.josn
和页面自己的page.json
注意:配置文件中不能出现注释。
5.1 全局配置 app.json
-
app.json 是当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 Tab 等。普通快速启动项目里边的 app.json 配置。
{ // 页面 "pages":[ "pages/index/index", "pages/logs/logs" ], // 全局默认窗口表现 "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#FFF", "navigationBarTitleText": "Weixin", "navigationBarTextStyle":"black" }, "style": "v2", "sitemapLocation": "sitemap.json" }
-
字段的含义:
- pages 字段 —— 用于描述当前小程序所有页面路径,这是为了让微信客户知道当前小程序页面定义在哪个目录。
- window 字段 —— 定义小程序所有页面的顶部背景颜色,文字颜色定义等。
- 完整的配置信息请参考app.json。
5.1.1 tabbar
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IcFIumsE-1642639773070)(D:\前端笔记\image\tabbar.png)]
5.2 页面配置 page.json
-
page.json 是用来表示页面目录下到的 page.json 这类和小程序页面相关的配置。
-
开发者可以独立定义每个页面的一些属性,如顶部颜色、是否允许下拉等等。
-
页面的配置只能设置 app.json 中部分 window 配置项的内容,页面中配置项会覆盖 app.json 的 window 中相同的配置项。
属性 类型 默认值 描述 navigationBarBackgroundColor HexColor #000000 导航栏背景颜色 navigationBarTextStyle String white 导航栏标题颜色,仅支持 black / white navigationBarTitleText String 导航栏标题文字内容 backgroundColor HexColor #ffffff 窗口的背景色 backgroundTextStyle String dark 下拉 loading 的样式,仅支持 dark / light enablePullDownRefresh Boolean false 是否全局开启下拉刷新 onReachBottomDistance Number 50 页面上拉触底事件触发时距 disableScroll Boolean false
5.3 sitemap 配置 - 了解即可
小程序目录下的 sitemap.json 文件用于配置小程序及其页面是否允许被微信索引。
六、模板语法
WXML (WeiXin Markup Language) 是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的逻辑。
6.1 数据绑定
6.1.1 普遍写法
<view>{
{ message }}</view>
Page({
data: {
message: 'Hello MINA!'
}
})
6.1.2 组件属性
<view>{
{ message }}</view>
Page({
data: {
id: 0
}
})
- 使用 Boolean 类型充当属性
- 字符串和花括号之间一定不要存在空格,否则会导致识别失败。
6.2 运算
6.2.1 三元运算
<view hidden="{
{flag