uniapp请求方法封装支持请求头带token验证

var server = '请求地址';
const session_id = '后台提供';
const code = '后台提供';
import md5 from 'js-md5';
//请求接口
export const request = (url, data, method) => {
	return new Promise((resolve, reject) => {
		let sign = get_sign(data, code, session_id);
		var access_token = uni.getStorageSync('access_token');
		var header = {
			'content-type': 'application/x-www-form-urlencoded',
			sign: sign,
			accesstoken: access_token
		};
		uni.request({
			url: server + url,
			method: method || 'POST',
			data: data || {},
			header: header,
			success: (res) => {
				if (res.data.status !== 0) {}
				resolve(res.data)
			},
			fail: (err) => {
				console.log(err);
				uni.showToast({
					title: '嘤嘤嘤!!!网络出错了哦',
					icon: 'none'
				})
				reject(err)
			}

		})
	})
}
//文件上传
export const uploadFile = (url, file, data) => {
	return new Promise((resolve, reject) => {
		let sign = get_sign(data, code, session_id);
		var access_token = uni.getStorageSync('access_token');
		var header = {
			'Content-Type': 'multipart/form-data',
			sign: sign,
			accesstoken: access_token
		};
		uni.uploadFile({
			url: server + url,
			method: "POST",
			filePath: file['value'],
			name: file['field'],
			success: (res) => {
				resolve(JSON.parse(res.data))
			},
			fail: (err) => {
				console.log(err);
				uni.showToast({
					title: '嘤嘤嘤!!!网络出错了哦',
					icon: 'none'
				})
				reject(err)
			}
		})
	})
}
//微信登录
export const wxLogin = () => {

	return new Promise((resolve, reject) => {
			let _this = this;
			uni.showLoading({
				title: '微信授权中...'
			});
			uni.getUserProfile({
				lang: 'zh_CN',
				desc: '用于完善会员信息',
				success: (infoRes) => {
					var code = uni.getStorageSync('weixin_login');
					var share_token = uni.getStorageSync('share_token');
					request('info/wechat_login', {
						code: code,
						iv: infoRes.iv,
						encryptedData: infoRes
							.encryptedData,
						share_token: share_token
					}).then(result => {
						uni.hideLoading();
						if (result.code == 1) uni.setStorageSync('access_token', result.data
							.user_token);
						resolve(result.code);
				
					})
				},
				fail: (err) => {
					uni.hideLoading();
				}
			})
		})
}

function get_sign(data, code, session_id) {
	var str = '';
	for (var a in data) {
		str += a + '=' + data[a] + '&';
	}
	str += 'code=' + code;
	var sign = md5(str);
	return session_id + '&' + sign;
}

md5类库位 uniapp的 js-md5

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值