当前位置: 首页 > news >正文

uniapp 微信小程序 封装公共的请求js(api版本)

一、新建api文件夹
在项目目录下创建api文件夹,内放files跟index.js文件夹,files文件夹内放每个页面对应的js请求接口
在这里插入图片描述
1、index.js

/*** api接口的统一出口*/
const api = {};
const requireComponent = require.context('./files', false, /\.js$/)
requireComponent.keys().forEach(fileName => {const componentName = fileName.replace(/^\.\/(.*)\.\w+$/, '$1')const componentConfig = requireComponent(fileName)api[componentName] = componentConfig.default
})
export default api;

2、例如:login.js

/*** 登录用到的接口*/
import http from '@/utils/http.js'
import config from '@/utils/config.js'
const login = {//角色001-账号登录transportLogin(data){return new Promise((resolve, reject) => {http.request({domain:config.adminDomain,//接口ip地址+端口号(第一种)url: "/user/login",method: "POST",data,callBack: res => {resolve(res);}})})},//角色002-账号登录regulatorLogin(data){return new Promise((resolve, reject) => {http.request({domain:config.domain,//接口ip地址+端口号(第二种)url: "/wx/login",method: "POST",data,callBack: res => {resolve(res);}})})}
}
export default login;

二、config.js

const domain = "http://192.888.888.6:80/my"
const adminDomain = "http://192.888.444.9:800"
const adminH5 = "http://192.888.666.7:82/#";
module.exports = {domain,adminDomain,adminH5
}

三、main.js
在这里插入图片描述

四、页面使用

<template><view class="login-btn" @click="toLogin">登录</view><view class="login-btn" @click="toLogin2">登录</view>
</template>
methods: {toLogin(){this.$api.login.transportLogin(data).then(res=>{uni.hideLoading()if (res.code === 200) {// 保存登陆信息uni.setStorageSync('loginResult', res)uni.setStorageSync('token', res.token);uni.setStorageSync('login',false);uni.reLaunch({url: "/pages/learning/learning"})}})},toLogin2(){let data = {account: "", //用户名pwd: "" //密码};this.$api.login.regulatorLogin(data).then(res=>{uni.hideLoading()if (res.code === 200) {// 保存登陆信息uni.setStorageSync('loginResult', res)uni.setStorageSync('token', res.token);uni.setStorageSync('login',false);uni.reLaunch({url: "/pages/learning/learning"})}})}
}
http://www.lryc.cn/news/114311.html

相关文章:

  • 格式化后数据恢复,教你3个实用方法!
  • LaTex使用技巧21:设置中文环境、字体、行间距和页边距
  • 【RabbitMQ】golang客户端教程3——发布订阅(使用fanout交换器)
  • 图像处理学习笔记
  • 87端口无法访问-GoogleChrome非安全端口列表
  • pyautogui 配合 selenium 实现桌面坐标系定位元素坐标,模拟真实鼠标行为
  • c#设计模式-创建型模式 之 工厂模式
  • Photoshop 2023 25.0beta「Mac」
  • 机器学习基础07-模型选择01-利用scikit-learn 基于Pima 数据集对LogisticRegression算法进行评估
  • 单片机实现动态内存管理
  • (JS逆向专栏十一)某融平台网站登入RSA
  • c++ boost circular_buffer
  • 网络编程——端口
  • 【网络】自定义协议 | 序列化和反序列化 | Jsoncpp
  • PHP实践:用openssl打造安全可靠的API签名验证系统
  • 每天一道leetcode:剑指 Offer 50. 第一个只出现一次的字符(适合初学者)
  • 【第五章 flutter学习之flutter进阶组件-下篇】
  • 单元测试和集成测试有什么区别
  • 如何实现基于场景的接口自动化测试用例?
  • SAP 开发编辑界面-关闭助手
  • 【el-image图片查看时 样式穿透表格问题】
  • GPT带我学-设计模式-模板模式
  • Windows下调试UEFI程序:Visual Studio调试
  • Vue中监听路由参数变化的几种方式
  • angular——子组件如何接收父组件的动态传值
  • php 桥接模式
  • Android 13 Hotseat定制化修改——004 hotseat布局位置
  • 海外版金融理财系统源码 国际投资理财系统源码 项目投资理财源码
  • 洛谷P1162 - 填涂颜色
  • 设计模式十一:外观模式(Facade Pattern)