uni-app小程序 前后台请求封装对接

公司用的这套,保存一下供以后方便扒

目录结构

api.js

// 引入请求js
import config from '@/utils/http/http.js';

// 登录接口统一管理
const $http = {
	//获取用户,
	 getUserInfo:function(data,methods) {
		return config.httpRequest({url: '/mobileController/getUserInfo',data,methods})
	}
}

export default $http;

http.js

const baseUrl = "http://127.0.0.1:8080/api"; // 测试环境
const $http = {
	/*
	url 路径地址
	data 传递的数据
	methods 请求类型 POST
	dataType  数据格式转成
	token token数据
	headers  headers头部数据
	*/
	httpRequest: function({
		url,
		data,
		methods,
		dataType
	}) {
		return new Promise(function(resolve, reject) {
			uni.request({
				url: baseUrl + url,
				data: data || {},
				method: methods || "GET",
				dataType: dataType || "JSON",
				headers: {
				          'Content-Type':'application/json; charset=UTF-8',
				        },
				success: function(res) {
					// 判断接口是否正常
					if (res.statusCode === 200) {
						// 返回成功后对数据进行处理,这儿返回状态是字符串(根据后端返回为准) 转换
						resolve(JSON.parse(res.data))
					}else{
						uni.hideLoading();
						uni.showToast({
							title: '网络繁忙!',
							icon: 'none',
							duration: 2000
						});
					}		
				},
				fail: function(err) {
					uni.hideLoading();
					reject(err);
				}
			})
		})
	}
}
export default $http;

页面js 引入

import api from '@/utils/api/api.js';

页面方法 调用

async login(openid) {
				let data = await api.getUserInfo({
					openid: openid
				}, 'post')
				if (data.user != null) {
					getApp().globalData.user = data.user
				} else {
					getApp().globalData.user.wxOpenId = openid
				}
			}

后台

controller

@RequestMapping("/getUserInfo")
    @ResponseBody
    public String getUserInfo(@RequestBody String json) throws UnsupportedEncodingException {
        return mobileServe.getUserInfo(json);
    }

service

String getUserInfo(String json);

serviceImpl

@Override
    public String getUserInfo(String json) {
        JSONObject jsonObject = JSON.parseObject(json);
        Map<String, Object> map = new HashMap<>();
        try {
            String openid = jsonObject.getString("openid");
            User user = mobileMapper.getUserInfo(openid);
            map.put("user", user);
            map.put("status", "success");
            map.put("msg", "检索成功");

        } catch (Exception e) {
            map.put("status", "error");
            map.put("msg", e.toString());
            e.printStackTrace();
        }
        return JSON.toJSONString(map);
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值