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

        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.hqwc.cn/news/323505.html

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

相关文章

美洽获评2023年度“最佳数字化服务商”,产品优势赋能企业智能转型

日前,由知名学习交流平台人人都是产品经理举办的“2023年度评选”活动圆满落幕,美洽凭借在企业服务领域的技术实力与优秀实践成果脱颖而出,入围年度产品评选榜单,获评2023年度“最佳数字化服务商”。 人人都是产品经理成立于2010年…

什么是负载均衡?什么情况下又会用到负载均衡

什么是负载均衡 在大型的网络应用中,使用多台服务器提供同一个服务是常有的事。平均分配每台服务器上的压力、将压力分散的方法就叫做负载均衡。 [利用 DNS来实现服务器流量的负载均衡,原理是“给网站访问者随机分配不同ip”] 什么情况下会用到负载均…

js逆向第9例:猿人学第2题-js混淆-动态cookie1

题目2:提取全部5页发布日热度的值,计算所有值的加和,并提交答案 (感谢蔡老板为本题提供混淆方案) 既然题目已经给出了cookie问题,那就从cookie入手,控制台找到数据请求地址 可以看到如下加密字符串m类似md5,后面跟着时间戳 m=45cc41dcdb15159ebb50564635f8e362|1704301…

使用PowerJob做任务调度模块

最近项目中使用了PowerJob做任务调度模块,感觉这个框架真香,今天我们就来深入了解一下新一代的定时任务框架——PowerJob! 简介 PowerJob是基于java开发的企业级的分布式任务调度平台,与xxl-job一样,基于web页面实现…

PLC三相电动机Y-▲启动控制程序示例

一、三相电动机星三角启动接法。 二、因为电动机在启动的时候启动电流非常的大,所以在启动时采用星型接法,也就是Y型接法,也就是图上的KM1和KM2接通,目的为了减小启动电流,采用Y型接法的启动电流是原来电流的1/3 三、启…

WPS/PPT插件-大珩助手免费功能更新-特殊字符

扩展特殊格式下特殊字符,增加200多个常用特殊字符,可直接点击插入。 PPT大珩助手 1.7.6 1、提供素材库功能,可实现一键保存素材,支持对选中的形状,支持一键替换素材,保留原素材的尺寸和位置,…

Linux第17步_安装SSH服务

secure shell protocol简称SSH。 目的:在进行数据传输之前,SSH先对联级数据包通过加密技术进行加密处理,然后再进行数据传输,确保数据传输安全。 1、在安装前,要检查虚拟机可以上网,否则可能会导致安装失…

开源分布式任务调度系统DolphinScheduler本地部署与远程访问

文章目录 前言1. 安装部署DolphinScheduler1.1 启动服务 2. 登录DolphinScheduler界面3. 安装内网穿透工具4. 配置Dolphin Scheduler公网地址5. 固定DolphinScheduler公网地址 前言 本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问,结合内…

PPT插件-大珩助手-文字整理功能介绍

删空白行 删除文本中的所有空白行 清理编号 删除文本中的段落编号 清理格式 删除文本中的换行、空格符号 清理艺术 删除文本的艺术字效果 清理边距 删除文本框与文字之间的间隙 软件介绍 PPT大珩助手是一款全新设计的Office PPT插件,它是一款功能强大且实…

FastApi-快速入门 加入逻辑 二张图片的比对 2

加入图片相似度功能 getpic进行网络图片保存在本地 # -*- coding: utf-8 -*- import os import uuid from PIL import Image import requests from io import BytesIO# 对图片进行统一化处理 def get_thum(image, size(64, 64), greyscaleFalse):if image is None:raise Valu…

《操作系统导论》笔记

操作系统三个关键:虚拟化( virtualization) 并发(concurrency) 持久性(persistence) 1 CPU虚拟化 1.1 进程 虚拟化CPU:许多任务共享物理CPU,让它们看起来像是同时运行。 时分共享:运行一个进程一段时间…

wsl(ubuntu)创建用户

我们打卡ubuntu窗口,如果没有创建用户,那么默认是root用户 用户的增删改查 查 查询所有的用户列表 cat /etc/passwd | cut -d: -f1cat /etc/passwd: 这个命令用于显示 /etc/passwd 文件的内容。/etc/passwd 文件包含了系统上所有用户的基本信息。每一…