第二篇Scrum冲刺博客

一、站立式会议

1.1会议照片

1.2项目进展

成员 今日计划 困难
陈起廷 日记天气、心情选择 在想什么数据格式的时候,和前端以及百度沟通,最终决定用有固定格式的字符串来达到这个效果
魏宇峰 字体大小、颜色、加粗、倾斜调整 确定使用什么格式来描述整个文本的内容和样式
刘珮琳 增、删日记
高明莹 日记序列移动调整 将移动的操作与后台数据排序联系起来
古梓欣 day2博客撰写,学习mybatis相关知识

二、项目燃尽图

三、签入记录

3.1代码/文档

3.2issue内容

成员 issue内容和链接
陈起廷 日记天气、心情选择
魏宇峰 字体大小、颜色、加粗、倾斜调整
刘珮琳 增、删日记
高明莹 日记序列移动调整
古梓欣 -----------------------------------------------

四、最新项目程序/模块

4.1部分模块代码

import SwiftUI
import Combine
import Alamofire

struct MyNote: Identifiable {
    var id: Int
    var date: String
    var content: String
    var diaryName: String
    var emoji: Emoji
    var weather: Weather

    // 待定
    var userId: String

    init() {
        id = -1
        date = date2String(Date()) 
        content = ""
        diaryName = ""
        emoji = Emoji.happy
        weather = Weather.sunny
        userId = ""
    }
    init(_ dict: Dictionary<String, Any>) {
        id = dict["id"] as? Int ?? -1
        date = dict["date"] as? String ?? ""
        content = dict["content"] as? String ?? ""
        diaryName = dict["diaryName"] as? String ?? ""
        emoji = Emoji.string2emoji(dict["emoji"] as? String) ?? Emoji.happy
        weather = Weather.string2weather(dict["weather"] as? String) ?? Weather.sunny
        userId = dict["userId"] as? String ?? ""
    }

}

enum Emoji: String, CaseIterable {
    case happy = "😊"
    case sad = "😭"
    case angry = "😠"
    func emoji2String() -> String {
        switch self {
        case .happy:
            return "1"
        case .sad:
            return "2"
        case .angry:
            return "3"
        }
    }
    static func string2emoji(_ string: String?) -> Emoji? {
        switch string {
        case "1":
            return .happy
        case "2":
            return .sad
        case "3":
            return .angry
        default:
            return nil
        }
    }
}
enum Weather: String, CaseIterable {
    case sunny = "☀️"
    case snowy = "❄️"
    case rainy = "☔️"
    func weather2String() -> String {
        switch self {
        case .sunny:
            return "1"
        case .snowy:
            return "2"
        case .rainy:
            return "3"
        }
    }
    static func string2weather(_ string: String?) -> Weather? {
        switch string {
        case "1":
            return .sunny
        case "2":
            return .snowy
        case "3":
            return .rainy
        default:
            return nil
        }
    }
}

final class NoteStore: ObservableObject {
    var objectWillChange = PassthroughSubject<NoteStore, Never>()
    var notes: [MyNote] = [] {
        didSet {
            objectWillChange.send(self)
        }
    }

    init() {
        load( {
            print($0)
        })
    }

    func load(_ result: @escaping (Bool) -> (), page: Int = 1, size: Int = 100) {
        AF.request(baseURL + noteGetURL, parameters: ["page": page, "size": size], headers: ["Authorization": Authorization!]).responseJSON { response in


            var status = false
            if let dict = response.value as? Dictionary<String, Any> {
                if let code = dict["code"] as? Int {
                    status = (code == 200)
                }
                if status {
                    if let data = dict["data"] as? Dictionary<String, Any> {
                        if let list = data["list"] as? Array<Any> {
                            self.notes.removeAll()
                            for itemDic in list {
                                self.notes.append(MyNote(itemDic as! Dictionary<String, Any>)) 
                            }
                        }

                    }
                    result(true)
                } else {
                    result(false)
                }
            }
        }
    }
}

func date2String(_ date:Date, dateFormat:String = "yyyy-MM-dd") -> String {
    let formatter = DateFormatter()
    formatter.locale = Locale.init(identifier: "zh_CN")
    formatter.dateFormat = dateFormat
    let date = formatter.string(from: date)
    return date
}

4.2截图

五、每日总结

成员 小结
陈起廷 在想什么数据格式的时候,和前端以及百度沟通,最终决定用有固定格式的字符串来达到这个效果
魏宇峰 工作:封装基类,概览项目总体需求,理清业务逻辑; 困难:部分UI和矢量图未准备就绪,在封装基类的同时也在寻找矢量图资源
刘珮琳 今天整体的工作还算顺利,希望明天也和今天一样,冲冲冲!
高明莹 敏捷冲刺的第一天,首次尝试七天敏捷冲刺,与之前合作的方式有点不一样,项目的进度更加密集了,也更加考验大家的团队协作能力了,我认为第一天我们的进展还是很顺利的
古梓欣 学习到了新的知识,感觉自己有所进步。
posted @ 2020-05-27 00:17  莹o莹  阅读(85)  评论(0编辑  收藏  举报