目录

  • 第一章 绪论
    • ● 初识计算机
    • ● 计算机科学与计算思维
    • ● 数制及其相互转换
    • ● 数据编码
    • ● 习题
    • ● 课程讲义
    • ● 章节测验
  • 第二章 计算机硬件基础
    • ● 计算机硬件概述
    • ● 多媒体技术概述
    • ● 计算机网络基础概述
    • ● 计算机网络安全概述
    • ● 习题
    • ● 课程讲义
    • ● 章节测验
  • 第三章 计算机软件基础
    • ● 操作系统基础
    • ● 数据结构基础
    • ● 数据库基础
    • ● 软件工程基础
    • ● 习题
    • ● 课程讲义
    • ● 章节测验
  • 第四章  程序设计与算法基础
    • ● 程序设计概述
    • ● 程序设计语言
    • ● Raptor 程序设计
    • ● 算法
    • ● 习题
    • ● 课程讲义
    • ● 章节测验
  • 第五章 移动互联网开发
    • ● Android开发工具和方法
    • ● Android开发工具环境
    • ● 微信公众平台软件开发工具和方法
    • ● 微信小程序开发工具和方法
    • ● 习题
    • ● 课程讲义
    • ● 课程视频讲解
  • 第六章  IT新技术
    • ● 物联网
    • ● 大数据与云计算
    • ● 人工智能
    • ● 区块链技术
    • ● 习题
    • ● 课程讲义
  • 实验一   Word与PowerPoint
    • ● 实验目的
    • ● 实验内容
    • ● 视频讲解
  • 实验二  Excel数据分析
    • ● 实验目的
    • ● 实验内容
    • ● 视频讲解
  • 实验三  计算机网络与应用
    • ● 实验目的
    • ● 实验内容
    • ● 视频讲解
  • 实验四  数据库设计
    • ● 实验目的
    • ● 实验内容
    • ● 视频讲解
  • 实验五  数据操纵
    • ● 实验目的
    • ● 实验内容
    • ● 视频讲解
  • 实验六   Raptor开发环境与程序控制结构
    • ● 实验目的
    • ● 实验内容
    • ● 视频讲解
  • 实验七  Raptor数组与过程
    • ● 实验目的
    • ● 实验内容
    • ● 视频讲解
  • 实验八  穷举与递归
    • ● 实验目的
    • ● 实验内容
    • ● 视频讲解
  • 课程总结与答疑解惑
    • ● 课程总结与难点
    • ● 编程求解数学问题
    • ● 循环结构与穷举
    • ● 过程与子图
    • ● 灵活使用随机数
    • ● 数组的灵活应用
    • ● 补遗
微信小程序开发工具和方法

5.4 微信小程序开发工具和方法

5.4.1 微信小程序简介

关于微信小程序,张小龙(腾讯高级副总裁,Foxmail和微信的开发者)给出这样的描述:

微信小程序是一种不需要下载安装即可使用的应用,它体现了应用触手可及的梦想,用户扫一扫搜一搜即可打开应用,也体现了用完即走理念,用户不用担心是否安装太多应用问题,应用将无处不在,随时可用,但又无需安装卸载。

微信小程序与微信公众平台的订阅号、服务号、企业号一样,属于并行的微信公众号体系。

微信小程序不须要下载和安装即可在微信里启动和使用。


 5.4.2 微信小程序框架

微信团队为小程序提供的框架命名为MINAMINA IS NOT APP)应用框架。MINA框架通过封装微信客户端提供的文件系统、网络通信、任务管理、数据安全等基础功能,对上层提供一整套JavaScript API,让开发者能够非常方便地使用微信客户端提供的各种基础功能与能力,快速构建一个应用。

MINA的目标是通过尽可能简单,高效的方式让开发者可以在微信中开发具有原生APP体验的服务。

运行MINA的项目必须要有微信web开发者工具和微信小程序的AppID,现在已经可以开放注册。

实质上,微信小程序是一个由微信内置JS引擎启动的前端程序,打个比喻就是在微信的框架下写web应用。

1.逻辑层

逻辑层是事务逻辑处理的地方。对于微信小程序而言,逻辑层就是所有.js脚本文件的集合。微信小程序在逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈。

微信小程序开发框架的逻辑层是由JavaScript编写。在JavaScript的基础上,微信团队做了一些适当的修改,以便提高开发小程序的效率。主要修改包括:

增加apppage方法,进行程序和页面的注册

提供丰富的API,如扫一扫、支付等微信特有的能力

每个页面有独立的作用域,并提供模块化能力。

逻辑层的实现就是编写各个页面的.js脚本文件。但由于小程序并非运行在浏览器中,所以JavaScriptWeb中的一些能力无法使用,如documentwindow等。

我们开发编写的所有代码最终会打包成一份JavaScript,并在小程序启动的时候运行,直到小程序销毁。

2.视图层

框架的视图层由WXMLWXSS编写,由组件来进行展示。对于微信小程序而言,视图层就是所有.wxml文件与.wxss文件的集合:

♦wxml文件用于描述页面的结构。

♦wxss文件用于描述页面的样式。

微信小程序在逻辑层将数据进行处理后发送给视图层展现出来,同时接收视图层的事件反馈。

视图层以给定的样式展现数据并反馈时间给逻辑层,而数据展现是以组件来进行的。组件是视图的基本组成单元。

3.数据层

数据层包括临时数据或缓存、文件存储、网络存储与调用,页面临时数据或缓存。

Page()中,我们要使用setData函数将数据从逻辑层发送到视图层,同时改变对应的this.data的值。

注意:

直接修改this.data无效,无法改变页面的状态,还会造成数据不一致。

单次设置的数据不能超过1024KB,请尽量避免一次设置过多的数据。

setData()函数的参数接收一个对象。以keyvalue的形式表示将this.data中的key对应的值改变成value。其中key可以非常灵活,并且无需在this.data中预先定义。

(2) 文件存储(本地存储)

使用数据API接口,如下所示:

♦ wx.getStorage:获取本地数据缓存。

♦ wx.setStorage:设置本地数据缓存。

♦ wx.clearStorage:清理本地数据缓存。

(3) 网络存储或调用

上传或下载文件API接口,如下:

♦ wx.request:发起网络请求。

♦ wx.uploadFile:上传文件。

♦ wx.downloadFile:下载文件。

调用URLAPI接口,如下:

♦ wx.navigateTo:新窗口打开页面。

♦ wx.redirectTo:原窗口打开页面。