小程序requestUtil工具类

使用JavaScript编写的原生微信小程序封装request方法 通过封装request方法,我们可以在微信小程序中简化HTTP请求的过程,并提高代码的复用性。通过引入util.js文件并调用封装的request方法,我们可以方便地发送HTTP请求并处理返回的数据。希望本文能够帮助大家更好地理解和应用微信小程序中的请求封装技巧。 阅读详情

小程序工具类requestUtils

1.前言

开发小程序已经有一段时间了,都没有写过小程序相关的文章,踩过坑挺多,把这些坑记下来,下次就不会再犯了。
小程序自带的请求方法不是特别方便,无意中得到了一个工具类,因此把这个工具类分享出来

2.工具类详情

function formatTime(date) {
  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var day = date.getDate()

  var hour = date.getHours()
  var minute = date.getMinutes()
  var second = date.getSeconds()

  return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

function formatNumber(n) {
  n = n.toString()
  return n[1] ? n : '0' + n
}

//添加请求根目录
var rootDocment = 'https://yjt.*****.com/wechat';
function req(url, data, cb) {
  wx.request({
    url: rootDocment + url,
    data: data,
    method: 'post',
    header: { 'Content-Type': 'application/x-www-form-urlencoded' },
    success: function (res) {
      return typeof cb == "function" && cb(res.data)
    },
    fail: function () {
      return typeof cb == "function" && cb(false)
    }
  })
}

function getReq(url, data, cb) {
  wx.request({
    url: rootDocment + url,
    data: data,
    method: 'get',
    header: { 'Content-Type': 'application/x-www-form-urlencoded' },
    success: function (res) {
      return typeof cb == "function" && cb(res.data)
    },
    fail: function () {
      return typeof cb == "function" && cb(false)
    }
  })
}

// 去前后空格  
function trim(str) {
  return str.replace(/(^\s*)|(\s*$)/g, "");
}

// 提示错误信息  
function isError(msg, that) {
  that.setData({
    showTopTips: true,
    errorMsg: msg
  })
}

// 清空错误信息  
function clearError(that) {
  that.setData({
    showTopTips: false,
    errorMsg: ""
  })
}

function formatTime(time) {
  var year = time.getFullYear();
  var month = time.getMonth() + 1;
  var date = time.getDate();
  var hour = time.getHours();
  var minute = time.getMinutes();
  var second = time.getSeconds();
  return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second;
}

module.exports = {
  formatTime: formatTime,
  req: req,
  trim: trim,
  isError: isError,
  clearError: clearError,
  getReq: getReq,
  formatTime: formatTime
}  

###3.用法
在page页面顶部定义

var wechatUtil = require('../../utils/wechatRequest.js');

3.发起请求

wechatUtil.req("/member/update",{
      "unionId": unionId,
      "username": username,
      "headImg": headImg
    },function(res){
	    //res为返回的数据
      if(res.resultCode == 200){
        console.log("更新用户信息成功");
        console.log(res);
        // that.setData({
        //   member:res.resultContent
        // });
      }else{
        console.log("更新用户信息失败");
        console.log(res);
      }
    })

4.结尾

好了,一个简单的工具类结束了,拜拜

Caffeine:为每个元素动态设置过期时间 Caffeine利用expireAfter方法实现为每个元素动态设置过期时间 阅读详情

相关推荐

信号处理中的滤波器的阶数和谐波的理解

最近在读paper的时候,遇到了一些以前遗忘的问题,先重新查找,记录在这里,以备不时之查看。 我相信一定有小伙伴跟我有过一样的疑惑,那就是我们在使用滤波器的时候,总是遇到滤波器的阶数这个概念参数,我们很多都是根据别的paper里的设置,设置自己的科研参数,其实并不是很理解其中的含义: 其实我们常用的阶数N的意思是: 滤波器的阶数,就是指过滤谐波的次数,一般来讲,同样的滤波器,其阶

Miracle.Zhao的博客 2万+

RequestUtil

package com.dmo.util; import com.alibaba.fastjson.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.Enumeration; import java.util.HashMap; impo.

qianhuan_的博客 923

C#操作SQLite数据库帮助类——SQLiteHelper

using System; using System.Collections.Generic; using System.Data.SQLite; using System.Data; namespace Com.ZCWL.Rock.Helper { public class SQLiteHelper { private static string connectionString =

跟健哥出去走走 2万+

RequestUtils工具类

package com.cl.frame.spring.utils; import javax.servlet.http.HttpServletRequest; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request....

Otaku love travel 3537

SAP采购订单中项目类别B(限制)的控制逻辑

在笔者所在企业中,框架类采购订单中项目类别需要选择B(限制)。今天笔者从比较全面的角度分析了一下这个项目类别B到底可以决定些什么?控制到什么?先从后台SPRO中打开相应的配置菜单。 打开项目类别B之后,可以看到一些配置信息,这里有一点与其它配置不同的地方,即无法新增项目,也无法修改现有项目。这个疑惑今后再去解决吧。当前只研究项目类别B的控制逻辑。 下面就参考上图中的配置分段来分析和测试其控制逻辑, 1、如项目类别配置图,所需材料值为不允许;经测试,如下图在采购订单创建时,不能输入物料编号条目。

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 6031

win10和Mac上安装Freesurfer

Mac安装Freesurfer 软件下载地址 可以根据官方给出的demo视频一步一步下载

Daily_365的博客 6075

RequestUtil用法2.6.1

RequestUtil2.6.1

weixin_52250006的博客 414

TMC2240 芯片数据手册解读|第十三篇 StallGuard4负载测量(StallGuard4 Load Measurement)

摘要: TMC2240的StallGuard4技术专为StealthChop2静音模式设计,通过SG4_RESULT实时测量电机负载,实现堵转检测、无传感器回零和CoolStep节能。其核心原理基于负载角检测,通过SG4_THRS阈值调节灵敏度,并支持四通道独立测量(SG4_IND_0~3)优化相位平衡。独特功能包括无抖动模式切换补偿(sg_angle_offset),解决StealthChop2与SpreadCycle切换时的电流突变问题。调优时需结合SG4_THRS设定与DIAG验证,确保堵转精准触发。

BackCatK Chen的博客 300

RequestUtils 包装工具类

package com.pc.core.util;import java.net.MalformedURLException;import java.net.URL;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRe...

夏夜凉月 3122

自然语言处理(扩展学习1):Scheduled Sampling(计划采样)与Teacher forcing(教师强制)

作者:安静到无声作者简介:人工智能和硬件设计博士生、优快云与阿里云开发者博客专家,多项比赛获奖者,发表SCI论文多篇。o( ̄▽ ̄)d。

安静到无声 2143

【OpenClaw企业级智能体实战】第24篇:一人公司实战——用Agent Teams同时管理产品、运营、销售(附16个Agent配置方案+全流程指令模板)

当AI智能体从“单一工具”进化为“协同团队”,“一人公司”已从商业概念变为落地现实。2025年中国超1200万个体创业者采用OPC模式,靠AI团队突破人力边界。本文基于OpenClaw Agent Teams框架,拆解“1总指挥+15执行者”的三层AI组织架构,提供覆盖产品、运营、销售全业务的16个Agent分工矩阵、可直接复制的部署代码、通信配置方案与全流程指令模板。通过虚拟案例验证:单人+AI团队可实现月入26万的商业闭环,AI承担90%标准化工作,人力成本降低75000元/月,ROI超3200%。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 937

Promise方式的请求工具类封装

【代码】Promise方式的请求工具类封装。

m0_68935893的博客 130

【使用DeepSeek辅助Python接口性能自动化测试教程-实战教程】

访问DeepSeek官方网站,注册账号并获取API Key。此Key是调用DeepSeek API的必要凭证,务必妥善保管。安装时,注意勾选“Add Python to PATH”选项,以便系统能识别Python命令。确保你已安装Python 3.8或更高版本。会自动发现并执行所有以。

Dreams°的博客 2465

通过code2Session接口获取openId(上)

【代码】通过code2Session接口获取openId(上)

m0_68935893的博客 2280

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

免费开源电商CRMEB Java版:二次开发必备的10个工具类推荐

# 免费开源电商CRMEB Java版:二次开发必备的10个工具类推荐 CRMEB Java版是一款基于SpringBoot + Maven + Vue + elementUI的免费开源电商系统,包含移动端、小程序、PC后台及Api接口,为开发者提供了丰富的模块和工具类,大幅降低二次开发成本。本文将介绍10个最实用的工具类,帮助开发者快速上手并提升开发效率。 ## 一、RedisUtil:高效

gitblog_07585的博客 875

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

使用Promise 封装微信小程序 wx.request()

在微信小程序的utils 包中创建文件requestUtil.js,此文件主要用于小程序对外发起请求的工具。 //请求地址的前缀 const baseUrl="http://127.0.0.1:8081" //请求头 var defalutHeader = { 'content-type': 'application/x-www-form-urlencoded' } //request对象,其中有post和get两个属性对应 wx.request的POST和GET请求。 var request={ .

张小三的博客 394

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

微信小程序基础

微信小程序

qq_1336674576的博客 673

请求根路径baseUrl封装

【代码】请求根路径baseUrl封装。

m0_68935893的博客 312

商品详情属性内容显示

【代码】商品详情属性内容显示。

m0_68935893的博客 96

跟着峰哥学java 微信小程序 第一天 轮播图

在vscode下载less后在微信小程序插件中导入vscode插件。使用@TableName("t_product")来定义映射。1.1申请对应的appid 设置小程序模板 开始开发。6.1使用requestUtil封装 防止地狱式回调。使用mybatis-plus时实体类名和表名不一致。5.2使用虚拟映射类使网络虚拟地址映射到实际地址中。登录 -> 选择图标入库 ->选择项目目录。使用less语法后自动新增wxss文件。3.components组件的使用。4.1less之前的wxss的格式。

weixin_67865831的博客 513

微信小程序传参方法最全面

微信小程序传参分为几种第一种通过跳转地址携带参数进行传参,通过data自定义属性进行传参 a页面 //wxml <view data-url="/pages/user/public/feedback/index" data-urlid='0' bindtap="authenJump"> <button>意见反馈 </button> </view> a页面 //js文件 这里携带的是urlid url是跳.

前端路上坎坎坷坷,总有一天站在顶峰仰望世界!!! 1761

获取后端商品分类接口数据

【代码】获取后端商品分类接口数据。

m0_68935893的博客 303

微信小程序request方法封装

微信小程序request方法封装 开始开发小程序啦,记录一下,方便以后用到。封装的方式多种多样,仅供参考。 方法封装 新建一个js文件或者在已有的js文件里编写,建议放在已有的utils文件夹下的util.js文件中。 function request(url, data , method ) { return new Promise(function(resolve, reject) { wx.request({ url: url, data: data,

small_IT_lang的博客 1363

小程序request请求接口封装(常用)以及使用方法

第一步:在小程序目录中新建一个utils文件,里面在新建一个js文件用来编写封装的请求方法 第二步:封装接口 //封装接口post from表单类型 function way1(url, data, cb) { wx.showLoading({}) //加载动画 wx.request({ url: '公用域名' + url, //域名 (据情况而定) url为地址 data: data, //所需要传的参数 header: { "C

weixin_45897915的博客 349

自动化测试框架Pytest(六)——requests封装

print(res.request.method) # 返回请求的数据。print(res.cookies) # 返回响应的cookie信息。print(res.content) #返回body的byte类型。将get请求需要的参数写在pm_get_token.yaml文件里:​​​​​​​。print(res.json) #返回body的json格式。print(res.text) #返回body的文本信息。在commons/yaml_util.py工具里新增方法:​​​​​​​。

weixin_43696837的博客 534

python写的小程序怎么封装_微信小程序源码分享之封装request的方法

在utils文件夹新建文件utils.js,封装代码如下:varsendRequest=function(url,method,data={},header={}){varpromise=newPromise(function(resolve,reject){wx.request({url:url,data:data,method:method,heade...

weixin_32121331的博客 150
上一篇: 服务器安装多个Tomcat
下一篇: 小程序获取用户信息无法得到问题
booleandev
博客等级 码龄11年 461粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值