赵铭: 数据库整理。
吴慧婷:个人世界界面完成部分。
陈敏: 个人世界功能——学习状况功能完成。
吴雅娟:个人世界功能——学习状况功能完成。
杨娟: 个人世界界面改进。
叶金蕾:个人世界功能——学习状况功能完成。前端
赵铭: 数据库最后与前端仍是不能用
吴慧婷:到了截止时间,功能仍是没有很好的完成,仍是有一些滞留。能力有待提升。
陈敏: 写代码能力有限,花的时间多。
吴雅娟:作功能的时候遇到的问题比较多,不少特有的标签属性不熟悉。
杨娟: 一边学习一边作进度比较慢。
叶金蕾:帮忙查阅了作签到功能和界面改进的代码,可是界面设计这一块一直出现显示不彻底的问题,在队员的帮助下才修改了这一个bug。git
赵铭: 测试数据库能不能用。
吴慧婷:完成滞留的任务,改善不完整的功能。
陈敏: 继续学习并对各按钮功能进行改进。
吴雅娟:完善各个按钮的功能,以及个人词库功能的改进。
杨娟: 学习状况界面以及改善全部界面。
叶金蕾:帮助队友完成功能改进。数据库
赵铭: 数据库。
吴慧婷:完善个人世界界面。
陈敏: 参与完成按钮功能。
吴雅娟:完成各个按钮功能以及界面功能改进。
杨娟: 改善个人词库界面。
叶金蕾:参与完成界面改进。小程序
连接: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 { width: 100%; border-bottom: 2rpx solid gainsboro; text-align: center; line-height:80rpx; } .swiper-tab-list { font-size: 30rpx; display: inline-block; width: 20%; color: #555; } .on { color: #7cba23; border-bottom: 5rpx solid #7cba23; } .swiper { width: 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阶段相比,不管是功能仍是界面上都有少量改变。软件工程真的花了不少时间(相对来讲),虽然效率不够高,可是真的是努力过。
陈敏: 虽然作小程序花了不少的时间,可是真的有很大的收获。在这个过程当中也有不少抱怨,也会崩溃。可是收获仍是很大的。
吴雅娟:小程序已经要接近尾声了,这过程当中学到不少东西,有很大的收获,虽然在作的过程当中,问题不少不少,作一个功能得查好多好多资料,效率很低,但幸运的是后来也有必定的成果,仍是比较开心的。虽然还有一点点东西,但咱们必定会赶在验收的时候所有作完的,加油。
杨娟: 把大部分界面从新改善后,能感受整体比以前简洁方便了。此次对于界面的从新修改,本身又学到了不少新的知识,对于这方面的内容有了进一步的了解。但愿最后能在你们的努力下完成咱们的目标。
叶金蕾:今天作完了个人世界的界面和功能,算是完成了这个小程序了。虽然还有一部分功能没有彻底实现,可是在这个过程当中也感觉到了开发小程序的不易之处,也有很是多的收获,但愿这些经验在从此对本身能有帮助。微信