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

数据缓存


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


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

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


<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 的数据的方法。它可以帮助你在不需要某个数据项时将其从本地存储中删除。


<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):接口调用失败的回调函数

<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>
<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.rhkb.cn/news/422898.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安防监控/视频汇聚平台EasyCVR无法启动并报错“error while loading shared libraries”,如何解决?

安防监控/视频汇聚平台EasyCVR视频管理系统以其强大的拓展性、灵活的部署方式、高性能的视频能力和智能化的分析能力&#xff0c;为各行各业的视频监控需求提供了优秀的解决方案。通过简单的配置和操作&#xff0c;用户可以轻松地进行远程视频监控、存储和查看&#xff0c;满足…

Golang | Leetcode Golang题解之第390题消除游戏

题目&#xff1a; 题解&#xff1a; func lastRemaining(n int) int {a1 : 1k, cnt, step : 0, n, 1for cnt > 1 {if k%2 0 { // 正向a1 step} else { // 反向if cnt%2 1 {a1 step}}kcnt >> 1step << 1}return a1 }

部署k8s基础环境

部署k8s基础环境 一、环境准备 1、主机准备&#xff1a; k8s-master&#xff08;192.168.2.90&#xff09;k8s-node01&#xff08;192.168.2.91&#xff09;k8s-node02&#xff08;192.168.2.92&#xff09; 2、关闭防火墙、selinux、NetworkManager [rootk8s-master ~]# …

【机器学习】XGBoost的用法和参数解释

一、XGBoost的用法 流程&#xff1a; 代码案例&#xff1a; 二、XGBoost的几大参数 1、一般参数&#xff0c;用于集成算法本身 ①n_estimators 集成算法通过在数据上构建多个弱 评估器&#xff0c;汇总所有弱评估器的建模结果&#xff0c;以获取比单个模型更好的回归或分类…

Spring Cloud Alibaba核心组件Nacos/Seata/Sentinel

文章目录 Spring Cloud Alibaba介绍Spring Cloud 微服务体系Spring Cloud Alibaba 定位 注册配置中心--Nacos服务治理架构注册中心原理 Nacos介绍Nacos 的关键特性1.服务注册和发现2.动态配置服务3.实时健康监控4.动态DNS服务5.易于集成&#xff1a; Nacos入门示例服务注册与发…

ED—编辑距离

题目 给你两个单词 word1 和 word2&#xff0c; 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作&#xff1a; 插入一个字符删除一个字符替换一个字符 思路分析 编辑距离问题就是给定两个字符串 s1 和 s2&#xff0c;只能用三种操作…

【kafka-01】kafka安装和基本核心概念

一&#xff0c;kafka安装和基本核心概念 1&#xff0c;kafka的安装和运行 1.1 kafka下载和安装 下载地址&#xff0c;目前下载的版本是 Scala 2.12 - kafka_2.12-3.6.2.tgz (asc, sha512)&#xff0c;一定要下载二进制文件&#xff0c;不要下载源码 https://kafka.apache.o…

数据库-基本操作(一)

1、查看数据库的端口号 2、在student数据库下创建一个users表格 3、给一个表格添加数据&#xff0c;并查询该表格 4、查询mysql数据库的错误日志信息 5、测试jmeter与mysql服务器的通信是否正常&#xff0c;使用ping

什么是人力资源管理软件?HR人力软件有哪些功能?

在人力资源管理中&#xff0c;随着科技的迅猛发展和商业环境的日益复杂化&#xff0c;企业对人力资源管理系统&#xff08;eHR&#xff09;的需求不断增加。人力资源管理软件&#xff0c;简称eHR&#xff0c;是一种融合了系统学理论方法的管理工具&#xff0c;旨在通过技术手段…

似然函数与先验概率、后验概率的关系

似然函数、先验概率、后验概率这三个概念是贝叶斯统计中的核心概念&#xff0c;它们共同描述了如何根据已有数据更新我们对某个事件或参数的认识。下面用简单的语言解释这三个概念&#xff0c;并描述它们之间的关系。 1. 先验概率&#xff08;Prior Probability&#xff09; …

代码随想录27期|Python|Day54|​单调栈|​42. 接雨水|84. 柱状图中最大的矩形

42. 接雨水 根据常识可以归纳出&#xff0c;对于每一列所能够存住的水的高度 Height min(LeftMax, RightMax) - height 也就是&#xff0c;当前列的存水高度 左侧和右侧柱子的最大高度的较小值&#xff0c;减去当前列的柱子高度&#xff0c;所得到的差值。 可以验证第4列&…

随手记:uniapp小程序登录方式和小程序使用验证码登录

小程序登录方式&#xff1a; 方式一&#xff1a;小程序授权登录 通过uni.login获取 临时登录凭证code&#xff0c;向后端换取token。 <u-button type"primary" shape"circle" click"login">登 录</u-button>login() {uni.login({p…

深入探索 Ubuntu:从基础到高级应用

本文深入探讨了 Ubuntu 操作系统&#xff0c;涵盖了其起源与发展、安装与配置、软件管理、系统优化、网络配置、安全防护以及在不同领域的应用等多个方面。 在起源与发展部分&#xff0c;介绍了 Ubuntu 于 2004 年创立的背景以及其版本的演进。安装与配置环节详细阐述了系统安…

【练习10】链表相加

链接&#xff1a;链表相加(二)_牛客题霸_牛客网 (nowcoder.com) 分析&#xff1a; 算法原理是逆序高精度算法 逆序的原因是为了实现从低位&#xff08;个位&#xff09;开始相加。 public class Solution {//逆序链表public ListNode reverse(ListNode head){ListNode newHead …

动态规划的解题思想

1. 从斐波那契数列说起 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c; &#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; F(0) 0, F(2) 1 F&#xff08;n&#xff09; F&…

机器学习--卷积神经网络(包括python实现)

卷积神经网络 1. 计算方法 &#xff08;1&#xff09;输入和输出channel 1时 首先我们要知道channel是什么意思&#xff0c;顾名思义channel就是“通道”的意思qwq。我们来举个例子&#xff0c;在计算机视觉中&#xff0c;如果一张图片是黑白的&#xff0c;那么每个像素点都…

Linux中使用Docker构建Nginx容器完整教程

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f427;Linux基础知识(初学)&#xff1a;点击&#xff01; &#x1f427;Linux高级管理防护和群集专栏&#xff1a;点击&#xff01; &#x1f510;Linux中firewalld防火墙&#xff1a;点击&#xff01; ⏰️创作…

JD18年秋招笔试疯狂数列python解答

问题如下&#xff1a; 链接&#xff1a;疯狂序列_京东笔试题_牛客网 [编程题]疯狂序列 热度指数&#xff1a;149 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 32M&#xff0c;其他语言64M 东东从京京那里了解到有一个无限长的数字序列: 1…

uniapp 做一个查看图片的组件,图片可缩放移动

因为是手机端&#xff0c;所以需要触摸可移动&#xff0c;双指放大缩小。 首先在components里建个组件 查看图片使用 uni-popup 弹窗 要注意 transform的translate和scale属性在同一标签上不会一起生效 移动就根据触摸效果进行偏移图片 缩放就根据双指距离的变大变小进行缩…

DFS算法专题(二)——穷举vs暴搜vs深搜vs回溯vs剪枝【OF决策树】

目录 1、决策树 2、算法实战应用【leetcode】 2.1 题一&#xff1a;全排列 2.2.1 算法原理 2.2.2 算法代码 2.2 题二&#xff1a;子集 2.2.1 算法原理【策略一】 2.2.2 算法代码【策略一】 2.2.3 算法原理【策略二&#xff0c;推荐】 2.2.4 算法代码【策略二&#x…