# imapp-feature **Repository Path**: julabs/imapp-feature ## Basic Information - **Project Name**: imapp-feature - **Description**: imapp-feature - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-20 - **Last Updated**: 2025-03-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 安装环境 建议Node 版本:16.14.1 以上 #调试方法(临时,后续优化) 1. 启动Web服务 ``` npm run start1 (启动8080端口) ``` 2. 编译Electon文件包 ``` # 新启动BASH npm run build-main ``` 3. 启动Electron App ``` npm run dev ``` ## 账号 cs1234 123456 # 问题/需求处理流程 1. 新建分支,如问题编号为:40 ``` git checkout master git checkout -b feature/issue40 ``` 2. 提交修改 ``` git commit -am "feat: xxxx" ``` 3. 完成验证合并代码 ``` git checkout master git merge feature/issue40 git push ``` # 改动记录 #### 通讯录增加查看好友页面(issue46) 新文件 src/page/group/FrinendInfo.tsx 和 less src/utils/avatarUtils.ts 5个svg文件 src/assets/icons/svg/icon-edit.svg 编辑图标 src/assets/icons/svg/icon-mute.svg 静音图标 src/assets/icons/svg/icon-sendmsg.svg 发送消息图标 src/assets/icons/svg/icon-tel.svg 电话图标 src/assets/icons/svg/icon-del.svg 删除图标 组件中使用方式 const iconEdit = 'src/assets/icons/svg/icon-edit.svg'; 新增与修改代码 1. src/store/MainStore.ts ``` import { FriendItem } from '../interface/IFriend'; export enum detailType {}新增枚举 messageGroup, export class MainStore {}新增属性 @observable friend: FriendItem; 新增方法 @action showFriendInfo = (type:detailType,friend: FriendItem):void => { this.detailType = type this.friend = friend } ``` 2. src/page/group/Group.tsx ``` import { MainStore, 新增引入detailType} from '../../store/MainStore'; @observer export default class GroupView extends React.Component {} 修改方法 // goFriendChat = (friend: FriendItem) => { // this.injected.chatStore.changeCurrentChat(friend); // }; goFriendChat = (friend: FriendItem) => { this.injected.mainStore.showFriendInfo(detailType.messageGroup,friend); }; ``` 3. src/page/rightContent/rightContent.tsx ``` 引入新组件 import FriendInfo from '../group/FriendInfo'; @observer export default class RightContent extends React.Component {} 中的 render() {}中的 switch (type) {}增加枚举 case detailType.messageGroup:{ return } ``` 4. src/store/ChatStore.ts ``` export class ChatStore {}中的 /** 点击好友、群组的相应方法 */ @action changeCurrentChat = async (_fg: FriendItem | GroupItem | EmployItem ): Promise => {} 中的判断式新增了好友信息到聊天的切回&&detailType.messageGroup != mainStore.detailType if (detailType.none != mainStore.detailType &&detailType.messageGroup != mainStore.detailType && changeChat) { debugger; return; } 以及同级的const changeChat = this.chats.find((chat: ChatItem) => { return currentUserId == chat.id //原==this.currentChatData.id固定为true,而上下文表达的是从列表中找出对应项 }); ``` #### 群公告展示位置优化(issue48) 改动3个文件 ``` src/page/chatDetail/ChatDetail.tsx 隐藏原群公告入口图标 src/page/chatDetail/DrawerDetail.tsx 自定义Drawer标题,带个左箭头,和其他项保持一致 src/page/chatDetai1/GroupDraweDetail.tsx 新增群公告入口项,按照原数据结构新增一项 ```