uniapp数据缓存和发起网络请求

news/2024/9/18 13:26:46/ 标签: uni-app, 缓存, java

数据缓存


uni.onStorageSync同步的方式将数据存储到本地缓存


javascript"><template><button @click="onStorageSync()">存储数据</button>
</template><script setup>const onStorageSync = () => {// 存储数据uni.setStorageSync('username', '张三');uni.setStorageSync('age', 25);};
</script>

uni.getStorageSync从本地存储中同步读取数据​​​​​​


javascript"><template><button @click="onStorageSync()">存储数据</button>{{username}}{{age}}</template><script setup>import {ref} from 'vue';var username = ref('');var age = ref('');const onStorageSync = () => {// 存储数据uni.setStorageSync('username', '张三');uni.setStorageSync('age', 25);//获取数据并存储username.value = uni.getStorageSync('username');age.value = uni.getStorageSync('age');};
</script>

uni.removeStorageSync用于从本地存储中移除指定 key 的数据的方法。它可以帮助你在不需要某个数据项时将其从本地存储中删除。


javascript"><template><!-- 存储数据按钮,点击后将调用onStorageSync()方法 --><button @click="onStorageSync()">存储数据</button><!-- 清除指定key存储数据的按钮,点击后将调用onRemoverStorageSunc()方法 --><button @click="onRemoverStorageSunc()">清除指定key存储数据数据</button><!-- 显示从存储中获取的用户名 -->{{ username }}<!-- 显示从存储中获取的年龄 -->{{ age }}
</template><script setup>
// 初始化用户名和年龄的响应式变量,初始值为空字符串
var username = ref('');
var age = ref('');
/*** 存储数据到本地存储,并更新响应式变量的值* 使用uni.setStorageSync方法存储数据,如果存储成功,通过uni.getStorageSync方法获取数据并更新变量值*/
const onStorageSync = () => {// 存储数据uni.setStorageSync('username', '张三');uni.setStorageSync('age', 25);//获取数据并存储username.value = uni.getStorageSync('username');age.value = uni.getStorageSync('age');
};
/*** 移除本地存储中指定key的数据,并更新响应式变量的值* 使用uni.removeStorageSync方法移除存储的数据,然后尝试重新获取并更新变量值*/
const onRemoverStorageSunc = () => {uni.removeStorageSync('username');uni.removeStorageSync('age');// 尝试重新获取数据并更新,此时数据已被移除,预期值为null或默认值username.value = uni.getStorageSync('username');age.value = uni.getStorageSync('age');
}
</script>

发起网络请求


uni.request 是 Uni-app 框架中用于发起 HTTP 网络请求的一个 API。它允许开发者向服务器发送请求以获取数据或发送数据。下面是一些基本的用法和作用:

        


作用

  • 数据获取:从远程服务器获取数据,例如获取 JSON 格式的数据。
  • 数据提交:向服务器发送数据,比如提交表单数据或上传文件。
  • 服务交互:与第三方服务进行通信,如身份验证、支付接口调用等。

基本用法

uni.request 接受一个对象作为参数,其中包含请求的相关配置项,比如 URL、请求方法、请求头、请求体等,并且可以指定回调函数来处理请求的结果。

参数说明
  • url (String):请求的地址。
  • data (Object/String):请求的参数,如果是 GET 请求,这些参数会被拼接在 URL 后面;如果是 POST 请求,则作为请求体发送。
  • method (String):请求的方法,默认为 GET,可选值有 GETPOSTPUTDELETEHEADOPTIONS 等。
  • timeout (Number):请求超时时间,单位毫秒,默认值为 60000。
  • complete (Function):接口调用结束的回调函数(请求结束时执行,无论成功或失败)。
  • success (Function):接口调用成功的回调函数。
  • fail (Function):接口调用失败的回调函数

javascript"><template>
</template><script setup>
// 使用uni.request发起一个GET请求到指定的URL
uni.request({url: 'https://jsonplaceholder.typicode.com/todos/1', // 请求的URLdata: {key: 'value' // 请求携带的数据},method: 'GET', // 请求方法header: {'Content-Type': 'application/json', // 设置内容类型为JSON'Custom-Header': 'hello' // 自定义请求头},success: function(res) {console.log(res.data); // 处理返回的数据},fail: function(err) {console.error('请求失败:', err); // 在请求失败时输出错误信息}
})
</script>
javascript"><template><div><h1>请求结果</h1><pre>{{ requestResult }}</pre></div>
</template><script setup>
import { ref } from 'vue';// 初始化状态
const requestResult = ref('');// 使用uni.request发起GET请求
uni.request({url: 'https://jsonplaceholder.typicode.com/todos/1', // 请求的URLdata: {key: 'value' // 请求的参数},method: 'GET', // 请求方法header: {'Content-Type': 'application/json', // 设置请求头的Content-Type'Custom-Header': 'hello' // 自定义请求头},success: function (res) {// 请求成功时的回调函数requestResult.value = JSON.stringify(res.data, null, 2); // 将数据转换为字符串并存储},fail: function (err) {// 请求失败时的回调函数console.error('请求失败:', err); // 输出错误信息到控制台requestResult.value = '请求失败'; // 设置状态为请求失败}
});
</script>



 


http://www.ppmy.cn/news/1525179.html

相关文章

Python——爬虫(2)

要使用Python爬取B站热门视频&#xff0c;可以使用第三方库requests和BeautifulSoup来实现。 首先&#xff0c;你需要安装这两个库。你可以使用以下命令在终端或命令提示符中安装它们&#xff1a; pip install requests beautifulsoup4接下来&#xff0c;你可以使用以下代码来…

使用Astra DB和LangChain构建高效的RAG系统:从入门到实践

使用Astra DB和LangChain构建高效的RAG系统&#xff1a;从入门到实践 1. 引言 检索增强生成&#xff08;Retrieval-Augmented Generation&#xff0c;简称RAG&#xff09;是一种结合了信息检索和文本生成的AI技术&#xff0c;能够显著提升大语言模型的表现。本文将介绍如何使…

React Native 0.76版本发布

关于 React Native 的 New Architecture 概念&#xff0c;最早应该是从 2018 年 RN 团队决定重写大量底层实现开始&#xff0c;因为那时候 React Native 面临各种结构问题和性能瓶颈&#xff0c;最终迫使 RN 团队开始进行重构。 而从 React Native 0.68 开始&#xff0c;New A…

buildroot移植qt报错Info: creating stash file (补充qt添加字库)

移植qt库&#xff0c;编译文件报错Info: creating stash file /home/rbing/QT/uart/.qmake.stash Project ERROR: Unknown module(s) in QT: serialport rbingouc:~/QT/uart$ /home/rbing/linux/tool/buildroot-2022.02.9/output/host/usr/bin/qmake Info: creating stash fil…

ssm“健康早知道”微信小程序 LW PPT源码调试讲解

第二章开发技术与环境配置 以Java语言为开发工具&#xff0c;利用了当前先进的SSM框架&#xff0c;以MyEclipse10为系统开发工具&#xff0c;MySQL为后台数据库&#xff0c;开发的一个“健康早知道”微信小程序。 2.1 Java语言简介 Java是由SUN公司推出&#xff0c;该公司于2…

梧桐数据库(WuTongDB):数据库技术中都有哪些常见的优化器

以下是一些常见的数据库优化器&#xff1a; 1. CBO&#xff08;Cost-Based Optimizer&#xff09; 应用场景&#xff1a;广泛应用于关系型数据库中&#xff0c;如Oracle、PostgreSQL、MySQL等。工作原理&#xff1a;通过计算不同执行计划的代价&#xff08;如CPU、I/O等资源消…

RabbitMQ延迟消息——DelayExchange插件

什么是死信以及死信交换机 当一个队列中的消息满足下列情况之一时&#xff0c;可以成为死信&#xff1a; 1. 消费者使用basic.reject或 basic.nack声明消费失败&#xff0c;并且消息的requeue参数设置为false 2. 消息是一个过期消息&#xff0c;超时无人消费 3. 要投递的队列消…

美国洛杉矶ip有哪些独特优势

美国洛杉矶的IP地址独特优势主要体现在以下几个方面&#xff0c;rak小编为您整理发布美国洛杉矶的IP地址独特优势&#xff0c;希望 对您选择服务器有帮助。 1. 丰富的IP资源&#xff1a;美国洛杉矶多IP服务器提供的IP数量从几十到几百不等&#xff0c;最多可提供多达511个独立I…

使用Django 搭建自动化平台

由于本人python 环境已安装&#xff0c;就不重复安装了&#xff0c;博客中有python的安装说明&#xff1b; 1 Django 的安装 安装很简单&#xff1a; pip install django 但是国内的网络环境&#xff0c;你很难成功&#xff0c;此处省略一些字。。。。。 问题总要解决&#…

QT QObject源码学习(二)

一、全局函数 1、qt_qFindChildren_helper函数 在给定的父对象下&#xff0c;查找所有匹配指定条件的子对象&#xff0c;并将它们添加到一个列表中。 &#xff08;1&#xff09;声明 /*** brief 在给定的父对象下&#xff0c;查找所有匹配指定条件的子对象&#xff0c;并将它…

Leetcode3275. 第 K 近障碍物查询

Every day a Leetcode 题目来源&#xff1a;3275. 第 K 近障碍物查询 解法1&#xff1a;大根堆 维护前 k 小元素&#xff0c;可以用最大堆。 遍历数组 queries&#xff0c;计算点 (x,y) 到原点的曼哈顿距离 d∣x∣∣y∣。 把 d 入堆&#xff0c;如果堆大小超过 k&#xff…

clickhouse 保证幂等性

在分布式数据库系统 ClickHouse 中&#xff0c;幂等性通常涉及到在相同的操作被重复执行时&#xff0c;保证结果不会因为多次执行而发生变化。为了确保幂等性&#xff0c;ClickHouse 采用了一些机制来避免数据重复插入或处理。 以下是 ClickHouse 保证幂等性的一些关键机制&am…

SpringBoot的Web开发支持

使用spring-boot-starter-web启动器&#xff0c;开始web支持&#xff0c;内嵌一个Tomcat&#xff0c;添加了对于SpringMVC的支持。Spring Boot默认servlet容器为tomcat。 常用的服务器配置 配置端口号Spring Boot 默认端口是8080&#xff0c;如果想要进行更改的话&#xff0c;…

使用docker Desktop docker build 报错 无法拉取 nginx 镜像

具体报错信息&#xff1a;ERROR: failed to solve: nginxinc/nginx-unprivileged:alpine: failed to resolve source metadata for docker.io/nginxinc/nginx-unprivileged:alpine: failed to authorize: failed to fetch oauth token: Post "https://auth.docker.io/toke…

支持iPhone 16新品预售,饿了么同步上线专人配送等特色服务

9月10日凌晨&#xff0c;2024年 Apple 秋季新品发布会上正式揭晓iPhone 16新机。9月10日一早&#xff0c;饿了么同步宣布&#xff1a;今年将携手近4000家Apple 授权专营店&#xff0c;支持iPhone 16新品预售及现货的同步开售。新机现货首发当日&#xff0c;饿了么消费者最快半小…

下载docker镜像报错,dial tcp x.x.x.x:443: connect: connection refused

原因是:国外的连接超时了. 解决方案改为阿里云的数据源 打开阿里云 搜索&#xff1a;容器镜像服务 ACR 把你自己的这个直接复制在linux sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF { "registry-mirrors": ["你自己的"] }…

Machine Learning: A Probabilistic Perspective 机器学习:概率视角 PDF免费分享

下载链接在博客最底部&#xff01;&#xff01; 之前需要参考这本书&#xff0c;但是大多数博客都是收费才能下载本书。 在网上找了好久才找到免费的资源&#xff0c;浪费了不少时间&#xff0c;在此分享以节约大家的时间。 链接: https://pan.baidu.com/s/1erFsMcVR0A_xT4fx…

用于客户支持的 GenAI:探索 Elastic Support Assistant

作者&#xff1a;Chris Blaisure, Cory Mangini 我们很高兴地宣布推出 Elastic 的支持助手。本博客将带你了解我们最新的生成式 AI 工具以及它可以帮助你使用 Elastic 技术的一些常见场景。 Elastic 支持助手现已在 Support Hub 上可用 今天&#xff0c;我们宣布 Elastic 支持…

【C++多线程编程】 线程安全与对象生命周期管理

目录 类的线程安全 实现线程安全 构造函数在多线程中的安全性 析构函数多线程环境的安全 智能指针实现多线程安全 shared_ptr 非完全线程安全 shared_ptr可能导致对象生命周期延长 const引用可以减少传递shared_ptr开销 shared_ptr 智能指针块模块的优点 析构所在线程…

【浅谈国产化大数据软件及发展趋势】

1、背景&#xff0c;现状 当下的祖国各方面都在不断成长&#xff0c;有些领域在国际中也占据着重要地位&#xff0c;各个企业如今都在大力的支持国产化的软件&#xff0c;当然国产化的软件就像一个刚成长的孩子&#xff0c;需要给予鼓励和支持&#xff0c;而不是打压。如今企业…