当前位置: 首页 > news >正文

微信小程序部分知识点总结【2】

微信小程序的原理是什么

微信小程序的原理是基于一种轻量级的应用程序模型,它允许开发者在微信客户端内部创建和运行应用程序。微信小程序采用了类似网页的技术栈,主要由两部分组成:前端和后端。

前端部分使用HTML、CSS和JavaScript等标准的Web前端技术来构建用户界面。开发者可以使用微信提供的小程序框架,如WXML(类似HTML)、WXSS(类似CSS)和小程序API等进行开发。这些技术使得开发者能够创建出丰富、交互性强的界面,并且支持实时更新。

后端部分是指小程序的服务端,负责处理小程序的逻辑和数据操作。开发者可以通过调用微信提供的云开发能力,实现服务器端的接口和功能,包括数据库存储、文件上传下载、云函数等。云开发还提供了便捷的开发工具和托管服务,简化了后端开发的流程。

当用户打开一个小程序时,微信客户端会进行相应的资源加载和解析,展示小程序的界面。小程序的前端代码在微信客户端内运行,与后端进行通信获取数据或执行相关操作。通过这种方式,开发者可以在微信中快速地开发和发布小程序,用户无需下载和安装即可使用。

微信小程序,vue,uni-app的生命周期

Vue、小程序和Uni-app都有自己的生命周期。

Vue的生命周期

Vue组件的生命周期分为8个阶段:

  1. beforeCreate:实例被创建之前的阶段,此时数据观测和事件还未初始化。
  2. created:实例已经创建完成,数据观测和事件已经初始化完毕,但DOM还未生成,无法访问到el
  3. beforeMount:在挂载之前调用,即将开始编译模板,将模板转换成虚拟DOM。
  4. mounted:实例挂载到页面上后调用,此时可以操作DOM,进行异步操作。
  5. beforeUpdate:数据更新之前调用,在这一步可以修改数据,但是不会触发再次渲染。
  6. updated:数据更新之后调用,DOM已经更新完成,可以执行依赖于DOM的操作。
  7. beforeDestroy:实例销毁之前调用,可以进行清理操作。
  8. destroyed:实例已经销毁后调用,所有的事件监听器和子实例都已被移除。
小程序的生命周期

小程序的生命周期分为5个阶段:

  1. onLaunch:小程序初始化时触发,只会触发一次。
  2. onShow:小程序启动或从后台进入前台显示时触发。
  3. onHide:小程序从前台进入后台时触发。
  4. onError:小程序发生脚本错误或 API 调用失败时触发。
  5. onPageNotFound:页面不存在触发。
Uni-app的生命周期

Uni-app的生命周期与Vue的生命周期类似,主要包括:

  1. beforeCreate
  2. created
  3. beforeMount
  4. mounted
  5. beforeUpdate
  6. updated
  7. beforeDestroy
  8. destroyed

需要注意的是,Uni-app还有一些平台特有的生命周期钩子,例如:

  • onLaunch:应用初始化完成时触发(仅H5、APP等非小程序平台)。
  • onShow:应用启动或从后台进入前台显示时触发(仅H5、APP等非小程序平台)。
  • onHide:应用从前台进入后台时触发(仅H5、APP等非小程序平台)。
  • onUniNViewMessage:监听原生nvue向uni–app发送的消息(仅App-nvue、微信小程序-nvue、QQ小程序-nvue)。

这些生命周期方法可以在实际开发中根据需要使用,以便控制组件或应用的行为。

Git项目如何配置,如何上传至GitHub

要配置Git项目并将其上传至GitHub,您需要按照以下步骤进行操作:

配置Git项目
  1. 安装Git:首先,确保您的计算机上已安装Git。您可以从Git官方网站(https://git-scm.com/)下载并安装适合您操作系统的版本。

  2. 创建本地仓库:在本地文件夹中,打开终端或命令提示符,并运行以下命令初始化一个新的Git仓库:

  • git init
    
  • 添加文件到暂存区:将项目文件添加到Git仓库的暂存区,使用以下命令:

  • git add .
    
  • 提交更改:将暂存区的文件提交到本地Git仓库中,使用以下命令:

  1. git commit -m "Initial commit"
    
上传至GitHub
  1. 创建GitHub仓库:登录到GitHub,创建一个新仓库。输入仓库名称和描述,并选择公开或私有等选项。

  2. 关联远程仓库:返回本地终端或命令提示符,在其中运行以下命令,将本地仓库与远程GitHub仓库关联起来:

  • git remote add origin <GitHub仓库URL>
    
  • 推送到远程仓库:最后,将本地仓库的内容推送到远程GitHub仓库中,使用以下命令:

  1. git push -u origin master
    

    这将把本地的master分支推送到远程GitHub仓库。

完成以上步骤后,您的Git项目将被配置并上传至GitHub!您可以在GitHub上查看并管理您的代码。

rpx、px、em、rem、%、vh、vw的区别是什么

rpx、px、em、rem、%、vh、vw 是用于表示长度或尺寸的单位,它们的区别如下:

  1. rpx(响应式像素):是微信小程序独有的单位,用于适配不同屏幕密度的设备。在不同设备上,1rpx 会等于对应设备下的物理像素数,即可实现屏幕适配。

  2. px(像素):是最常见的单位,在网页和移动应用开发中使用。它代表相对于屏幕的物理像素点。在同一设备下,1px 表示一个物理像素。

  3. em:相对于父元素的字体大小,默认情况下是相对于浏览器的默认字体大小(16px)。例如,2em 表示当前元素的字体大小的两倍。

  4. rem(根元素字体大小):相对于根元素(通常为 <html> 元素)的字体大小。与 em 不同,rem 的参考值固定为根元素的字体大小。这使得 rem 单位更适合进行整体布局的控制。

  5. %(百分比):相对于父元素的百分比值。例如,50% 表示元素宽度或高度的一半。

  6. vh(视窗高度单位):表示相对于视口高度的百分比。例如,1vh 表示视口高度的 1%。

  7. vw(视窗宽度单位):表示相对于视口宽度的百分比。例如,1vw 表示视口宽度的 1%。

总结:

  • rpx 是用于微信小程序中的适配单位。
  • px 是常见的像素单位。
  • em 是相对于父元素字体大小的单位。
  • rem 是相对于根元素字体大小的单位。
  • % 是相对于父元素的百分比单位。
  • vhvw 是相对于视口高度和宽度的百分比单位。

wx.getPhoneNumber()使用

在微信小程序中,您可以使用wx.getPhoneNumber()方法来获取用户的手机号码。以下是使用wx.getPhoneNumber()的基本步骤:

  1. 用户授权:确保您已经引导用户进行了手机号授权,例如通过按钮等触发用户点击事件。在事件处理函数中,调用wx.getPhoneNumber()方法。

  2. 调用wx.getPhoneNumber():在授权的事件处理函数中,使用wx.getPhoneNumber()方法获取用户手机号。示例代码如下:

  1. wx.getPhoneNumber({success: function(res) {var encryptedData = res.encryptedData;var iv = res.iv;// 在这里处理获取到的用户手机号数据},fail: function(err) {// 获取用户手机号失败}
    })
    
  2. 处理获取到的手机号数据:在success回调函数中,您可以获取到用户手机号的加密数据(encryptedData)和解密算法的初始向量(iv)。您可以将这些数据发送到服务器端进行解密操作,以获取真实的手机号。请注意,解密过程需要在服务器端进行,因为涉及到敏感信息的处理。

需要注意的是,在使用wx.getPhoneNumber()之前,您需要先获取用户的登录凭证(code),并将其发送到服务器端与手机号关联,以便后续解密操作。解密过程需要参考微信提供的解密算法进行处理。

另外,为了确保数据安全性和合法性,请遵循微信官方的开发指南和隐私政策,并严格遵守相关法律法规。

以上是使用wx.getPhoneNumber()方法获取用户手机号的基本流程。具体实现时,请参考微信小程序官方文档和示例代码,以确保正确使用该 API。

相关文章:

微信小程序部分知识点总结【2】

微信小程序的原理是什么 微信小程序的原理是基于一种轻量级的应用程序模型&#xff0c;它允许开发者在微信客户端内部创建和运行应用程序。微信小程序采用了类似网页的技术栈&#xff0c;主要由两部分组成&#xff1a;前端和后端。 前端部分使用HTML、CSS和JavaScript等标准的…...

基于springboot+vue的云南旅游网(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...

后缀表达式求值

后缀表达式&#xff0c;又称逆波兰式&#xff0c;指的是不包含括号&#xff0c;运算符放在两个运算对象的后面&#xff0c;所有的计算按运算符出现的顺序&#xff0c;严格从左向右进行。 运用后缀表达式进行计算的具体做法&#xff1a; 建立一个操作数栈S。然后从左到右读表达…...

基于springboot+vue的信息技术知识赛系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...

基于YOLOv8模型的垃圾满溢检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOv8模型的垃圾满溢检测系统可用于日常生活中检测与定位车辆垃圾&#xff08;garbage&#xff09;、垃圾桶&#xff08;garbage_bin&#xff09;和垃圾满溢&#xff08;overflow&#xff09;目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等…...

面试算法14:字符串中的变位词

题目 输入字符串s1和s2&#xff0c;如何判断字符串s2中是否包含字符串s1的某个变位词&#xff1f;如果字符串s2中包含字符串s1的某个变位词&#xff0c;则字符串s1至少有一个变位词是字符串s2的子字符串。假设两个字符串中只包含英文小写字母。例如&#xff0c;字符串s1为&quo…...

中国社科院大学-美国杜兰大学金融管理硕士暨能源管理硕士项目2023年毕业典礼

中国社科院大学-美国杜兰大学金融管理硕士暨能源管理硕士项目2023年毕业典礼 2023年9月16日&#xff0c;中国社会科学院大学-美国杜兰大学金融管理硕士项目暨能源管理硕士项目2023年毕业典礼在我校望京校区成功举办。 张波副校长致辞 中国社会科学院大学副校长张波教授、杜兰大…...

蓝桥杯 题库 简单 每日十题 day10

01 最少砝码 最少砝码 问题描述 你有一架天平。现在你要设计一套砝码&#xff0c;使得利用这些砝码 可以出任意小于等于N的正整数重量。那么这套砝码最少需要包含多少个砝码&#xff1f; 注意砝码可以放在天平两边。 输入格式 输入包含一个正整数N。 输出格式 输出一个整数代表…...

聊聊并发编程——多线程之synchronized

目录 一.多线程下数据不一致问题 二.锁和synchronized 2.1 并发编程三大特性 2.2引入锁概念 三.synchronized的锁实现原理 3.1 monitorenter和monitorexit 3.2synchronized 锁的升级 3.2.1偏向锁的获取和撤销 3.2.2轻量级锁的加锁和解锁 自适应自旋锁 轻量级锁的解锁…...

CompletableFuture-通用异步编程

演示Completable接口完全可以代替Future接口&#xff1a; CompletableFuture减少阻塞和轮询&#xff0c;可以传入回调对象&#xff0c;当异步任务完成或者发生异常时&#xff0c;自动 调用回调对象的回调方法。 package com.nanjing.gulimall.zhouyimo.test;import java.util…...

Vue3 封装 element-plus 图标选择器

一、实现效果 二、实现步骤 2.1. 全局注册 icon 组件 // main.ts import App from ./App.vue; import { createApp } from vue; import * as ElementPlusIconsVue from element-plus/icons-vueconst app createApp(App);// 全局挂载和注册 element-plus 的所有 icon app.con…...

超详细C语言实现——通讯录

目录 一、介绍 二、源代码 test.c: Contact.c: Contact.h: 代码运行结果&#xff1a; 三、开始实现 1.基本框架&#xff1a; 2.添加联系人&#xff1a; 3.显示联系人信息&#xff1a; 4.删除联系人信息&#xff1a; 5.查看指定联系人信息&#xff1a; 6.修改联系人…...

zabbix监控添加监控项及其监控Mysql、nginx

本届主要介绍添加监控项和修改中文乱码&#xff0c;监控mysql&#xff0c;nginx服务 一、zabbix监控添加监控项 1、配置agent服务器 在配置文件中添加&#xff1a; UserParameterlsq_userd,free -m | grep Mem | awk { print $3 } 服务器内存使用量 UserParameterdu,…...

Docker 部署 MongoDB 服务

拉取最新版本的 MongoDB 镜像&#xff1a; $ sudo docker pull mongo:latest在本地预先创建好 db 和 configdb 目录, 用于映射 MongoDB 容器内的 /data/db 和 /data/configdb 目录。 使用以下命令来运行 MongoDB 容器: $ sudo docker run -itd --name mongo --privilegedtru…...

QUIC协议报文解析(三)

在前面的两篇文字里我们简单介绍了QUIC的发展历史&#xff0c;优点以及QUIC协议的连接原理。本篇文章将会以具体的QUIC报文为例&#xff0c;详细介绍QUIC报文的结构以及各个字段的含义。 早期QUIC版本众多&#xff0c;主要有谷歌家的gQUIC&#xff0c;以及IETF致力于将QUIC标准…...

pytorch迁移学习训练图像分类

pytorch迁移学习训练图像分类 一、环境配置二、迁移学习关键代码三、完整代码四、结果对比 代码和图片等资源均来源于哔哩哔哩up主&#xff1a;同济子豪兄 讲解视频&#xff1a;Pytorch迁移学习训练自己的图像分类模型 一、环境配置 1&#xff0c;安装所需的包 pip install …...

SQL 如何提取多级分类目录

前言 POI数据处理&#xff0c;原始数据为csv格式&#xff0c;整理入库至PostGreSQL&#xff0c;本例使用PostGreSQL13版本。 一、POI POI&#xff08;一般作为Point of Interest的缩写&#xff0c;也有Point of Information的说法&#xff09;&#xff0c;通常称作兴趣点&am…...

从中序遍历和后序遍历构建二叉树

题目描述 106. 从中序与后序遍历序列构造二叉树 中等 1.1K 相关企业 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1…...

《计算机视觉中的多视图几何》笔记(11)

11 Computation of the Fundamental Matrix F F F 本章讲述如何用数值方法在已知若干对应点的情况下求解基本矩阵 F F F。 文章目录 11 Computation of the Fundamental Matrix F F F11.1 Basic equations11.1.1 The singularity constraint11.1.2 The minimum case – sev…...

UE5 ChaosVehicles载具研究

一、基本组成 载具Actor类名称&#xff1a;WheeledVehiclePawn Actor最原始的结构 官方增加了两个摇臂相机&#xff0c;可以像驾驶游戏那样切换多机位、旋转观察 选择骨骼网格体、动画蓝图类、开启物理模拟 二、SportsCar_Pawn 角阻尼&#xff1a;物体旋转的阻力。数值越大…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...