WeChat---MINIProgam http类方法封装

微信小程序封装HTTP网络请求 相比于 vue 封装的 htt 请求,微信小程序的请求是基于 wx.request 发送的。下面将对小程序封装 httq 请求进行一个总结 1、封装登录请求 小程序的登录流程是 1、通过 wx.login 获取微信服务器返回的 code 2、将返回的 code,传入后台的登录请求中,也就是本文中的https://api.it120.cc/{domain}/user/wxapp/authorize请求,请求成功之后,便可以获取到后台返回的 token。 3、通过wx.setStorageSync将toke. 阅读详情

http 封装

import { config } from './config.js';
import { md5 } from './md5.js';

// 提示信息
const tips = {
  1:"抱歉,出现了一个错误",
  2:"appkey 无效",
  404:"不存在"
}


// promise 请求
class HTTP 
{
  // 方式1:子类型访问的配置参数
  constructor() {
    this.apiBaseUrl = config.api_base_url
  }

  // 方式2:子类型访问的配置参数
  getApiBaseUrl() {
    return config.api_base_url
  }


  // 获取元素上绑定的值
  getDataSet(event, key) {
    return event.currentTarget.dataset[key]
  }

  // ES6 可以以对象的方式传参
  request({url, data={}, method="GET"}) {
    return new Promise((resolve, reject)=>{
      this._request(url, resolve, reject, data, method)
    })
  }

  /**
   * 封装请求
   */
  _request(url, resolve, reject, data={}, method="GET") {
    let timestamp = Date.now();
    let sign = md5(timestamp + config.app_key).toUpperCase()

    wx.request({
      url: config.api_base_url + url,
      method: method,
      data: data,
      header:{
        'content-type': 'application/x-www-form-urlencoded;charset=utf-8',
        // 'content-type': "application/json",
        "sign": sign,
        'timestamp': timestamp,
        'token': wx.getStorageSync('token')
      },
      success: (res)=>{
        let code = res.statusCode.toString();

        if (code.charAt(0) == '2') {
          // 成功返回
          resolve(res.data)
        }
        else {
          this.showError(code)

          // 失败返回
          reject()
        }
      },
      fail: (res)=> {
        // 失败返回
        reject()
      }
    })
  }


  /**
  * 错误提示
  */
  showError(errCode) {
    errCode = errCode ? errCode : 1
    const tip = tips[errCode]

    wx.showToast({
      title: tip ? tip : tips[1],
      icon: 'none',
      duration: 3000
    })
  }

}

export { HTTP }
GitHubWeChatMiniProgram可能是全网功能最全的GitHub微信小程序 GitHub WeChat Mini Program (可能是全网功能最全的 GitHub 微信小程序) 立即下载

相关推荐

miniprogram-test-2.rar

微信小程序计算器源代码,包含基本计算功能、单位换算、房贷计算、正则表达式等

微信小程序HTTP接口请求封装

最近在学习小程序的编写,需要调用后端接口,经常要用到wx.request方法,所以就自己封装了一下,简化一下代码,如果能给大家提供帮助更好,我的项目后端是使用的Java SSM框架,wx.request的URL就是后端提供的接口。在封装的时候我在网上看了很多篇博客,90%以上的全都是直接在success回调函数中直接打印返回值console.log(res.data)这个当然是没有问题的,但是我们...

single_cong的博客 4万+

Python+OpenCV实现游戏自动刷怪脚本(附完整代码)

本文详细介绍了如何使用Python和OpenCV开发游戏自动刷怪脚本,涵盖环境搭建、图像识别、行为决策引擎及反检测优化等关键技术。通过完整的代码示例,帮助开发者实现从简单脚本到智能自动化系统的升级,提升游戏效率。

weixin_29032489的博客 520

学习笔记 | 微信小程序项目day09

【代码】学习笔记 | 微信小程序项目day09。

suweijie的博客 533

论文阅读:SuperGaussians: Enhancing Gaussian Splatting Using Primitives with Spatially Varying Colors

Gaussian Splattings 在基于高斯显式表示的多视图重建中展示出了令人印象深刻的结果。然而,当前的高斯基元只有单视图依赖的颜色和不透明度来表示场景的外观和几何形状,导致了一种非紧凑的表示。在本文中,我们引入了一种名为“超高斯(SuperGaussians)”的新方法,它在单个高斯基元中利用空间变化的颜色和不透明度来提高其表示能力。我们实现了双线性插值、移动核,甚至是小型神经网络作为空间变化函数。

m0_48319749的博客 1508

高通Sensor Tuning实战:手把手教你用Chromatix生成并打包bin文件(附避坑指南)

本文详细介绍了高通Sensor Tuning的全流程实战,从Chromatix配置到Bin文件加载验证。通过手把手教程,帮助开发者掌握Chromatix工具链的使用,避免常见配置错误,提升调试效率。特别针对kalama等新一代平台,提供经过验证的解决方案和避坑指南。

ios99的博客 483

WeChat---MINIProgram onLaunch与onload异步

onLaunch与onload异步 处理的方式有很多,可以在app.js 定义,也可单独定义, 建议使用 Promise 处理 定义检测方法 hasLogin() { return new Promise((resolve, reject) => { const token = wx.getStorageSync('token'); if (!token) { console.log('hasLogin....') wx.login(

Damys 642

BEVFusion(mit)最强环境安装,部署复现

BEVFusion作为一项经典的工作,值得深入探索。然而由于配置环境比较麻烦,耽误了一些时间。经过几次成功配置之后,有了一些总结,在这里记录下来,供大家参考避坑,也方便自己下次查阅。

qq_45783225的博客 1万+

微信小程序页面跳转 Error: MiniProgramError

微信小程序页面跳转 Error:MiniProgramError 1.首先是wxml <button bindtap="goto"> 跳转到user </button> 2.js文件 goto(){ wx.navigateTo({ url: '/pages/user/user', }) 3.注意事项 区分绝对路径和相对路径,在前面加上"/",就不会出现Error: MiniProgramError ...

weixin_43749253的博客 1万+

伪距单点定位算法原理以及利用最小二乘法计算实例

即该公式:建立下列代价函数满足最佳估值的条件为:即:可解得未知参数 X 的最佳估值由于每个可见卫星观测量的精度可能不一样,这时,需要对不同观测量赋予一个权重系数,称为加权。

qq_43381998的博客 1万+

**Coffin-Manson 模型**在半导体功率循环测试中的理论背景、数学形式、应用场景,以及如何使用 **C#** 编程语言进行具体实现

Coffin-Manson 模型最初用于描述金属材料在低周疲劳(Low-Cycle Fatigue, LCF)下的寿命,后来被广泛应用于半导体功率器件(如 IGBT、MOSFET)的可靠性分析,特别是在功率循环测试中。如果你有具体数据(如 CSV 文件)、更复杂的模型要求(如 Bayerer 模型)或特定可视化需求,请提供,我可以进一步优化代码或添加功能!以下代码实现基本模型 ( N_f = A \cdot (\Delta T_j)^{-n} ) 的拟合,生成拟合曲线并预测寿命。我会结合你之前提到的。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 481

微信小程序const app=getApp()的作用,实现page页面获取全局数据

微信小程序const app=getApp()的作用,实现page页面获取全局数据

weixin_64103049的博客 1903

OpenClaw Windows 安装指南

好的,我来一步一步带你在 Windows 上安装 OpenClaw。

m0_60605453的博客 550

微信公众号开发--HTTP协议

转自:http://blog.youkuaiyun.com/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行

eag1eX的博客 5896

手把手教你从入门到精通C# Modbus通信

本文是《Modbus通信从入门到精通》的导读,本专栏将会详细介绍ModusRTU 、ModbusASCII、ModbusTCP这三种协议的C#实现,由一个高级工程师多年实战经验总结而成,绝对干货!

qq_34059233的博客 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Wechat

微信,Wechat

q2243088760的博客 5457

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

微信开发者工具 http 调试

微信开发者工具http调试,本地设置勾选 "不校验合法域名...."

钬码狼酷的博客 1195

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Asp .NetCore 微信小程序授权登录、获取用户信息

人生最高理想,在求达于真理。——李大钊 官方文档 https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html 环境 .Net Core 6.0 工具 Visual Studio 2022 微信开发者工具 流程 新建项目 我这里是这样新建的,当然也可以使用Visual Studio中的可视化新建。 dotnet new webapi --name AspNe.

林一怂儿 5886

微信小程序 尝试对wx.request进行封装

参考博客:https://www.jianshu.com/p/ad1e5b581e18

qq_42852004的博客 692

小程序用户登录架构设计

1. 背景 首先谈谈在小程序的开发中,如何借助微信的能力标识一个用户? 微信官方提供了两种标识: OpenId 是一个用户对于一个小程序/公众号的标识,开发者可以通过这个标识识别出用户。 UnionId 是一个用户对于同主体微信小程序/公众号/APP 的标识,开发者需要在微信开放平台下绑定相同账号的主体。开发者可通过UnionId,实现多个小程序、公众号、甚至 APP 之间的数据互通。 同一个用户的这两个 ID 对于同一个小程序来说是永久不变的,就算用户删了小程序,下次用户进入小程序,开发者依旧

m0_46180764的博客 1445

WeChat----MINIProgram Page 页面使用

Page 页面使用 import { ThemeModel } from '../../models/ThemeModel.js'; const themModel = new ThemeModel(); Page({ /** * 页面的初始数据 */ data: { loadingHidden:false, baseRequestUrl: themModel.getApiBaseUrl() }, /** * 生命周期函数--监听页面加载 */

Damys 3094

微信小程序引入官方扩展 weui-miniprogram时的问题

引语 在写微信小程序时,想用官方的weui-miniprogram包里面的msg扩展,使用时npm完以后,网上基本都是复制weui.wxss到根目录,再用view容器标签实现,可是这样就不能灵活调用组件了 也和官方推荐代码不符 <!--WXML示例代码--> <mp-msg type="success" title="操作成功"> <view slot="d...

qq_39400546的博客 7329

MiniProgramError

MiniProgramError 错误原因:在引入方法的时候没有加大括号 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高

qq_44245305的博客 7916

WeChat----网站接入微信登录(前端)

网站接入微信登录 标识符长度 openid 长度:28, 普通用户的标识,对当前开发者帐号唯一。一个openid对应一个公众号 unionid 长度:29, 用户统一标识。针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的 同个开发账号下的应用 有个unionid是一样的, 用一个微信号就可以同时跨平台登陆公众号、移动应用和PC网站,无需重新注册,方便快捷 微信网页版本的时候,生成微信二维码用户扫描登录,此时获取的openid和前面我们所说通过微信客户端获取的openid就不是一样的,但是U

Damys 3879
上一篇: Service----LNMP修改配置文件目录
下一篇: WeChat----MINIProgram Mode层
damys
博客等级 码龄17年 356粉丝 524原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值