Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

springboot-community/twitter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2 Commits

Repository files navigation

Twitter

使用Github的授权登录,聊天图片的存储使用 jsdelivr + Github

不会存储任何聊天记录(目前)

配置文件核心配置属性

# PID文件地址
spring.pid.file
# JWT的密钥
jwt.token
# Github授权登录配置
oauth2.github.client-id
oauth2.github.client-secret
# 存储图片文件的Github仓库配置
# 仓库所属用户名称(如果是组织的话,就是组织名称)
github.bucket.user
# 仓库名称
github.bucket.repository
# 个人账户的 access-token
github.bucket.access-token
# 图片访问的URL,一般不用修改
github.bucket.url
# Github上传API地址,一般不用修改
github.bucket.api

Websocket

消息频率限制

默认,每秒只能发送一次消息。

消息大小限制

消息最大体积:20Kb

消息ACK机制

客户端生成消息ID,服务端广播后,给客户端响应消息确认

Websocket消息格式

新的聊天消息

{
	"code": "TWITTER_MESSAGE",
	"data": {
		"id": "11111",
		"content": "<span>Hello World!<span>",
		"dateTime": "2020年06月17日 12:35:16",
		"user": {
			"id": 1,
			"name": "KevinBlandy",				// 昵称
			"avatar": "https://xxx.jpg",		// 头像
			"url": "https://github.com/xxx",	// 个人主页
			"banned": false						// 是否被禁言
		}
	}
}

新用户加入

{
	"code": "TWITTER_JOIN",
	"data": {
		"user": {
			"id": 1,
			"name": "KevinBlandy",
			"avatar": "https://xxx.jpg",
			"url": "https://github.com/xxx",
			"banned": false
		}
	}
}

用户退出

{
	"code": "TWITTER_QUIT",
	"data": {
		"user": {
			"id": 1,
			"name": "KevinBlandy",
			"avatar": "https://xxx.jpg",
			"url": "https://github.com/xxx",
			"banned": false
		}
	}
}

系统通知(弹窗提醒)

{
	"code": "NOTIFY",
	"data": "我是通知消息"
}

消息ACK

{
	"code": "TWITTER_MESSAGE_ACK",
	"data": "1" // 消息ID
}

消息发送太快

{
	"code": "MESSAGE_RATE_LIMIT",
	"data": 1 // 系统限制两次消息的间隔秒数
}

用户被禁言

{
	"code": "BANNED",
	"data": {
		"id": 1,
		"name": "KevinBlandy",				// 昵称
		"avatar": "https://xxx.jpg",		// 头像
		"url": "https://github.com/xxx",	// 个人主页
	}
}

用户取消禁言

{
	"code": "CANCEL_BANNED",
	"data": {
		"id": 1,
		"name": "KevinBlandy",				// 昵称
		"avatar": "https://xxx.jpg",		// 头像
		"url": "https://github.com/xxx",	// 个人主页
	}
}

业务接口

获取在线用户列表(按照加入时间排序)

  • /user/online
  • GET
  • response
{
 "success": true,
 "message": "ok",
 "code": 0,
 "data": [{
 "id": 1,
		"name": "KevinBlandy",				// 昵称
		"avatar": "https://xxx.jpg",		// 头像
		"url": "https://github.com/xxx",	// 个人主页
		"banned": false						// 是否被禁言
 }]
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /