uniapp项目问题及解决(前后端互联)

1.路由跳转的问题

uni.navigateTo() 保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面

uni.redirectTo()

关闭当前页面,跳转到应用内的某个页面。

uni.reLaunch()

关闭所有页面,打开到应用内的某个页面

uni.switchTab()

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。

uni.navigateBack()

关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。

2.tabBar的使用

tabBar": {"color": "#333333","selectedColor": "#1890FF","backgroundColor": "#ffffff","list": [{"pagePath": "pages/index/index", //页面路径"text": "首页", //按钮文字"iconPath": "static/首页01.png", //图片路径"selectedIconPath": "static/首页001.png" //选中的图片路径},{"pagePath": "pages/addwork/addwork","text": "添加","iconPath": "static/添加01.png","selectedIconPath": "static/添加001.png"},{"pagePath": "pages/user/user","text": "我的","iconPath": "static/我的01.png","selectedIconPath": "static/我的001.png"}]}

3.u-view组件的引入

刚开始时下载的2.0版本的u-view,看的1.8的文档,一直引入不对,只能通过important引入,在注册,之后才能使用,中间还发现有些组件不能用,后面发现了问题,换成2.0版本的文档,立马就能引入了,还是直接引入,不需要通过important引入,也不需要注册了,直接写标签就可以了

4.u-view组件的使用

使用过程中,有些属性方法,文档上没有,这个时候需要看他的github,直接看他的源码,就行了

5.组件的样式修改

1.在全局文件里面修改,这样会直接覆盖组件的样式

2.Vue 中,

::v-deep 用于深度作用选择器,可以让样式穿透到子组件中。

:global 则用于全局作用选择器,可以使样式不受组件的限制。

6.命名规范

一定要在刚开始的时候商量好,要不多人合作容易出现不同的风格

7.rpx和view的使用

都是为了自适应屏幕

8.前后端对接

一定要商量要不然会有进度差异,命名格式,字段名称啥的都说好,方便彼此,要不然后面修改不好修改

9需求文档

越早编写越好。这样对项目有一个明了的认识

10,axios的配置

import axios from 'axios';// create an axios instance
const http = axios.create({baseURL: '', // url = base url + request url// withCredentials: true, // send cookies when cross-domain requests 注意:withCredentials和后端配置的cross跨域不可同时使用timeout: 4000, // request timeoutcrossDomain: true,
});// request拦截器,在请求之前做一些处理
http.interceptors.request.use((config) => {// if (store.state.token) {//     // 给请求头添加user-token//     config.headers["user-token"] = store.state.token;// }console.log(config.data);console.log('请求拦截成功');config.data = JSON.stringify(config.data);return config;},// const token = uni.getStorageSync("linkToken");//     config.headers['Content-Type'] = 'application/json';//     if (token) {//         config.headers.Authorization = `Bearer ${token}`;//     }//     return config;// },(error) => {console.log(error); // for debugconsole.log('sssssssssssssss');return Promise.reject(error);}
);// 配置成功后的拦截器
http.interceptors.response.use((res) => {console.log(res);if (res.status === 200) {return res.data;} else {return Promise.reject(res.data.msg);}
}, (error) => {console.log(error);if (error.request.status) {switch (error.response.status) {case 401:break;default:break;}}return Promise.reject(error);
});// 在main.js中放入这段自定义适配器的代码,就可以实现uniapp的app和小程序开发中能使用axios进行跨域网络请求,并支持携带cookie
axios.defaults.adapter = function (config) {return new Promise((resolve, reject) => {console.log(config);const settle = require('axios/lib/core/settle');const buildURL = require('axios/lib/helpers/buildURL');uni.request({method: config.method.toUpperCase(),url: config.baseURL + buildURL(config.url, config.params, config.paramsSerializer),header: config.headers,data: config.data,dataType: config.dataType,responseType: config.responseType,sslVerify: config.sslVerify,complete: function complete(response) {console.log('执行完成:', response);response = {data: response.data,status: response.statusCode,errMsg: response.errMsg,header: response.header,config,};settle(resolve, reject, response);},});});
};export default http;

11.axios配置过程中的问题

包的丢失,因为创建文件夹的时候是先创了一个文件夹,又创了项目,所以导致项目的的名称和文件的名称一摸一样,有的包配置的时候不知道怎么回事跑到了项目外面,导致的一直配置不出来,后面来回来就行了

12.样式不用写的那么急,先把模块设计好,后面的时候,再调就好了,写样式的时候可以参照网上的项目,要不自己凭感觉写的,不太好看

13.后端接口,先测试

这次写的时候,调用总宁的接口,能调用上去,但是这边一直一直传数据传不过去,最后问了学长,是自己配代理服务器的时候用的两个的端口都用的同一个,导致出的问题,

和后端连接我这边出了不少问题,一直有问题,一直改,还是太菜了

14.表单的检验

写表单的时候光注意样式了,复制的人家的源码,觉得上面的东西太多了,我就都删了,最后效果也能实现,但是没有检验了,后面能调用接口了,发现越来越别扭,因为没有校验,所以写啥都能过,果然不能省事,所以后面我还得再补,有点难受了,后面还得写reuls,还由页面结构也得在补包裹的对象

15.token的传递

在axios的配置里面可以直接传递

16.全局设置请求

target里面的http需要写不写的话,会报500错误

17,页面传参

通过url传参

url: /pages/workdetail/workdetail?id=${this.id}

18页面传参的时候出现问题

注意看apifoxs可能是后端的问题,也可能是前端的问题

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

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

相关文章

揭开Spring Bean生命周期的神秘面纱

目录 一、Spring IOC 1.1 Spring IOC 的加载过程 二、Spring Bean 生命周期 2.1 实例化前置 2.2 实例化后置 2.3 属性赋值 2.4 初始化前置 2.5 初始化 2.6 初始化后置 2.7 Bean 销毁 Spring 是一个开源的企业级Java应用程序框架,它简化了企业级应用程序开…

开源数据湖iceberg, hudi ,delta lake, paimon对比分析

Iceberg, Hudi, Delta Lake和Paimon都是用于大数据湖(Data Lake)或数据仓库(Data Warehouse)中数据管理和处理的工具或框架,但它们在设计、功能和适用场景上有所不同。 Iceberg: Iceberg是用于大型分析表的高性能格式。Iceberg将SQL表的可靠性和简易性带入到大数据领域,同…

【java的本地锁到分布式锁介绍】

文章目录 1.java本地自带锁介绍及应用synchronized(1)synchronized原理和优化(2)synchronized作用(3)synchronized的使用 CAS(1) CAS原理(2)CAS和synchronized优缺点 lock 2.分布式锁…

idea常用配置

IDEA设置全局配置 参考:IDEA设置全局配置_idea如何打开一个项目,全局设置-CSDN博客 idea提交代码到git或svn上时,怎么忽略.class、.iml文件和文件夹等不必要的文件 参考:idea提交代码到git或svn上时,怎么忽略.class、.iml文件和文…

LeetCode-74. 搜索二维矩阵【数组 二分查找 矩阵】

LeetCode-74. 搜索二维矩阵【数组 二分查找 矩阵】 题目描述:解题思路一:先二分查找行,再二分查找列。解题思路二:暴力遍历,也能过。解题思路三:用python的in。 题目描述: 给你一个满足下述两条…

VSCODE目录树缩进调整

VSCode默认的缩进太小了,简直看不出来,很容易弄混目录。在设置里修改就行了。 修改后效果:

何为网络协议?一图知晓网络过程。

网络协议就是计算机之间沟通的语言 为了有效地交流,计算机之间需要一种共同的规则或协议, 就像我们和老外沟通之前,要先商量好用哪种语言, 要么大家都说中文,要么大家都说英语,这才能有效地沟通。 网络协…

OSPF中配置静态路由负载分担实验简述

OSPF中配置静态路由负载分担 实验简述 在静态路由负载分担中,多个路由器被配置为共享负载的目标,以实现流量的均衡分配。 到达目的地有N条相同度量值的路径,默认值60,N条路由是等价路由,数据报文在N条链路上轮流发送。…

探索基于WebRTC的有感录屏技术开发流程

title: 探索基于WebRTC的有感录屏技术开发流程 date: 2024/4/7 18:21:56 updated: 2024/4/7 18:21:56 tags: WebRTC录屏技术屏幕捕获有感录屏MediaStream实时传输音频录制 第一章:技术原理 WebRTC(Web Real-Time Communication)是一种开放源…

SQL Sever 2008 安装教程

先从官网下载程序:下载地址 打开上述链接后,点击下载按钮。 就会跳出下面这个界面,如果你的电脑是64位的请选择下图中这两个程序。 下载完成后,在电脑磁盘中找到这两个文件,注意安装的顺序,先安装 SQLEXPR…

Linux:软硬链接及动静态库

一、Linux中的链接文件 1.1硬链接及应用场景 ln//创建硬链接 我们再创建一个硬链接生成的文件。 我们可以看到mlink.hard的inode和makefile.c的inode都是一样的,inode一样里面的数据自然也是一样。相当于对make.file进行了一个重命名,所以硬链接一定没…

2023年蓝桥杯省赛——买二赠一

目录 题目链接:1.买二赠一 - 蓝桥云课 (lanqiao.cn) 题目描述 输入格式 输出格式 样例输入 样例输出 样例说明 思路 队列贪心 代码实现 总结 题目链接:1.买二赠一 - 蓝桥云课 (lanqiao.cn) 题目描述 某商场有 N 件商品,其中第 i 件…

漫谈:“标准”是一种幻觉 C++语言标准的意义

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 “标准”这个词很迷惑&#xf…

铸铁平台的单围和双围是什么——北重机械

铸铁平台的单围和双围是指平台的围栏结构。单围指平台只有一面围栏,通常用于平台的三个边界上,另一边是与建筑物相连的。双围指平台两侧围栏都有,即平台四个边界都有围栏。双围结构比单围结构更加安全,可以防止人员和物品从平台四…

CleanmyMac 苹果电脑清理软件,为你的 Mac 提速!

Apple Macbook 已成为当今职场不可或缺的高效助手,尤其在普遍的远程办公场景下,其运行流畅度对工作效率及用户体验至关重要。虽然长期使用会使Mac电脑性能自然衰退,但大部分导致系统变慢的因素其实可经由用户自行调整得到显著改善&#xff0c…

linux 设置命令输入行高亮(与软件无关:xshell等)

在命令执行后输出内容比较多的情况下,很难查看自己的历史命令 这个配置是系统的配置:取消.bashrc文件中force_color_prompt=yes的注释即可 (和连接服务器的软件无关) 具体的操作如下: 执行以下命令,查看配置所在的行数root@hecs-166280:~# cat .bashrc -n | grep force_…

Java Lambda 表达式(详细)

Java Lambda 表达式 Lambda 的发展史 Java Lambda 表达式是在 Java 8 版本中引入的重要特性,它描述了一种更简洁、更灵活的方式来处理函数式编程。 在 Java 8 之前,要实现函数式编程,需要通过匿名类实现接口的方式。这样的代码通常比较冗长…

深入MyBatis的动态SQL:概念、特性与实例解析

MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。它可以使用简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO,即普通的 Java 对象为数据库中的记…

MacOS Docker 部署 Redis 数据库

一、简介 Redis是一个开源的、使用C语言编写的、基于内存亦可持久化的Key-Value数据库,它提供了多种语言的API,并支持网络交互。Redis的数据存储在内存中,因此其读写速度非常快,每秒可以处理超过10万次读写操作,是已知…

milvus search api的数据结构

search api的数据结构 此api的功能是向量相似度搜索(vector similarity search) 一个完整的search例子: 服务端collection是一个hnsw类型的索引。 import random from pymilvus import (connections,Collection, )dim 128if __name__ __main__:connections.connect(alias…