logo 范 · 拾光录
网址收集 关于作者 Github Gitee
杂文随笔4
Hexo博客:基础使用Hexo博客:Next主题Hexo博客:Next进阶使用Hexo博客:Next高级配置
前端编程3
前端基础知识16
UniApp15
Vue框架19
Java编程7
Java基础知识14
SpringBoot31
SpringMVC14
MyBatis8
SpringCloud15
RocketMQ1
MyCat1
数据库4
MySQL6
Redis7
MongoDB10
H21
Java技术栈4
知识整理分布式锁的实现方案MySQL事务MySQL的锁
软件工具箱14
IDEAGitMavenGradleNginx安装Nginx配置JMeter压测OllamaPicGoRustFSVSCodeDockerObsidianObs录制
Linux知识11
树莓派安装及使用ArchLinux:常用软件ArchLinux:基础系统安装ArchLinux:深度优化ArchLInux:图形化界面安装ArchLinux:Nirifrp内网穿透Jar启动脚本Linux常用命令VirtualBox安装CentOSVirtualBox安装Ubuntu
Python编程6
Python基础知识Python语法yolo目标检测OpenCV的使用及树莓派平台condauv
创意设计2
Blender:入门知识UI设计基础知识
AI相关9
Claude CodeHermes AgentOpenAI基本使用OpenAI工具调用OpenAI记忆管理OpenAI推理执行OpenAI开发框架Langchainllama.cpp

个人封装示例

该方式主要是解决统一请求地址、函数中不干扰this问题

import Vue from 'vue'
let api = Vue.prototype.baseUrl


let user = uni.getStorageSync('userData')
let uid = ''
if(user) {
  uid = user.userId
}

export default function request(url, method = 'GET', params = {}, successFun, failFun) {
  url = api + url
  uni.request({
    url,
    data: params,
    method,
    header: {
      uid: uid
    },
    success(res) {
      console.log(res);
      successFun(res.data)
    },
    fail(err) {
      failFun(err)
    }
  })
}

接口地址放在了main.js

// Vue.prototype.baseUrl = 'https://fanmr.cn/handiness'
Vue.prototype.baseUrl = 'http://192.168.100.8:18090'

使用方式

import httpUtil from "../../common/httpUtil.js"

httpUtil('/app/update/last', 'POST', {}, (res) => {
  console.log('成功', res);
}, (err) => {
  console.log('失败', err);
  this.$refs.uToast.show({message:'请求失败'})
})

文件上传(form-data)

// 获取头像
onChooseAvatar(e) {
  // 上传头像到服务器
  const tempFilePath = e.detail.avatarUrl;
  let that = this
  wx.uploadFile({
    url: that.baseUrl + '/uploadFile',
    filePath: tempFilePath,
    name: 'file',
    header: {
      'content-type': 'multipart/form-data',
    },
    success(res) {
      let resData = JSON.parse(res.data)
      console.log(resData);
      that.info.avatar = resData.data
      that.avatarUrl = that.baseUrl + that.info.avatar
    },
    fail(error) {
      console.log('upload failed', error);
    }
  });
个人封装示例
文件上传(form-data)