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>
这个提交包含在:
XuqmGroup 2026-05-05 23:32:06 +08:00
父节点 7b9e955c7e
当前提交 8521e35660
共有 4 个文件被更改,包括 209 次插入6 次删除

查看文件

@ -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">下载 APKAndroid</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. 接入流程

查看文件

@ -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)