站立式会议
会议照片
队友完成情况
团队成员 |
昨天完成的工作 |
今天计划的工作 |
潘俊渊 |
完成项目使用过程流程图 |
项目基本完成,进行最终测试,开会总结,回顾过程 |
倪佳建 |
回顾代码 |
参与最终测试,开会总结,会后反思 |
张焜 |
回顾代码 |
一起测试,网上聚集开个会总结 |
魏甫 |
回顾代码 |
进行测试,一起开会,回想经过 |
张鹏 |
回顾代码 |
最终测试,参加会议 |
马桂佳 |
回顾代码 |
与队员进行最后的测试,开会讨论经验 |
工作遇到的困难
团队成员 |
遇到的困难 |
潘俊渊 |
怎么到最后,聚集人会这么难(飘了?) |
倪佳建 |
等待,电脑麦炸了? |
张焜 |
大家畅谈啊 |
魏甫 |
最后好像没什么困难吧 |
张鹏 |
.......... |
马桂佳 |
最近事情有点多,不能准时参会 |
项目燃尽图
成员代码/文档签入记录
最新项目程序/模块
// 存放 conn.id
let seed = 2
// 先建立一个假的 channel 里面已经有一个 id 为 2 的创建者
let channels = [
// {
// id: 1, // channel id
// rid: 2, // 创建者
// lid: 0, // 加入者
// status: true // 允许进入
// }
]
const server = wx.createServer(conn => {
conn.on('text', data => {
try {
// 记录用户 id 以发送
data = JSON.parse(data)
conn.id = data.id
} catch (e) {
}
if (data.hasOwnProperty('channelId') && data.channelId !== 0) {
chatting(data)
} else {
dealNewUser(data)
}
})
conn.on('close', (code, reason) => {
console.log('webSocket断开连接:', reason)
console.log('中断的connId:', conn.id )
console.log('剩余连接数量', server.connections.length)
let channel = findChannelByUserId(conn.id)
broadcastById(channel, conn.id, '对方退出聊天室', true)
})
conn.on('error', (code, reason) => {
// 其中一个用户主动退出,提醒另一个用户中断连接
let channel = findChannelByUserId(conn.id)
channel && broadcastById(channel, conn.id, '对方断开连接', true)
})
}).listen(9000)
function dealNewUser(data) {
console.log('新用户')
let channel = findChannel()
if (channel) {
// 如果存在则加入
console.log('新用户加入聊天')
joinChannel(channel, data.id)
} else {
// 创建新 channel 并放回 channel.id
console.log('新用户创建聊天')
createChannel(data.id)
}
}
// 寻找可加入的聊天室
function findChannel() {
for (let i=0; i<channels.length; i++) {
if (channels[i].status) {
return channels[i]
}
}
return null
}
function createChannel(rid) {
let channel = {
id: seed++,
rid,
lid: 0,
status: true
}
const id = channel.id
channels.push(channel)
setTimeout(_disconnect(id), 10000)
return id
}
// 中断连接,先通过 channelId 发送中断连接消息,再断开连接
function disconnect(channelId, msg='对方中断连接') {
console.log('聊天室中断id:', channelId)
const channel = findChannelById(channelId)
if (channel) {
channel.status && broadcastById(channel, channel.rid, msg, true)
}
}
function _disconnect(channelId, msg='中断连接') {
return function () {
disconnect(channelId, msg)
}
}
function joinChannel(channel, lid) {
// 配置 lid
channel.lid = lid
// 变为不可加入
channel.status = false
broadcast(channel)
}
function broadcast(channel, msg = '聊天室建立成功') {
server.connections.forEach(conn => {
if (conn.id === channel.rid || conn.id === channel.lid) {
const channelId = channel.id
const data = JSON.stringify({
channelId,
channel,
msg
})
conn.sendText(data)
}
})
}
function chatting(data) {
const channel = findChannelById(data.channelId)
broadcastById(channel, data.id, data.message)
}
成员每日总结
团队成员 |
内容总结 |
潘俊渊 |
项目基本结束了,虽然实现功能不多,但收获还是有的 |
倪佳建 |
项目完结,我知道我拖后腿了,我将继续完善自我 |
张焜 |
这是一段“丰富”的经历 |
魏甫 |
芜湖芜湖 |
张鹏 |
完结撒花 |
马桂佳 |
终于结束了 |