代码编织梦想

用promise封装微信小程序http请求

1.设置公共访问url,即环境地址

在config文件夹新建env.js
module.exports={
  //开发环境
  dev:{
    // baseUrl:"http://xxx.xxx.xx.xx"
  },
  //测试环境
  // test:{
  //   baseUrl:"test.xxx.xxx.xx.xx"
  // },
  // //线上url
  prod:{
    baseUrl: 'https://xxx.com',
  }
}

2.封装promise请求

在config文件夹下新建request.js文件夹
// const {baseUrl} = require('./env.js').test   //测试环境
// const {baseUrl} = require('./env.js').dev    //开发环境
const {baseUrl} = require('./env.js').prod   //线上环境

const subDomain = "api/"  //子域名
module.exports = {
  request: (url,method,data,isSubDomain)=>{
    return new Promise((resolve,reject) => {
      // 拼接
      let _url = `${baseUrl}/${isSubDomain?subDomain:''}${url}`;
      //token和customerId看需求是否增加
      var token = wx.getStorageSync('token')
      var customerId = wx.getStorageSync('customerId')
      wx.request({
        url: _url,
        data: data,
        method: method,
        header: {
          'content-type':'application/json',
          'token':token,
          'customerId':customerId
        },
        //成功回调
        success(res){
          if(res.statusCode === 200){
            //返回的数据
            resolve(res.data)
          }
          else{
            console.log("接口有问题")
          }
        },
        //失败回调
        fail(){
          console.log("接口问题")
        }
      }
      )
    })
  }
}

3.封装api接口

下面举三种典型例子
const {
  request
} = require('./request')
module.exports = {
  getlist1: (customerId) => {
    return request(`xxx/xxx?customerId=${customerId}`, "post", {}, true)
  },
  getlist2: (data) => {
    return request('xxx/xxx', "post", data, true)
  },
  getlist3: (shopId, branchId) => {
    return request(`xxx/xxx/${shopId}/${branchId}`, "post", {}, true)
  },
}

4.使用(与上面三种对应)

	const http = require('../../config/api.js');
	onLoad: function () {
		this.getList1()
		this.getList2()
		this.getList3()
	}
	getList1 () {
		let customerId = wx.getStorageSync('customerId')
		http.getMasterShopId(customerId).then(res => {
      		console.log(res);
    	}).catch(err => {
			console.log(err);
		})
	}
	getList2 () {
		http.getMasterShopId({
			data1:xx,
			data2:xxx
		}).then(res => {
      		console.log(res);
    	}).catch(err => {
			console.log(err);
		})
	}
	getList3 () {
		var branchId = xxx;
		var shopId= xx;
		http.getSideBoard(
	      branchId,
	      shopId
	    ).then(res => {
	      console.log(res);
	    }).catch(err => {
			console.log(err);
		})
	}

每个人,每个项目需求封装的http是不一样的,可以根据实际业务需求,进行改写----------

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/weixin_43496091/article/details/111059743

js数组方法-爱代码爱编程

js数组方法 数组的方法 toString() toString() 把数组转换为数组值(逗号分隔)的字符串。 实例 var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.getElementById("demo").innerHTML = fruits.toString();

【计算机图形学】从0实现光线追踪 · 后篇-爱代码爱编程

回顾 在上一节中,我们已经完成了: 架好了相机(Camera),摆放好场景(Scene);射出射线、计算交点(IntersectResult);实现了渲染器(Render),即将交点信息返回到画布(Canvas)上  接下来,我们将完成: 手写材质(Material),其中,材质最重要的方法是取样(sample),即获得颜色手写光线追踪过程

人机交互—9月28日-爱代码爱编程

9月28日 前言什么是数组04数组基本用法2使用数组的步骤05.创建数组的两种方式数组练习作业题目 前言 这是根据对于学校学习知识的一次复习,可能有许许多多的问题,同时也不会做过多的注释,请各位大佬看看就好(顺便提提意见),有想一起交流经验的可以私聊(随缘更新) 什么是数组 04数组基本用法2 使用数组的步骤 <!DOC

express中间件的种类及用法-爱代码爱编程

express框架 主要使用的就是中间件,具体用法如下: 中间件的分类: 应用级中间件  (做权限判断)路由级中间件   (用的不多)错误级中间件  (实际上就是应用级中间件)内置中间件  (例如托管静态文件)第三方中间件 (例如body-parser  cookie-parser等都是) const express = require('expres

使用js写一个旋转大风车的案例-爱代码爱编程

相信大家都对风车这个东西感到不陌生,所以我们今天就要写一个大风车的案例. 这是一个动态网页,下面是css文件的代码,废话少说,上代码: <style> .fc{ animation:wm 2s infinite linear; } @keyframes wm {

vue 纯前端登录验证码-爱代码爱编程

效果图 父组件中随机生成一串字符转,数字+字母 mounted(){ this.createCode() }, methods:{ createCode() { var text = ""; var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstu

网页特效:手风琴CSS+jQuery-爱代码爱编程

目录 效果预览主体部分CSS部分jQuery部分 效果预览 主体部分 <div class="wrap"> <div class="list"> <div class="hide"> <p>君埋泉下泥销骨—我寄人间雪满头</p> </div> &l

CSS3弹性盒子,CSS移动端适配,CSS媒体查询,CSS文本域,CSS多列布局,CSS选择器-爱代码爱编程

1.移动端适配 标签:mate下面这种写法是等比例的伸缩方式<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=3.0,user-scalable=no"/> 移动端固定模式布局<met

自己设计的Vue3的实用项目(内含对项目亮点的实现思路与介绍)-爱代码爱编程

在11月初的时候,我给自己定的目标:了解完 Vue3,然后做一个小项目 其中,Vue3 是早就学完了的,然后也写了两篇总结或是心得吧,其中有很多都是在做项目中踩出来的坑,所以大家可以看一下,避免之后开发中遇到: 快速使用Vue3最新的15个常用API(400+ 个👍)关于Vue3获取当前组件实例的 getCurrentInstance 方法的补充(30

css+html+js 分页列表 2020-12-12-爱代码爱编程

分页显示1(css+html+js) 1.html代码     一个ul和盛放分页的盒子 <ul class="newslist"> </ul> <div class="btn-box"> </div> 2.css ul, li {

Vue横向菜单滚动翻页功能的实现-爱代码爱编程

横向菜单滚动翻页功能的实现 实现方法 使用了走马灯的思想,将菜单项放在一排,超过显示区域隐藏,点击实现菜单的滚动。 效果图 具体实现 html部分 <div class="dataNav"> <button class="dataNavPrev" @click="navPrev"><</but

与事情循环相关的微任务与宏任务-爱代码爱编程

    随着浏览器的应用领域越来越广泛,消息队列中这种粗时间颗粒度的任务已经不能胜任部分领域的需求,所以又出现了一种新的技术——微任务。微任务可以在实时性和效率之间做一个有效的权衡。基于微任务的技术有 MutationObserver、Promise 以及以 Promise 为基础开发出来的很多其他的技术。 宏任务     页面中的大部分任务都是在主线