逐梦校友圈——β冲刺day3
Posted 逐梦校友圈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逐梦校友圈——β冲刺day3相关的知识,希望对你有一定的参考价值。
这个作业属于哪个课程 | <福州大学2021春软件工程实践S班> |
---|---|
这个作业要求在哪里 | 团队作业六——beta冲刺+事后诸葛亮 |
团队名称 | 逐梦校友圈 |
这个作业的目标 | β每日冲刺文档 |
SCRUM
任务总览
前端
- 昨日安排
任务 | 完成情况 |
---|---|
个人信息上传 | 未完成进行中33% |
帖文搜索 | 未完成 |
修复头像bug | 未完成进行中40% |
组局权限判断 | 已完成 |
头像bug | 已完成 |
- 明日安排
任务 | 分派人员 |
---|---|
scroll-view下拉刷新出现的bug问题 | 茂基 |
个人信息上传 | 语涵 |
帖文详情界面 | 炜华 |
组局bug修复 | 伟峰 |
后端
- 昨日安排
任务 | 完成情况 |
---|---|
内容审核工具类实现 | 已完成 |
完成删除私聊列表中的某一项service、controller层代码 | 已完成 |
修改组局接口 | 未完成进行中80% |
- 明日安排
任务 | 分派人员 |
---|---|
在发帖功能、评论功能使用内容审核功能 | 亮亮 |
完成用户接收消息service、controller层代码 | 海翔 |
修改组局接口 | 小螃蟹 |
成员描述
成员 | 昨日成就 | 存在问题 | 问题解决方案或描述 | 明日安排 |
---|---|---|---|---|
语涵104 | 个人信息上传完成10% (1h/3h) | 首次接触 | 这部分之前没有接触过,所以要学着弄 | 个人信息上传 |
建斌209 | 编写获取聊天列表及界面(1h) | 无 | 无 | 获取聊天界面逻辑 |
茂基222 | 修复bug问题(2/6h) | 过度刷新 | 微信小程序scroll-view下拉刷新被触发多次。发帖抽风,出现500报错。 | bug修复 |
炜华230 | 对贴文界面的components进行熟悉,着手写贴文详情界面。 (2h/8h) | 代码阅读 | 由于这部分是另一个同学写的,发现有很多没有用过的用法,且组件之间有嵌套,在熟悉代码上花费很多时间 | 继续完成贴文详情界面 |
伟峰432 | 修复部分组局前端的bug (7h/9h) | 图片存入 | 还没有搞懂图片是怎么存入服务器的,中间有个转换的过程,还需要去熟悉 | 继续解决bug;完成图片显示 |
亮亮215 | 实现内容审核工具类(1h) | 工具类的异常需要由谁来处理? | 根据场景,需要调用者知晓异常出现的,需要交由调用者处理;调用者并不关心异常信息,则由工具类处理。 | 在发帖功能、评论功能使用内容审核功能 |
海翔321 | 完成用户发送消息service、controller层代码(40min) | 无 | 无 | 完成用户接收消息service、controller层代码 |
小螃蟹411 | 改善了获取组局发现的新bug(没有登陆时应该是无法获取任何组局的),解决返回获得列表无返回头像的问题(1.5/2.5h) | 无 | 无 | “修改组局”接口 |
丫比125 | 项目督促,博客园撰写(1h) | 无 | 成员积极性调动需要再加把劲 | 督促开发,博客园撰写 |
内容展示
- 炜华230
console.log(event.target.dataset.id);
let id = event.target.dataset.id;
let that = this;
let baseUrl = app.globalData.baseUrl;
let jsonStr = \'{"postId":\' + id + \'}\';
let jsonValue = JSON.parse(jsonStr);
console.log(jsonValue);
request({
url: baseUrl + \'/api/alumnicycle/posts/collect\',
method:\'POST\',
Headers: {
\'content-type\': \'application/json\'
},
data: jsonValue,
success:function(res)
{
console.log(res);
let newEyeOnNum = that.data.eyeOnNum + 1;
that.setData({
isEyeOn: 1,
eyeOnNum: newEyeOnNum
});
},
- 伟峰432
if(partyList != null){
for(let i = 0; i < partyList.length; i++){
partyList[i].gmtCreate = timeago.format(new Date(partyList[i].gmtCreate),\'zh_CN\');
if(partyList[i].username.length > 6){
partyList[i].username = partyList[i].username.substr(0, 6) + "...";
}
if(partyList[i].description.length > 35){
partyList[i].description = partyList[i].description.substr(0, 35) + "...";
}
}
if(partyList.length == 0)
that.setData({show: true});
else
that.setData({show: false});
}
- 亮亮215
public class ContentFilterUtil {
private static final AisAccess service;
private static final String uri;
static {
/*初始化service*/
uri = "/v1.0/moderation/text";
}
public static boolean isContentLegal(String content) throws IOException {
boolean result = false;
try {
JSONObject json = new JSONObject();
json.put("categories", new String[] {"porn","politics", "ad", "abuse", "contraband", "flood"});
JSONObject text = new JSONObject();
text.put("text", content);
text.put("type", "content");
JSONArray items = new JSONArray();
items.add(text);
json.put("items", items);
public class ResponseProcessUtils {
private static final Logger logger = LoggerFactory.getLogger(ResponseProcessUtils.class);
public static void processResponseStatus(HttpResponse response) {
System.out.println(response.getStatusLine().getStatusCode());
}
public static boolean isRespondedOK(HttpResponse response) {
int statusCode = response.getStatusLine().getStatusCode();
System.out.println(statusCode);
return HttpStatus.SC_OK == statusCode;
}
@PostMapping("/send")
public Result<Integer> sendMessage(@RequestBody Map<String, Object> map) {
if (user == null) {
Result<Integer> result = new Result<>();
result.setCode(ExceptionInfo.valueOf("USER_NOT_LOGIN").getCode());
result.setMessage(ExceptionInfo.valueOf("USER_NOT_LOGIN").getMessage());
return result;
}
Long userIdTo = (Long) map.get("userIdTo");
String content = map.get("content").toString();
return privateChatService.sendMessage(user.getId(), userIdTo, content);
}
// 用户发送消息
public Result<Integer> sendMessage(Long id, Long userIdTo, String content) {
Result<Integer> result = new Result<>();
if (userIdTo == null) {
result.setCode(ExceptionInfo.valueOf("USER_DIALOG_ID_NULL").getCode());
result.setMessage(ExceptionInfo.valueOf("USER_DIALOG_ID_NULL").getMessage());
return result;
}
if (content == null || content == "") {
result.setCode(ExceptionInfo.valueOf("USER_SEND_MESSAGE_NULL").getCode());
result.setMessage(ExceptionInfo.valueOf("USER_SEND_MESSAGE_NULL").getMessage());
return result;
}
PrivateChat privateChat = new PrivateChat();
privateChat.setFromId(id);
privateChat.setToId(userIdTo);
privateChat.setMessage(content);
result.setCode(ExceptionInfo.valueOf("OK").getCode());
result.setMessage(ExceptionInfo.valueOf("OK").getMessage());
result.setData(privateChatMapper.insert(privateChat));
return result;
}
- 小螃蟹411
@GetMapping("/myparty")
public Result<List<Map<String, Object>>> getMyparty() {
System.out.println(user.toString());
if (user == null) {
Result<List<Map<String, Object>>> result = new Result<>();
result.setCode(ExceptionInfo.valueOf("USER_NOT_LOGIN").getCode());
@GetMapping("/partymes")
public Result<Map<String, Object>> getPartymes(Long partyId) {
public Result<Map<String, Object>> getPartymes(@RequestParam Number partyId) {
return partyService.getPartymes(partyId);
Long partyIdLong = partyId.longValue();
return partyService.getPartymes(partyIdLong);
}
会议图片
PM报告
工作总结
-
预期工作量:15 /68(+1)issue
-
目前已完成工作量:15 issue
-
今日完成工作量: 4 issue
-
剩余共工作量 53 issue
项目燃尽图
任务总量变化
变化日期 | 变化数量 | 变化描述 | 预计处理时间 |
---|---|---|---|
2021/06/12 | +67 | β冲刺整体issue总览 | 7days |
2021/06/14 | +1 | bug微信小程序scroll-view下拉刷新被触发多次,导致发帖页面不明缘由抽风,开始持续出现500错误 | 2days |
最新项目截图
以上是关于逐梦校友圈——β冲刺day3的主要内容,如果未能解决你的问题,请参考以下文章