初识小程序-入门学习

188 阅读10分钟

微信公众平台

mp.weixin.qq.com/cgi-bin/log…

获取AppID(小程序ID)

image.png

小程序项目结构

  • pages 存放小程序页面
  • utils 用来存放工具模块
  • app.js 小程序项目的入口问价
  • app.json 小程序项目的全局配置文件
  • app.wxss小程序项目的全局样式文件
  • project.config.json项目的配置文件
  • sitemap.json用来配置小程序及其页面是否允许被微信索引

小程序页面组成

每个页面由四个基本文件组成

  1. js文件(页面的脚本文件,存放页面的数据、事件处理函数等)
  2. json文件(当前页面的配置文件,配置窗口的外观、表现等)
  3. wxml文件(页面的模版结构文件)
  4. wxss文件(当前页面的样式文件)

小程序项目中有4种json配置文件

  1. 项目根目录中的app.json配置文件
  2. 项目根目录中的project.config.json配置文件
  3. 项目根目录中的sitemap.json配置文件
  4. 每个页面中的.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

image.png

sitemap.json配置文件

微信现已放开小程序内搜索,效果类似于PC网页的SEO,sitemap.json文件用来配置小程序页面是否允许微信索引。 当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索关键字和页面的索引匹配成功的时候,小程序的页面可能将展示在搜索结果中。

page:"*" action:"allow" 所有页面都允许被索引(disallow不被索引) image.png 注意:sitemap的索引提示是默认开启的,如果需要关闭sitemap提示,可在配置文件project.config.json的setting中配置字段checkSiteMap设置为false

页面中的json配置文件

小程序中的每一个页面,可以使用json文件对本页面的窗口外观进行配置,页面中的配置项会覆盖app.js的window中相同的配置项

新建小程序页面

只需要在app.json -> pages中新增页面的存放路径,小程序开发者工具即可帮我们自动创建对应的页面文件,如: image.png

小程序首页

只需调整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脚本在逻辑层

小程序的通信模型

小程序的通信模型分为两部分:

  1. 渲染层和逻辑层之间的通信
  • 由微信客户端转发
  1. 逻辑层和第三方服务器之间的通信
  • 由微信客户端转发

运行机制

小程序的启动过程

  • 把代码包下载到本地
  • 解析app.json全局配置文件
  • 执行app.js小程序入口文件,调用App()创建小程序实例
  • 渲染小程序首页
  • 小程序启动完成

页面的渲染过程

  • 加载解析页面的json配置文件
  • 加载页面的wxml模版和wxss样式
  • 执行页面的js文件,调用Page()创建页面实例
  • 页面渲染完成

小程序组件分类

小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建页面结构。官方把小程序组件分为9大类,分别是:

  1. 视图容器
  2. 基础内容
  3. 表单组件
  4. 导航组件
  5. 媒体组件
  6. map地图组件
  7. canvas画布组件
  8. 开放能力
  9. 无障碍方向

常用的视图组件

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回调函数接收数据

小程序成员管理

开发者权限说明

  1. 开发者权限:可使用小程序开发者工具及对小程序功能进行代码开发
  2. 体验者权限:可使用体验版的小程序
  3. 登录权限:可登录小程序管理后台,无需管理员确认
  4. 开发设置:设置小程序服务器域名、消息推送及扫描普通链接二维码打开小程序
  5. 腾讯云管理:云开发相关设置

添加项目成员和体验成员

管理->成员管理

小程序的版本

软件开发过程中,根据时间节点不同,会产出不同的软件版本,例如:

  1. 开发者编写代码的同时,对项目进行自测(开发版本)
  2. 当程序到达一个稳定可体验的状态时,开发者把体验版本给到产品经理和测试人员进行体验测试
  3. 最后修复完Bug后,发布正式版供用户使用

版本阶段

  • 开发版本:使用开发者工具,可将代码上传到开发版本中。开发版本只保留每人最新的一份上传的代码。点击提交审核,可将代码提交审核。开发版本可删除,不影响线上版本和审核中版本的代码
  • 体验版本:可以选择某个开发版本作为体验版
  • 审核中的版本:只能有一份代码处于审核中,有审核结果后可以发布到线上,也可以直接重新提交审核,覆盖原审核版本
  • 线上版本:线上用户使用的版本,该版本代码在新版本代码发布后被覆盖更新

发布上线步骤

上传代码

点击开发者工具栏中的“上传”按钮,填写版本号及项目备注,完成后在管理->版本管理->开发版本中查看信息

image.png

image.png

提交审核

  • 提交审核是为了保证小程序的质量,以及符合相关的规范,小程序的发布是需要经过腾讯官方审核的
  • 提交审核的方式:在开发版本列表中,点击“提交审核”按钮之后,按照页面提示填写相关信息,就能把小程序提交到腾讯官方进行审核。

审核

审核通过之后,管理员的微信中会收到小程序通过审核的通知,此时在审核版本的列表中,点击“发布”按钮之后,即可把“审核通过”的版本发布为“线上版本”,供用户使用。

基于小程序码进行推广

  1. 相对于普通二维码,小程序码的优势如下
  2. 在样式上更有辨识度和视觉冲击力
  3. 能够更加清晰地树立小程序的品牌形象
  4. 可以帮助开发者更好地推广小程序 获取小程序码 登录小程序管理后台->设置->基本设置->基本信息->小程序码及线下物料下载

查看小程序运营数据的两种方式

在“小程序后台”查看

  1. 登录小程序管理后台
  2. 点击侧边栏“统计”
  3. 点击相应的tab可以查看到相关的数据

使用“小程序数据助手”查看

  1. 打开微信
  2. 搜索“小程序数据助手”
  3. 查看已发布的小程序相关的数据