基于Python的BBS实现,提供BBS数据接口。
数据接口实现
- 登录
- 用户名/密码登录
- 已实现,考虑安全原因禁用
- OAuth登录
- 部分实现,只是能用而已……
- 帖子
- 获取帖子
- 已实现
- 发帖
- 同主题上一帖/下一贴
- 已实现
- 版面
- 获取所有版面列表
- 已实现
- 精华区
- 收藏夹
- 获取收藏夹列表
- 已实现
- 消息
- 在XMPP接口中实现
- 好友列表
- 在XMPP接口中实现
- 邮箱
XMPP实现
XMPP阶段:
- 认证
- 基于外部OAuth
- 基于明文
- TLS层已经加密了,所以无所谓。
- 已实现,见xmppauth.XMPPAuth类
- 登录
- 更新用户信息
- 增加session
- 已实现。在xmppserver.XMPPServer类中__init__部分。调用Session.Register()进行注册。
- 好友列表
- 获取好友列表(roaster)
- 已实现。在roster.Roster类中。
- 跟踪好友状态并更新好友列表
- 已实现。在rosters.Rosters类中,包括update_sessions()等
- 增加好友
- 删除好友
- 修改好友昵称
- 消息
- 发送消息
- 已实现。参见rosters.Rosters.send_msg()
- 消息通知
- 已实现。
- 目前设计为,当收到SIGUSR2,让所有登录用户检查是否有新消息。
- 接收消息
- 已实现。保存内部已读索引,每次检查消息,如果有新消息,则发送给用户。
- 修改状态
- 扩展
很多成本不大…… 有空搞搞就好了
- jabber:iq:last
- 上次活动时间(在线)/上次上线时间(下线)/uptime(服务器)
- jabber:iq:version
- 软件版本/系统信息
- vcard-temp
- 用户信息,例如名字、全名、……
- 初步实现,返回用户名……
- 用户本地时间……
- 注销
- 更新用户信息
- 移除session
- 已实现。用Session.Unregister()。