1. 初识微信小程序(程序架构/代码构成)

学习前部署

第一步直接搜索微信小程序官网打开官方文档:

微信开放文档

本文档主要是个人学习,学习用以实现一个小程序的功能。

第二步使用官方的编辑器来进行学习开发:

我这使用的是微信的stable来开发,界面看起来不错。win7只能搞1.05的版本,1.06不支持win7了,真是可恶。

页面打开就是这样:

20240416090217image.png

开始正式学习

先来认识下目录

20240416090825image.png

页面配置 page.json(index.json和logs.json)

这里的 page.json 其实用来表示 pages/logs 目录下的 logs.json 这类和小程序页面相关的配置。

如果你整个小程序的风格是蓝色调,那么你可以在 app.json 里边声明顶部颜色是蓝色即可。实际情况可能不是这样,可能你小程序里边的每个页面都有不一样的色调来区分不同功能模块,因此我们提供了 page.json,让开发者可以独立定义每个页面的一些属性,例如刚刚说的顶部颜色、是否允许下拉刷新等等。

我的理解是每个夹子下的局部公共属性

小程序配置 app.json

app.json 是当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等。QuickStart 项目里边的 app.json 配置内容如下:

{
  "pages":[
    "pages/index/index",
    "pages/logs/logs"
  ],
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle":"black"
  }
}
工具配置 project.config.json

通常大家在使用一个工具的时候,都会针对各自喜好做一些个性化配置,例如界面颜色、编译配置等等,当你换了另外一台电脑重新安装工具的时候,你还要重新配置。通常大家在使用一个工具的时候,都会针对各自喜好做一些个性化配置,例如界面颜色、编译配置等等,当你换了另外一台电脑重新安装工具的时候,你还要重新配置。

每个夹子内的文件说明

20240416145954image.png

  1. .json 后缀的 JSON 配置文件
  2. .wxml 后缀的 WXML 模板文件
  3. .wxss 后缀的 WXSS 样式文件
  4. .js 后缀的 JS 脚本逻辑文件
模板文件*.WXML

这玩意于微信小程序,就如HTML于原生、如vue于vue项目一样

样式文件*.WXSS

WXSS 具有 CSS 大部分的特性,比较特殊的:

  1. 新增了尺寸单位,WXSS 在底层支持新的尺寸单位rpx,自动换算

  2. 提供了全局的样式和局部样式。和前边 app.json, page.json 的概念相同,你可以写一个 app.wxss 作为全局样式,会作用于当前小程序的所有页面,局部页面样式 page.wxss 仅对当前页面生效。

JS 逻辑交互

文档上的一个实例就能看懂,下面是前台的页面:

<view>{{ msg }}</view>
<button bindtap="clickMe">点击我</button>

点击 button 按钮的时候,我们希望把界面上 msg 显示成 "Hello World",于是我们在 button 上声明一个属性: bindtap ,在 JS 文件里边声明了 clickMe 方法来响应这次点击操作:

Page({
  clickMe: function() {
    this.setData({ msg: "Hello World" })
  }
})

响应用户的操作就是这么简单,更详细的事件可以参考文档 WXML - 事件

事件这玩意到时候肯定用的多,点进去看了下,脑子里还没有能具体写的画面,这边先留一个事件的标签:

20240416154008image.png

此外你还可以在 JS 中调用小程序提供的丰富的 API,利用这些 API 可以很方便的调起微信提供的能力,例如获取用户信息、本地存储、微信支付等。在前边的 QuickStart 例子中,在 pages/index/index.js 就调用了 wx.getUserInfo 获取微信用户的头像和昵称,最后通过 setData 把获取到的信息显示到界面上。更多 API 可以参考文档 小程序的API

Q.E.D.