微信小程序前后端数据交互

article/2025/10/14 11:04:35

    

目录

一 微信小程序发送请求

二 后端接口接受小程序请求并返回数据

 三 最后的效果图


    先简单说一下我写的这个微信小程序前后端交互的业务,主要是两个数据:supplyCount和wantBuyCount,分别代表我的车源和我的求购。目前的需求就是小程序向后端发送请求,然后后端从数据库获取车源和求购的数量反馈给小程序,最后将这两个数据显示出来。

        因为就两个数据所以处理起来是比较简单的,可以把这个当做小程序前后端交互最基础CRUD方法,属于是打基础的技能。

一 微信小程序发送请求

  1. 首先在微信开发者工具的api.js里面加入发送的请求地址,如图所示

  2. 这里我将util.request微信封装的方法截图出来,大家可以看看他的格式和传递的参数和数据,可以看出,wx.request里面有四个参数,分别是请求地址url,返回后端的参数data,请求的方法method,和头部header,已经从后端请求成功后从后端返回的数据res。

  3. 根据这个方法,我们可以写出通过用户id查询用户车源和求购数量的请求。首先在data中定义两个变量存储车源和求购数量,如图所示。

  4. 在小程序的js页面中写发送请求的方法,因为请求的数据 需要在页面加载的时候就显示,所以将次方法写在了onLoad页面初始化函数里。并且我们需要从storage缓存中获取用户的id来查询数量,所以先从storage获取user数据,然后通过util.request方法发送请求,最后将请求获得的数据res赋值给data中定义好的两个变量。代码如下。
    var user = wx.getStorageSync('user')
    //从storage缓存中获取用户数据
    util.request(api.supplyCount,//url为api中定义好的{shopId: user.shopId}//返回的数据为用户的shopId,'GET').then(res => {//请求的方法为get,res为获取的数据this.setData({//将res赋值为data中的supplyCountsupplyCount: res})
    })
    util.request(api.wantBuyCount,{shopId: user.shopId},'GET').then(res => {this.setData({wantBuyCount: res})})
  5. 在xml文件中加入这两个组件,将数据显示出来
      <view class='top_nav'><view class='top_column'><view class='top_column_item' bindtap='goMySupply' data-index='1' data-route='/pages/purchase/purchase'><text class="top_column_item_count">{{supplyCount}}</text><view class='user_column_item_text'>我的车源</view></view><view class="divLine"></view><view class='top_column_item' bindtap='goMyQuote' data-index='2' data-route='/pages/purchase/purchase'><text class="top_column_item_count">{{wantBuyCount}}</text><view class='user_column_item_text'>我的求购</view></view></view></view>

    二 后端接口接受小程序请求并返回数据

后端来说比较简单,先在controller层写好和前端请求地址对应的方法,然后再service层写好对应的逻辑方法,即根据shopId查询车源和求购数量,因为我的springboot项目使用了mybatis和mybatis-generator插件,所以实体类domain层和mapper接口层都自动生成了,并且也生成了常用的CRUD方法,可以直接调用,在这里将我的代码附上。

controller层

@RequestMapping("/wx/supply")
public class WxSupplyController {@Autowiredprivate SupplyService supplyService;@GetMapping("count")public int count(Integer shopId){int number = supplyService.countByshopId(shopId);return number;}
}

service层

@Service
public class SupplyService {@Resourceprivate LitemallFormSupplyMapper formSupplyMapper;public int countByshopId(Integer shopId){LitemallFormSupplyExample example = new LitemallFormSupplyExample();LitemallFormSupplyExample.Criteria criteria = example.createCriteria();example.or().andShopIdEqualTo(shopId);return (int)formSupplyMapper.countByExample(example);}
}

 三 最后的效果图


http://chatgpt.dhexx.cn/article/o4FnnL9m.shtml

相关文章

web前端开发之微信小程序

My first wechat app 小程序目录 My first wechat app一、微信小程序1.1 微信小程序历史1.2 环境准备1.2.1 注册账号1.2.2 获取APPID1.2.3 微信开发者工具下载地址1.2.4 创建项目1.2.5 微信开发者工具介绍 二、小程序结构2.1 文件结构和web结构对比2.1.1 小程序基本配置目录2.1…

如何开发微信小程序(全解过程包括前端、后端)

微信小程序开发基础知识&#xff1a; &#xff08;1&#xff09;手机的屏幕宽度的最大为750rpx&#xff08;数据与rpx连写&#xff09;&#xff1b; &#xff08;2&#xff09;ctrls 保存即可运行新写的代码&#xff1b; &#xff08;3&#xff09;新建项目的过程&#xff1a;…

前端—微信小程序开发

随着微信的普及和微小程序的广泛应用&#xff0c;微信小程序开发越来越多受到人们的关注&#xff0c;正在成为新工科和人工智能背景下当代大学生的必备技能。 适应对象 该课程适合电子信息类专业学生进行学习。 微信小程序开发课程共六章&#xff0c;通过对微信小程序开发的…

从零开始,开发一个电商微信小程序[前端+后端(c#)]

如何快速搭建一个自己的小程序。 前言:随着微信小程序的迅速发展,用户流量巨大,开发成本低等特点,现在已经成了前端工程师必会的一个技能。 目录 一、后端MVC架构创建二、创建小程序三、实现API接口操作数据四、小程序调用后端Api一、后端MVC架构

【微信小程序】基于SpringBoot开发后端

微信小程序登录流程&#xff1a; 主要步骤&#xff1a; 1、小程序端调用 wx.login()向微信接口服务获取临时登录凭证code&#xff0c;并上传至开发者服务端。 2、开发者服务端向微信服务接口服务调用 auth.code2Session 接口&#xff0c;换取用户唯一标识OpenID和会话密钥sessi…

微信小程序后端Java接口开发

微信小程序后端Java接口开发 微信小程序使用wx.request(OBJECT)来调用后端接口。 首先 我们来一个简单案例 —— helloworld实现 1、搭建一个springboot项目并引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring…

第一个web项目-微信小程序后端开发

文章目录 第一个web项目-微信小程序后端开发前言需求分析团队分工总体设计开发工具及编码实现小程序前端后端数据库接口代码 管理系统前端1.0管理系统前端2.0 测试后端本地测试前后端联合测试 部署总结 第一个web项目-微信小程序后端开发 前言 去年暑假一个偶然的机会我和几位…

微信小程序开发(后端 Java)

微信使用的开发语言和文件很「特殊」。 小程序所使用的程序文件类型大致分为以下几种&#xff1a; ①WXML (WeiXin Mark Language&#xff0c;微信标记语言) ②WXSS (WeiXin Style Sheet&#xff0c;微信样式表) ③JS (Java&#xff0c;小程序的主体) 小伙伴们有兴趣想了解…

微信小程序开发【前端+后端(java)】

前言 现在微信小程序越来越火了&#xff0c;相信不少人都通过各种途径学习过微信小程序或者尝试开发&#xff0c;作者就是曾经由于兴趣了解开发过微信小程序&#xff0c;最终自己的毕业设计也是开发一个微信小程序。所以现在用这篇博客记录我之前开发的一些经验和一些心得吧。 …

微信小程序开发前后端交互快速入门

目录 第 1 章 小程序特点 1.1 小程序特点概述 1.2 小程序配置 全局配置&#xff1a; app.json 页面配置: 页面名称.json sitemap 配置: sitemap.json 1.3 小程序框架接口 App Page 第 2 章 wxml 语法 2.1 数据绑定 初始化数据 使用数据 修改数据 2.2 事件绑定 事…

1. KVM虚拟化理论知识

基本概念 虚拟化是指在一个物理上运行多台虚拟机&#xff0c;各虚拟机之间共享cpu、内存等资源&#xff0c;但在逻辑上是相互隔离的。这样的物理机被称为是宿主机&#xff0c;各个虚拟机被称为是客户机 虚拟化的本质是资源抽象化&#xff0c;将资源最小化&#xff0c;按需使用…

KVM(Kernel-basedVirtual Machine)虚拟化技术——超详细理论+实验!!!

文章目录 一、虚拟化技术(KVM)是什么&#xff1f;1.1 KVM技术的具体作用 二、KVM技术发展2.1 虚拟化类型 三、KVM运行时的三种模式四、KVM工作原理五、KVM特性5.1 优势5.2 劣势 六、虚拟化前、后对比6.1 虚拟化前6.2 虚拟化后 七、KVM虚拟化平台实操7.1 拓扑图7.2 虚拟机资源环…

KVM虚拟化(1) | KVM简介

目录 1、kvm架构 2、架构解析 3、kvm和qemu的作用 1、kvm架构 2、架构解析 从rhel6开始使用&#xff0c;红帽公司直接把KVM的模块做成了内核的一部分。xen用在rhel6之前的企业版中默认内核不支持&#xff0c;需要重新安装带xen功能的内核KVM 针对运行在x86 硬件上的、驻留在…

KVM 虚拟化技术 | 虚拟化平台部署

KVM 虚拟化技术 一、虚拟化技术1.1 概述1.2 类型① 全虚拟化② 半虚拟化③ 直通 1.3 特点 二、KVM2.1 概述2.2 原理2.3 虚拟化架构2.4 工作流程 三、部署 KVM 虚拟化平台3.1 宿主机最低配置3.2 环境优化① 关闭 DNS 反向解析② 将镜像光盘设置为自动挂载③ 设置本地源和网络源④…

KVM虚拟化技术(理论理解以及虚拟化平台搭建步骤)

KVM虚拟化技术 文章目录 KVM虚拟化技术一、虚拟化产生背景二 、虚拟化技术简介2.1 虚拟化技术2.2 虚拟化技术发展2.3 虚拟化类型2.4 特性 三、KVM3.1 广义KVM3.2 KVM架构以及原理3.3 KVM工作流程 四、KVM虚拟化平台部署一、虚拟机资源二、实验环境三、安装KVM三、设置KVM网络四…

KVM虚拟化技术的-NUMA技术和应用

KVM虚拟化技术的-NUMA技术和应用 NUMA技术是解决多CPU共同工作的技术方案&#xff0c;多CPU共同工作主要有3中架构&#xff1a;SMP&#xff1a;Symmetric Multi-Processor)&#xff0c;非统一存储访问结构(NUMA&#xff1a;Non-Uniform Memory Access)&#xff0c;以及海量并行…

KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机

一 .KVM 简介 KVM &#xff08;名称来自英语&#xff1a; Kernel-basedVirtual Machine 的缩写&#xff0c;即基于内核的虚拟机&#xff09; &#xff0c; 是一种用于Linux内核中的虚拟化基础设施&#xff0c;可以将Linux内核转化为一个hypervisor。KVM在2007年2月被导入Linux …

KVM-虚拟化技术之Hypervisor-架构

Hypervisor 是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件&#xff0c;因此也可以看作是虚拟环境中 的“元”操作系统&#xff0c;它可以协调访问服务器上的所有物理设备和虚拟机&#xff0c;也叫 虚拟机监视器&#xff08;…

KVM虚拟化技术学习-基础入门

1.虚拟化技术概述 虚拟化[Virtualization]技术最早出现在 20 世纪 60 年代的 IBM ⼤型机系统&#xff0c;在70年代的 System 370 系列中逐渐流⾏起来&#xff0c;这些机器通过⼀种叫虚拟机监控器[Virtual Machine Monitor&#xff0c;VMM]的程序 在物理硬件之上⽣成许多可以运⾏…

KVM虚拟化技术学习-KVM管理

二&#xff0c;KVM管理 1.升级配置 1.创建一个空磁盘卷 [rootlocalhost ~]# qemu-img create -f qcow2 /kvm/images/disk2.qcow2 5G Formatting disk2.qcow2, fmtqcow2 size5368709120 encryptionoff cluster_size65536 lazy_refcountsoff 2.修改配置文件 <disk typefi…