【微信小程序】后台数据交互于WX文件使用

这篇具有很好参考价值的文章主要介绍了【微信小程序】后台数据交互于WX文件使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、前期准备

1.1 数据库准备

1.2 后端数据获取接口编写

1.3 前端配置接口

1.4 封装微信的request请求

 文章来源地址https://www.toymoban.com/news/detail-721451.html

二、WXS文件的使用

2.1 WXS简介

2.2 WXS使用

 

三、后台数据交互完整代码

3.1 WXML

3.2 JS

3.3 WXSS

效果图 


一、前期准备

1.1 数据库准备

创建数据库:

注意:字符集选择utf8mb4,因为可能用存储用户信息,而有些用户包含emoji标签,用该字符集可以进行存储显示。

【微信小程序】后台数据交互于WX文件使用,微信小程序,java,微信小程序,小程序 

会议表结构: 

【微信小程序】后台数据交互于WX文件使用,微信小程序,java,微信小程序,小程序

1.2 后端数据获取接口编写

package com.ycxw.minoa.wxcontroller;

import com.ycxw.minoa.mapper.InfoMapper;
import com.ycxw.minoa.model.Info;
import com.ycxw.minoa.util.ResponseUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @Autho 云村小威
 * @Since 2023/10/21
 */
@RestController
@RequestMapping("/wx/home")
public class WxHomeController {
    @Autowired
    private InfoMapper infoMapper;
    @RequestMapping("/index")
    public Object index(Info info) {
        List<Info> infoList = infoMapper.list(info);
        Map<Object, Object> data = new HashMap<Object, Object>();
        data.put("infoList",infoList);
        return ResponseUtil.ok(data);
    }
}

1.3 前端配置接口

创建config文件夹 --> api.js文件: 

// 以下是业务服务器API地址
 // 本机开发API地址
 var WxApiRoot = 'http://localhost:8080/wx/';
 // 测试环境部署api地址
 // var WxApiRoot = 'http://192.168.0.101:8070/wx/';
 // 线上平台api地址
 //var WxApiRoot = 'https://www.oa-mini.com/wx/';
 
 module.exports = {
   IndexUrl: WxApiRoot + 'home/index', //首页数据接口
 };

1.4 封装微信的request请求

通过分装微信request请求减少每次都需编写重复的请求代码:

utils/util.js: 

/**
 * 封装微信的request请求
 */
function request(url, data = {}, method = "GET") {
  return new Promise(function (resolve, reject) {
    wx.request({
      url: url,
      data: data,
      method: method,
      header: {
        'Content-Type': 'application/json',
      },
      success: function (res) {
        if (res.statusCode == 200) {
            resolve(res.data);//会把进行中改变成已成功
        } else {
          reject(res.errMsg);//会把进行中改变成已失败
        }
      },
      fail: function (err) {
        reject(err)
      }
    })
  });
}

module.exports = {
  request
}

二、WXS文件的使用

2.1 WXS简介

        WXS(WeiXin Script)是内联在 WXML 中的脚本段。通过 WXS 可以在模版中内联少量处理脚本,丰富模板的数据预处理能力。另外, WXS 还可以用来编写简单的 WXS 事件响应函数。

从语法上看, WXS 类似于有少量限制的 JavaScript 。要完整了解 WXS 语法,请参考WXS 语法参考。

2.2 WXS使用

1、首先在utils目录下创建common.wxs,这个文件存放我们所有的函数方法

//会议人数
function getNum(liexize,canyuze,zhuchiren){
  var person = liexize+","+canyuze+","+zhuchiren;
  return person.split(',').length;
}
 
//会议状态
function getStateName(state){
  if (state == 1){
    return "待审核"
  }else if (state == 1){
    return "审核通过"
  }else if (state == 1){
    return "审核不通过"
  }else if (state == 1){
    return "待开"
  }
  return "其他";
}

//导出方法
module.exports = {
  getStateName:getStateName,
  getNum:getNum
};

 

2、将它导入绑定到需要使用的WXML中

<wxs src="/utils/common.wxs" module="tools" />

【微信小程序】后台数据交互于WX文件使用,微信小程序,java,微信小程序,小程序

3、通过定义的module属性值即可调用方法

<view class="state">{{tools.getStateName(xxx数据)}}</view>

 【微信小程序】后台数据交互于WX文件使用,微信小程序,java,微信小程序,小程序

三、后台数据交互完整代码

3.1 WXML

<wxs src="/utils/common.wxs" module="tools" />
<view class="indexbg">
    <swiper autoplay="true" indicator-dots="true" indicator-color="#fff" indicator-active-color="#00f" style="height: 190px;">
        <block wx:for="{{imgSrcs}}" wx:key="text">
            <swiper-item>
                <view>
                    <image src="{{item.img}}" class="swiper-item" />
                </view> 
            </swiper-item>
        </block>
    </swiper>
    <view class="mobi-title">
        <text class="mobi-text">会 议 信 息</text>
    </view>
    <block wx:for-items="{{lists}}" wx:for-item="item" wx:key="item.id" class="bg">
        <view class="list" data-id="{{item.id}}">
            <view class="list-img">
                <image class="video-img" mode="scaleToFill" src="{{item.image != null ? item.image : '/static/images/avatar.png'}}"></image>
            </view>
            <view class="list-detail">
                <view class="list-title"><text>{{item.title}}</text></view>
                <view class="list-tag">
                  <view class="state">{{tools.getStateName(item.state)}}</view>
                  <view class="join">
                    <text class="list-num">{{tools.getNum(item.canyuze,item.liexize,item.zhuchiren)}}</text> 人报名
                  </view>
                </view>
                <view class="list-info"><text>{{item.location}}</text>|<text>{{item.starttime}}</text></view>
            </view>
        </view>
    </block>
    <view class="section">
        <text>到底啦</text>
    </view>
</view>

3.2 JS

// index.js
// 获取应用实例
const app = getApp()
const api = require("../../config/api")
const util = require("../../utils/util.js")

Page({
    data: {
        imgSrcs: [ {
          "img": "https://1.s91i.faiusr.com/4/AFsI4uYPEAQYACDw69bhBSjulrWKBTDABzicBA!800x800.png?_tm=3&v=1556100764632",
          "text": "1"
        },
        {
          "img": "https://img.zcool.cn/community/01e71e61e7c7ba11013e8cd0236304.jpg?x-oss-process=image/auto-orient,1/resize,m_lfit,w_1280,limit_1/sharpen,100",
          "text": "2"
        },
        {
          "img": "https://ts1.cn.mm.bing.net/th/id/R-C.022f2e37a033ca3c5754d2f32e8132a1?rik=9ysyMcx6nMOilg&riu=http%3a%2f%2fres.picxiaobai.com%2ftxb%2ftemplate%2fpre%2f20200517%2fd7580b5326b45a612dbf2c1904bc6ca2.jpg%3fv%3d1589705812%26x-oss-process%3dimage%2fresize%2cw_500&ehk=mHQV45sPbW8QB5iv%2ftSXZeasTn4bN6d%2bdLOtwiOYpl8%3d&risl=&pid=ImgRaw&r=0&sres=1&sresct=1",
          "text": "3"
        },
        {
          "img": "https://bpic.588ku.com/Templet_origin_pic/05/08/59/20760ea806f4a490f73c577d69e8ffe8.jpg",
          "text": "4"
        },
        {
          "img": "https://img.tukuppt.com/ad_preview/00/10/75/5d78cd9a6a9b4.jpg!/fw/780",
          "text": "5"
        },
        {
          "img": "https://1.s91i.faiusr.com/4/AFsI4uYPEAQYACDv69bhBSiCruq3BTDABzicBA!800x800.png?v=1556100745578",
          "text": "6"
        }],
        lists: []
    },
    // 事件处理函数
    bindViewTap() {
        wx.navigateTo({
            url: '../logs/logs'
        })
    },

   //首页会议信息的ajax
   loadMeetingInfos() {
      util.request(api.IndexUrl).then(res => {
        this.setData({
        lists: res.data.infoList
      })
    })
  },
 
    onLoad() {
        if (wx.getUserProfile) {
            this.setData({
                canIUseGetUserProfile: true
            })
        }

        this.loadMeetingInfos();
    }

})

3.3 WXSS

/**index.wxss**/
.userinfo {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #aaa;
}

.userinfo-avatar {
  overflow: hidden;
  width: 128rpx;
  height: 128rpx;
  margin: 20rpx;
  border-radius: 50%;
}

.usermotto {
  margin-top: 200px;
}

/**index.wxss**/
.section {
  color: #aaa;
  display: flex;
  justify-content: center;
}

.list-info {
  color: #aaa;
}

.list-num {
  color: red;
  /* font-weight: 700; */
}

.join {
  padding: 0px 0px 0px 10px;
  color: #aaa;
}

.state {
  margin: 3px 6px 0px 0px;
  border: 1px solid #4083ff;
  color: #4083ff;
  padding: 3px 5px 3px 5px;
}

.list-tag {
  padding: 3px 0px 10px 0px;
  display: flex;
  align-items: center;
}

.list-title {
  display: flex;
  justify-content: space-between;
  font-size: 11pt;
  color: #333;
  font-weight: bold;


}

.list-detail {
  display: flex;
  flex-direction: column;
  margin: 0px 0px 0px 15px;
}

.video-img {
  margin-top: 8px;
  width: 90px;
  height: 90px;
}

.list {
  display: flex;
  flex-direction: row;
  background-color: rgb(232, 240, 245);
  border-bottom: 1px solid #ccd1d3;
  padding: 10px;
}

.mobi-text {
  font-weight: 700;
  padding: 15px;
  color: white;
}

/* .mobi-icon {
  border-left: 5px solid #57f564;
} */
.indexbg{
    background-color: rgba(219, 219, 219, 0.678);
}

.mobi-title {
  display: flex;
  align-items: center;
  height: 40px;
  background-color: rgba(69, 147, 250, 0.678);
}

.swiper-item {
  height: 345rpx;
  width: 100%;
  border-radius: 10rpx;
}

.userinfo {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #aaa;
}

.userinfo-avatar {
  overflow: hidden;
  width: 128rpx;
  height: 128rpx;
  margin: 20rpx;
  border-radius: 50%;
}

.usermotto {
  margin-top: 200px;
}

效果图 

【微信小程序】后台数据交互于WX文件使用,微信小程序,java,微信小程序,小程序

 

到了这里,关于【微信小程序】后台数据交互于WX文件使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【微信小程序】6天精准入门(第5天:利用案例与后台的数据交互)附源码

            在小程序中,与后台交互指的是小程序前端与后台服务器之间的数据通信和请求处理过程。通过与后台交互,小程序能够获取服务器端的数据、上传用户数据、发送请求等。         小程序与后台交互可以实现数据的传输、用户认证、实时消息推送等功能,为

    2024年02月08日
    浏览(47)
  • 微信小程序——后台交互

    目录 后台准备 pom.xml 配置数据源 整合mtbatis 前后端交互  method1  method2 生成mapper接口、model实体类以及mapper映射文件 启动类 然后启动后台即可 首先在index.js中编写以下方法 然后在该页面下方生命周期函数——监听页面加载代码块下编写以下方法 由于后台是没有数据图片的,

    2024年02月06日
    浏览(48)
  • 微信小程序之后台首页交互

    目录 一.与后台数据进行交互request封装 后台准备 测试结果 ​编辑   前端  测试结果  二.wxs的介绍以及入门  测试结果 后台准备 pom.xml文件编写 建立数据表 建立数据请求地址类  定义接口类  测试结果    前端 先关闭mock    先编写url地址  编写utils.js 编写index.js   编写

    2024年02月08日
    浏览(54)
  • 微信小程序之网络数据请求 wx:request的简单使用

    出于安全性方面的考虑,小程序官方对 数据接口的请求 做出了两个限制: 只能请求 HTTPS 类型的接口必须将接口的域名添加到信任列表中 . 在自己的微信小程序开发的后台管理中添加相应的服务器域名,配置步骤: 登录微信小程序管理后台 - 开发 - 开发设置 - 服务器域名

    2024年02月16日
    浏览(44)
  • 微信小程序之会议OA首页后台交互

    springboot+mybatis appliation.yml 生成mapper接口,model实体类,mapper映射文件 application.yml 在启动类 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象

    2024年02月20日
    浏览(44)
  • 微信小程序进阶——后台交互个人中心授权登录

    目录 一、小程序登录微信登录接口演示 1.1 项目导入 1.2 method1  1.3 method2 二、小程序授权登录 2.1 登录过程 2.1.1 详解 2.1.2 图解 2.2 后端代码导入 2.3 前端代码导入 ​编辑 2.4 案例演示 前端代码如下: 2.4.1 前端调用接口地址 2.4.2 个人中心 后端代码如下: 2.5 效果演示    然后

    2024年02月02日
    浏览(40)
  • 微信小程序之会议OA个人中心后台交互

    目录 获取用户昵称头像和昵称 小程序登录 登录-小程序 wx.checkSession wx.login wx.request 后台 准备数据表 反向生成工具生成 准备封装前端传过来的数据 小程序服器配置 导入微信小程序SDK application.yml WxProperties WxConfig WxAuthController 登录-小程序 login.js user.js util.js emoji wx.getUserProfi

    2024年02月22日
    浏览(72)
  • 微信小程序数据交互------WXS的使用

                                                      🎬 艳艳耶✌️:个人主页                                                   🔥 个人专栏 :《Spring与Mybatis集成整合》《Vue.js使用》                                                   ⛺️ 越努力 ,越幸运

    2024年02月05日
    浏览(59)
  • 微信小程序 - wx.getFileSystemManager()文件管理器

    wx.getFileSystemManager() ,微信小程序处理文件的方法,可以获取全局唯一的文件管理器。它包括的方法有:

    2024年02月10日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包