1--uniapp request.js + 后台头部传token和退出登录移除token

import store from '@/store/index.js'
const request = function(url, data = {}, method = 'post') {
	let baseUrl=''
	baseUrl = "http://xuzeqin666.top/yueche-api/public/index.php/uniapp"
	let header = {}
	//如果已经登录,header头中添加token
	if (store.state.hasLogin) {
		Object.assign(header, {
			token: store.state.token
		})
	}
	// #ifdef H5 || MP-WEIXIN
	let content_type = {
		'content-type': 'application/json'
	}
	if (method == 'post') {
		content_type = {
			'content-type': 'application/x-www-form-urlencoded'
		}
	}
	  Object.assign(header, content_type)
	// #endif
	return new Promise((resolve, reject) => {
		uni.showLoading({
			title: '加载中',
			mask: true
		})
		uni.request({
			url: baseUrl + url,
			method,
			header,
			data: data,
			success: (res) => {
				uni.hideLoading()
				let statusCode = res.statusCode
				if (res.statusCode == 200) {
					let data = res.data;
					if (data.error) {
						reject(data)
					} else {
						resolve(data)
					}
				} else {
					reject({
						message: '请求失败,错误号:' + statusCode
					})
				}
			},
			// fail: res => {
			// reject('请求服务器失败')
			// }
		})
	})
}
export default request

import request from ‘@/utils/request.js’

const data = {
	account: this.account,
	password: this.password
};
request('/index/login', data).then(res => {
	uni.showToast({
		title: '登录成功',
		icon: 'success',
		duration:3000
	})
	this.$store.state.login= res.data.token
	uni.switchTab({
		url: '/pages/myinfo/index',
	});
}).catch(res => {
	uni.showToast({
		title: res.message,
		icon: 'none'
	})
})

后台获取头部:
use think\Request;

 $token = Request::instance()->header('token');

退出登录

    //退出
    public function logout(){
        $token = Request::instance()->header('token');
        Cache::rm($token);
        return success('成功退出');
    }

猜你喜欢

转载自blog.csdn.net/xu_ze_qin/article/details/107461562