Browse Source

uniapp 群聊开发(未完成)

master
xsx 3 years ago
parent
commit
9e6e9084fe
  1. 4
      im-platform/src/main/java/com/bx/implatform/controller/GroupController.java
  2. 2
      im-platform/src/main/java/com/bx/implatform/service/IGroupService.java
  3. 2
      im-platform/src/main/java/com/bx/implatform/service/impl/GroupMemberServiceImpl.java
  4. 29
      im-platform/src/main/java/com/bx/implatform/service/impl/GroupServiceImpl.java
  5. 3
      im-platform/src/main/java/com/bx/implatform/vo/GroupVO.java
  6. 12
      im-ui/src/view/Group.vue
  7. 6
      im-uniapp/common/request.js
  8. 2
      im-uniapp/pages.json
  9. 4
      im-uniapp/pages/group/group.vue

4
im-platform/src/main/java/com/bx/implatform/controller/GroupController.java

@ -28,8 +28,8 @@ public class GroupController {
@ApiOperation(value = "创建群聊",notes="创建群聊") @ApiOperation(value = "创建群聊",notes="创建群聊")
@PostMapping("/create") @PostMapping("/create")
public Result<GroupVO> createGroup(@NotEmpty(message = "群名不能为空") @RequestParam String groupName){ public Result<GroupVO> createGroup(@Valid @RequestBody GroupVO vo){
return ResultUtils.success(groupService.createGroup(groupName)); return ResultUtils.success(groupService.createGroup(vo));
} }
@ApiOperation(value = "修改群聊信息",notes="修改群聊信息") @ApiOperation(value = "修改群聊信息",notes="修改群聊信息")

2
im-platform/src/main/java/com/bx/implatform/service/IGroupService.java

@ -12,7 +12,7 @@ import java.util.List;
public interface IGroupService extends IService<Group> { public interface IGroupService extends IService<Group> {
GroupVO createGroup(String groupName); GroupVO createGroup(GroupVO vo);
GroupVO modifyGroup(GroupVO vo); GroupVO modifyGroup(GroupVO vo);

2
im-platform/src/main/java/com/bx/implatform/service/impl/GroupMemberServiceImpl.java

@ -112,7 +112,7 @@ public class GroupMemberServiceImpl extends ServiceImpl<GroupMemberMapper, Group
/** /**
*根据群聊id删除移除成员 * 根据群聊id删除移除成员
* *
* @param groupId 群聊id * @param groupId 群聊id
* @return * @return

29
im-platform/src/main/java/com/bx/implatform/service/impl/GroupServiceImpl.java

@ -52,41 +52,42 @@ public class GroupServiceImpl extends ServiceImpl<GroupMapper, Group> implements
@Autowired @Autowired
private IFriendService friendsService; private IFriendService friendsService;
/** /**
* 创建新群聊 * 创建新群聊
* *
* @param groupName 群聊名称 * @param vo 群聊信息
* @return 群聊信息 * @return 群聊信息
**/ **/
@Transactional
@Override @Override
public GroupVO createGroup(String groupName) { public GroupVO createGroup(GroupVO vo) {
UserSession session = SessionContext.getSession(); UserSession session = SessionContext.getSession();
User user = userService.getById(session.getUserId()); User user = userService.getById(session.getUserId());
LambdaQueryWrapper<Group> wrapper = Wrappers.lambdaQuery();
wrapper.eq(Group::getName,vo.getName());
if(this.count(wrapper)>0){
throw new GlobalException("已经存在名为'"+vo.getName()+"'的群聊");
}
// 保存群组数据 // 保存群组数据
Group group = new Group(); Group group = BeanUtils.copyProperties(vo,Group.class);
group.setName(groupName);
group.setOwnerId(user.getId()); group.setOwnerId(user.getId());
group.setHeadImage(user.getHeadImage());
group.setHeadImageThumb(user.getHeadImageThumb());
this.save(group); this.save(group);
// 把群主加入群 // 把群主加入群
GroupMember groupMember = new GroupMember(); GroupMember groupMember = new GroupMember();
groupMember.setGroupId(group.getId()); groupMember.setGroupId(group.getId());
groupMember.setUserId(user.getId()); groupMember.setUserId(user.getId());
groupMember.setAliasName(user.getNickName()); groupMember.setAliasName(StringUtils.isEmpty(vo.getAliasName())?session.getNickName():vo.getAliasName());
groupMember.setRemark(groupName); groupMember.setRemark(StringUtils.isEmpty(vo.getRemark())?group.getName():vo.getRemark());
groupMember.setHeadImage(user.getHeadImageThumb()); groupMember.setHeadImage(user.getHeadImageThumb());
groupMemberService.save(groupMember); groupMemberService.save(groupMember);
GroupVO vo = BeanUtils.copyProperties(group, GroupVO.class);
vo.setAliasName(user.getNickName()); vo.setId(group.getId());
vo.setRemark(groupName); vo.setAliasName(groupMember.getAliasName());
vo.setRemark(groupMember.getRemark());
log.info("创建群聊,群聊id:{},群聊名称:{}",group.getId(),group.getName()); log.info("创建群聊,群聊id:{},群聊名称:{}",group.getId(),group.getName());
return vo; return vo;
} }
/** /**
* 修改群聊信息 * 修改群聊信息
* *

3
im-platform/src/main/java/com/bx/implatform/vo/GroupVO.java

@ -12,7 +12,7 @@ import javax.validation.constraints.NotNull;
@ApiModel("群信息VO") @ApiModel("群信息VO")
public class GroupVO { public class GroupVO {
@NotNull(message = "群id不可为空")
@ApiModelProperty(value = "群id") @ApiModelProperty(value = "群id")
private Long id; private Long id;
@ -21,7 +21,6 @@ public class GroupVO {
@ApiModelProperty(value = "群名称") @ApiModelProperty(value = "群名称")
private String name; private String name;
@NotNull(message = "群主id不可为空")
@ApiModelProperty(value = "群主id") @ApiModelProperty(value = "群主id")
private Long ownerId; private Long ownerId;

12
im-ui/src/view/Group.vue

@ -118,9 +118,19 @@
inputPattern: /\S/, inputPattern: /\S/,
inputErrorMessage: '请输入群聊名称' inputErrorMessage: '请输入群聊名称'
}).then((o) => { }).then((o) => {
let userInfo = this.$store.state.userStore.userInfo;
let data= {
name: o.value,
remark: o.value,
aliasName: userInfo.name,
headImage: userInfo.headImage,
headImageThumb: userInfo.headImageThumb,
ownerId: userInfo.id
}
this.$http({ this.$http({
url: `/group/create?groupName=${o.value}`, url: `/group/create?groupName=${o.value}`,
method: 'post' method: 'post',
data: data
}).then((group) => { }).then((group) => {
this.$store.commit("addGroup", group); this.$store.commit("addGroup", group);
}) })

6
im-uniapp/common/request.js

@ -46,7 +46,7 @@ const request = (options) => {
return request(options) return request(options)
} else { } else {
uni.showToast({ uni.showToast({
icon: "error", icon: "none",
title: res.data.message, title: res.data.message,
duration: 1500 duration: 1500
}) })
@ -54,6 +54,10 @@ const request = (options) => {
} }
}, },
fail(error) { fail(error) {
uni.showToast({
title: "网络似乎有点不给力,请稍后重试",
duration: 1500
})
return reject(error) return reject(error)
} }
}); });

2
im-uniapp/pages.json

@ -38,6 +38,8 @@
"path": "pages/friend/friend-add" "path": "pages/friend/friend-add"
}, { }, {
"path": "pages/group/group-info" "path": "pages/group/group-info"
}, {
"path": "pages/group/group-edit"
}], }],
"globalStyle": { "globalStyle": {
"navigationBarTextStyle": "black", "navigationBarTextStyle": "black",

4
im-uniapp/pages/group/group.vue

@ -28,7 +28,9 @@
methods: { methods: {
onFocusSearch() {}, onFocusSearch() {},
onCreateNewGroup() { onCreateNewGroup() {
uni.navigateTo({
url: "/pages/group/group-edit"
})
} }
} }

Loading…
Cancel
Save