1.环境配置 (可参考uni-官网的环境配置)

common文件夹下新建config.js

let url_config = ""

if(process.env.NODE_ENV === 'development'){//开发环境

url_config = 'https://*****.com/'}else{//生产环境

url_config = 'https://*****.com/'}

exportdefault url_config

2.uni.request封装

common文件夹下新建request.js

import urlConfig from './config.js'

const request ={}const headers ={}const PORT1 = '/baseinfo'request.globalRequest= (url, method, data, power) =>{/*权限判断 因为有的接口请求头可能需要添加的参数不一样,所以这里做了区分

1 == 不通过access_token校验的接口

2 == 文件下载接口列表

3 == 验证码登录*/

switch(power){case 1:

headers['Authorization'] = 'Basic a3N1ZGk6a3N1ZGk='

break;case 2:

headers['Authorization'] = 'Basic a3N1ZGlfcGM6a3N1ZGlfcGM='

break;case 3:

responseType= 'blob'

break;default:

headers['Authorization'] =`Bearer ${this.$store.getters.userInfo

}`

headers['TENANT-ID'] = this.$store.getters.userInfo.tenant_idbreak;

}returnuni.request({

url: urlConfig+url,

method,

data: data,

dataType:'json',

header: headers

}).then(res=>{if (res[1].data.status && res[1].data.code == 200) {return res[1]

}else{throw res[1].data

}

}).catch(parmas => {

switch (parmas.code) {

case 401:

uni.clearStorageSync()

break

default:

uni.showToast({

title: parmas.message,

icon: 'none'

})

return Promise.reject()

break

}

})

}

exportdefault request

3.接口配置

项目根目录下新建api文件,api下新建index.js

import request from '@/common/request.js'import { formatGetUri }from '@/common/util.js'

const api ={}const PORT1 = 'baseinfo'

//POST请求方式

api.register = params => request.globalRequest(`${PORT1}/mobile/signUp`, 'POST//必须大写,为了兼容其他应用', params, 1)

// GET请求方式api.register = params => request.globalRequest(`${PORT1}/mobile/signUp${formatGetUri(params)}`, 'GET //必须大写,为了兼容其他应用',{}, 1)

exportdefault api

4. 新建common/util.js

/**

* 拼接对象为请求字符串

* 对于需要编码的文本(比如说中文)我们要进行编码

* @param {Object} obj - 待拼接的对象

* @returns {string} - 拼接成的请求字符串

**/

export function formatGetUri(obj) {

const params = []

Object.keys(obj).forEach((key) => {

let value = obj[key]

if (typeof value !== 'undefined' || value !== null) {

params.push([key, encodeURIComponent(value)].join('='))

}

})

return '?' + params.join('&')

}

5.全局配置

在main.js中新增

import Vue from 'vue'import Appfrom './App'import storefrom './store' // 与vue项目中配置相同,可自行配置import requestfrom './common/request.js'import apifrom './api/index.js'import urlfrom './common/config.js'Vue.config.productionTip= falseVue.prototype.$request=request

Vue.prototype.$api=api

Vue.prototype.$url=url

App.mpType= 'app'

const app = newVue({

...App,

store

})

app.$mount()

5.接口调用

this.$api.register({mobile: this.mobile}).then(res =>{//获得数据

console.log(res)

}).catch(res => {

// 失败进行的操作})

6.推荐

在uni-app扩展组件中找到了一个封装的案例,大家如果觉得可以的话,可试用

get request uni 参数_uni-app 环境配置,uni.request封装,接口配置,全局配置,接口调用的封装...相关推荐

  1. 微信小程序基础学习(2)- 模板与配置:WXML 模板语法、WXSS 模板样式、全局配置、页面配置、网络数据请求

    1. WXML 模板语法 1.1 数据绑定 (1) 数据绑定的基本原则 ① 在 data 中定义数据 ② 在 WXML 中使用数据 (2)在 data 中定义页面的数据 在页面对应的 .js 文件中, ...

  2. 小程序 | 小程序中常用的事件 + 事件对象的属性列表 +小程序事件传参 + 小程序全局配置 + 小程序页面配置 + 小程序发起网络数据请求

    文章目录 一.WXML 模板语法 数据绑定 事件绑定 ⭐小程序中常用的事件 ⭐事件对象的属性列表 target 和 currentTarget 的区别 bindtap 的语法格式 在事件处理函数中为 ...

  3. 小程序的基本语法和全局配置

    WXML 文章目录 WXML **什么是 WXML** **WXML 和 HTML 的区别** **WXSS 样式** **什么是 WXSS** WXSS 和 CSS 的区别 JS 逻辑交互 小程序中 ...

  4. Vite+Vue3+ElementUI-Plus中全局配置中文

    项目环境 Vite Vue3 ElementUI-Plus 按需引用 具体搭建过程可参考我的这篇博客:使用Vite搭建Vue3+ElementUI-Plus项目过程. 设置ElmentUI-Plus中 ...

  5. git全局配置用户名和密码_Git配置全局账号密码避免每次拉取、提交输入账号密码...

    前言 在大家使用github的过程中,一定会碰到这样一种情况,就是每次要push 和pull时总是要输入github的账号和密码,这样不仅浪费了大量的时间且降低了工作效率.在此背景下,本文在网上找了两 ...

  6. 命令行界面命令模式及相互切换、交换机命令行操作模式及模式间的切换过程、命令行界面基本功能、命令的快捷键功能、交换机基本配置命令、交换机特权模式下基本命令、交换机全局配置模式下基本命令、

    1.命令行界面命令模式及相互切换   锐捷交换机命令行管理界面分成若干不同的模式,用户当前所处的命令模式决定了可以使用的命令,不可跨模式执行命令.以下给出三种基本模式.   用户模式(User EXE ...

  7. get request uni 参数_Python+request+unittest实现接口测试框架集成实例

    1.为什么要写代码实现接口自动化 大家知道很多接口测试工具可以实现对接口的测试,如postman.jmeter.fiddler等等,而且使用方便,那么为什么还要写代码实现接口自动化呢?工具虽然方便,但 ...

  8. get request uni 参数_接口测试实战| GET/POST 请求区别详解

    在日常的工作当中,HTTP 请求中使用最多的就是 GET 和 POST 这两种请求方式.深度掌握这两种请求方式的原理以及异同之处,也是之后做接口测试一个重要基础. GET.POST 的区别总结 请求行 ...

  9. 微信小程序全局配置参数详解app.json

    全局配置 cc文件内容为一个 JSON 对象,有以下属性: 配置项 entryPagePath 指定小程序的默认启动路径(首页),常见情景是从微信聊天列表页下拉启动.小程序列表启动等.如果不填,将默认 ...

最新文章

  1. Google发布“多巴胺”开源强化学习框架,三大特性全满足
  2. PHP原生处理select结果集的函数介绍
  3. centos8网络配置开启wifi_CentOS 7.5 最小安装开启 WIFI 连接的设置方法
  4. 为什么以太网的最小数据帧长度为64字节?
  5. mysql master master_MySQL主从架构之Master-Master互为主备
  6. honeywell新风系统控制面板说明_如何对新风系统维护保养?有哪些方法?
  7. kali mysql停止服务器_第 2 篇 MySQL 安装
  8. php简述一下并集交集差集,总结了一下js中的差集、交集、并集
  9. php 获取当天到23 59,js 获取当天23点59分59秒 时间戳 (最简单的方法)
  10. iphone android传照片大小,iPhone竟然可以传文件到安卓机?99%的人都不知道
  11. proteus 直流可调稳压电源
  12. ## 鲁棒控制 第一节 概论
  13. Machine Learning 资讯 : 经济学家谈人工智能
  14. 老板面试怎么谈?千万不要走近误区。
  15. 点餐APP 冲刺二总结
  16. 计算机应用基础 制作表格说课稿,使用Word制作表格说课稿.doc
  17. apple关闭双重验证_Apple安全浏览说明-Apple为什么将您的数据发送给Google和腾讯,以及如何将其关闭
  18. JAVA编写PTA(10分)
  19. 前端工程师面试问题归纳(一、问答类html/css/js基础)
  20. asp毕业设计——基于vb+VB.NET+SQL Server的图书馆管理信息系统设计与实现(毕业论文+程序源码)——图书馆管理信息系统

热门文章

  1. [转]自适应网页设计(Responsive Web Design)
  2. ASP.NET跨页面传值(二)
  3. MongoDB中如何优雅地删除大量数据
  4. gorm物理删除:unscoped用法
  5. k8s pvc扩容:pvc创建后扩容
  6. docker history 27f1068ca9da --no-trunc查看镜像dockerfile内容
  7. Go gin静态文件的使用、自定义模板渲染器
  8. maven多profile环境打包下-P参数和-D参数
  9. Scala模式匹配:对元组进行匹配
  10. Python爬虫开发:opener的使用案例