uniapp请求方法封装及调用携带请求头

request

import { $Toast, $ToastM } from './tip'
import { $getToken } from './index'

const baseUrl = 'http://101.132.242.90:9211'
// zhogndian
// const baseUrl = 'http://36.137.154.60:9801'


/**
 * 封装请求
 * @param { 请求地址 } url 
 * @param { 请求参数 } data 
 */
export function $request (url, data,method) {
	const header = {}
	// 如果是登录 判断token 添加请求头
	if (url !== '/rexel/getToken') {
		const Authorization = $getToken()
		// console.log(data, 'data')
		if (Authorization) {
			header.Authorization = Authorization
		} else {
			$ToastM('请先登录')
			uni.reLaunch({
				url: '/pages/login/login'
			})
		}
	}
	// 判断data 单一传参是formdata格式的 其他的是json格式
	// if (data) {
	// 	const keys = Object.keys(data)
	// 	// console.log(keys);
	// 	if (url != '/rexel/super/tenant/getTenantList' && keys.length === 1) {
	// 		const formData = new FormData()
	// 		formData.append(keys[0], data[keys[0]])
	// 		console.log(keys[0])
	// 		console.log(data[keys[0]])
	// 		console.log(formData)
	// 		data = formData
	// 		header['Content-Type'] = 'multipart/form-data'
	// 	}
	// }
	return new Promise((resolve, reject) => {
		uni.request({
			url: baseUrl + url,
			method: method || 'POST',
			data: data || {},
			header,
			success(result) {
				if (result.statusCode === 200) {
					resolve(result.data)
				} else {
					console.log(`${url}报错:${result}`)
					$Toast(result.errMsg)
					reject(result)
				}
			}
		})
	})
}

/**
 * 获取租户列表
 * @param { tenantName } 租户名称搜索 
 * @param { dealData } 是否处理成每个省的数据 
 */
export function $getTenantList (obj) {
	const { tenantName = '', dealData } = obj || {}
	return new Promise(resolve => {
		$request('/rexel/super/tenant/getTenantList', {
			tenantName,
		}).then(res => {
			if (res.code != 200) {
				$Toast(res.msg)
				uni.redirectTo({
					url: '../login/login'
				})
			} else {
				let result = res.result
				if (dealData) {
					const obj = {}
					res.result.tenantList.forEach(item => {
						if (!obj[item.location]) {
							obj[item.location] = [item]
						} else {
							obj[item.location].push(item)
						}
					})
					result = obj
				}
				resolve(result)
			}
		})
	})
}

使用

<template>
	<view class="wrap">
		<view class="content-box">
			<text class="title">用户与设备统计</text>
			<view class="">
				<view class="userbox">
					<img src="../../static/index/zichan.png" alt="" srcset="">
					<view class="user_content">
						<view class="userbox_num">
							{{userinfo.assetCount}}
						</view>
						<view class="userbox_name">
							资产设备统计
						</view>
					</view>
				</view>
				<view class="userbox">
					<img src="../../static/index/yonghu.png" alt="" srcset="">
					<view class="user_content">
						<view class="userbox_num">
							{{userinfo.userCount}}
						</view>
						<view class="userbox_name">
							用户数量统计
						</view>
					</view>
				</view>
				<view class="userbox">
					<img src="../../static/index/bumen.png" alt="" srcset="">
					<view class="user_content">
						<view class="userbox_num">
							{{userinfo.deptCount}}
						</view>
						<view class="userbox_name">
							部门数量统计
						</view>
					</view>
				</view>
				<view class="userbox">
					<img src="../../static/index/gangwei.png" alt="" srcset="">
					<view class="user_content">
						<view class="userbox_num">
							{{userinfo.postCount}}
						</view>
						<view class="userbox_name">
							岗位数量统计
						</view>
					</view>
				</view>
			</view>
		</view>
		
		<view class="content-box">
			<text class="title">物联设备与测点情况统计</text>
			
		</view>
		<view class="content-box">
			<text class="title">报警数量统计</text>
			
		</view>
		<view class="content-box">
			<text class="title">设备负载率统计</text>
			
		</view>
		
	</view>
  
</template>

<script >
	import { ref, reactive, getCurrentInstance } from 'vue'
	export default {
		setup() {
			const { proxy } = getCurrentInstance()
			const userinfo = reactive({})
			proxy.$request('/tenant/detail/user/asset', {
			},"GET").then(res => {
				Object.assign(userinfo, res.data)
			})
			// 
			proxy.$request('/getUserInfo', {
				"age": "2222"
			},"POST").then(res => {
				console.log(res, '个人信息')
			})
			
			return {
				userinfo,
			}
		}
	}
		
   
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值