赞
踩
1、新建封装请求 api/request.js
- // 配置的域名
- const baseUrl = "xxxxxxxxxxxxxx" // 请求公共接口
-
- // 封装请求
- module.exports = {
- /**
- * 二次封装wx.request
- * url:请求的接口地址
- * method:请求方式 GET,POST....
- * data:要传递的参数
- */
- request: (url, method, data) => {
- return new Promise((resolve, reject) => {
- wx.showLoading({
- title: '加载中',
- });
- wx.request({
- url: `${baseUrl}${url}`,
- data: data,
- method: method,
- header: {
- 'content-type': (method == 'GET') ? 'application/x-www-form-urlencoded' :
- 'application/json',
- 'Cookie': wx.getStorageSync('Cookie') || ''
- },
- success: (res) => {
- if (res.statusCode == 200 && res.cookies && res.cookies[0]) { // 获取token
- resolve(res);
- } else if (res.statusCode == 200 && res.data.code == 200) { // 成功返回值
- resolve(res.data.data);
- } else if (res.statusCode == 200 && res.data.code != 200) { // 错误时提示
- wx.showToast({
- title: res.data.message,
- icon: 'none'
- });
- }
- },
- fail: () => {
- reject('数据错误')
- },
- complete: () => {
- setTimeout(() => {
- wx.hideLoading();
- }, 100);
- },
- });
- });
- },
- }
2、封装所有请求 api/http.js
- //引入封装的reuest请求
- const {
- request
- } = require('./request.js')
-
- //基于业务封装的接口
- module.exports = {
- // 登录
- getLogin: (data) => {
- return request('/***/***/***/login', 'POST', data);
- },
- // 获取商品信息
- getGoodsDetails: (data) => {
- return request('/***/***/***/goodsDetails', 'GET', data);
- },
- }
3、引入请求并使用 login.js
- // 引入登录接口
- const {
- login
- } = require('../../api/http.js')
-
- Page({
- data: {
- username: '',
- pwd: ''
- },
-
- onLoad() {
- let params = {
- username: this.data.username,
- pwd: this.data.pwd
- }
- // 登录
- login(params).then(res => {
- wx.setStorageSync('Cookie', res.cookies[0])
- wx.switchTab({
- url: '../index/index'
- })
- })
- },
-
- // 退出登录
- handleLogOut() {
- wx.clearStorageSync()
- wx.navigateTo({
- url: '../login/login'
- })
- },
- })
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。