提供当天站立式会议照片一张
每个人的工作
1.讨论项目每个成员的昨天进展
赵铭: 数据库整理。
吴慧婷:我的世界界面完成部分。
陈敏: 我的世界功能——学习情况功能完成。
吴雅娟:我的世界功能——学习情况功能完成。
杨娟: 我的世界界面改进。
叶金蕾:我的世界功能——学习情况功能完成。
2.讨论项目每个成员的存在问题
赵铭: 数据库最后与前端还是不能用
吴慧婷:到了截止时间,功能还是没有很好的完成,还是有一些滞留。能力有待提高。
陈敏: 写代码能力有限,花的时间多。
吴雅娟:做功能的时候遇到的问题比较多,很多特有的标签属性不熟悉。
杨娟: 一边学习一边做进度比较慢。
叶金蕾:帮忙查阅了做签到功能和界面改进的代码,但是界面设计这一块一直出现显示不完全的问题,在队员的帮助下才修改了这一个bug。
3.讨论项目每个成员的今天安排
赵铭: 测试数据库能不能用。
吴慧婷:完成滞留的任务,改善不完整的功能。
陈敏: 继续学习并对各按钮功能进行改进。
吴雅娟:完善各个按钮的功能,以及我的词库功能的改进。
杨娟: 学习情况界面以及改善所有界面。
叶金蕾:帮助队友完成功能改进。
4.每个人的具体贡献
赵铭: 数据库。
吴慧婷:完善我的世界界面。
陈敏: 参与完成按钮功能。
吴雅娟:完成各个按钮功能以及界面功能改进。
杨娟: 改善我的词库界面。
叶金蕾:参与完成界面改进。
发布项目燃尽图
每人的代码/文档签入(截图+链接)
最新模块的代码—代码上有注解,符合规范
// 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阶段相比,无论是功能还是界面上都有少许改变。软件工程真的花了很多时间(相对来说),虽然效率不够高,但是真的是努力过。
陈敏: 虽然做小程序花了很多的时间,但是真的有很大的收获。在这个过程中也有很多抱怨,也会崩溃。但是收获还是很大的。
吴雅娟:小程序已经要接近尾声了,这过程中学到很多东西,有很大的收获,虽然在做的过程中,问题很多很多,做一个功能得查好多好多资料,效率很低,但幸运的是后来也有一定的成果,还是比较开心的。虽然还有一点点东西,但我们一定会赶在验收的时候全部做完的,加油。
杨娟: 把大部分界面重新改善后,能感觉总体比之前简洁方便了。这次对于界面的重新修改,自己又学到了很多新的知识,对于这方面的内容有了进一步的了解。希望最后能在大家的努力下完成我们的目标。
叶金蕾:今天做完了我的世界的界面和功能,算是完成了这个小程序了。虽然还有一部分功能没有完全实现,但是在这个过程中也感受到了开发小程序的不易之处,也有非常多的收获,希望这些经验在今后对自己能有帮助。