uniapp简单请求封装

目录

1.utils/request.js

//把配置项单独处理
import store from './store/index.js'; //vuex  
let server_url = 'http://192.168.xx.xx:8080'; //请求地址
let token = ' ';
// 凭证
process.env.NODE_ENV === 'development' ? '192.168.0.1' : 'http://***/api'; //环境配置
function service(options = {}) {
	store.state.token && (token = store.state.token); //从vuex中获取登录凭证
	options.url = `${server_url}${options.url}`;
	options.method = options.method;
	//配置请求头
	options.header = {
		'content-type': 'application/x-www-form-urlencoded' //自定义请求头信息
		// 'accessToken': `${token}` //Bearer 
	};
	return new Promise((resolved, rejected) => {
		//成功
		options.success = (res) => {

			if (Number(res.data.code) == 200) { //请求成功
				resolved(res.data);
			} else {
				uni.showToast({
					icon: 'none',
					duration: 3000,
					title: `${res.errMsg}`
				});
				rejected(res.errMsg); //错误
			}
		}
		//错误
		options.fail = (err) => {
			rejected(err); //错误
		}
		uni.request(options);
	});
}
export default service;

2.utils/store/index.js

//引入vue和vuex
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)

const store = new Vuex.Store({ //全局变量定义
	state: {
		forcedLogin: false, //是否需要强制登录
		hasLogin: false,
		userName: "",
		userId: '',
		token: '',
		pointId: '',
	},
	mutations: {
		login(state, user) {
			state.userName = user.username || '';
			state.hasLogin = true;
			state.userId = user.id || '';
			state.token = user.token || '';
		},
		logout(state) {
			state.userName = "";
			state.hasLogin = false;
			state.userId = '';
			state.token = '';
		}
	}
})
export default store

3.api/common.js

import request from "@/utils/request";

// 通过溯源二维码码扫码获取商品信息 
export function getProductTraceInfoByCode(traceCode) {
	return request({
		url: '/rpc/common/info/getProductTraceInfoByCode/' + traceCode,
		method: 'GET'
	})
}

4.页面使用

<script>
	import {
		getProductTraceInfoByCode
	} from '@/api/common.js'
	export default {
		data() {
			return {
				traceCode: null
			}
		},
		onLoad(options) {
			this.traceCode = options.traceCode||'66'
		},
		onShow(){
			this.getProductTraceInfoByCode()
		},
		methods: {
			getProductTraceInfoByCode() {
				getProductTraceInfoByCode(this.traceCode).then(res=>{
				})
			}
		}
	}
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值