软工网络15团队作业8——Beta阶段敏捷冲刺(Day6)

提供当天站立式会议照片一张

每个人的工作

1.讨论项目每个成员的昨天进展

赵铭: 数据库整理。
吴慧婷:我的世界界面完成部分。
陈敏: 我的世界功能——学习情况功能完成。
吴雅娟:我的世界功能——学习情况功能完成。
杨娟: 我的世界界面改进。
叶金蕾:我的世界功能——学习情况功能完成。

2.讨论项目每个成员的存在问题

赵铭: 数据库最后与前端还是不能用
吴慧婷:到了截止时间,功能还是没有很好的完成,还是有一些滞留。能力有待提高。
陈敏: 写代码能力有限,花的时间多。
吴雅娟:做功能的时候遇到的问题比较多,很多特有的标签属性不熟悉。
杨娟: 一边学习一边做进度比较慢。
叶金蕾:帮忙查阅了做签到功能和界面改进的代码,但是界面设计这一块一直出现显示不完全的问题,在队员的帮助下才修改了这一个bug。

3.讨论项目每个成员的今天安排

赵铭: 测试数据库能不能用。
吴慧婷:完成滞留的任务,改善不完整的功能。
陈敏: 继续学习并对各按钮功能进行改进。
吴雅娟:完善各个按钮的功能,以及我的词库功能的改进。
杨娟: 学习情况界面以及改善所有界面。
叶金蕾:帮助队友完成功能改进。

4.每个人的具体贡献

赵铭: 数据库。
吴慧婷:完善我的世界界面。
陈敏: 参与完成按钮功能。
吴雅娟:完成各个按钮功能以及界面功能改进。
杨娟: 改善我的词库界面。
叶金蕾:参与完成界面改进。

发布项目燃尽图

每人的代码/文档签入(截图+链接)

链接:https://gitee.com/whting/word_wechat_applet/commits/beta

最新模块的代码—代码上有注解,符合规范

// wodeciku.js
const app = getApp()

Page({
  data: {
    // tab切换
    currentTab: 0,
    list: [
      { alphabet: 'Top', datas: ['abacus'] },
      { alphabet: 'A', datas: [] },
      { alphabet: 'B', datas: [] },
      { alphabet: 'C', datas: [] },
      { alphabet: 'D', datas: [] },
      { alphabet: 'E', datas: ['esome', 'eentries', 'eare here'] },
      { alphabet: 'F', datas: ['fsome', 'fentries', 'are here'] },
      { alphabet: 'G', datas: ['gsome', 'gentries', 'gare here'] },
      { alphabet: 'H', datas: ['hsome', 'hentries', 'hare here'] },
      { alphabet: 'I', datas: ['isome', 'ientries', 'iare here'] },
      { alphabet: 'J', datas: ['jsome', 'jentries', 'jare here'] },
      { alphabet: 'K', datas: ['ksome', 'kentries', 'kare here'] },
      { alphabet: 'L', datas: ['lsome', 'lentries', 'lare here'] },
      { alphabet: 'M', datas: ['msome', 'mentries', 'mare here'] },
      { alphabet: 'N', datas: ['nsome', 'nentries', 'nare here'] },
      { alphabet: 'O', datas: ['osome', 'oentries', 'oare here'] },
      { alphabet: 'P', datas: ['psome', 'pentries', 'pare here'] },
      { alphabet: 'Q', datas: ['qsome', 'qentries', 'qare here'] },
      { alphabet: 'R', datas: ['rsome', 'rentries', 'rare here'] },
      { alphabet: 'S', datas: ['some', 'sentries', 'sare here'] },
      { alphabet: 'T', datas: ['tsome', 'tentries', 'tare here'] },
      { alphabet: 'U', datas: ['usome', 'uentries', 'uare here'] },
      { alphabet: 'V', datas: ['vsome', 'ventries', 'vare here'] },
      { alphabet: 'W', datas: ['wsome', 'wentries', 'ware here'] },
      { alphabet: 'X', datas: ['xsome', 'xentries', 'xare here'] },
      { alphabet: 'Y', datas: ['ysome', 'yentries', 'yare here'] },
      { alphabet: 'Z', datas: ['zsome', 'zentries', 'zare here'] },
    ],
    alpha: '',
    windowHeight: '',
  },
  swichNav: function (e) {
    if (this.data.currentTab === e.target.dataset.current) {
      return false;
    } else {
      this.setData({
        currentTab: e.target.dataset.current
      })
    }
  },
  bindChange: function (e) {
    this.setData({ currentTab: e.detail.current });
  },
  onLoad(options) {
    try {
      var res = wx.getSystemInfoSync()
      this.pixelRatio = res.pixelRatio;
      // this.apHeight = 32 / this.pixelRatio;
      // this.offsetTop = 160 / this.pixelRatio;
      this.apHeight = 16;
      this.offsetTop = 80;
      this.setData({ windowHeight: res.windowHeight + 'px' })
    } catch (e) {
    }
  },
  handlerAlphaTap(e) {
    let { ap } = e.target.dataset;
    this.setData({ alpha: ap });
  },
  handlerMove(e) {
    let { list } = this.data;
    let moveY = e.touches[0].clientY;
    let rY = moveY - this.offsetTop;
    if (rY >= 0) {
      let index = Math.ceil((rY - this.apHeight) / this.apHeight);
      if (0 <= index < list.length) {
        let nonwAp = list[index];
        nonwAp && this.setData({ alpha: nonwAp.alphabet });
      }
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */

})
<!--wodeciku.wxml-->
<view class="container">
  <view class="swiper-tab">
    <view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">全部词汇</view>
    <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">特殊词汇</view>
    <view class="swiper-tab-list {{currentTab==2 ? 'on' : ''}}" data-current="2" bindtap="swichNav">新建词汇</view>
  </view>
</view>
<swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:600px" bindchange="bindChange">
  <swiper-item class="swiper">
    <scroll-view scroll-y style="height: 600px" scroll-into-view="{{alpha}}">
    <view class="alphabet">
      <view class="alphabet-list">
        <view wx:for="{{list}}" wx:key="unique" id="{{item.alphabet}}" class="section-item" wx:if="{{index!=0}}">
          <view class="section-item-header">
            {{item.alphabet}}
          </view>
          <view wx:for="{{item.datas}}" wx:key="unique" wx:for-item="cell" wx:for-index="cellIndex" class="section-item-cells">
            <view class="section-item-cell {{cellIndex != (item.datas.length-1) ? 'border-bottom':''}}">
              <text>{{cell}}</text>
            </view>
          </view>
        </view>
      </view>
      </view>
    </scroll-view>
    <view data-id="selector" catchtouchstart="handlerAlphaTap" catchtouchmove="handlerMove" class="alphanet-selector">
      <view data-ap="{{item.alphabet}}" wx:for="{{list}}" wx:key="unique" class="selector-one">
        {{item.alphabet}}
      </view>
    </view>
  </swiper-item>
  <swiper-item>
    
  </swiper-item>
  <swiper-item>
   <view class='section'>
      <view class='section__title'>单词</view>
      <input bindinput='bindTitleInput' placeholder='请输入单词' value='{{content}}' />
    </view>
    <view class='section'>
      <view class='section__title'>词义</view>
      <input bindinput='bindAccountInput' type='digit' placeholder='请输入词义' value='{{definition}}'/>
    </view>
    <view class="section">
       <view class='section__title'>例句</view>
       <input bindinput='bindAccountInput' type='digit' placeholder='请输入例句' value='{{definition}}'/>
		</view>
    <view class="section">
       <view class='section__title'>助记</view>
       <input bindinput='bindAccountInput' type='digit' placeholder='请输入助记' value='{{definition}}'/>
		</view>
    <button class='button' type='primary' bindtap="save">添加</button>
  </swiper-item>
</swiper>
.container {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  padding: 0;
}

.swiper-tab {
   100%;
  border-bottom: 2rpx solid gainsboro;
  text-align: center;
  line-height:80rpx;
}

.swiper-tab-list {
  font-size: 30rpx;
  display: inline-block;
   20%;
  color: #555;
}
.on {
  color: #7cba23;
  border-bottom: 5rpx solid #7cba23;
}
.swiper {  
   100%;  
}
.alphabet-list {

}
.alphabet-list .section-item {

}
.alphabet-list .section-item .section-item-header {
  display: flex;
  align-items: center;
  font-size: 22rpx;
	color: #a8a8a8;
	background-color: #f2f4f5;
  padding: 4rpx 20rpx;
}

.alphabet-list .section-item .section-item-cells {
  padding-left: 20rpx;
}
.alphabet-list .section-item .section-item-cells .section-item-cell{
  font-size: 30rpx;
	line-height: 1.0;
	color: #333333;
  padding: 29rpx 0;
}
.border-bottom {
  border-bottom: 1rpx solid #dbdbdb;
}
.alphanet-selector {
  position: absolute;
  top: 80px;
  right: 0;
  height: 432px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 100;
  box-sizing: border-box;
}
.alphanet-selector .selector-one {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
	color: #43c1f4;
  padding: 3px 3px;
  height: 12px;
}
<view class="container">
  <image class="logo" src="https://cloud-minapp-15316.cloud.ifanrusercontent.com/1fODchTJcZlvMJnm.jpg"></image>
  <text class="name">考研必背</text>
  <view class="list-container">
    <view class="list-item">
      <text class="list-name">每日词量</text>
      <input class="list-icon" bindinput='wordInput' focus="true" confirm-type="done" />
    </view>
     <view class="list-item" bindtap="qiandao">
      <text class="list-name">签到日历</text>
      <image class="list-icon" src="/images/chevron.png"></image>
    </view>
    <view class="list-item" bindtap="yijiyiciliang">
      <text class="list-name">已记忆词量</text>
    </view>
    <view class="list-item" bindtap="kaoyanbibei">
      <text class="list-name">考研必背</text>
      <image class="list-icon" src="/images/chevron.png"></image>
    </view>
  </view>
</view>

运行结果的截图

每日每人总结

赵铭: 团队作业好像马上就要结束了,整个过程我都只做了数据库这一方面,虽然现在还没有成功与前端连上,但是还是学了一些东西,还是有收获的吧。
吴慧婷:休息一天调整自己。今天是beta阶段的最后一天,虽然任务并没有完全完成,但是,对于我们的微信小程序还是有所收获。跟alpha阶段相比,无论是功能还是界面上都有少许改变。软件工程真的花了很多时间(相对来说),虽然效率不够高,但是真的是努力过。
陈敏: 虽然做小程序花了很多的时间,但是真的有很大的收获。在这个过程中也有很多抱怨,也会崩溃。但是收获还是很大的。
吴雅娟:小程序已经要接近尾声了,这过程中学到很多东西,有很大的收获,虽然在做的过程中,问题很多很多,做一个功能得查好多好多资料,效率很低,但幸运的是后来也有一定的成果,还是比较开心的。虽然还有一点点东西,但我们一定会赶在验收的时候全部做完的,加油。
杨娟: 把大部分界面重新改善后,能感觉总体比之前简洁方便了。这次对于界面的重新修改,自己又学到了很多新的知识,对于这方面的内容有了进一步的了解。希望最后能在大家的努力下完成我们的目标。
叶金蕾:今天做完了我的世界的界面和功能,算是完成了这个小程序了。虽然还有一部分功能没有完全实现,但是在这个过程中也感受到了开发小程序的不易之处,也有非常多的收获,希望这些经验在今后对自己能有帮助。

原文地址:https://www.cnblogs.com/cool3469/p/9098397.html