微信小程序 - miniprogram(学习记录总结)

本文详细介绍了微信小程序中的页面路由管理、属性绑定、节点信息获取、微信原生API(包括事件监听、同步和异步操作)、全局配置、扫一扫功能、以及存储管理和隔离策略。

微信公众平台:https://mp.weixin.qq.com

自己开发流程:

  • 注册(在微信公众平台注册小程序)
  • 小程序信息完善(填写小程序基本信息,包括名称、头像、介绍及服务范围等)
  • 开发小程序
  • 提交审核和发布

1.开发前的准备

下载NodeJs并且配置环境,再下载微信开发者工具

  • NodeJs
  • 微信开发者工具

2.小程序开发配置

2.1全局配置

一个小程序主体部分由三个文件组成,必须放在项目的根目录

名称描述
app.js
app.json
app.wxss

2.2页面配置

一个小程序页面由四个文件组成

名称描述
page.js写业务逻辑的
page.jsonjson配置
page.wxml写HTML
page.wxss写css样式

页面路由

在小程序中所有页面的路由全部由框架进行管理

navigateTo, redirectTo 只能打开非 tabBar 页面
switchTab 只能打开 tabBar 页面
reLaunch 可以打开任意页面
页面底部的 tabBar 由页面决定,即只要是定义为 tabBar 的页面,底部都有 tabBar
调用页面路由带的参数可以在目标页面的onLoad中获取


属性双向绑定

<input model:value="{{value}}" />
this.setData({
	value:'valuename'
})

获取界面上的节点信息

获取节点属性、样式、在界面上的位置等信息

官方文档案例

const query = wx.createSelectorQuery()
query.select('#id').boundingClientRect(function(res){
	res.top // #id 节点的上边界坐标(相对于显示区域)
})
query.selectViewport().scrollOffset(function(res){
  res.scrollTop // 显示区域的竖直滚动位置
})
query.exec()

API

小程序开发框架提供丰富的微信原生 API,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等

事件监听API

以 on 开头的 API 用来监听某个事件是否触发,如:wx.onSocketOpen,wx.onCompassChange 等
这类 API 接受一个回调函数作为参数,当事件触发时会调用这个回调函数,并将相关数据以参数形式传入。

wx.onCompassChange(function (res) {
  console.log(res.direction)
})

同步API

以 Sync 结尾的 API 都是同步 API, 如 wx.setStorageSync,wx.getSystemInfoSync 等。此外,也有一些其他的同步 API,如 wx.createWorker,wx.getBackgroundAudioManager 等,详情参见 API 文档中的说明
同步 API 的执行结果可以通过函数返回值直接获取,如果执行出错会抛出异常。

try {
  wx.setStorageSync('key', 'value')
} catch (e) {
  console.error(e)
}

异步API

大多数 API 都是异步 API,如 wx.request,wx.login 等。这类 API 接口通常都接受一个 Object 类型的参数,这个参数都支持按需指定以下字段来接收接口调用结果

参数名类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
其他Any-接口定义的其他参数

回调函数的参数
success,fail,complete 函数调用时会传入一个 Object 类型参数,包含以下字段:

  • errMsg 错误信息,如果调用成功返回 ${apiName}:ok
  • errCode 错误码,仅部分 API 支持,具体含义请参考对应 API 文档,成功时为 0。

全局配置

在app.json文件以JSON对象进行全局配置

entryPagePath

小程序默认启动首页

"entryPagePath":"pages/index/index"
functionalPages

是否启用插件功能页,默认关闭

"functionalPages":true
permission

小程序接口权限相关设置

"permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示" // 高速公路行驶持续后台定位
    }
  }

调用微信扫一扫功能

wx.scanCode({
	success:(res)=>{
		console.log(res)
	}
})

存储

每个微信小程序都可以有自己的本地缓存,可以通过一下api对本地缓存进行读写和清理

wx.setStorage/wx.setStorageSync
wx.getStorage/wx.getStorageSync
wx.clearStorage/wx.clearStorageSync
wx.removeStorage/wx.removeStorageSync

隔离策略

同一个微信用户,同一个小程序 storage 上限为 10MB。storage 以用户维度隔离,同一台设备上,A 用户无法读取到 B 用户的数据;不同小程序之间也无法互相读写数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

js胡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值