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

发送请求时遇到了数据库完整性约束错误 1048 Column ‘platform‘ cannot be null

可以这样解决

在 Vue 2 中封装接口请求时,确保每次请求都包含 platform Header 参数的最佳实践是通过创建一个全局的 Axios 实例,并为这个实例设置默认的 Header。这样可以确保所有通过该实例发送的请求都会自动包含 platform 参数。此外,你还可以使用 Axios 的拦截器来动态地为每个请求添加 Header。

全局 Axios 实例配置

首先,创建一个全局的 Axios 实例,并设置默认的 Header:

 

javascript

深色版本

// src/utils/request.js
import axios from 'axios';const service = axios.create({baseURL: process.env.VUE_APP_BASE_API, // 替换为你的 API 地址timeout: 5000, // 请求超时时间headers: {'Content-Type': 'application/json','platform': 'H5' // 默认平台值}
});export default service;

使用 Axios 拦截器动态设置 platform

如果你需要根据不同的条件动态设置 platform 值(例如根据用户选择或应用状态),你可以使用 Axios 的请求拦截器:

 

javascript

深色版本

// 继续在 src/utils/request.js 文件中// 请求拦截器
service.interceptors.request.use(config => {// 动态确定 platform 值,例如从 Vuex store 或本地存储获取const platform = localStorage.getItem('platform') || 'H5'; // 根据实际情况设置// 设置 platform Headerconfig.headers['platform'] = platform;return config;},error => {// 请求错误处理return Promise.reject(error);}
);export default service;

封装具体的 API 方法

接下来,你可以基于这个全局的 Axios 实例封装具体的 API 方法。这里以获取短信验证码为例:

// src/api/auth.js
import request from '@/utils/request';export function getMsgCode(captchaCode, captchaKey, mobile) {return request({url: '/captcha/sendSmsCaptcha',method: 'post',data: {captchaCode,captchaKey,mobile}});
}

在组件中使用封装好的 API

最后,在你的 Vue 组件中调用封装好的 API 方法。由于我们在全局 Axios 实例中已经设置了 platform Header,因此不需要再单独为每个请求设置它。

// src/views/login/index.vue
<template><!-- 组件模板 -->
</template><script>
import { getMsgCode } from '@/api/auth';export default {name: 'LoginPage',data() {return {captchaCode: '',captchaKey: '',mobile: ''};},methods: {async handleGetMsgCode() {try {// 发送获取验证码请求await getMsgCode(this.captchaCode, this.captchaKey, this.mobile);this.$message.success('验证码已发送');} catch (error) {console.error("Error fetching SMS code:", error);this.$message.error('获取验证码失败,请稍后再试');}}}
};
</script>

总结

通过上述方法,你可以确保在 Vue 2 项目中,所有接口请求都会自动携带正确的 platform Header 参数。这不仅简化了代码,还提高了可维护性和一致性。

相关文章:

发送请求时遇到了数据库完整性约束错误 1048 Column ‘platform‘ cannot be null

可以这样解决 在 Vue 2 中封装接口请求时&#xff0c;确保每次请求都包含 platform Header 参数的最佳实践是通过创建一个全局的 Axios 实例&#xff0c;并为这个实例设置默认的 Header。这样可以确保所有通过该实例发送的请求都会自动包含 platform 参数。此外&#xff0c;你…...

三菱FX3U模拟量产品的介绍

FX3u可编程控制器模拟量产品包括&#xff1a;特殊适配器、特殊功能模块的连接 1、连接在FX3U可编程控制器的左侧。 2、连接特殊适配器时&#xff0c;需要功能扩展板。 3、最多可以连接4台模拟量特殊适配器。 4、使用高速输入输出特殊适配器时&#xff0c;请将模拟量特殊适配器连…...

pdf转图片

目录 pdf2image库 PyMuPDF库 python-office库 pdfplumber库 pdf2image库 安装&#xff1a;pip install pdf2image 使用时会报错&#xff1a;pdf2image.exceptions.PDFInfoNotInstalledError: Unable to get page count. Is poppler installed and in PATH? 需要安装 po…...

Go 协程上下文切换的代价

在 Go 语言中&#xff0c;协程&#xff08;Goroutine&#xff09;是一种非常轻量级的并发执行单元&#xff0c;设计之初就是为了简化并发编程并提高性能。协程的上下文切换被认为是非常高效的&#xff0c;但是它的真正性能优势需要我们深入了解其背后的机制。 本文将深入探讨 …...

HTTP 持久连接(长连接)

HTTP 持久连接&#xff08;长连接&#xff09; HTTP 持久连接&#xff08;HTTP Persistent Connections&#xff09;&#xff0c;也常被称作 HTTP 长连接&#xff0c;是 HTTP 协议中的一种重要特性&#xff0c;以下是关于它的详细介绍&#xff1a; 一、基本概念 在传统的 HTT…...

12月10日IO

作业&#xff1a;使用read和write实现拷贝文件&#xff0c;将1.txt内容前一半拷贝给2.txt后一半拷贝给3.txt #include <myhead.h>int main(int argc, const char *argv[]) {//打开三个文件int fd1,fd2,fd3;fd1open("1.txt",O_RDONLY);fd2open("2.txt&quo…...

Composite Pattern

Composite Pattern The intent of Composite pattern is to composite objects into tree structures to represent a “part-whole” hierarchy .The Composite Pattern allow clients to treat individual objects and composite objects uniformly. UML Used in Qt Exam…...

Springboot MVC

1. Springboot为MVC提供的自动配置 Spring Boot 为 Spring MVC 提供了自动配置&#xff0c;这在大多数应用程序中都能很好地工作。除了已经实现了 Spring MVC 的默认功能外&#xff0c;自动配置还提供了以下特性&#xff1a; 包括 ContentNegotiatingViewResolver 和 BeanNam…...

MySQL数据表记录增操作

对数据库的操作用的最最频繁的呢,总结起来就四个字:增删改查! 查是属于DQL(Data QueryLanguage &#xff0c;数据查询语言)部分,而增、改、删属于DML&#xff08;Data Manipulation Language, 数据操纵语言&#xff09; 增&#xff1a;作用是往数据库的数据表里写入记录值 语…...

maven报错“找不到符号“

问题 springboot项目 maven编译打包过程&#xff0c;报错"找不到符号" 解决 很多网上方法都试过&#xff0c;都没用 换jdk&#xff0c;把17->21...

python进阶-05-利用Selenium来实现动态爬虫

python进阶-05-利用Selenium来实现动态爬虫 一.说明 这是python进阶部分05&#xff0c;我们上一篇文章学习了Scrapy来爬取网站&#xff0c;但是很多网站需要登录才能爬取有用的信息&#xff0c;或者网站的静态部分是一个空壳&#xff0c;内容是js动态加载的,或者人机验证&…...

P1226 【模板】快速幂

题目描述 给你三个整数 &#x1d44e;,&#x1d44f;,&#x1d45d;求 &#x1d44e;&#x1d44f; mod &#x1d45d; 输入格式 输入只有一行三个整数&#xff0c;分别代表 &#x1d44e;,&#x1d44f;,&#x1d45d; 输出格式 输出一行一个字符串 a^b mod ps&#xf…...

【C++】求第二大的数详细解析

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;题目描述&#x1f4af;输入描述&#x1f4af;解题思路分析1. 题目核心要求2. 代码实现与解析3. 核心逻辑逐步解析定义并初始化变量遍历并处理输入数据更新最大值与次大值输…...

从零开始学TiDB(3)TiKV 持久化机制

如图&#xff0c;每个TiKV有两个rocksdb实例&#xff0c;rocksdbKV复制存储键值对&#xff0c;rocksdb raft负责存储复制的日志 。 每个region及其副本构成了raft group。这个OB的Zone其实有点类似&#xff0c;在OB中每个Unit及其副本构成了paxos组&#xff0c;在TiDB中叫raft…...

Elasticsearch+Kibana+IK分词器+拼音分词器安装

目录 ES报错 Kibanaik分词器拼音分词器 安装都比较简单&#xff0c;可以参考这几篇博客 ES 如何在 Linux&#xff0c;MacOS 及 Windows 上进行安装 Elasticsearch 报错 ES启动报错error downloading geoip database [GeoLite2-ASN.mmdb] Kibana KIBANA的安装教程&#xff…...

子网划分实例

看到有人问这个问题&#xff1a; 想了一下&#xff0c;这是一个子网划分的问题&#xff1a; 处理方法如图&#xff1a; 这是一个子网划分的问题 设备1用三层交换机&#xff0c;端口设置为路由模式&#xff0c;设备2和设备3为傻瓜交换机模式 设备2和设备3下挂设备都是26为掩码&…...

上海亚商投顾:创业板指震荡调整 机器人概念股再度爆发

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日冲高回落&#xff0c;深成指、创业板指盘中跌超1%&#xff0c;尾盘跌幅有所收窄。机器人概念股逆势爆…...

【C++ 20进阶(2):初始化 Initializer

【C 20进阶&#xff08;2&#xff09;&#xff1a;初始化 Initializer】 原文&#xff1a;https://blog.csdn.net/weixin_44259356/article/details/144377955 引言 本篇文章为系列文章将着重介绍C20新特性&#xff0c;一是希望可以和大家交流分享&#xff0c;二是也便于自己…...

【重生之我在B站学MySQL】

MySQL笔记 文章目录 MySQL的三层结构SQL语句分类sql语句数据库操作创建数据库查看、删除数据库 表操作创建表mysql常用数据类型(列类型)查询表、插入值创建表练习创建一个员工表emp 修改表mysql约束primary key(主键)not null(非空)unique(唯一)foreign key(外键)check自增长 索…...

Python实现中国象棋

探索中国象棋 Python 代码实现&#xff1a;从规则逻辑到游戏呈现 中国象棋&#xff0c;这款源远流长的棋类游戏&#xff0c;承载着深厚的文化底蕴与策略智慧。如今&#xff0c;借助 Python 与 Pygame 库&#xff0c;我们能够在数字世界中复刻其魅力&#xff0c;深入探究代码背后…...

linux操作系统乱码:Malformed input or input contains unmappable characters:

目录 问题 解决问题 查看 手动生成 zh_CN.UTF-8 字符集 centos8 问题 java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /home/dualven/wvp-server/static/kmz/段雄文的航线.kmz 解决问题 查看 java -XshowSettings:pr…...

Xenia Canary架构解密:如何用即时编译技术复活Xbox 360游戏生态

Xenia Canary架构解密&#xff1a;如何用即时编译技术复活Xbox 360游戏生态 【免费下载链接】xenia-canary Xbox 360 Emulator Research Project 项目地址: https://gitcode.com/gh_mirrors/xe/xenia-canary 在游戏仿真技术领域&#xff0c;突破硬件壁垒实现跨平台游戏…...

Python篇---常考的数据类型

一、常见数据类型及其特点Python 的数据类型可以分两大类&#xff1a;不可变类型和可变类型。这个区分是很多考点的基础。1. 不可变类型&#xff08;值变了&#xff0c;对象就换了&#xff09;整数 int特点&#xff1a;精度无限&#xff0c;只有整数不分长短。适合大数运算。考…...

DRAM读干扰机制:RowHammer与RowPress的实验研究

1. DRAM读干扰问题概述DRAM&#xff08;动态随机存取存储器&#xff09;是现代计算系统中最主要的主存技术&#xff0c;其可靠性和安全性对整个系统的稳定运行至关重要。然而&#xff0c;DRAM存在一个被称为"读干扰"&#xff08;Read Disturbance&#xff09;的固有缺…...

别再只堆叠4层了!用DenseGCN构建超深图网络,点云分割mIoU提升实战

突破GCN深度瓶颈&#xff1a;DenseGCN在点云分割中的实战优化指南 传统图卷积网络&#xff08;GCN&#xff09;通常被限制在3-4层的浅层架构中&#xff0c;这种深度限制严重制约了其在点云分割等复杂任务中的表现。本文将揭示如何通过密集连接&#xff08;Dense Connections&am…...

风冷热泵中央空调系统安装:从冷热源到末端联动的完整解析

一、什么是风冷热泵中央空调系统安装&#xff1f;风冷热泵中央空调系统安装&#xff0c;是指在办公楼、商业综合体、酒店、学校、医院、厂房办公区、实验室、园区配套建筑以及各类中小型公共建筑中&#xff0c;根据建筑冷热负荷、使用时段、空间功能和节能要求&#xff0c;对风…...

AI建站工具选型指南:一张表看懂怎么选,哪个适合你

AI建站工具选型指南&#xff1a;一张表看懂怎么选&#xff0c;哪个适合你痛点与目标&#xff1a;为什么选个工具这么难市面上的建站工具都宣传自己能“AI生成”“一键建站”&#xff0c;但你点进去一看&#xff0c;有的要自己拖模板&#xff0c;有的要自己写文案&#xff0c;有…...

Play Integrity API Checker:5分钟快速掌握Android设备安全检测终极指南

Play Integrity API Checker&#xff1a;5分钟快速掌握Android设备安全检测终极指南 【免费下载链接】play-integrity-checker-app Get info about your Device Integrity through the Play Intergrity API 项目地址: https://gitcode.com/gh_mirrors/pl/play-integrity-chec…...

STM32F4用HAL库驱动MPU6050,从引脚重映射到数据读取的保姆级避坑指南

STM32F4 HAL库驱动MPU6050全流程实战&#xff1a;从引脚重映射到数据解析的深度避坑指南 第一次接触STM32F4和MPU6050的组合时&#xff0c;我花了整整三天时间才让传感器吐出第一个有效数据。不是I2C通信失败&#xff0c;就是数据全为零&#xff0c;最崩溃的是明明按照教程操作…...

Trigger.dev与Supabase集成:构建全栈实时任务系统的终极指南

Trigger.dev与Supabase集成&#xff1a;构建全栈实时任务系统的终极指南 【免费下载链接】trigger.dev Trigger.dev – build and deploy fully‑managed AI agents and workflows 项目地址: https://gitcode.com/gh_mirrors/tr/trigger.dev Trigger.dev是一个强大的工作…...