c++小程序代码_关于小程序的基础知识都在这里,还不赶紧收藏?

17ae843f216ed0c0b58a31b993a07732.png

点击右上角关注我,私信发送“小程序”获取极客学院《微信小程序开发教程(共90课)》

1、为什么会有小程序

背景:更好的体验和规范与管理

2、什么是小程序

小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想。

用户扫一扫或者搜一下即可打开应用,也体现了“用完即走”的理念。

用户不用憨是否安装太多应用的问题。应用将无处不在,随时可用,但又“无需安装卸载”。

3、小程序与应用程序的区别

无需安装

不占内存

易传播

4、小程序能做什么

内容/工具小程序: 知乎 微博 摩拜 今日头条

零售小程序:拼多多 京东 蘑菇街 小米商城

游戏/娱乐小程序:跳一跳 欢乐斗地主 欢乐麻将 斗鱼直播

5、小程序开发准备工作

注册小程序账号->激活邮箱->信息登记->登录小程序管理后台->完整小程序信息->绑定开发者

6、安装开发者工具

官网下载

预演版本->开发版本->体验版本->审核版本->线上版本

开发版本也可以直接到审核版本

ec233f09368f67bc367003d2b4cc3976.png

7、小程序代码结构与基本配置

  • app.js:

每个小程序都需要在 app.js 中调用 App 方法注册小程序实例,绑定生命周期回调函数、错误监听和页面不存在监听函数等。

整个小程序只有一个 App 实例,是全部页面共享的。开发者可以通过 getApp 方法获取到全局唯一的 App 实例,获取App上的数据或调用开发者注册在 App 上的函数。

  • app.json

小程序根目录下的 app.json 文件用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。

每一个小程序页面也可以使用同名 .json 文件来对本页面的窗口表现进行配置,页面中配置项会覆盖 app.json 的 window 中相同的配置项。

  • app.wxss

小程序公共样式表

  • pages

用于指定小程序由哪些页面组成,每一项都对应一个页面的 路径(含文件名) 信息。文件名不需要写文件后缀,框架会自动去寻找对应位置的 .json, .js, .wxml, .wxss 四个文件进行处理。

数组的第一项代表小程序的初始页面(首页)。小程序中新增/减少页面,都需要对 pages 数组进行修改。

425b72f2e03ae8cab664e4d874582ac9.png

8、微信小程序开发框架

基本构成

WXML:WeiXin Markup Language,构建页面内容
WXSS:WeiXin Style Sheets,用于描述页面样式
WXS:WXML能力增强的脚本语言,快速构建页面内容结构
JavaScript :交互逻辑、数据通信

  • WXML:(WeiXin Markup Language)是框架设计的一套标签语言,结合组件、WXS和时间系统,可以构建出页面的结构。

语法:

...

标签名>

标签闭合、属性名称大小写敏感

1)数据绑定 Mustache语法{{变量名/属性/运算符}}

 {{message}} // page.jsPage({  data: {    message: 'Hello world!'  }})
23692521ba70e73d2bf28ffe4e790025.png

标签属性:

a62a26f6b83fcea78d2bcf185d5f4940.png

2)列表渲染

    FirstName: {{firstName}}, LastName: {{lastName}}  // page.jsPage({  data: {    staffA: {firstName: 'Hulk', lastName: 'Hu'},    staffB: {firstName: 'Shang', lastName: 'You'},    staffC: {firstName: 'Gideon', lastName: 'Lin'}  }})

3)条件渲染

    FirstName: {{firstName}}, LastName: {{lastName}}  // page.jsPage({  data: {    staffA: {firstName: 'Hulk', lastName: 'Hu'},    staffB: {firstName: 'Shang', lastName: 'You'},    staffC: {firstName: 'Gideon', lastName: 'Lin'}  }})

4)模板

    FirstName: {{firstName}}, LastName: {{lastName}}  // page.jsPage({  data: {    staffA: {firstName: 'Hulk', lastName: 'Hu'},    staffB: {firstName: 'Shang', lastName: 'You'},    staffC: {firstName: 'Gideon', lastName: 'Lin'}  }})

5)引用

WXML 提供两种文件引用方式import和include。

import

import可以在该文件中使用目标文件定义的template,如:

在 item.wxml 中定义了一个叫item的template:

{{text}}

在 index.wxml 中引用了 item.wxml,就可以使用item模板:

import 的作用域

import 有作用域的概念,即只会 import 目标文件中定义的 template,而不会 import 目标文件 import 的 template。

如:C import B,B import A,在C中可以使用B定义的template,在B中可以使用A定义的template,但是C不能使用A定义的template。

 A template 
 B template 

include

include 可以将目标文件除了 外的整个代码引入,相当于是拷贝到 include 位置,如:

 body 
 header 
 footer 
  • WXSS:
b794bf30930d338daf1e950185188666.png

尺寸单位rpx:响应式的像素

696416be199f461ac6ca68b491991f43.png

样式导入-@import

50ad44f4ec9cb7c25682c6f35b83fa9b.png

内联样式-style

选择器

fc28ef5e5b088b723d504fb1622ee826.png

优先级

element->1

.element->10

#element->100

style->1000

!important->∞

  • WXS:(WeiXin Script),是对JS脚本语言上层的封装和限制,方便运算处理
40b03352f49d36529f2fdc3a7a794640.png

模块:对外不可见,exports暴露,require引入其他模块。

注释:单行注释、多行注释、结尾注释

支持的运算符:

260052f4a72fcfcc0d5e19c6a22dcb41.png

语句:与JS基本一致,不支持try-catch语句
数据类型:8种number、string、boolean、object、array、function、date、regexp。后两种通过get使用,不能使用new

02f031e4a3e4761980ba612041123a22.png
5381f04fa84ed85540e5d5acf97de23a.png
  • JavaScript

JavaScript是一种轻量的、解释型的、面向对象的头等函数语言,是一种动态的基于原型和多凡事的脚本语言,支持面向对象、命令式和函数式的编程风格。

对比:

3cdc2b8014ba2d9175d8085400f9bebc.png
6066f7433fe9152b8cf65e8193a22579.png
fb58ded0e7256a81ed48e896562ad67c.png
65a79a9e27b6895a1c03a3d295aca6b0.png

9、MINA框架详解

View视图层、App Service逻辑层、Native系统层

视图层和逻辑层独立线程运行,通过JSBridge实现通信。

66ac7971208b32202038fcd397887ccf.png

10、小程序运行机制

  • 启动

启动分冷启动和热启动两种,

冷启动是首次打开和微信主动销毁再次打开时;

热启动是已经打开过之后一定时间内再次打开。

主动销毁:超过5分钟或5s内多次告警

冷启动遇到更新时会异步加载,下次打开才能应用。

  • 加载
066ac8ce7082800ce57221be479cf8de.png

10、生命周期

  • 程序生命周期
4220386aac27994862c971a8e90c61d7.png
  • 页面生命周期
0b152fdf7e00e7f1970344cfaa5b49a5.png
  • 示例
41a5582dfd0f10ceae070d06e7ed4a09.png

11、页面路由

页面路由全部由框架来管理,共有6种路由方式:

838d2ba4662e15e4b1e1fdc91f32b2c4.png

路由触发时机

66752ae0169b095eeb382a43c29717e2.png
d0232bf7de320d05404d8c77ae2b60bc.png

12、小程序事件流

通过事件实现视图层和逻辑层进行通讯。

d50263171c828f17b9418573b7f531b9.png
af1c223184359f907d373e71fd217986.png
a0f0fbdd3cf9596a80cc91b89cfa2195.png

最权威的学习文档:

微信小程序开发文档 https://developers.weixin.qq.com/miniprogram/dev/index.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值