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

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>



 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Unity Apple Vision Pro 开发(五):PolySpatial 2.0 导入方式
  • flink中slotSharingGroup() 的详解
  • 相亲交友程序系统开发产品分析
  • 【H2O2|全栈】关于HTML(4)HTML基础(三)
  • 掌握Go语言中的时间与日期操作
  • 影刀RPA实战:自动化批量生成条形码完整指南
  • 设计模式 解释器模式(Interpreter Pattern)
  • spark任务优化参数整理
  • Linux 之 RPM [Red - Hat Package Manager]【包管理】
  • [数据集][目标检测]肺炎检测数据集VOC+YOLO格式4983张2类别
  • Java设计模式中工厂模式与策略模式的区别
  • 提升效率必备,掌握这些Shell文本处理技能!
  • 虚拟机安装VMware-tools详细教程
  • 基于java+springboot+vue实现的林业产品推荐系统(文末源码+Lw)135
  • 如何把大的txt文件拆分为小的文件?
  • 「译」Node.js Streams 基础
  • 【391天】每日项目总结系列128(2018.03.03)
  • golang 发送GET和POST示例
  • Java读取Properties文件的六种方法
  • python_bomb----数据类型总结
  • spring boot 整合mybatis 无法输出sql的问题
  • vue-loader 源码解析系列之 selector
  • 从地狱到天堂,Node 回调向 async/await 转变
  • - 概述 - 《设计模式(极简c++版)》
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 简单基于spring的redis配置(单机和集群模式)
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 来,膜拜下android roadmap,强大的执行力
  • 什么软件可以剪辑音乐?
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 推荐一个React的管理后台框架
  • 小李飞刀:SQL题目刷起来!
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 做一名精致的JavaScripter 01:JavaScript简介
  • Nginx实现动静分离
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • #### golang中【堆】的使用及底层 ####
  • #QT项目实战(天气预报)
  • #每日一题合集#牛客JZ23-JZ33
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (+4)2.2UML建模图
  • (day6) 319. 灯泡开关
  • (rabbitmq的高级特性)消息可靠性
  • (八)Spring源码解析:Spring MVC
  • (苍穹外卖)day03菜品管理
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (过滤器)Filter和(监听器)listener
  • (每日一问)基础知识:堆与栈的区别
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (贪心) LeetCode 45. 跳跃游戏 II
  • (一)Java算法:二分查找
  • (转)原始图像数据和PDF中的图像数据