基础篇

官网:

微信小程序:

小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。

微信公众号和小程序的主要区别?

、定位不同(公众号服务于营销与信息传递,小程序面向产品与服务)

、实现技术区别 (公众号基于H5(html5 vue angular react ionic),

小程序必须用小程序的语法开发)

、用户体验 (小程序的用户体验要比 html5好一些,更接近原生app)

、调用原生的能力 (微信公众号可以借助jssdk调用手机的摄像头拍照 ,调用扫描二

维码等 能力有限。 小程序调用原生的能力非常强大,能实现几乎app能实现的所有功

能) (调用原生的功能 *可以不开发app )

、微信app上面的入口不一样

微信小程序的应用场景:

互联网+ 物联网+ 人工智能+

餐厅点餐+小程序

      基于LBS小程序直接搜索附近的餐厅,进店用进行扫码点餐、支付。

无人点餐:

公交+小程序
  
公交车站放一个小程序二维码,扫一扫就知道公交什么时候来。 买电影票+小程序    进入小程序直接搜附近电影院下单搞定。 加油站缴费+小程序
  
加油下车排队缴费太麻烦,扫小程序不用下车就能解决。 火车上叫餐+小程序
  
不用去固定车厢点餐,扫座椅后背的小程序二维码下单,乘务员给你送来。 旅行+小程序
  
旅行酒店预订、周边攻略、目的地、游记等都可以在小程序里轻松搞定。 快递+小程序
  
一键打开快递小程序,查看自己的订单,查看快递送达的时间,查看宝贝现在的物流情况。 医疗+小程序
  
用小程序,提前挂号、网上排队,就医后扫码支付,直接拿药 景区+小程序
  
扫描景点门票小程序的二维码,即可查看景区详情 零售+小程序
  
想吃个水果或吃点零食,直接搜索附近小程序下单,送货上门。

小程序开发文档、开发工具、开发指南、体验demo

开发文档

开发工具

体验demo

https://developers.weixin.qq.com/miniprogram/dev/demo.html

 微信开放社区

微信小程序的目录结构

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

 JSON 配置

我们可以看到在项目的根目录有一个 app.json 和 project.config.json,此外在 pages/logs 目录下还有一个 logs.json,我们依次来说明一下它们的用途。

小程序配置 app.json

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

{
"pages": ["pages/index/index", "pages/logs/logs"],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle": "black"
}
}

我们简单说一下这个配置各个项的含义:

  1. pages字段 —— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。(写好页面路径保存,可以直接生成文件
  2. window字段 —— 定义小程序所有页面的顶部背景颜色,文字颜色定义等。

其他配置项细节可以参考文档 小程序的配置 app.json 。

工具配置 project.config.json

在工具上做的任何配置都会写入到这个文件,当你重新安装工具或者换电脑工作时,你只要载入同一个项目的代码包,开发者工具就自动会帮你恢复到当时你开发项目时的个性化配置,其中会包括编辑器的颜色、代码上传时自动压缩等等一系列选项。

其他配置项细节可以参考文档 开发者工具的配置 。

页面配置 page.json

让开发者可以独立定义每个页面的一些属性,例如顶部颜色、是否允许下拉刷新等等。

其他配置项细节可以参考文档 页面配置 。

WXML 模板

WXML 充当的就是类似 HTML 的角色。

更详细的文档可以参考 WXML

WXSS 样式

WXSS 具有 CSS 大部分的特性,小程序在 WXSS 也做了一些扩充和修改。

  1. WXSS在底层支持新的尺寸单位 rpx 。

  2. 可以写一个 app.wxss 作为全局样式,会作用于当前小程序的所有页面,局部页面样式 page.wxss 仅对当前页面生效。

  3. WXSS 仅支持部分 CSS 选择器

更详细的文档可以参考 WXSS 。

JS 交互逻辑

通过编写 JS 脚本文件来处理用户的操作。

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

微信小程序事件、方法、事件对象、方法传值、获取data数据、修改data数据、冒泡非冒泡事件

<!--pages/news/news.wxml-->
<view>
{{msg}}
</view> <button size='mini' bindtap="run">
执行run方法,注意触发方法不需要写()
</button> <button size='mini' bindtap="getMsg">
获取msg中的值
</button> <button size='mini' bindtap="setMsg">
改变msg中的值
</button>

  

// pages/news/news.js
Page({ /**
* 页面的初始数据
*/
data: {
msg: '小程序中的msg'
},
/**
* 自定义方法
*/
run() {
console.log('执行小程序run方法!')
},
/**
* 获取data中的值
*/
getMsg() {
// 获取data中的数据
const msg = this.data.msg
console.log(msg)
},
/**
* 设置data中的值
*/
setMsg() {
// 设置data中的数据
this.setData({
msg:'改变msg中的值'
})
console.log(this.data.msg)
}, /**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
// 执行自定义方法
this.getMsg()
}
})

  

微信小程序学习资料整理的更多相关文章

  1. 微信小程序 学习资料

    微信小程序 学习资料 资料名称 网址 官方教程 https://developers.weixin.qq.com/miniprogram/dev/index.html?t=18110517

  2. 微信小程序相关资料整理

    微信小程序官方介绍https://mp.weixin.qq.com/debug/wxadoc/introduction/index.html?t=201818 微信小程序开发资源https://jue ...

  3. 微信小程序直播资料整理

    可以通过此脑图大概了解小程序直播内容:https://developers.weixin.qq.com/community/develop/article/doc/0002a62b3749f088fa ...

  4. 微信小程序学习资料

    官方文档 https://mp.weixin.qq.com/debug/wxadoc/dev/ W3CSchool的教程 https://www.w3cschool.cn/weixinapp/ 更多参 ...

  5. 微信小程序--相关资料

    微信小程序Demo https://github.com/zce/weapp­-demojustjavac/awesome­wechat­weapp: 微信小程序开发资源汇总 https://gith ...

  6. 【微信小程序学习笔记】入门与了解

    [微信小程序学习笔记(一)] IDE 下载安装 下载地址 官方工具:https://mp.weixin.qq.com/debug/w … tml?t=1476434678461 下载可执行文件后,可按 ...

  7. 微信小程序学习笔记二 数据绑定 + 事件绑定

    微信小程序学习笔记二 1. 小程序特点概述 没有DOM 组件化开发: 具备特定功能效果的代码集合 体积小, 单个压缩包体积不能大于2M, 否则无法上线 小程序的四个重要的文件 *js *.wxml - ...

  8. 微信小程序学习笔记一 小程序介绍 & 前置知识

    微信小程序学习笔记一 1. 什么是小程序? 2017年度百度百科十大热词之一 微信小程序, 简称小程序, 英文名 Mini Program, 是一种不需要下载安装即可使用的应用 ( 张小龙对其的定义是 ...

  9. ***微信小程序学习文档和资料归档收集

    微信小程序官方文档: https://cloud.tencent.com/document/product/619 小程序培训视频教程: https://xw.qq.com/edu/201805140 ...

随机推荐

  1. MVVM Light 新手入门(2) :ViewModel / Model 中定义“属性” ,并在View中调用

    今天学习MVVM架构中“属性”的添加并调用,特记录如下,学习资料均来自于网络,特别感谢翁智华的利刃 MVVMLight系列. 一个窗口的基本模型如下: View(视图) -> ViewModel ...

  2. Day71 分页,cookie and Session

    cookie 是保存在客户端的键值对. cookie本身最大支持4096字节,保存在客户端的 session是保存在服务器端的键值对.(依赖cookie) cookie和session cookie的 ...

  3. 深入学习c++--智能指针(一) shared_ptr

    1. 几种智能指针 1. auto_ptr: c++11中推荐不使用他 2. shared_ptr: 每添加一次引用 就+1,减少一次引用,就-1:做到指针进行共享 3. unique_ptr: 一个 ...

  4. CentOS 7 - 最小化安装以及引发的问题!

    一,操作系统和虚拟机 操作系统:CentOS 7 官方网站:https://www.centos.org 下载地址:https://www.centos.org/download/ 下载版本分三个:D ...

  5. Ubuntu16.04 - 安装RabbitVCS,linux下的TortoiseSVN!!!

    RabbitVCS 官网:http://rabbitvcs.org/ 1,添加PPA源.在shell里面执行下面命令: sudo add-apt-repository ppa:rabbitvcs/pp ...

  6. Binary Search-483. Smallest Good Base

    For an integer n, we call k>=2 a good base of n, if all digits of n base k are 1. Now given a str ...

  7. github本地分支合并到线上主分支

    如果是在本地index-swiper分支上,已经写好了那么: 1,git add .             //提交到本地缓冲区 2,git commit -m "project init ...

  8. ES6新增变量

    声明let let 声明的变量不存在预解析 console.log(flag) var flag = 123 //123 let flag = 456 //undefined let声明的变量不允许重 ...

  9. pythonweb框架Flask学习笔记04-模板继承

    # -*- coding:utf-8 -*- from flask import render_template,Flask app=Flask(__name__) @app.route('/hell ...

  10. python学习笔记02-编码

    ASCII码  255个  每一个占1个字节 8位 解决中文的问题:出现一张扩展表  支持中文的第一张表  gb2312  后来发展为GBK1.0 Gb18030 万国码:unicode 世界统一 存 ...