Compare commits

...

12 Commits

Author SHA1 Message Date
fcd658f823 🐛 Ignore site data 2025-10-05 17:13:24 +08:00
ed3210fa68 📝 Developer section, routing, and file upload 2025-10-05 16:47:21 +08:00
6943d96a26 🔀 Merge pull request 'a123lsw' (#2) from a123lsw into master
Reviewed-on: #2
2025-07-16 12:07:52 +00:00
11bc14cd5e 📝 完成「删除帐户」与「领域和聊天室」 2025-07-15 15:45:33 +08:00
ef813d059e 📝 小问题更新 2025-07-12 22:11:10 +08:00
096047a196 📝 新增 Emoticons 2025-07-12 12:49:45 +08:00
65d5bed5ac 📝 改了一些东西 2025-07-10 22:50:46 +08:00
4fcbe083bf 📝 完善帖子与创作者中心 2025-07-09 23:51:06 +08:00
bcbf36ff41 Merge branch 'master' of https://git.solsynth.dev/Goatworks/Suki into a123lsw 2025-07-09 21:51:05 +08:00
0b683ba13b 🐛 Bug fixes 2025-07-09 10:04:16 +08:00
f055483622 Add commit date 2025-07-09 10:04:16 +08:00
75f051f152 📝 新增“创作者中心”文档 2025-07-09 10:01:53 +08:00
19 changed files with 268 additions and 6 deletions

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
venv
.cache
.DS_Store
site

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1020 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

@@ -49,6 +49,49 @@ Solar Network 采用自主研发的多因素验证系统,相比传统的两部
<figcaption>使用多因子验证登陆 Solarpass 的屏幕截图</figcaption>
</figure>
# 删除帐户
您可能想要删除您的 Solarpass 帐户,因为您不再需要它了。这里分为两个章节
- 删除帐户时要知道的影响
- 如何删除我的帐户
## 删除帐户时要知道的影响
---
1. **您账户下的发布者将会被删除**
2. 您将无法登录您的帐户
3. 数据删除需要一些时间
## 您将无法登录您的帐户
删除帐户后,您将无法再次登录。 意外删除后没有恢复功能。请小心哦。
## 数据删除需要一些时间
请注意,并非所有数据都会在您删除帐户的同时被删除。
删除数据是一项资源消耗较大的操作。为避免影响其他用户的正常使用系统会延迟执行删除任务通常会在24小时内完成。
## 如何删除我的帐户
---
1. 点击「帐户」
![](/assets/images/account-delete.png){ width="300" }
2. 往下翻,找到「账户设置」
![](/assets/images/account-delete1.png){ width="300" }
3. 点击「删除帐户」
![](/assets/images/account-delete2.png){ width="300" }
4. 点一下「OK」然后去您的邮箱里确认一下就好啦期待着下次与您相遇
![](/assets/images/account-deleteok.png){ width="300" }
!!! warning "尚未完成"
这里在未来将会补充详细的多因子验证的工作原理以及机制,但目前此区域尚未完成。
这里在未来将会补充详细的多因子验证的工作原理以及机制,但目前此区域尚未完成。

View File

@@ -2,4 +2,32 @@
title: 创作者中心
---
「创作者中心」,顾名思义就是您可以在这里管理发布的内容
「创作者中心」,顾名思义就是您可以在这里管理发布的内容,例如帖子,贴图,合作者,网络订阅 等...
## 帖子
在这您可以查看帖子的表现数据。
其中 Views 里的 Unique 指的是每一位用户**仅计数一次**,而 Total 则是总共预览量。
## 贴图
类似于的表情包的功能,可以管理并上传。
## 合作者
能让多个成员管理一个发布者,在此处添加或修改。
tips:***发布者不能是管理者***。
## 权限
查看您的一些特殊的福利和权限,例如开发者计划等。
## 网络订阅
您可以在这添加一些 RSS 的订阅源包括但不限于新闻总之符合RSS协议的都可以
- Title:添加标题,通常会在左下角显示
- URL:添加RSS订阅源地址的地方一般的情况下在网站后面加 **/feed** 就可以获取订阅源啦
- Scrape web page for content 选择:一般情况下是要开的,作用正如他名字一样

View File

@@ -0,0 +1,5 @@
title: 开发者
nav:
- index.md
- routing.md
- file-upload.md

View File

@@ -0,0 +1,102 @@
# 文件上传
!!! note "本文由 DysonNetwork.Drive 提供服务"
在通过网关访问时,需要将 `/api` 替换成服务 ID `/drive`
!!! warning "TuS 接口过时"
原有的 `/api/tus` 接口已经过时,即将迎来移除的命运。还请使用新的 Solar Network Multipart Upload 协议上传文件。
本文档概述了使用多部分上传 API 分块上传大文件的过程。
## 1. 创建上传任务
要开始文件上传,您首先需要创建一个上传任务。这是通过向 `/api/files/upload/create` 端点发送 `POST` 请求来完成的。
**端点:** `POST /api/files/upload/create`
**请求体:**
```json
{
"hash": "string (文件哈希,例如 MD5 或 SHA256)",
"file_name": "string",
"file_size": "long (字节数)",
"content_type": "string (例如 'image/jpeg')",
"pool_id": "string (GUID可选)",
"bundle_id": "string (GUID可选)",
"encrypt_password": "string (可选)",
"expired_at": "string (ISO 8601 格式,可选)",
"chunk_size": "long (字节数,可选,默认 5MB)"
}
```
**响应:**
如果具有相同哈希的文件已存在,服务器将返回 `200 OK`,响应体如下:
```json
{
"file_exists": true,
"file": { ... (CloudFile 对象,以 snake_case 格式) ... }
}
```
如果文件不存在,服务器将返回 `200 OK`,包含任务 ID 和分块信息:
```json
{
"file_exists": false,
"task_id": "string",
"chunk_size": "long",
"chunks_count": "int"
}
```
您将需要 `task_id``chunk_size``chunks_count` 用于后续步骤。
## 2. 上传文件分块
一旦您有了 `task_id`,就可以开始分块上传文件。每个分块作为带有 `multipart/form-data``POST` 请求发送。
**端点:** `POST /api/files/upload/chunk/{taskId}/{chunkIndex}`
- `taskId`:上一步上传任务的 ID。
- `chunkIndex`:您正在上传的分块的从 0 开始的索引。
**请求体:**
请求体的格式应为 `multipart/form-data`,包含一个名为 `chunk` 的表单字段,其中包含该分块的二进制数据。
每个分块的大小应等于"创建上传任务"步骤中返回的 `chunk_size`,除了最后一个分块可能更小。
**响应:**
成功的分块上传将返回 `200 OK`,响应体为空。
您应该上传从 `0``chunks_count - 1` 的所有分块。
## 3. 完成上传
所有分块成功上传后,您必须发送最终请求以完成上传过程。这将合并所有分块为单个文件并进行处理。
**端点:** `POST /api/files/upload/complete/{taskId}`
- `taskId`:上传任务的 ID。
**请求体:**
请求体应为空。
**响应:**
成功的请求将返回 `200 OK`,包含新上传文件的 `CloudFile` 对象。
```json
{
... (CloudFile 对象) ...
}
```
如果任何分块缺失或合并过程中发生错误,服务器将返回 `400 Bad Request` 以及错误消息。

View File

@@ -0,0 +1,7 @@
# 开发者服务
本条目下列内容是提供给开发者阅读的,可能需要有一些技术基础才能理解。
在开始使用 Solar Netweork 开发之前,请确保您已充分理解并同意 [Solar Network 开发者协议](https://solsynth.dev/terms/solar-network-dev)
本文只会提及一些需要特殊注意的地方,对于常见的 CRUD 请求请查看我们的自动生成文档 [Solar Network Swagger](https://solian.app/swagger)

View File

@@ -0,0 +1,44 @@
# 路由及网关
众所周知Solar Network 的服务器是一个微服务项目,所以在访问 API 的时候,您需要注意路径的指定。
其构造基本为 `<BaseURL>/<ServiceID>/<Path>`
例如,你需要访问推送服务 (DysonNetwork.Ring) 的通知 API。
```bash
export BASE_URL="https://api.solian.app"
export SERVICE_ID="ring"
export PATH="/notifications"
echo $BASE_URL/$SERVICE_ID$PATH
# https://api.solian.app/ring/notifications
```
## 服务分工
目前来说Solar Network 服务端有四个各司其职的服务。
- Pass 负责身份验证(使用 `id` 访问)
- Ring 负责推送和通知
- Sphere 负责聊天和帖子以及领域相关的功能
- Develop 负责开发者相关功能
- Drive 负责文件上传
其各服务的服务 ID 即为小写服务名(不包含 DysonNetwork. 前缀)
## WebSocket
WebSocket 由推送服务负责,但是不使用 `/ring` 服务 ID 访问,网关直接处理 `/ws` 的请求。
WebSocket 的消息都会使用 WebSocketPacket 结构,其结构如下:
```json
{
"type": "包类型",
"data": "包数据,可能为任何结构、类型",
"endpoint": "包需要请求的服务,在服务器传来的包不会携带此项;若客户端需要向服务器发送数据包,需要将此项填写为对应服务的 ID 以帮助网关转发此包",
"error_message": "服务器回传包的错误信息"
}
```
在访问 WebSocket 网关的时候,有两种授权方式,一种是通用的 `Authorization` 头。但是由于浏览器无法给 WebSocket 设置请求头,从而提供另一种兼容性选择,将访问令牌放置于 `?tk=` 查询参数中。

View File

@@ -0,0 +1,18 @@
---
title: 领域和聊天室
---
## 领域
一个领域里面可以加入多个与之相关的群聊
## 聊天室
是一种可以在线交谈的的地方,在同一聊天室的人们通过广播消息来实时交谈。
## 创建聊天室
在聊天界面点击右下角的「+」号并并选择**创建聊天室**,这时你应该会来到这里
![](assets/images/chat-room.png){ width="380" }
接下来看下面,您会看到一堆英文,看不懂怎么办?没关系,去翻译一下就好啦,我相信您会知道这些是干嘛的

View File

@@ -13,3 +13,7 @@ title: 帖子
其中右上角的齿轮按钮可以设置这篇帖子的**标题**以及**发布范围**
另外,您还可以在这儿使用 **Markdown** 的基本语法
## 标签(Tags)
标签允许您为帖子添加可搜索标签的功能。
tips:每次输完一个标签时,请用逗号隔开

View File

@@ -6,4 +6,3 @@ title: 发布者
当您订阅某人时,您会在通知里看到他们的帖子。但是这不会有其它用户对这篇帖子的回复。
要订阅用户,请单击用户页面上的「订阅」按钮。若要取消订阅用户,请再次单击取消订阅。

View File

@@ -2,10 +2,11 @@
title: 状态
---
用户的**在线情况**表示该用户在 Solian 的状态,状态会在用户页面或其他页面以指示器的形式显示
用户的**在线情况**表示该用户在 Solian 的状态,状态会在用户页面或其他页面以指示器的形式显示
![](/assets/images/account-status.jpg){ width="380" }
您的状态会自动更改,也可以手动设置。
- 当您看到指示器是绿色的时候,表明他是在线的
- 当您看到指示器是无色的时候,表明他是不在线的
您的状态会自动更改也可以手动设置。tips:在您上线的时候会自动更改,同样下线的时候也会,隐身:您在线的时候,别人看是不在线的)

View File

@@ -0,0 +1,6 @@
---
title: 贴图
---
可以将服务器提供的图像当作贴图来使用。
自定义表情符号可用于聊天、帖子、反应等。 要使用表情符号,请按表情选择器按钮或输入「:表情名称:」,例如像这样 **:yang:**

View File

@@ -22,3 +22,7 @@ Solian 的客户端在第一次输入 PIN Code 之后会在本地安全的情况
![Solarpay Example](/assets/images/stellar-solarpay.png){ width="300" }
<figcaption>Solarpay 支付的屏幕截图</figcaption>
</figure>
## 源点获取
目前,源点获取方式是签到的,也只能通过签到获得。