微信小程序部分知识点总结【2】
微信小程序的原理是什么
微信小程序的原理是基于一种轻量级的应用程序模型,它允许开发者在微信客户端内部创建和运行应用程序。微信小程序采用了类似网页的技术栈,主要由两部分组成:前端和后端。
前端部分使用HTML、CSS和JavaScript等标准的Web前端技术来构建用户界面。开发者可以使用微信提供的小程序框架,如WXML(类似HTML)、WXSS(类似CSS)和小程序API等进行开发。这些技术使得开发者能够创建出丰富、交互性强的界面,并且支持实时更新。
后端部分是指小程序的服务端,负责处理小程序的逻辑和数据操作。开发者可以通过调用微信提供的云开发能力,实现服务器端的接口和功能,包括数据库存储、文件上传下载、云函数等。云开发还提供了便捷的开发工具和托管服务,简化了后端开发的流程。
当用户打开一个小程序时,微信客户端会进行相应的资源加载和解析,展示小程序的界面。小程序的前端代码在微信客户端内运行,与后端进行通信获取数据或执行相关操作。通过这种方式,开发者可以在微信中快速地开发和发布小程序,用户无需下载和安装即可使用。
微信小程序,vue,uni-app的生命周期
Vue、小程序和Uni-app都有自己的生命周期。
Vue的生命周期
Vue组件的生命周期分为8个阶段:
beforeCreate
:实例被创建之前的阶段,此时数据观测和事件还未初始化。created
:实例已经创建完成,数据观测和事件已经初始化完毕,但DOM还未生成,无法访问到el
。beforeMount
:在挂载之前调用,即将开始编译模板,将模板转换成虚拟DOM。mounted
:实例挂载到页面上后调用,此时可以操作DOM,进行异步操作。beforeUpdate
:数据更新之前调用,在这一步可以修改数据,但是不会触发再次渲染。updated
:数据更新之后调用,DOM已经更新完成,可以执行依赖于DOM的操作。beforeDestroy
:实例销毁之前调用,可以进行清理操作。destroyed
:实例已经销毁后调用,所有的事件监听器和子实例都已被移除。
小程序的生命周期
小程序的生命周期分为5个阶段:
onLaunch
:小程序初始化时触发,只会触发一次。onShow
:小程序启动或从后台进入前台显示时触发。onHide
:小程序从前台进入后台时触发。onError
:小程序发生脚本错误或 API 调用失败时触发。onPageNotFound
:页面不存在触发。
Uni-app的生命周期
Uni-app的生命周期与Vue的生命周期类似,主要包括:
beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
beforeDestroy
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项目
-
安装Git:首先,确保您的计算机上已安装Git。您可以从Git官方网站(https://git-scm.com/)下载并安装适合您操作系统的版本。
-
创建本地仓库:在本地文件夹中,打开终端或命令提示符,并运行以下命令初始化一个新的Git仓库:
-
git init
-
添加文件到暂存区:将项目文件添加到Git仓库的暂存区,使用以下命令:
-
git add .
-
提交更改:将暂存区的文件提交到本地Git仓库中,使用以下命令:
-
git commit -m "Initial commit"
上传至GitHub
-
创建GitHub仓库:登录到GitHub,创建一个新仓库。输入仓库名称和描述,并选择公开或私有等选项。
-
关联远程仓库:返回本地终端或命令提示符,在其中运行以下命令,将本地仓库与远程GitHub仓库关联起来:
-
git remote add origin <GitHub仓库URL>
-
推送到远程仓库:最后,将本地仓库的内容推送到远程GitHub仓库中,使用以下命令:
-
git push -u origin master
这将把本地的master分支推送到远程GitHub仓库。
完成以上步骤后,您的Git项目将被配置并上传至GitHub!您可以在GitHub上查看并管理您的代码。
rpx、px、em、rem、%、vh、vw的区别是什么
rpx、px、em、rem、%、vh、vw 是用于表示长度或尺寸的单位,它们的区别如下:
-
rpx
(响应式像素):是微信小程序独有的单位,用于适配不同屏幕密度的设备。在不同设备上,1rpx 会等于对应设备下的物理像素数,即可实现屏幕适配。 -
px
(像素):是最常见的单位,在网页和移动应用开发中使用。它代表相对于屏幕的物理像素点。在同一设备下,1px 表示一个物理像素。 -
em
:相对于父元素的字体大小,默认情况下是相对于浏览器的默认字体大小(16px)。例如,2em 表示当前元素的字体大小的两倍。 -
rem
(根元素字体大小):相对于根元素(通常为<html>
元素)的字体大小。与 em 不同,rem 的参考值固定为根元素的字体大小。这使得 rem 单位更适合进行整体布局的控制。 -
%
(百分比):相对于父元素的百分比值。例如,50% 表示元素宽度或高度的一半。 -
vh
(视窗高度单位):表示相对于视口高度的百分比。例如,1vh 表示视口高度的 1%。 -
vw
(视窗宽度单位):表示相对于视口宽度的百分比。例如,1vw 表示视口宽度的 1%。
总结:
rpx
是用于微信小程序中的适配单位。px
是常见的像素单位。em
是相对于父元素字体大小的单位。rem
是相对于根元素字体大小的单位。%
是相对于父元素的百分比单位。vh
和vw
是相对于视口高度和宽度的百分比单位。
wx.getPhoneNumber()使用
在微信小程序中,您可以使用wx.getPhoneNumber()
方法来获取用户的手机号码。以下是使用wx.getPhoneNumber()
的基本步骤:
-
用户授权:确保您已经引导用户进行了手机号授权,例如通过按钮等触发用户点击事件。在事件处理函数中,调用
wx.getPhoneNumber()
方法。 -
调用
wx.getPhoneNumber()
:在授权的事件处理函数中,使用wx.getPhoneNumber()
方法获取用户手机号。示例代码如下:
-
wx.getPhoneNumber({success: function(res) {var encryptedData = res.encryptedData;var iv = res.iv;// 在这里处理获取到的用户手机号数据},fail: function(err) {// 获取用户手机号失败} })
-
处理获取到的手机号数据:在
success
回调函数中,您可以获取到用户手机号的加密数据(encryptedData
)和解密算法的初始向量(iv
)。您可以将这些数据发送到服务器端进行解密操作,以获取真实的手机号。请注意,解密过程需要在服务器端进行,因为涉及到敏感信息的处理。
需要注意的是,在使用wx.getPhoneNumber()
之前,您需要先获取用户的登录凭证(code),并将其发送到服务器端与手机号关联,以便后续解密操作。解密过程需要参考微信提供的解密算法进行处理。
另外,为了确保数据安全性和合法性,请遵循微信官方的开发指南和隐私政策,并严格遵守相关法律法规。
以上是使用wx.getPhoneNumber()
方法获取用户手机号的基本流程。具体实现时,请参考微信小程序官方文档和示例代码,以确保正确使用该 API。
相关文章:
微信小程序部分知识点总结【2】
微信小程序的原理是什么 微信小程序的原理是基于一种轻量级的应用程序模型,它允许开发者在微信客户端内部创建和运行应用程序。微信小程序采用了类似网页的技术栈,主要由两部分组成:前端和后端。 前端部分使用HTML、CSS和JavaScript等标准的…...

基于springboot+vue的云南旅游网(前后端分离)
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...
后缀表达式求值
后缀表达式,又称逆波兰式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行。 运用后缀表达式进行计算的具体做法: 建立一个操作数栈S。然后从左到右读表达…...

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

基于YOLOv8模型的垃圾满溢检测系统(PyTorch+Pyside6+YOLOv8模型)
摘要:基于YOLOv8模型的垃圾满溢检测系统可用于日常生活中检测与定位车辆垃圾(garbage)、垃圾桶(garbage_bin)和垃圾满溢(overflow)目标,利用深度学习算法可实现图片、视频、摄像头等…...
面试算法14:字符串中的变位词
题目 输入字符串s1和s2,如何判断字符串s2中是否包含字符串s1的某个变位词?如果字符串s2中包含字符串s1的某个变位词,则字符串s1至少有一个变位词是字符串s2的子字符串。假设两个字符串中只包含英文小写字母。例如,字符串s1为&quo…...

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

蓝桥杯 题库 简单 每日十题 day10
01 最少砝码 最少砝码 问题描述 你有一架天平。现在你要设计一套砝码,使得利用这些砝码 可以出任意小于等于N的正整数重量。那么这套砝码最少需要包含多少个砝码? 注意砝码可以放在天平两边。 输入格式 输入包含一个正整数N。 输出格式 输出一个整数代表…...

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

CompletableFuture-通用异步编程
演示Completable接口完全可以代替Future接口: CompletableFuture减少阻塞和轮询,可以传入回调对象,当异步任务完成或者发生异常时,自动 调用回调对象的回调方法。 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: 代码运行结果: 三、开始实现 1.基本框架: 2.添加联系人: 3.显示联系人信息: 4.删除联系人信息: 5.查看指定联系人信息: 6.修改联系人…...

zabbix监控添加监控项及其监控Mysql、nginx
本届主要介绍添加监控项和修改中文乱码,监控mysql,nginx服务 一、zabbix监控添加监控项 1、配置agent服务器 在配置文件中添加: UserParameterlsq_userd,free -m | grep Mem | awk { print $3 } 服务器内存使用量 UserParameterdu,…...
Docker 部署 MongoDB 服务
拉取最新版本的 MongoDB 镜像: $ sudo docker pull mongo:latest在本地预先创建好 db 和 configdb 目录, 用于映射 MongoDB 容器内的 /data/db 和 /data/configdb 目录。 使用以下命令来运行 MongoDB 容器: $ sudo docker run -itd --name mongo --privilegedtru…...

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

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

SQL 如何提取多级分类目录
前言 POI数据处理,原始数据为csv格式,整理入库至PostGreSQL,本例使用PostGreSQL13版本。 一、POI POI(一般作为Point of Interest的缩写,也有Point of Information的说法),通常称作兴趣点&am…...

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

《计算机视觉中的多视图几何》笔记(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类名称:WheeledVehiclePawn Actor最原始的结构 官方增加了两个摇臂相机,可以像驾驶游戏那样切换多机位、旋转观察 选择骨骼网格体、动画蓝图类、开启物理模拟 二、SportsCar_Pawn 角阻尼:物体旋转的阻力。数值越大…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...

【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...