uni-app网络请求、数据缓存实例详解
作者:Bonsoir777 发布时间:2023-08-09 03:49:12
标签:uni-app,网络请求,数据缓存
一、网络请求
在uni中可以调用uni.request方法进行请求网络请求
需要注意的是:在小程序中网络相关的 API 在使用前需要配置域名白名单。
1.配置请求
以下为发送网络请求的基本配置,可根据接口请求数据方法的不同,以不同的方式请求数据。
// #ifdef H5
var baseURL = "/api"
// #endif
// #ifndef H5
var baseURL = "http://81.68.254.47/api"
// #endif
var request = function(options){
return new Promise((resolve,reject)=>{
uni.request({
url:baseURL+options.url,
method:options.method||'GET',
data:options.data||{},
dataType:options.dataType||'json',
success: (res) => {
resolve(res.data)
},
fail: (err) => {
reject(err)
}
})
})
}
export default request
1.1 发送get请求
// 引入request请求方法
import request from '../utils/request.js';
// 请求首页基础数据的方法
export const getHome = ( )=>{
return request({
url:'/index_category/data'
})
}
1.2 发送POST请求
// 引入request请求方法
import request from '../utils/request.js';
// 获取首页指定分类下的分页数据
export const getChoose = ({title,page,all,sale_count,min_price})=>{
return request({
url:'/goods/search',
method:'POST',
data:{title,page,all,sale_count,min_price}
})
}
二、数据缓存
1.uni.setStorage(OBJECT)
将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。
OBJECT参数说明:
参数名 | 类型 | 必填 | 说明 |
key | String | 是 | 本地缓存中的指定的key |
data | Any | 是 | 需要存储的内容,只支持原生类型,及能够通过JSON.stringfiy序列化的对象。 |
success | Function | 否 | 接口调用成功的回调函数 |
falil | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用失败,成功都会执行) |
2.uni.setStorageSync(KEY,DATA)
将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。
参数说明:
参数名 | 类型 | 必填 | 说明 |
key | String | 是 | 本地缓存中的指定的key |
data | Any | 是 | 需要存储的内容,只支持原生类型,及能够通过JSON.stringfiy序列化的对象。 |
3.uni.getStorage(OBJECT)
从本地缓存中异步获取指定 key 对应的内容。
OBJECT参数说明:
参数名 | 类型 | 必填 | 说明 |
key | String | 是 | 本地缓存中的指定的key |
data | Any | 是 | 接口调用的回调函数,res = {data: key对应的内容} |
success | Function | 否 | 接口调用成功的回调函数 |
falil | Function | 否 | 接口调用失败的回调函数 |
4.uni.getStorageSync(KEY)
从本地缓存中同步获取指定 key 对应的内容。
参数说明:
参数名 | 类型 | 必填 | 说明 |
key | String | 是 | 本地缓存中的指定的key |
5.uni.removeStorage(OBJECT)
从本地缓存中异步移除指定 key。
OBJECT 参数说明:
参数名 | 类型 | 必填 | 说明 |
key | String | 是 | 本地缓存中的指定的key |
success | Function | 否 | 接口调用成功的回调函数 |
falil | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用失败,成功都会执行) |
来源:https://blog.csdn.net/Bonsoir777/article/details/127770920
0
投稿
猜你喜欢
- 先看代码m = nn.Identity(54, unused_argument1=0.1, unused_argument2=False)i
- 前沿最近开始学习python了,由于要简单处理一下图片,奈何能C++力太差,openCV上手有点难,想学习一下py简单的处理一下图片就好了。
- 利用OpenCV练习读取图片的时候,图片总是一闪而过,不利于观察,这个时候需要利用到waitKey函数。waitKey函数:用来等待按键,当
- 本文实例讲述了mysql聚簇索引的页分裂。分享给大家供大家参考,具体如下:在MySQL中,MyISAM采用的是非聚簇索引的,InnoDB存储
- 一、Selenium介绍与配置1.Selenium简介Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具
- 一、方框滤波 方框滤波是均值滤波的一种形式。在均值滤波中,滤波结果的像素值是任意一个点的邻域平均值,等于各邻域像素值之和的均值,而在方框
- 本文实例为大家分享了Tensorflow实现神经网络拟合线性回归的具体代码,供大家参考,具体内容如下一、利用简单的一层神经网络拟合一个函数
- 这次用Python实现的是一个接球打砖块的小游戏,需要导入pygame模块,有以下两条经验总结:1.多父类的继承2.碰撞检测的数学模型知识点
- 非Web程序(桌面程序)的设置一般都存在注册表中。 给这些程序做自动化测试时, 需要经常要跟注册表打交道。 通过修改注册表来修改程序的设置。
- 自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足。那么,他跟之前的%型格式化字符串相比,有什么优
- 关于eslint空格缩进等的报错问题解决办法有四种1. 在.eslintrc.js文件中添加如下代码:rules: { &nb
- 近几年来,nosql大行其道,json更是火的一塌糊涂,作为数据库的元老,mysql在5.7版本中添加了对json数据的支持。这片博客主要介
- JavaScript获取Select当前值写法:var value = document.getElementById("sele
- 第一步:下载mysql镜像镜像docker pull mysql默认是下载最新稳定版第二步:启动mysql镜像docker run --na
- 官方文档:http://www.layui.com/demo/layedit.html官网文档目前是不支持layedit扩展式的。自己手动实
- 第一种:拼接字符串,可以解决问题,但是为了避免sql注入,不建议这样写还是看看第二种:使用.format()函数,很多时候我都是使用这个函数
- 构建运动模糊模型现假定相机不动,图像f(x,y)在图像面上移动并且图像f(x,y)除移动外不随时间变化。令x0(t)和y0(t)分别代表位移
- 预测结果转为numpy:logits=model(feature)#如果模型是跑在GPU上result=logits.data.cpu().
- 有两个结构完全相同的表,由其中一个表插入另一个表中指定条件的数据,报如下错误: 仅当使用了列列表并且 IDENTITY_INSERT 为 O
- 使用Sublime Text做开发工具的小伙伴又有版本可以更新啦!费话不多说先把Sublime Text4注册码贴出来Sublime Tex