文章

毕设开发中一些用到的小知识

一.关于本地存储器用户信息的存储。

我们在实现登陆功能的时候会向后端发送一个请求,这个请求会去查询用户表,获取到和我们输入的用户名相同的用户信息返回给微信端。

回到微信端我们就必须考虑的问题就是如果在后续操作中我们还想用到关于用户的信息要如何操作。

显而易见,直接在登陆的时候把返回回来的用户信息存储到微信端的本地存储器。

这样我们就可以不用在每一次要用用户信息的时候都去往后端发送一次请求。可以大大节约开发时间,提升开发效率。

存:wx.setStorageSync("user",res.data.data)

取:const u  = wx.getStorageSync('user')

这样就可以在后续的逻辑判断中使用u作为这个用户的代名词。

二.关于后端的多条件查询

在对数据库进行查询的时候我们可能需要通过多个条件进行查询,这里就需要我们将基础的全部查询函数的传参数量修改为多个

然后通过构造器queryWrapper获取到我们需要查询的条件传入封装好的查询方法中即可。

代码演示如下:

@GetMapping
    @ApiOperation("全部查询")
    public ResponseResult<Page<Orders>> list(@RequestParam(defaultValue = "1") Integer page,@RequestParam(defaultValue = "10")Integer size,Integer userId,Integer programId){
        Page<Orders> ordersPage = new Page<>(page,size);
        LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(userId != null,Orders::getUserId,userId);
        queryWrapper.eq(programId != null ,Orders::getProgramId,programId);
        Page<Orders> pageList = orderService.page(ordersPage,queryWrapper);
        return ResponseResult.success(pageList);
    }

切记这样查询出来的数据可能不止一条,所以我们需要将返回值设置为一个列表,将查询到的所有订单信息放在列表中用于展示。

所以这里的返回值是一个page列表。

以下为该代码运行后具体查询页面:

3.关于wx:for与wx:for-item的使用

首先来看一下微信官方的文档解释:

然后再来看看我自己的使用:

<view wx:for="{{list}}" wx:for-item="xy" class="box1" bind:tap="turntoorder" data-id="{{xy.id}}">
  <image class="HomePicture2" src="{{xy.image}}"></image>
    <view class="HomeText2">
    <text class="Hometitle1">{{xy.name}}</text>
    <text class="HomeTitle2">{{xy.description}}</text>
    </view>
  </view>

我的理解(wx:for):

想让那个部分循环就把wx:for放在哪,放入的参数是一个数组。

放入的数组有多少位数据,你指定的部分就循环多少次(最直观的体现就是你指定的这个部分在显示的时候会出现很多个)

(wx:for-item):

最直观的理解就是给你指定的数组命一个局部使用的名字,这个名字可以让你以这个名字+.的形式使用指定数组中的数据

在上图中的体现就是各处指定的数据以xy开头(like-->xy.image/xy.description)

License:  CC BY 4.0