当前位置: 首页 > 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;深入探究代码背后…...

从D(HE)ater到实战加固:剖析SSH密钥交换DoS漏洞的攻防演进与缓解策略

1. 当SSH握手变成CPU绞肉机&#xff1a;D(HE)ater攻击原理拆解 那天凌晨三点&#xff0c;运维老张被刺耳的告警声惊醒。监控大屏上&#xff0c;十几台服务器的CPU曲线全部飙到100%&#xff0c;而罪魁祸首竟然是看似无害的SSH服务。这就是典型的D(HE)ater攻击现场——攻击者用特…...

VINS-Fusion 实战指南:从环境搭建到多传感器融合部署

1. VINS-Fusion入门&#xff1a;为什么选择这个多传感器融合方案 第一次接触VINS-Fusion是在做一个无人机定位项目时&#xff0c;当时试过各种开源SLAM方案&#xff0c;最后发现这个来自香港科技大学团队的工具在传感器融合方面确实有两把刷子。简单来说&#xff0c;它就像个聪…...

MCP 协议:让 AI 连接一切

一、从"孤岛"到"万物互联" 想象一下这个场景&#xff1a; 你的 AI 助手能帮你写代码&#xff0c;但你每次都要手动复制粘贴到终端运行。它能查天气&#xff0c;但你得打开浏览器输入网址。它能读文件&#xff0c;但你的私人笔记散落在不同文件夹&#xf…...

Ubuntu24.04上快速部署Odoo18开发环境的完整指南

1. 为什么选择Ubuntu24.04作为Odoo18开发环境 作为一个在ERP领域摸爬滚打多年的开发者&#xff0c;我强烈推荐使用Ubuntu24.04作为Odoo18的开发平台。这不仅仅是因为官方文档的建议&#xff0c;更是来自实际项目中的血泪教训。记得去年接手一个企业ERP项目时&#xff0c;客户坚…...

零基础掌握视频生成插件:从安装到高级应用全指南

零基础掌握视频生成插件&#xff1a;从安装到高级应用全指南 【免费下载链接】sd-webui-mov2mov This is the Mov2mov plugin for Automatic1111/stable-diffusion-webui. 项目地址: https://gitcode.com/gh_mirrors/sd/sd-webui-mov2mov 在数字内容创作领域&#xff0c…...

Ubuntu 22.04轻量级桌面环境配置指南:从XFCE到中文输入法一站式解决方案

1. 为什么选择轻量级桌面环境&#xff1f; 很多朋友刚接触Ubuntu时&#xff0c;都会被默认的GNOME桌面惊艳到。但用久了就会发现&#xff0c;这个华丽的界面其实是个"资源大户"。我的老笔记本跑GNOME时&#xff0c;风扇经常呼呼转&#xff0c;开个浏览器都能感觉到卡…...

YOLOv12与数据库集成:使用MySQL存储检测结果与元数据

YOLOv12与数据库集成&#xff1a;使用MySQL存储检测结果与元数据 1. 引言 想象一下这个场景&#xff1a;你部署了一个YOLOv12模型&#xff0c;用来实时监控仓库的货物进出。摄像头24小时不间断工作&#xff0c;模型每秒都能识别出几十个包裹、叉车和人员。识别结果很准&#…...

HFSS新手避坑指南:从零搭建Dipole天线,手把手搞定S11与3D方向图

HFSS新手避坑指南&#xff1a;从零搭建Dipole天线&#xff0c;手把手搞定S11与3D方向图 第一次打开HFSS时&#xff0c;满屏的英文菜单和复杂的参数设置界面&#xff0c;很容易让人望而生畏。特别是当导师或老板扔给你一个简单的Dipole天线仿真任务&#xff0c;要求你"尽快…...

打造直播APP礼物列表丝滑体验:SmartRefreshLayout实战指南

打造直播APP礼物列表丝滑体验&#xff1a;SmartRefreshLayout实战指南 【免费下载链接】SmartRefreshLayout &#x1f525;下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll&#xff0c;Android智能下拉刷新框架&#xff0c;支持越界回弹、越界拖动&#xf…...

Ubuntu20.04+ROS Noetic下Quad_sdk四足机器人环境搭建全攻略(附常见错误排查)

Ubuntu 20.04与ROS Noetic环境下Quad-SDK四足机器人开发环境搭建实战指南 四足机器人技术正在从实验室走向更广阔的应用场景&#xff0c;而Quad-SDK作为一款开源的机器人控制框架&#xff0c;凭借其优秀的运动控制算法和地形适应能力&#xff0c;成为许多开发者的首选。本文将带…...