- 需求描述: 一个极小规模的通信app
包含用户实例
按ID找人
即时交互通信
会话列表缓存
*会话内容缓存
作为实例项目 以展示功能为主
故以短时轮询取代websocket作为
实时通信的能力实现基础
包含的接口有
- /unauth/login:
userID: string;
pwd: string;
- /unauth/reg
userID: string;
pwd: string;
userNick: string;
Auth:
- Find_session:
Token := userID
- Search_user_for_session:
Token := userID
Search_userID: string
// 在接受到对方建立session并发送
// 第一条消息后
// 这样的请求会返回新会话的bindingID
- Receive_new_session:
Token := userID
- Send
Token := userID
bindingID : string
Content: string
- Rec
Token := userID
bindingID:string
确定接口之后准备一个新的potato-comp Project
运行npm run c-ini命令初始化
接下来开始考虑需要往model里头填充的模式
首先需要一个用户本体:
User: nick pwd id(这些键名目前都只是代号)
Message: date content id chatingID
userRelation: mID(master) slaveID(slave) rel_c(是什么关系)
Rel_c目前只有两种关系 一种是none=0 用于初始化
一种是insession = 1 代表的是mId正在与sID进行会话
接下里就按这个思路填充即可
然后是operation和具体实现
Operation的话针对login和reg没有什么特殊的要求 就是一般的login/reg逻辑
然后的话是获取session (get_all_session)
这是在main页需要获取所有正在进行的session时候用到的
那么就查出所有masterID = xx , rel = 1的即可
还有就是需要对masterID和返回的另一个ID做一个binding
之后的话是搜索并发起一个新的会话
需要先检索该用户是否存在 如果不存在就返回错误 成功则返回true
那么就需要get_key然后按照对应的bindingID来进行一个新的添加