一、站立式会议
1.1会议照片
1.2项目进展
成员 |
今日计划 |
困难 |
陈起廷 |
日记天气、心情选择 |
在想什么数据格式的时候,和前端以及百度沟通,最终决定用有固定格式的字符串来达到这个效果 |
魏宇峰 |
字体大小、颜色、加粗、倾斜调整 |
确定使用什么格式来描述整个文本的内容和样式 |
刘珮琳 |
增、删日记 |
无 |
高明莹 |
日记序列移动调整 |
将移动的操作与后台数据排序联系起来 |
古梓欣 |
day2博客撰写,学习mybatis相关知识 |
无 |
二、项目燃尽图
三、签入记录
3.1代码/文档
3.2issue内容
四、最新项目程序/模块
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和矢量图未准备就绪,在封装基类的同时也在寻找矢量图资源 |
刘珮琳 |
今天整体的工作还算顺利,希望明天也和今天一样,冲冲冲! |
高明莹 |
敏捷冲刺的第一天,首次尝试七天敏捷冲刺,与之前合作的方式有点不一样,项目的进度更加密集了,也更加考验大家的团队协作能力了,我认为第一天我们的进展还是很顺利的 |
古梓欣 |
学习到了新的知识,感觉自己有所进步。 |