解决uniapp打包成apk后uni.getStorageSync获取不到值

news2024/11/17 3:24:51

        uniapp写的项目,在hbuilderx中云打包成apk后我在登录存储的token死都获取不到,导致后续接口请求头没有token连接不到接口,只有运行到手机或者模拟器还有打包成apk后是获取不到,其他的小程序还有网页都可以获取到

        试过了很多种方法,uni.getStorageSync、uni.setStorage和uni.getStorage进行存储、vuex还有全局变量...没一个成功的。但是在同一个页面进行存储和取值是可以实现。所以猜想是写法的问题。完整问题如下:uniapp打包成apk后uni.setStorageSync只能存储当前页面,页面切换时获取不到存储的值_前端-CSDN问答

1.在request.js请求接口页面添加本地存储设置

在这里我把存值和取值都在一个封装的请求方法里面,在get请求的请求头上使用tui.getToken()方法把获取的token传入,post请求也可以设置

/**
 * 常用方法封装 请求,文件上传等
 * @author echo. 
 **/
import qs from 'qs';
const tui= {
	// 设置
	setToken: function(token) {
		uni.setStorageSync("token_breed", token)
	},
	// 获取
	getToken() {
		return uni.getStorageSync("token_breed")
	},
	// 接口公共地址
	commoneUrl: function() {
		return 'http://xxx基本接口地址' // 生产
	},

	post: function(url, data, type) {
		var promise = new Promise((resolve, reject) => {
			var postData = data;
			uni.request({
				url: tui.commoneUrl() + url,
				data: qs.stringify(postData),
				method: 'POST',
				header: {
					'content-type': type || 'application/x-www-form-urlencoded'
				},
				success: function(res) {
					resolve(res.data);
					uni.hideLoading();
					if (res.data.code == 0) {
						uni.reLaunch({
							url: '/pages/login/login'
						})
					}
					// code ===0 失效问题
				},
				error: function(e) {
					reject('网络出错');
				}
			})
		});
		return promise;
	},
	get: function(url, data) {
		var promise = new Promise((resolve, reject) => {
			var postData = data;
			uni.request({
				url: tui.commoneUrl() + url,
				data: postData,
				method: "GET",
				dataType: 'json',
				header: {
					'content-type': 'application/x-www-form-urlencoded',
					'token': tui.getToken() || ''
				},
				success: function(res) {
					resolve(res.data);
					// if (res.data.code == 0) {
					// 	uni.reLaunch({
					// 		url: '/pages/tabBar/tabBar'
					// 	})
					// }
				},
				error: function(e) {
					reject('网络出错');
				}
			});
		});
		return promise;
	},
}

export default tui

2.main.js中导入request.js文件

并且在vue的原型链上添加全局$tui

import tui from './utils/request.js'
Vue.prototype.$tui = tui 

3.登录存储

登录使用get请求并且拼接路径和传参,之后使用this.$tui.setToken(res.token)方法,把token传入

login(){
this.$tui.get('/login',{name:'admin'}).then(res => {
						if (res.code == 200) {
							this.$tui.setToken(res.token)
							uni.reLaunch({
								url: '/pages/equip/index' // 跳转 - 首页
							})
						}else{
							uni.showToast({
								title: res.msg,
								duration: 2000,
								icon:'error'
							});

						}
					})
}

 4.页面发送请求

不需要再次传入token了

 queryEquip() {
				this.$tui.get("/deviceInfo").then(result=>{
				
				})
			},

5.效果

在手机基座上请求到了数据了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1359552.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[蓝桥杯学习]​树上差分

差分 前缀和 sum_i sum_i-1 a_i 差分 diff_i a_i - a_i-1 差分的好处 点的差分 问题引入 解决问题 要用到差分的思想,每次从叶子向上的回溯,让父结点子结点的cnt值,但是仅仅这样,还不行 回溯的过程中,LCA被加…

docker-compose Install spug 3

前言 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。 创建一键安装spug 脚本 自动化脚本兼容(ubuntu,RedHat系列及复刻系列,…

2024最新阿里云服务器地域(城市)对照表

2024年阿里云服务器地域分布表,地域指数据中心所在的地理区域,通常按照数据中心所在的城市划分,例如华北2(北京)地域表示数据中心所在的城市是北京。阿里云地域分为四部分即中国、亚太其他国家、欧洲与美洲和中东&…

网工内推 | 保险业网工,有绩效奖金,CISP认证优先,最高16K

01 华贵人寿保险股份有限公司 招聘岗位:系统管理岗(主机管理方向) 职责描述: 1.负责数据中心私有云平台的规划建设以及后期的运行维护; 2.负责公司操作系统的规划、部署与日常维护; 3.负责操作系统运维相关…

Linux GDB 调试

文章目录 一、Qemu二、Gdbvscode 调试 三、RootFs 一、Qemu qemu 虚拟机 Linux内核学习 Linux 内核调试 一:概述 Linux 内核调试 二:ubuntu20.04安装qemu Linux 内核调试 三:《QEMU ARM guest support》翻译 Linux 内核调试 四:…

【Java并发】深入浅出 synchronized关键词原理-下

上一篇文章,简要介绍了syn的基本用法和monter对象的结构,本篇主要深入理解,偏向锁、轻量级锁、重量级锁的本质。 对象内存布局 Hotspot虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头(Header)、实例数据 (Instance Da…

MySQL数据库期末知识点总结(复习版)

一、数据库基本知识 数据库中的数据有什么特点 1、数据是按某种结构组织的 2、数据有整体性、共享性和较高的独立性 数据管理技术经历了哪三个阶段 1、手工管理 2、文件管理 3、数据库管理 数据库管理系统的主要功能有哪些 数据库管理系统的主要功能包括数据定义、数据…

判断完全数-第11届蓝桥杯省赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第27讲。 判断完全数&#…

java大数据hadoop2.92安装伪分布式文件系统

Apache Hadoop 3.3.6 – Hadoop: Setting up a Single Node Cluster. 1、解压缩到某个路径 /usr/local/hadoop 2、修改配置文件 /usr/local/hadoop/etc/hadoop/hadoop-env.sh export JAVA_HOME/usr/local/javajdk 3、修改配置文件 /usr/local/hadoop/etc/hadoop/core-sit…

[蓝桥杯学习] 树链剖分

定义 将树分割成若干条链,以维护树上的信息,若无特殊需求,一般是重链剖分。 重链剖分 如何重链剖分 两个dfs 第一个dfs是预处理各个结点的基本信息,第二个dfs是利用信息进行剖分(dfs序) 操作步骤 第一…

接口功能测试策略

由于平台服务器是通过接口来与客户端交互数据提供各种服务,因此服务器测试工作首先需要进行的是接口测试工作。测试人员需要通过服务器接口功能测试来确保接口功能实现正确,那么其他测试人员进行客户端与服务器结合的系统测试过程中,就能够排…

shell 获取主机IP 脚本中使用IP 打印出来IP

目录 查看ip查看网关只查看ens33过滤ip拿到网卡名字对内容进行切片获取第一网卡IP (head -1 表示第一个网卡)脚本中打印IP 查看ip ip a 查看网关 ip r只查看ens33 ip a show dev ens33过滤ip ip a | grep -oE [0-9]\.[0-9]\.[0-9]\.[0-9] 拿到网卡名…

应用在游戏机触摸屏中的触摸感应芯片

触屏游戏机的屏幕是由液晶屏和触控层组成的。触控层分为电容式触屏和电阻式触屏两种。电容式触屏是将悬空电极和屏幕玻璃上的电极组成静电场,当人体接近屏幕时,就会改变静电场分布,从而实现触摸的位置探测。而电阻式触屏则是利用玻璃上的两层电极之间通电形成一个电阻值,当手指…

Visual studio 2010的安装与使用

一、下载及安装 1、下载软件。 百度网盘: 链接:https://pan.baidu.com/s/115RibV7dOI_y8LUGW-94cA?pwd4hrs 提取码:4hrs 2、右键解压下载好的文件。 3、找到cn_visual_2010_……/Setup.hta,双击运行。 4、选择第三个“ Visual…

Oracle regexp_replace 手机号脱敏

select 18012345678,regexp_replace(18012345678,(.){4},****,4,1) from dual;

人工智能_机器学习092_使用三维瑞士卷数据_利用分层聚类算法进行瑞士卷数据三维聚类---人工智能工作笔记0132

然后我们使用分层聚类算法来对我们导入的瑞士卷数据进行聚类 agg =AgglomerativeClustering(n_clusters = 6,linkage = ward) 可以看到这里我们使用的,聚类距离计算用的是,ward这种,最小化簇内方差的形式,l进行聚类对吧 可以看到这个linkage参数有好几个选择对吧,是之前我们讲过…

记一次canal除坑记录

记一次canal除坑记录 错误信息 Caused by :com.alibaba.otter.canal.parse.exception.CanalParseException: column size is not match for table 问题处理 今天对Canal相关程序进行升级,原监听的表及业务都正常;遇到新增加的表时总是不走;…

【GUI界面软件】抖音评论采集:自动采集10000多条,含二级评论、展开评论!

文章目录 一、背景说明1.1 效果演示1.2 演示视频1.3 软件说明 二、代码讲解2.1 爬虫采集模块2.2 软件界面模块2.3 日志模块 三、获取源码及软件 一、背景说明 1.1 效果演示 您好!我是马哥python说,一名10年程序猿。 我用python开发了一个爬虫采集软件…

Cesium自定义电子围栏特效材质

1.new Cesium.Viewer中添加 requestWebgl1: true, 2. 编写材质,主要分三步 (1)定义MaterialProperty (2)设置材质 (3)添加材质 //定义材质对象及变量 function DynamicWallMaterialPropert…

物理与网络安全

物流环境安全 场地选择考虑抗震、承重、防火、防水、供电、空气调节、电磁防护、雷击及静电 场地因素: 自然灾害,社会因素(加油站、化工厂),配套条件(消防,交通,电力,…