微信小程序之首页-后台交互及WXS的使用

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

目录

前言 

一. 前后台数据交互及封装request

1.准备后台

1.1 配置数据源

 1.2 部分后台获取数据方法编写

2.准备前端

2.1封装Request

2.2 前端JS方法编写

2.3 前端页面展示index.wxml

二.WXS的使用

1.简介

2.WXS优化OA系统

 2.1 使用及定义

2.2 导入要使用的项目

2.3 优化会议状态

2.4 优化人数参与

2.5 优化时间格式

 最终效果展示


前言 

本期为大家带来微信小程序之首页-后台交互WXS的使用,将前端进行数据交互,并介绍WXS的使用

微信小程序之首页-后台交互及WXS的使用,微信小程序,小程序,学习

一. 前后台数据交互及封装request

1.准备后台

技术栈:springboot+mybatis

1.1 配置数据源

首先在我们的配置文件config/api中配置数据接口,因为等下需要启动后台,所以这里测试使用本地,WxApiRoot修改成自己的数据接口地址

// 以下是业务服务器API地址
 // 本机开发API地址
 var WxApiRoot = 'http://localhost:8080/wx/';
 
 module.exports = {
   IndexUrl: WxApiRoot + 'home/index', //首页数据接口
   SwiperImgs: WxApiRoot+'swiperImgs', //轮播图
   MettingInfos: WxApiRoot+'meeting/list', //会议信息
 };

 1.2 部分后台获取数据方法编写

@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);
    }
}

2.准备前端

2.1封装Request

在utils/util.js中进行封装Request,并在执行方法前进行定义

/**
 * 封装微信的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',
      },
module.exports = {
  request
}

注:定义封装完request方法一定不要忘记在下方模块中进行导入使用

2.2 前端JS方法编写

通过loadMeetingInfos调用后端定义好的数据接口,并将其展示在前端

 loadMeetingInfos(){
    util.request(api.IndexUrl).then(res=>{
      this.setData({
              lists:res.data.infoList
          })
    })
  },

注: 其中的api、util不要忘了在JS顶部进行定义

const api = require("../../config/app.js")
const util = require("../../utils/util.js")

 在加载的方法中进行调用该方法

onLoad() {
    this.loadMeetingInfos();
  },

2.3 前端页面展示index.wxml

<view>
  <swiper indicator-dots="true" autoplay="true">
        <block wx:for="{{imgSrcs}}" wx:key="text">
          <swiper-item>
            <image src="{{item.img}}"></image>
          </swiper-item>
        </block>
      </swiper>
</view>
<view style="height: 60px;"></view>
<block wx:for-items="{{lists}}" wx:for-item="item" wx:key="item.id">
  <view class="list" data-id="{{item.id}}">
    <view class="list-img">
      <image class="video-img" mode="scaleToFill" src="{{item.image != null ?item.image : '/static/meeting/会议.jpg'}}"></image>
    </view>
    <view class="list-detail">
      <view class="list-title"><text>{{item.title}}</text></view>
      <view class="list-tag">
        <view class="state">{{item.state}}</view>
        <view class="join"><text class="list-num">{{item.num}}</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>

效果展示

 微信小程序之首页-后台交互及WXS的使用,微信小程序,小程序,学习

二.WXS的使用

1.简介

WXS(WeiXin Script)是内联在 WXML 中的脚本段。通过 WXS 可以在模版中内联少量处理脚本,丰富模板的数据预处理能力。

WXS 允许开发者在微信小程序中进行逻辑处理和数据操作。它的设计目标是为了解决一些在 WXML(WeiXin Markup Language)和 JavaScript 中难以处理的问题,提供更灵活的逻辑处理能力。

  1. 数据绑定和计算: WXS 可以用于处理数据绑定和计算。在小程序中,WXML 用于描述页面的结构,WXS 则可以用来进行一些数据的逻辑操作,比如条件判断、循环等。

  2. 独立模块: WXS 可以被视为一种独立的模块,有自己的作用域,可以定义自己的变量和函数。这使得开发者可以更好地组织代码,避免全局变量的冲突。

  3. 与 JavaScript 的关系: WXS 与 JavaScript 是有区别的,虽然它们有相似的语法,但在小程序中,WXS 有一些限制和特定的用途。例如,WXS 不具备 DOM 操作能力,不能直接操作页面的结构。

  4. 运行环境: WXS 运行在一个独立的环境中,与页面的生命周期不同步。它不支持页面事件,主要用于数据处理和计算

2.WXS优化OA系统

 2.1 使用及定义

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

微信小程序之首页-后台交互及WXS的使用,微信小程序,小程序,学习

2.2 导入要使用的项目

 导入到我们要使用的wxml的页面中

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

2.3 优化会议状态

编写优化会议状态函数并进行导入

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
};

在wxml中进行函数调用(tools为导入wxs时的名称)

<view class="state">{{tools.getStateName(item.state)}}</view>

效果演示

微信小程序之首页-后台交互及WXS的使用,微信小程序,小程序,学习 

2.4 优化人数参与

编写优化人数参与函数并进行导入

function getNum(liexize,canyuze,zhuchiren){
  var person = liexize+","+canyuze+","+zhuchiren;
  return person.split(',').length;
}

在wxml中进行函数调用

<view class="join"><text class="list-num">{{tools.getNum(item.canyuze,item.liexize,item.zhuchiren)}}</text>人报名</view>

效果演示

微信小程序之首页-后台交互及WXS的使用,微信小程序,小程序,学习

注:传参时一定要传所有参数 

2.5 优化时间格式

编写优化时间格式参与函数并进行导入,将当前时间当作参数进行传递,并格式化进行返回输出

function formatDate(ts, option) {
  var date = getDate(ts)
  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var day = date.getDate()
  var week = date.getDay()
  var hour = date.getHours()
  var minute = date.getMinutes()
  var second = date.getSeconds()
  
  //获取 年月日
  if (option == 'YY-MM-DD') return [year, month, day].map(formatNumber).join('-')

  //获取 年月
  if (option == 'YY-MM') return [year, month].map(formatNumber).join('-')

  //获取 年
  if (option == 'YY') return [year].map(formatNumber).toString()

  //获取 月
  if (option == 'MM') return  [mont].map(formatNumber).toString()

  //获取 日
  if (option == 'DD') return [day].map(formatNumber).toString()

  //获取 年月日 周一 至 周日
  if (option == 'YY-MM-DD Week')  return [year, month, day].map(formatNumber).join('-') + ' ' + getWeek(week)

  //获取 月日 周一 至 周日
  if (option == 'MM-DD Week')  return [month, day].map(formatNumber).join('-') + ' ' + getWeek(week)

  //获取 周一 至 周日
  if (option == 'Week')  return getWeek(week)

  //获取 时分秒
  if (option == 'hh-mm-ss') return [hour, minute, second].map(formatNumber).join(':')

  //获取 时分
  if (option == 'hh-mm') return [hour, minute].map(formatNumber).join(':')

  //获取 分秒
  if (option == 'mm-dd') return [minute, second].map(formatNumber).join(':')

  //获取 时
  if (option == 'hh')  return [hour].map(formatNumber).toString()

  //获取 分
  if (option == 'mm')  return [minute].map(formatNumber).toString()

  //获取 秒
  if (option == 'ss') return [second].map(formatNumber).toString()

  //默认 时分秒 年月日
  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
}

function getWeek(n) {
  switch(n) {
      case 1:
      return '星期一'
      case 2:
      return '星期二'
      case 3:
      return '星期三'
      case 4:
      return '星期四'
      case 5:
      return '星期五'
      case 6:
      return '星期六'
      case 7:
      return '星期日'
  }

 最终效果展示

微信小程序之首页-后台交互及WXS的使用,微信小程序,小程序,学习

 WXS更多的是将函数储存在公共文件中供所有其他页面进行导入获取使用,可以提高我们代码的便捷和减少我们的代码量

今天的分享到这里就结束了,感谢各位大大的观看,各位大大的三连是博主更新的动力,感谢谢谢谢谢谢谢谢谢各位的支持!!!!! 

微信小程序之首页-后台交互及WXS的使用,微信小程序,小程序,学习文章来源地址https://www.toymoban.com/news/detail-712892.html

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

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

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

相关文章

  • 微信小程序数据交互------WXS的使用

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

    2024年02月05日
    浏览(46)
  • 小程序实现后台数据交互及WXS的使用

    后端部分代码,可自行创建后端代码 pom.xml的配置: 根据自己有更多需求进行应用配置的增加 访问所有数据   为了后期方便维护,我们先将所有的后端接口通过一个文件来保存,在根目录下新建config文件夹随后建立api.js文件 1.2.1请求方式的封装 在/utils/util.js中添加下列代码

    2024年02月07日
    浏览(30)
  • 小程序之后台数据动态交互及WXS的使用 (5)

                                                    ⭐⭐ 小程序专栏:小程序开发专栏                                                 ⭐⭐ 个人主页:个人主页 目录 一.前言 二.后台数据交互   2.1 准备工作  2.1 前台首页数据连接: 三.WXS的使用 今天就分享到

    2024年02月08日
    浏览(28)
  • 微信小程序前后端交互与WXS的应用

    目录 前言 一、后台数据交互 1.数据表 2.后端代码的实现 3.前后端交互 3.1.后端接口URL管理 3.2.发送后端请求 3.3.请求方式的封装 4.前端代码的编写 二、WXS的使用 1、.wxs 文件 2.综合运用 当今社交媒体的普及使得微信小程序成为了一种流行的应用开发形式。微信小程序不仅可以

    2024年02月08日
    浏览(43)
  • 【微信小程序】后台数据交互于WX文件使用

    目录 一、前期准备 1.1 数据库准备 1.2 后端数据获取接口编写 1.3 前端配置接口 1.4 封装微信的request请求   二、WXS文件的使用 2.1 WXS简介 2.2 WXS使用   三、后台数据交互完整代码 3.1 WXML 3.2 JS 3.3 WXSS 效果图  创建数据库: 注意: 字符集选择 utf8mb4 ,因为可能用存储用户信息,

    2024年02月08日
    浏览(35)
  • 微信小程序 —— 会议OA项目首页布局与Mock数据交互

    14天阅读挑战赛 如果世界上有奇迹,那一定是努力的另一个名字。 目录 一、小程序布局 1.1 Flex布局 1.2 Flex属性   二、OA会议首页搭建 2.1 首页底部菜单 2.2 创建后端结口 2.3 Mock模拟数据 2.4 首页轮播图搭建 2.5 首页内容搭建  布局的传统解决方案,基于盒状模型,依赖 dis

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

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

    2024年02月06日
    浏览(37)
  • 微信小程序之会议OA系统首页布局搭建与Mock数据交互

    目录 前言 一、Flex 布局( 分类 编程技术) 1、Flex布局是什么? 2、基本概念 3、容器的属性 3.1 flex-direction属性 3.2 flex-wrap属性 3.3 flex-flow 3.4 justify-content属性 3.5 align-items属性 3.6 align-content属性 4、项目的属性 4.1 order属性 4.2 flex-grow属性 4.3 flex-shrink属性 4.4 flex-basis属性 4.5 fl

    2024年02月08日
    浏览(36)
  • 微信小程序WXS模块的使用

    common.wxs var foo=“‘hello world’ from common.wxs” //inArray方法 判断数组中是否存在某元素 function inArray(arr,val){ return arr.indexOf(val)-1 } var msg=“some msg” //module 对象 每个 wxs 模块均有一个内置的 module 对象。 //属性 exports: 通过该属性,可以对外共享本模块的私有变量与函数。 module.

    2024年04月13日
    浏览(27)
  • 原生微信小程序使用 wxs;微信小程序使用 vant-weapp组件

    在这里插入图片描述 操作顺序 :文档地址 如果使用 typescript 需要操作步骤3,否则不需要操作 2.1 在根目录下 操作 2.2 安装版本 2.3 构建包 - 详情-勾选使用 npm 2.4 使用 vant 组件

    2024年02月11日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包