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

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可能是后端的问题,也可能是前端的问题

相关文章:

  • 深入了解iOS内存(WWDC 2018)笔记-内存诊断
  • 基于erp业务的责任链模式实战
  • 设计模式:责任链模式示例
  • 线上研讨会 | 新一代数字化技术赋能机器人及智能产线行业高质量发展
  • 2024 蓝桥打卡Day35
  • 算法训练营第35天|LeetCode 860.柠檬水找零 406.根据身高重建队列 452.用最少数量的箭引爆气球
  • Vue2 —— 学习(一)
  • JAVA POI Excel 使用数组公式 FREQUENCY
  • 2024.4.2力扣每日一题——所有可能的真二叉树
  • Word文档如何设置单选框、复选框、下拉框
  • python selenium向html中写入内容
  • Spring、SpringMVC、Springboot三者的区别和联系
  • 深入理解JVM后端优化技术-逃逸分析(Escape Analysis)
  • 【牛客SQL快速入门】SQL基础(一)
  • 蓝桥杯-网络安全比赛(5)基础学习-JavaScript原型链的prototype、constructor、object.create()、__proto__
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • Android 控件背景颜色处理
  • Debian下无root权限使用Python访问Oracle
  • Django 博客开发教程 8 - 博客文章详情页
  • ES6 学习笔记(一)let,const和解构赋值
  • gcc介绍及安装
  • Git初体验
  • JS基础之数据类型、对象、原型、原型链、继承
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • MySQL主从复制读写分离及奇怪的问题
  • nodejs:开发并发布一个nodejs包
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • python_bomb----数据类型总结
  • Python_OOP
  • 对象引论
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 如何使用 JavaScript 解析 URL
  • 实战|智能家居行业移动应用性能分析
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 我与Jetbrains的这些年
  • Java数据解析之JSON
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 整理一些计算机基础知识!
  • ​io --- 处理流的核心工具​
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • #单片机(TB6600驱动42步进电机)
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (BFS)hdoj2377-Bus Pass
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (第61天)多租户架构(CDB/PDB)
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)shell中括号的特殊用法 linux if多条件判断
  • .NET Framework 服务实现监控可观测性最佳实践