docs: 补全快速开始页平台表格及演示项目
快速开始页新增 Flutter、H5、小程序客户端及 Go/Java/Python 服务端 SDK 入口;新增 Java Server SDK 文档;演示项目页补充 Flutter Demo、 H5 演示和服务端示例卡片;VitePress 侧边栏增加 Java SDK 和 WebSocket 协议链接。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
父节点
7b9e955c7e
当前提交
8521e35660
@ -85,7 +85,9 @@ export default defineConfig({
|
|||||||
'/server/': [
|
'/server/': [
|
||||||
{ text: 'API 速查', link: '/server/api' },
|
{ text: 'API 速查', link: '/server/api' },
|
||||||
{ text: 'Go Server SDK', link: '/server/go-sdk' },
|
{ text: 'Go Server SDK', link: '/server/go-sdk' },
|
||||||
|
{ text: 'Java Server SDK', link: '/server/java-sdk' },
|
||||||
{ text: 'Python Server SDK', link: '/server/python-sdk' },
|
{ text: 'Python Server SDK', link: '/server/python-sdk' },
|
||||||
|
{ text: 'WebSocket 协议', link: '/server/websocket' },
|
||||||
{ text: '错误码', link: '/server/errors' },
|
{ text: '错误码', link: '/server/errors' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
@ -24,32 +24,76 @@
|
|||||||
/>
|
/>
|
||||||
<p><a href="/demo/rn-chat-demo.apk">下载 APK</a></p>
|
<p><a href="/demo/rn-chat-demo.apk">下载 APK</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="demo-card">
|
||||||
|
<h2>Flutter Chat Demo</h2>
|
||||||
|
<p>Flutter 端 IM + 推送演示,支持 Android / iOS 双端。</p>
|
||||||
|
<img
|
||||||
|
alt="Flutter Chat Demo 下载二维码"
|
||||||
|
src="https://api.qrserver.com/v1/create-qr-code/?size=220x220&data=https%3A%2F%2Fdev.xuqinmin.com%2Fdocs%2Fdemo%2Fflutter-chat-demo.apk"
|
||||||
|
/>
|
||||||
|
<p><a href="/demo/flutter-chat-demo.apk">下载 APK(Android)</a></p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Web
|
## Web
|
||||||
|
|
||||||
<div class="demo-grid">
|
<div class="demo-grid">
|
||||||
<div class="demo-card">
|
<div class="demo-card">
|
||||||
<h2>tenant-platform</h2>
|
<h2>租户控制台</h2>
|
||||||
<p>租户开放平台,登录后可直接进入应用、IM、版本管理等页面。</p>
|
<p>登录后可直接进入应用管理、IM、推送管理、版本管理等页面。</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="https://dev.xuqinmin.com" target="_blank" rel="noreferrer">打开控制台</a>
|
<a href="https://dev.xuqinmin.com" target="_blank" rel="noreferrer">打开控制台</a>
|
||||||
<span style="padding:0 8px;">·</span>
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="demo-card">
|
||||||
|
<h2>IM 演示页</h2>
|
||||||
|
<p>基于 Vue3 SDK 的在线 IM 聊天演示,可直接体验消息收发。</p>
|
||||||
|
<p>
|
||||||
<a href="https://dev.xuqinmin.com/apps/ak_demo_chat/im" target="_blank" rel="noreferrer">打开 IM 演示页</a>
|
<a href="https://dev.xuqinmin.com/apps/ak_demo_chat/im" target="_blank" rel="noreferrer">打开 IM 演示页</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="demo-card">
|
<div class="demo-card">
|
||||||
<h2>docs-site 快速入口</h2>
|
<h2>H5 SDK 在线演示</h2>
|
||||||
<p>先看快速开始,再按平台页接入。</p>
|
<p>纯 JS 环境下的 IM 接入示例,框架无关,可查看源码参考。</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="/guide/quickstart">快速开始</a>
|
<a href="/h5/">H5 SDK 文档</a>
|
||||||
<span style="padding:0 8px;">·</span>
|
<span style="padding:0 8px;">·</span>
|
||||||
<a href="/server/api">API 速查</a>
|
<a href="/server/api">API 速查</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
## 服务端示例
|
||||||
|
|
||||||
|
<div class="demo-grid">
|
||||||
|
<div class="demo-card">
|
||||||
|
<h2>Go 服务端示例</h2>
|
||||||
|
<p>使用 Go Server SDK 发送 IM 消息和 Push 推送的完整示例。</p>
|
||||||
|
<p>
|
||||||
|
<a href="/server/go-sdk">Go SDK 文档</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="demo-card">
|
||||||
|
<h2>Java 服务端示例</h2>
|
||||||
|
<p>使用 Java Server SDK 集成 IM 和 Push 的 Spring Boot 示例。</p>
|
||||||
|
<p>
|
||||||
|
<a href="/server/java-sdk">Java SDK 文档</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="demo-card">
|
||||||
|
<h2>Python 服务端示例</h2>
|
||||||
|
<p>使用 Python Server SDK 发送消息和推送的示例脚本。</p>
|
||||||
|
<p>
|
||||||
|
<a href="/server/python-sdk">Python SDK 文档</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.demo-grid {
|
.demo-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
|
|||||||
@ -10,6 +10,8 @@
|
|||||||
|
|
||||||
## 2. 选择你的平台
|
## 2. 选择你的平台
|
||||||
|
|
||||||
|
### 客户端 SDK
|
||||||
|
|
||||||
| 平台 | 推荐接入方式 |
|
| 平台 | 推荐接入方式 |
|
||||||
|------|------------|
|
|------|------------|
|
||||||
| Android | [Android SDK →](/android/) |
|
| Android | [Android SDK →](/android/) |
|
||||||
@ -17,6 +19,17 @@
|
|||||||
| React Native | [RN SDK →](/rn/) |
|
| React Native | [RN SDK →](/rn/) |
|
||||||
| Vue3 / Web | [Vue3 SDK →](/vue3/) |
|
| Vue3 / Web | [Vue3 SDK →](/vue3/) |
|
||||||
| HarmonyOS | [HarmonyOS SDK →](/harmony/) |
|
| HarmonyOS | [HarmonyOS SDK →](/harmony/) |
|
||||||
|
| Flutter | [Flutter SDK →](/flutter/) |
|
||||||
|
| 微信小程序 | [小程序 SDK →](/miniprogram/) |
|
||||||
|
| H5 / 纯 JS | [H5 SDK →](/h5/) |
|
||||||
|
|
||||||
|
### 服务端 SDK
|
||||||
|
|
||||||
|
| 语言 | 接入方式 |
|
||||||
|
|------|---------|
|
||||||
|
| Go | [Go Server SDK →](/server/go-sdk) |
|
||||||
|
| Java | [Java Server SDK →](/server/java-sdk) |
|
||||||
|
| Python | [Python Server SDK →](/server/python-sdk) |
|
||||||
|
|
||||||
## 3. 接入流程
|
## 3. 接入流程
|
||||||
|
|
||||||
|
|||||||
144
docs-site/docs/server/java-sdk.md
普通文件
144
docs-site/docs/server/java-sdk.md
普通文件
@ -0,0 +1,144 @@
|
|||||||
|
# Java Server SDK
|
||||||
|
|
||||||
|
XuqmGroup 服务端 Java SDK,提供 IM 消息发送、群管理、Push 推送等能力。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 安装
|
||||||
|
|
||||||
|
Maven 在 `pom.xml` 中添加:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<repository>
|
||||||
|
<id>nexus-xuqm</id>
|
||||||
|
<url>https://nexus.xuqinmin.com/repository/android/</url>
|
||||||
|
</repository>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.xuqm</groupId>
|
||||||
|
<artifactId>xuqm-server-sdk</artifactId>
|
||||||
|
<version>0.1.0</version>
|
||||||
|
</dependency>
|
||||||
|
```
|
||||||
|
|
||||||
|
Gradle:
|
||||||
|
|
||||||
|
```kotlin
|
||||||
|
repositories {
|
||||||
|
maven { url = uri("https://nexus.xuqinmin.com/repository/android/") }
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation("com.xuqm:xuqm-server-sdk:0.1.0")
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 初始化
|
||||||
|
|
||||||
|
```java
|
||||||
|
import com.xuqm.sdk.server.XuqmServerClient;
|
||||||
|
import com.xuqm.sdk.server.XuqmServerConfig;
|
||||||
|
|
||||||
|
XuqmServerClient client = new XuqmServerClient(XuqmServerConfig.builder()
|
||||||
|
.baseUrl("https://dev.xuqinmin.com")
|
||||||
|
.appId("your_app_id")
|
||||||
|
.appSecret("your_app_secret")
|
||||||
|
.build());
|
||||||
|
```
|
||||||
|
|
||||||
|
> 服务端 SDK 需要 `appSecret` 用于 HMAC 签名,`appSecret` 绝不下发到客户端。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 发送消息
|
||||||
|
|
||||||
|
```java
|
||||||
|
import com.xuqm.sdk.server.model.SendMessageRequest;
|
||||||
|
import com.xuqm.sdk.server.model.ImMessage;
|
||||||
|
|
||||||
|
ImMessage msg = client.sendMessage(SendMessageRequest.builder()
|
||||||
|
.toId("user_002")
|
||||||
|
.chatType("SINGLE")
|
||||||
|
.msgType("TEXT")
|
||||||
|
.content("Hello from Java SDK!")
|
||||||
|
.build());
|
||||||
|
|
||||||
|
System.out.println("消息已发送: " + msg.getId());
|
||||||
|
```
|
||||||
|
|
||||||
|
### 发送群消息
|
||||||
|
|
||||||
|
```java
|
||||||
|
ImMessage msg = client.sendMessage(SendMessageRequest.builder()
|
||||||
|
.toId("group_xxx")
|
||||||
|
.chatType("GROUP")
|
||||||
|
.msgType("TEXT")
|
||||||
|
.content("大家好")
|
||||||
|
.build());
|
||||||
|
```
|
||||||
|
|
||||||
|
### 撤回消息
|
||||||
|
|
||||||
|
```java
|
||||||
|
client.revokeMessage("message_id");
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 群管理
|
||||||
|
|
||||||
|
```java
|
||||||
|
import com.xuqm.sdk.server.model.*;
|
||||||
|
|
||||||
|
// 创建群组
|
||||||
|
ImGroup group = client.createGroup(CreateGroupRequest.builder()
|
||||||
|
.name("项目讨论")
|
||||||
|
.memberIds(List.of("user_001", "user_002"))
|
||||||
|
.build());
|
||||||
|
|
||||||
|
// 添加群成员
|
||||||
|
client.addGroupMember("group_xxx", "user_003");
|
||||||
|
|
||||||
|
// 移除群成员
|
||||||
|
client.removeGroupMember("group_xxx", "user_003");
|
||||||
|
|
||||||
|
// 获取群列表
|
||||||
|
List<ImGroup> groups = client.listGroups();
|
||||||
|
|
||||||
|
// 获取群成员
|
||||||
|
List<ImUser> members = client.listGroupMembers("group_xxx");
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Push 推送
|
||||||
|
|
||||||
|
```java
|
||||||
|
import com.xuqm.sdk.server.model.SendPushRequest;
|
||||||
|
|
||||||
|
client.sendPush(SendPushRequest.builder()
|
||||||
|
.userId("user_001")
|
||||||
|
.title("新消息")
|
||||||
|
.body("你有一条未读消息")
|
||||||
|
.payload("{\"chatId\":\"user_002\"}")
|
||||||
|
.build());
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 错误处理
|
||||||
|
|
||||||
|
```java
|
||||||
|
import com.xuqm.sdk.server.exception.XuqmApiException;
|
||||||
|
|
||||||
|
try {
|
||||||
|
ImMessage msg = client.sendMessage(request);
|
||||||
|
} catch (XuqmApiException e) {
|
||||||
|
System.err.printf("API 错误: status=%d, code=%d, message=%s%n",
|
||||||
|
e.getHttpStatus(), e.getCode(), e.getMessage());
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
[→ Server API 文档](/server/api)
|
||||||
正在加载...
在新工单中引用
屏蔽一个用户