会议OA项目-首页->flex弹性布局,轮播图后台数据获取及组件使用(后台数据交互mockjs),首页布局

简介: 会议OA项目-首页->flex弹性布局,轮播图后台数据获取及组件使用(后台数据交互mockjs),首页布局
  • flex弹性布局
  • 轮播图后台数据获取及组件使用(后台数据交互mockjs)
  • 首页布局

1.flex弹性布局

什么是flex布局?

ex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。

2) 任何一个容器都可以指定为Flex布局。

3) display: ‘flex’

![](images/3791e575c48b3698be6a94ae1dbff79d.png)

容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end。

项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。


//oamin\app.json
{
  "pages": [
    "pages/index/index",
    "pages/meeting/list/list",
    "pages/vote/list/list",
    "pages/ucenter/index/index",
    "pages/logs/logs"
  ],
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle": "black"
  },
  "tabBar": {
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首页",
      "iconPath": "/static/tabBar/coding.png",
      "selectedIconPath": "/static/tabBar/coding-active.png"
    },
      {
        "pagePath": "pages/meeting/list/list",
        "iconPath": "/static/tabBar/sdk.png",
        "selectedIconPath": "/static/tabBar/sdk-active.png",
        "text":"会议"
      },
      {
        "pagePath": "pages/vote/list/list",
        "iconPath": "/static/tabBar/template.png",
        "selectedIconPath": "/static/tabBar/template-active.png",
        "text": "投票"
      },
      {
        "pagePath": "pages/ucenter/index/index",
        "iconPath": "/static/tabBar/component.png",
        "selectedIconPath": "/static/tabBar/component-active.png",
        "text": "设置"
      }],
  "style": "v2",
  "sitemapLocation": "sitemap.json"
         }
}
<!-- pages/vote/list/list.wxml
<text>pages/vote/list/list.wxml</text> -->
<view class="box">
<view>1</view>
<view>2</view>
<view>3</view>
<view>4</view>
<view>5</view>
<view>6</view>
<view>7</view>
<view>8</view>
<view>9</view>
<view>10</view>
<view>11</view>
<view>12</view>
</view>
/* pages/vote/list/list.wxss */
.box{
  height: 750rpx;
  width: 750rpx;
  background-color: aquamarine;
  display: flex;
  /* flex-direction: column; */
  /* flex-direction: column-reverse; */
  flex-wrap: wrap;
  /* flex-flow: row; */
  /* flex-flow: row wrap; */
  /* justify-content: flex-end; */
  align-items: flex-end;
}
view{
  height: 100rpx;
  width: 100rpx;
  border: 1px solid red;
}

flex属性

- **flex-direction** 主轴的方向  默认为row

- flex-wrap 如果一条轴线排不下,如何换行

- flex-flow  是flex-direction属性和flex-wrap属性的简写形式

- **justify-content** 定义了项目在主轴上的对齐方式

- **align-items** 定义项目在交叉轴上如何对齐

- align-content 属性定义了多根轴线的对齐方式


注意,设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。


### 学习地址(pages/vote/list/list.wxss页面的代码意思在以下链接):

2.轮播图后台数据获取及组件使用(后台数据交互mockjs)

//oamin\config\app.js
// 以下是业务服务器API地址
 // 本机开发API地址
 var WxApiRoot = 'http://localhost:8080/demo/wx/';
 // 测试环境部署api地址
 // var WxApiRoot = 'http://192.168.0.101:8070/demo/wx/';
 // 线上平台api地址
 //var WxApiRoot = 'https://www.oa-mini.com/demo/wx/';
 module.exports = {
   IndexUrl: WxApiRoot + 'home/index', //首页数据接口
   SwiperImgs: WxApiRoot+'swiperImgs', //轮播图
   MettingInfos: WxApiRoot+'meeting/list', //会议信息
 };
// index.js
// 获取应用实例
const app = getApp()
const api=require("../../config/app.js")
Page({
  data: {
    imgSrcs:[]
  },
  // 事件处理函数
  bindViewTap() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  loadSwiperImgs(){
    let that=this;
    wx.request({
        url: api.SwiperImgs,
        dataType: 'json',
        success(res) {
          console.log(res)
          that.setData({
              imgSrcs:res.data.images
          })
        }
      })
  },
  onLoad() {
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }
    this.loadSwiperImgs();
  },
  getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
    wx.getUserProfile({
      desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
      success: (res) => {
        console.log(res)
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    })
  },
  getUserInfo(e) {
    // 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息
    console.log(e)
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  }
})
<!--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>

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 class="mobi-title">
    <text class="mobi-icon"></text>
    <text>会议信息</text>
</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}}"></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 bottom-line">
    <text>到底啦</text>
</view>
/**index.wxss**/
.mobi-title{
background-color: lightgray;
padding: 10px;
}
.mobi-icon{
  border:1rpx solid red;
  margin-right: 5px;
}
.mobi-title text{
  font-weight: 700;
  color: #7B7B7B;
}
.list{
display: flex;
align-items: center;
/* background-color: lightblue; */
border-bottom: 3px solid lightgray;
}
.list-img{
padding:0 10px;
}
.video-img{
height: 80px;
width: 80px;
}
.list-detail{
}
.list-title{
font-weight: 700;
margin: 3px 0;
}
.list-tag{
display: flex;
align-items: center;
}
.state{
border:1px solid lightblue;
padding: 3px 6px;
color: lightblue;
margin: 0 5px 10px 0;
}
.join{
color: lightblue;
}
.list-num{
  color: red;
  font-weight: 700;
}
.list-info{
color: lightblue;
font-size: 12px;
}

目录
相关文章
|
4月前
|
SQL 存储 JavaScript
Layui之OA会议增删改查
Layui之OA会议增删改查
39 0
|
4月前
|
开发框架 JavaScript 前端开发
J2EE项目部署与发布(Windows版本)->会议OA单体项目Windows部署,spa前后端分离项目Windows部署
J2EE项目部署与发布(Windows版本)->会议OA单体项目Windows部署,spa前后端分离项目Windows部署
31 0
|
4月前
会议OA项目-其它页面->自定义组件应用,其它界面的布局
会议OA项目-其它页面->自定义组件应用,其它界面的布局
25 0
|
1月前
|
UED
点晴OA办公系统如何实现业务表单的自定义设计
在点晴OA办公系统中,业务表单的自定义设计是一项重要的功能,它能够满足企业不同的业务需求,提高工作效率和协作能力。 随着企业的发展,不同的业务部门需要处理各种类型的表单,如人事表单、财务表单、项目表单等。如果这些表单无法根据实际需求进行自定义设计,就会导致工作效率低下、信息不准确、协作困难等问题。因此,实现业务表单的自定义设计是提高企业办公效率和协作能力的重要手段。
23 0
|
1月前
企业都是用谁家的OA办公系统?
好的免费OA办公系统都有哪几家,下面让我们来一起看看吧!
17 1
|
1月前
免费OA办公系统的选购指南
使用点晴免费OA办公系统可以提高工作效率和管理水平,优化工作流程,降低沟通成本,减轻办公室工作负担,提高工作质量和效率,为企业提供更好的服务。
23 2
|
1月前
|
BI
四款OA办公系统快速提高企业效率
拥有合适企业的OA系统不仅可以实现办公自动化而且还能提高企业效率,今天盘点以下几家的OA办公系统。
29 0
|
2月前
|
数据安全/隐私保护
免费OA办公系统,提升工作效率与协作的智能选择
在当今快节奏的时代中,企业需要一种高效、智能的办公系统来提升工作效率,促进团队协作,并实现更好的信息管理。点晴OA办公系统是真正免费使用的,成为现在企业管理的重要工具之一。
30 2
|
2月前
点晴免费OA系统助理企业高效管理
随着信息时代的发展,企业管理正迎来一场数字化变革的风暴。点晴OA系统作为真正免费OA办公系统,成为企业构建免费OA办公系统的青睐。
20 2
|
2月前
点晴OA系统助力企业轻松管理工作
在现代社会,办公效率的提升是每个企业和个人都追求的目标,因此越来越多的企业纷纷引入免费OA办公系统来提升办公效率。
22 2