微信小程序重要知识点

微信小程序app.js的onLaunch执行完之后再执行Page的onLoad & 小程序onLaunch和onLoad执行顺序 阅读详情

一、生命周期

1. 应用生命周期(app.js中定义)

onLaunch:小程序初始化完成时触发(全局只一次)

onShow:小程序启动或从后台进入前台时触发

onHide:小程序从前前台进入后台时触发

onError:小程序发生脚本错误或API调用失败时触发

App({
  onLaunch() {
    // 初始化操作,如获取用户信息
    wx.getUserInfo({
      success: res => {
        this.globalData.userInfo = res.userInfo;
      }
    });
  },
  onShow() {
    console.log('小程序进入前台');
  },
  globalData: {
    userInfo: null
  }
});

2. 页面生命周期

onLoad:页面加载时触发(只触发一次),可接收页面参数

onShow:页面显示/切入前台时触发

onReady:页面初次渲染完成时触发(只触发一次)

onHide:页面隐藏/切入后台时触发

onUnload:页面卸载时触发(如跳转其他页面)

onPullDownRefresh:下拉刷新时触发(需在.json中开启)

onReachBottom:上拉触底时触发

二、本地存储

1. 同步存储API

// 存储数据
wx.setStorageSync('key', 'value');

// 读取数据
const value = wx.getStorageSync('key');

// 删除数据
wx.removeStorageSync('key');

// 清空所有存储
wx.clearStorageSync();

2. 异步存储API

// 存储数据
wx.setStorage({
  key: 'userInfo',
  data: { name: '张三' },
  success() {
    console.log('存储成功');
  }
});

// 读取数据
wx.getStorage({
  key: 'userInfo',
  success(res) {
    console.log(res.data);
  }
});

注意:单个key允许存储的最大数据长度为1MB,所有数据存储上限约为10MB。

三、网络请求

1. 基本用法

wx.request({
  url: 'https://api.example.com/data', // 必须为HTTPS协议
  method: 'GET', // 默认为GET,支持POST、PUT等
  data: {
    id: 123
  },
  header: {
    'Content-Type': 'application/json'
  },
  success(res) {
    console.log(res.data); // 服务器返回数据
  },
  fail(err) {
    console.error('请求失败', err);
  }
});

2. 配置合法域名

需在微信公众平台「开发」→「「开发设置」中配置「合法域名,否则请求会失败(开发环境可开启开发者工具中关闭「不校验合法合法域名域名合法性」选项)。

3. 封装请求工具

// utils/request.js
export default function request(options) {
  return new Promise((resolve, reject) => {
    wx.request({
      url: 'https://api.example.com' + options.url,
      method: options.method || 'GET',
      data: options.data || {},
      header: {
        'Content-Type': 'application/json',
        'token': wx.getStorageSync('token')
      },
      success(res) {
        if (res.data.code === 200) {
          resolve(res.data.data);
        } else {
          reject(res.data.msg);
        }
      },
      fail(err) {
        reject('网络错误');
      }
    });
  });
}

// 使用
import request from '../../utils/request';
request({ url: '/user', method: 'GET' })
  .then(data => console.log(data))
  .catch(err => console.error(err));

四、自定义组件进阶

1. 组件的样式隔离配置

// component.json
{
  "component": true,
  "usingComponents": {
    "other-component": "/components/other-component"
  },
  "options": {
    "multipleSlots": true, // 启用多插槽
    "styleIsolation": "isolated" // 样式隔离模式
  }
}

2. 多插槽使用

// 组件wxml
<view class="container">
  <slot name="header"></slot>
  <slot name="content"></slot>
</view>

// 父组件使用
<my-component>
  <view slot="header">头部部内容</view>
  <view slot="content">主体内容</view>
</my-component>

3. 组件生命周期

Component({
  lifetimes: {
    created() {
      // 组件实例实例化,但调用,不能调用setData
    },
    attached() {
      // 组件进入页面节点树时执行
    },
    detached() {
      // 组件从页面节点树移除时执行
    }
  }
});

五、小程序支付

1. 支付流程

  1. 小程序端户端调预支付订单,获取prepay_id
  2. 调用wx小程序支付API(wx.requestPayment)
  3. 处理支付结果回调

2. 代码示例

// 发起支付
wx.requestPayment({
  timeStamp: '1620000000', // 时间戳(秒)
  nonceStr: 'randomString', // 随机字符串
  package: 'prepay_id=wx20210101...', // 预支付会话标识
  signType: 'MD5', // 签名算法
  paySign: 'A1B2C3D4...', // 支付签名
  success(res) {
    console.log('支付成功', res);
  },
  fail(res) {
    console.log('支付失败', res);
  }
});

微信小程序的生命周期实例演示 —— 微信小程序教程系列(2) 示例:演示App的生命周期函数app.js:App({console.log(“App生命周期函数——onLaunch函数”);},console.log(“App生命周期函数——onShow函数”);},console.log(“App生命周期函数——onHide函数”);},console.log(“App生命周期函数——onError函数”);})运行:(1)程序启动时,会触发以下2个函数。 阅读详情

相关推荐

那些微信小程序中常见的面试题及知识点

微信小程序常见的面试题目和基础知识点 题目概述 一、简单描述下微信⼩程序的相关⽂件类型 二、封装微信⼩程序的数据请求的 三、微信⼩程序中有哪些参数传值的⽅法 四、你使⽤过哪些⽅法,来提⾼微信⼩程序的应⽤速度 五、分析下微信⼩程序的优劣势 六、简述微信⼩程序原理 七、微信⼩程序与H5的区别 八、简述 wx.navigateTo(),wx.redirectTo(),wx.switchTab(),wx.navigateBack(),wx.reLaunch() 九、微信小程序的for循环 十、⼩程序的双向绑定和

liu_kaige的博客 3108

微信小程序(十三)生命周期-更新应用提醒

注释很详细,直接上代码……

https://github.com/amoorzheyu 1004

关于微信小程序前端的基础知识点

一、点击某个文字跳转页面 示例: 1、不返回 <navigator url="../../pages/sign/sign" class="viewSign" > <text class="textSign">---立即注册---</text> </navigator> 2、返回 view里bindtap=“bindsign” 然后对应...

weixin_43199494的博客 1149

微信小程序生命周期执行app.onLaunch与page.onLoad异步问题

微信小程序使用 less、sass。

qq_48612020的博客 1947

【NTN 卫星通信】使用地面网络和卫星网络接入的终端应用场景

卫星接入有广覆盖的特点, 可以改善地面接入网覆盖或无线条件差的地区(例如多径干扰)的服务可用性。对于高速移动中需要实时业务的终端,如IMS语音/视频会议,可以通过地面接入和卫星接入同时实现与5G系统的双连接,在地面接入网不可用的情况下获得连续可靠的业务。

weixin_43603524的博客 2558

保姆级教程 | MS构建三层石墨后转成LAMMPS的data文件

喜欢的话记得一键三连~

baguette的博客 2952

小程序开发

微信小程序开发

m0_71617132的博客 1272

电力市场小白必看:手把手教你用Matlab实现市场出清电价计算(附完整代码)

本文为电力市场初学者提供了使用Matlab计算市场出清电价的完整指南。通过Yalmip和Matpower工具包,详细讲解了从环境配置到模型构建、求解及结果分析的整个过程,帮助读者快速掌握节点电价计算的核心技术。

weixin_30379531的博客 73

微信小程序开发知识点总结

微信小程序开发知识点总结1.微信小程序的目录结构1.外联公共样式的方法根据微信的官方文档,是支持@import的方式一如外联的公共样式的 使用@import语句可以导入外联样式表,@import后跟需要导入的外联样式表的相对路径,用;表示语句结束。 文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxss.html但是在

强子的专栏 1万+

别再手动算临界转速了!用ANSYS Workbench 2023 R2快速搞定转子坎贝尔图(附完整APDL命令流)

本文详细介绍了如何利用ANSYS Workbench 2023 R2快速生成转子坎贝尔图,实现全自动临界转速分析。通过对比传统手动计算与Workbench自动化流程的效率差异,展示了其在旋转机械设计中的革命性优势,包括大幅缩短分析周期、提升精度至98.7%。文章还提供了完整的APDL命令流和实战案例,帮助工程师快速掌握这一高效工具。

weixin_42699679的博客 472

Windows10 使用Apple Studio Display显示器的设置

AppleStudioDisplay显示器购买花了近1.5wRMB,由于为windows台式机,显卡为NVIDAGTX-1660,而AppleStudioDisplay只有雷电接口,尝试了很多种转接方式,均以失败告终,最终使用贝尔金VR线成功,,附图如下这边也测试过NVIDARTX-2060Super、NVIDAGTX-1650显卡,都是能点亮的,NVIDA1650存在关机重启后黑屏,不稳定现象,2060也存在关机重启后不亮现象,后面发现1660s很稳定。...

爱意随风起,人生不可弃。 1万+

微信小程序知识点总结

微信小程序是一种使用 JavaScript、WXML、WXSS 和某些微信原生组件开发的应用,它可以部署在微信内,并且不需要下载和安装。

笔记、经验、日常分享 1465

CMake安装grpc生成gRPCTargets.cmake文件

以下是安装语句: cd grpc_folder git submodule update --init cmake .. make -j 4 sudo make install 然而编写依赖gRPC的程序,发现无法调用gRPC的CMake文件,错误提示如下所示: include could not find load file: /usr/local/lib/cmake/g...

2329

整理和总结微信小程序的高频知识点

近期萌生了一些想法,感觉可以做一个小程序作为产出。但小程序做得比较少,因此边做边复习。整理和总结了一些高频知识点和大家一起分享。封装程度:模板只是简单的代码片段复用,封装程度较低;组件则是高度封装的代码单元,包含结构、样式和逻辑。数据和样式隔离:模板没有数据和样式隔离,使用时可能会受外部环境影响;组件默认有样式隔离,数据和逻辑也相对独立。复杂度:模板使用简单,适合简单场景;组件相对复杂,需要处理生命周期、事件等,但能应对复杂需求。

科技改变世界,技术驱动未来。 2159

代号OneNET02 STM32+ESP8266 WIFI系列-第2节-STM32单片机通过ESP8266连接WIFI访问OneNET OTA服务器实现SOTA远程程序升级

第2节-STM32单片机通过ESP8266连接WIFI访问OneNET OTA服务器实现SOTA远程程序升级,这一节主要是实现通过OneNET OTA服务器将需要更新的程序远程下载到STM32单片机,这一节主要是引导程序和应用程序的讲解。

weixin_44862509的博客 1904

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

微信小程序开发知识点

8. 导航和路由管理:掌握小程序的导航方式,如使用wx.navigateTo跳转页面、使用wx.redirect重定向页面等,学会实现页面之间的跳转和传参。1. 小程序的基本概念和架构:了解小程序的定义、特点以及与传统APP的区别,掌握小程序的运行环境、组件和API等基本概念。10. 支付功能:学习小程序的支付方式,如微信支付、支付宝支付等,了解支付流程和注意事项,学会实现小程序的支付功能。9. 用户授权和登录:了解小程序的用户授权机制,如获取用户信息、调用微信API等,学会实现用户的登录和注册功能。

特创数字 507

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

微信小程序安装与相关知识点信息

小程序

weixin_45767909的博客 3517

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

微信小程序知识点梳理

微信小程序知识点梳理 文章目录微信小程序知识点梳理前言一、窗口配置?二、小程序文件类型1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、窗口配置? 窗口配置其实在微信官方文档的小程序里面有详细的全局配置,最常用的就是路由,底部导航tabbar,导航栏的文本,背景颜色,窗口的背景色等,下面附上图片 在

weixin_48787059的博客 4473

微信小程序核心知识点速览

本文介绍了微信小程序开发的核心知识点。项目结构包含配置文件(.json)、模板(.wxml)、样式(.wxss)和逻辑脚本(.js);数据绑定采用{{}}语法,通过setData更新视图;事件处理使用bindtap等指令;页面路由通过wx.navigateTo等API实现跳转与传参;页面生命周期包括onLoad、onShow等状态控制;小程序还提供丰富的原生API,涵盖网络请求、本地存储等功能。掌握这些基础后,可进一步学习自定义组件等进阶内容。

Z09111616的博客 542

微信小程序知识点概况

自定义组件让开发者能够创建可复用的 UI 组件,提升代码模块化和维护性。:定义自定义组件。组件生命周期:如createdattacheddetached等。组件通信:通过properties和methods实现父子组件间的数据传递和事件处理。微信小程序作为一种创新的应用形态,结合了轻量、便捷和强大功能的特点,已经成为移动互联网的重要组成部分。通过掌握上述关键知识点,开发者可以高效地开发出优质的微信小程序,满足用户的多样化需求。无论是日常工具、社交娱乐还是商业应用,微信小程序都展现出了广阔的发展前景。

zml3427179572的博客 900

微信小程序知识点总汇

微信小程序知识点总汇 文件结构:最上层app ->多个page ->多个组件(内置组件/自定义组件) app: app.js:创建app实例代码 【app:实例对象 app.json:程序的入口/全局配置【page:页面注册,按照创建的顺序注册】 app.wxss:全局样式 page: page.js:创建page实例代码【pages:里面又data,用来存放自定义变量(属性)】 pa...

qq_45043626的博客 1425

微信小程序开发【知识点大全】

微信小程序开发重点知识点token 知识点 token 有些接口是可以公开访问的,有些是不允许公开访问的,所以要设置token进行区分验证。 token机制: 客户端获取一个code 通过code进行请求服务端的getToken接口(此接口会进行请求微信进行获取用户在微信的用户信息) 我们进行生成一个token(一个随机的字符串) 完成 token=>useinfo_wechat 的组合,然后进行返回给客户端token 以后客户端都携带token进行访问接口 首先验证token,符合的话就进行放行

zik的博客 931

微信小程序代码的知识点梳理

本文总结了小程序开发中的关键知识点与优化方向。在WXML结构方面,重点解析了头部区域、导航栏和商品列表的Flex布局、动态绑定及事件处理。WXSS样式部分强调了Flex布局、rpx单位应用,并指出高亮样式缺失等问题。JS逻辑部分介绍了数据初始化、事件处理和分页加载的实现方法。文章最后提出功能优化建议,包括完善样式交互、改进分页逻辑,并建议扩展筛选功能等增强用户体验的方向。全文覆盖小程序开发的核心技术点与优化思路。

Mengmsm的博客 333

微信小程序知识点汇总

gannimeiwent的博客 138
上一篇: 微信小程序页面间通信的实现方式
下一篇: 在微信小程序中使用本地存储的方法
learning_tom
博客等级 码龄1年 157粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值