赞
踩
request.js文件
- import Vue from 'vue'
- // 全局配置
- import settings from './settings.js'
- function computedBaseUrl(url) {
- // console.log(url);
- return (url.indexOf('http') === -1 ? settings.baseUrl : '') + url
- }
-
- // 发送请求
- export default (options) => {
- const {
- url = '',
- method = 'GET',
- data = {},
- header = {}
- } = options
- return new Promise((resolve, reject) => {
- try {
- if (options.headers.isToken == true) {
- uni.request({
- url: computedBaseUrl(url),
- method,
- data,
- header: {
- // "Content-Type": "multipart/form-data",
- // "Token": uni.getStorageSync('token'),
- "Authorization": uni.getStorageSync('token'),
- // "Authorization" : 'Bearer ' + JSON.parse(uni.getStorageSync('token')), // 让每个请求携带自定义token 请根据实际情况自行修改
- ...header
- },
-
- success(e) {
- // console.log(e.data,'success');
- if (e.data.code == 401) {
- uni.reLaunch({url: '/pages/login/login',});
- }
- resolve(e.data)
- },
- fail(e) {
- // console.log(e,'fail');
- if (e && e.data && e.data.code == 401) {
- uni.reLaunch({url: '/pages/login/login',});
- }
- reject({...e,msg:e.errMsg||e.msg||'未知错误'})
- }
- })
- }else{
- uni.request({
- url: computedBaseUrl(url),
- method,
- data,
- header: {
- // "Content-Type": "multipart/form-data",
- // "Token": uni.getStorageSync('token'),
- // "Authorization": uni.getStorageSync('token'),
- // "Authorization" : 'Bearer ' + JSON.parse(uni.getStorageSync('token')), // 让每个请求携带自定义token 请根据实际情况自行修改
- ...header
- },
- success(e) {
- if (e.data.code == 401) {
- uni.reLaunch({url: '/pages/login/index',});
- }
- resolve(e.data)
- },
- fail(e) {
- if (e.data.code == 401) {
- uni.reLaunch({url: '/pages/login/index',});
- }
- reject({...e,msg:e.errMsg||e.msg||'未知错误'})
- }
- })
- }
-
- } catch (err) {
- reject({...err,msg:err.errMsg||err.msg||'未知错误'})
- }
- }).then(data => data)
- .catch(err => [err, null])
- }

settings.js文件
- export default {
- baseUrl:'http://127.0.0.1',
- uploadUrl:''
- }
setting中设置地址,方便进行统一管理,
settinngs.js和request.js文件是同级,放在一个文件夹中即可
创建一个api文件夹
- import request from "@/utils/request.js"
-
- // 接口模板
- export function getLogin(data = {}) {
- return request({
- url: '/api/wx/wxLogin',
- method: 'post',
- data,
- headers: {
- isToken: false
- },
- })
- }
上面的headers中的isToken,方便对接口进行管理,因为微信小程序强制登录是不能通过审核的,所以有时候要后端放开接口,不需要token,也可哟访问,提高审核的通过率,这边就很方便管理!
欢迎指教
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。