🗑️ Remove kb
This commit is contained in:
@ -1,18 +0,0 @@
|
||||
---
|
||||
icon: mdi-airplane-landing
|
||||
title: 欢迎着陆
|
||||
description: 欢迎来到 Solsynth 的知识库 —— 太阳能档案
|
||||
---
|
||||
|
||||

|
||||
|
||||
欢迎来到 Solsynth 资料库!
|
||||
|
||||
Solsynth 资料库,又称太阳档案馆,现知的最大 Solsynth LLC 产品资料库。由 Solsynth LLC 运营。由社区提供内容及资源,官方监督改正。
|
||||
|
||||
我们目前还在修建档案馆,但是未来这里将可以查阅到我们的所有资料。
|
||||
|
||||
你可以通过 Fork 我们的 [Capital](https://git.solsynth.dev/Goatworks/Capital) 来编辑 `content/<lang>/docs` 内部的文件并提交 PR 来贡献我们的文档。
|
||||
无论是新增内容、修改不正确的地方,都欢迎贡献。
|
||||
|
||||
*P.S. 你可以使用 Solarpass 一键登陆 Solsynth Code Repository*
|
@ -1,25 +0,0 @@
|
||||
---
|
||||
icon: mdi-web
|
||||
title: Solar Network
|
||||
description: Solsynth LLC 的下一代社交网络
|
||||
---
|
||||
|
||||

|
||||
|
||||
Solar Network 是 Solsynth LLC 开发的社交网络,目标成为下一代社交网络。
|
||||
|
||||
## 技术栈
|
||||
|
||||
Solar Network 项目是经典的前后端分离项目,整体项目分为两部分:前端 (Solian),后端 (Hydrogen.Dealer, Hydrogen.Passport, etc...)
|
||||
|
||||
### 前端
|
||||
|
||||
Solar Network 的前端是 Flutter 构建的全平台支持客户端,详情可以查看 [相关页面](solar-network/solian)
|
||||
|
||||
### 后端
|
||||
|
||||
Solar Network 的后端根据我们的定义是一个「中服务」架构,它相比微服务相比,单个服务负责的东西更多,体量更大,这可以帮我们更好地维护多个项目,
|
||||
但同时部分服务出现问题不会造成整体 Outage
|
||||
|
||||
在这一切的中心是我们的核心服务 —— Hydrogen.Dealer,服务发现和中服务网关,同时是唯一一个 Solar Network 地外部接口,
|
||||
`api.sn.solsynth.dev` 就是 Hydrogen.Dealer 暴露出来的网关
|
@ -1,9 +0,0 @@
|
||||
---
|
||||
icon: mdi-palette
|
||||
title: 创作者计划
|
||||
description: 欢迎来到 Solar Network 创作者计划,在这里共创 Solar Network
|
||||
---
|
||||
|
||||
创作者计划是 Solar Network 为了推动用户创作内容而诞生的一个企划,企划旨在帮助创作者更好的使用 Solar Network 产出更高质量的内容。
|
||||
|
||||
加入创作者计划,获得更多官方支持,第一时间使用新功能,为未来的 Solar Network 提出宝贵的建议吧!
|
@ -1,40 +0,0 @@
|
||||
---
|
||||
icon: mdi-sticker-emoji
|
||||
title: 贴图及贴图包
|
||||
description: Stickers, Emotes 和 Emoji
|
||||
---
|
||||
|
||||
贴图可以帮助用户通过 Solar Network 更好的表达他们的情绪,这篇文章将会向你介绍如何上传、使用一个贴图
|
||||
|
||||
## 贴图包
|
||||
|
||||
贴图必须跟随一个贴图包,要创建一个贴图包,你可以转到官网侧边栏的「Creator Hub」>「Stickers」来创建一个
|
||||
|
||||
## 贴图
|
||||
|
||||
贴图的创建,你首先需要准备内容。建议为一个 1024x1024 像素大小(最小为 128x128 的大小,否则可能造成效果不佳)的 PNG 或 GIF 图片,
|
||||
透明背景或内容背景均可,但请不要使用纯色填充。大面积的白色填充可能会给暗色模式的用户带来闪光弹。
|
||||
|
||||
之后打开刚刚创建的贴图包,在「Actions」中点选加号标识来创建一个贴图。
|
||||
|
||||
你可能需要上传一个附件来添加贴图的材质,并使用上传完成后界面的 Random ID (井号后面的一连串字符) 填写在 Attachment 字段里,
|
||||
能成功显示出内容即代表连接成功
|
||||
|
||||
之后完成表单的填写即可。
|
||||
|
||||
## 使用
|
||||
|
||||
使用贴图,需要在你的内容中键入一个文字占位符,具体的组成为 `:<pack prefix><sticker alias>:`。
|
||||
例如一个贴图包的前缀(`prefix`)为 `solar`,一个该贴图包的的贴图别名(`alias`)为 `Hello`,组成出来的占位符为 `:solarHello:`
|
||||
|
||||
不过不明白也别担心,大多数情况我们都有自动提示。只需在 Solian 内文本框键入一个英文冒号,再开始键入占位符的一部分即可。
|
||||
|
||||
### 大小变化
|
||||
|
||||
在 Solar Network 中,你可能看到大小不同的贴图,这是因为 Smart Resize 在背后发功。具体规则如下。
|
||||
|
||||
1. 当仅有一个贴图,将使用 128x128 的大小
|
||||
2. 当有三个及一下的题图,将使用 32x32 的大小
|
||||
3. 当有三个以上的贴图,或贴图夹杂在文本内时,将使用 20x20 的大小
|
||||
|
||||
这一系列的匹配都将发生在一个段落中。
|
@ -1,10 +0,0 @@
|
||||
---
|
||||
icon: mdi-oci
|
||||
title: 开放计划
|
||||
description: 欢迎来到 Solar Network 开放计划,让我们助力你的应用成长
|
||||
---
|
||||
|
||||
开放计划是 Solar Network 一系列的开发者友好的 API 和小工具集合。
|
||||
我们坚持不为开发者添堵的规则,非必要不加密参数,永不混淆参数,人性化 API 接口,RESTful API 端点,尽可能的让开发者体验好。
|
||||
|
||||
现在就开始浏览,看看你能用 Solar Network 做些什么吧!
|
@ -1,70 +0,0 @@
|
||||
---
|
||||
icon: mdi-pencil-ruler
|
||||
title: API 标准
|
||||
description: 在设计 Solar Network 服务 API 时惯用的准则
|
||||
---
|
||||
|
||||
这篇文章是关于我们平时在设计 Solar Network API 时的范式是怎样的,能够帮助你更好的调用我们的 API 来进行第二次开发
|
||||
|
||||
## 最小化
|
||||
|
||||
我们的 API 一般追求极简,不像某些大平台的 API 一样除了数据之外的格式还有一大堆什么状态码、信息、请求 ID 什么的。这些信息我们都选择放在 HTTP 的 Header 部分。HTTP 的响应体就是纯粹的数据,无其他信息(需要分页的数据接口会额外返回一个数据总数)。
|
||||
|
||||
## 增删查改
|
||||
|
||||
我们的 API 基本上都是遵循 RESTful 设计范式的,如果你不知道什么是 RESTful,可以看以下我们理解的实践的 RESTful
|
||||
|
||||
### 请求方法
|
||||
|
||||
- `GET` 查询
|
||||
- `POST` 创建、进行某种操作
|
||||
- `PUT` 更新(虽在 RESTful 中也被定义为创建数据的行为,但是我们不使用)
|
||||
- `PATCH` 更新(不常用)
|
||||
- `DELETE` 删除
|
||||
|
||||
### 路径映射
|
||||
|
||||
假如你 POST 了一个地址来创建数据,那么用 GET 方法访问相同的地址大概就是列出数据的列表。
|
||||
在其后面加上 `/<id>` 就是单独读取某个数据,将请求方法改成 PUT 便是更新该条数据,改成 DELETE 就是删除该条数据。
|
||||
如果在 `/<id>` 再加上东西基本上就是 POST 方法来执行某个操作。
|
||||
例如以下是我们帖子的路径映射
|
||||
|
||||
*注:`:id` 系路径参数*
|
||||
|
||||
- `GET /posts` 获取帖子列表(分页)
|
||||
- `GET /posts/:id` 获取单个帖子
|
||||
- `GET /posts/:id/replies` 获取单个帖子的回复(分页)
|
||||
- `POST /posts` ~~创建帖子~~(于新版本因为引入帖子类型移除,需使用对应类型的创建接口)
|
||||
- `PUT /posts/:id` ~~更新帖子~~(于新版本因为引入帖子类型移除,需使用对应类型的更新接口)
|
||||
- `DELETE /posts/:id` 删除帖子
|
||||
- `POST /posts/:id/pin` 置顶帖子
|
||||
- `POST /posts/:id/react` 对帖子作出反应
|
||||
|
||||
## 错误处理
|
||||
|
||||
我们不理解为什么 HTTP 有给一套完善的状态码系统,其他大厂却仍选择自立门户。关于响应的 HTTP 状态码,以下是一些常用的含义代表。
|
||||
|
||||
- `500` 服务器内部错误 —— 你不用管,如果多见记得抛 issue
|
||||
- `400` 请求参数错误 —— 看文档,核查请求体
|
||||
- `404` 数据不存在或是接口路径不对
|
||||
- `403` 没有权限
|
||||
- `401` 需要授权 —— 需要授权的 API 但你没有提供 API 令牌
|
||||
- `200` 成功
|
||||
- `204` 无内容 —— 常见于删除 *虽然后时候写 API 会忘记删除内容时改成这个*
|
||||
|
||||
如果响应不是 `2xx` 的状态码,一般我们都不会返回 `application/json` 的数据,而是一个 `plain/text`,一行简单的文字来代表你犯了什么错。
|
||||
|
||||
> 如果你是英语白痴,遇到报错别老来问我们,用用翻译好吗?不然我们写报错信息干嘛。
|
||||
|
||||
## 超级网关
|
||||
|
||||
超级网关指的是我们的 [Hydrogen.Dealer](https://git.solsynth.dev/Hydrogen/Dealer),一般情况下你都不会直接访问我们的服务,都是走 Dealer 的网关转发的。虽然我们也不知道为什么写了个这个东西。
|
||||
|
||||
我们 API 的地址为 `api.sn.solsynth.dev`,怎么用呢?很简单。访问 `/cgi/<service name>` 即可,这样的地址会被转发到对应服务的 `/api` 端点。新版本我们还给这些服务加了点别名,这样你的 URL 可以变得更好看点。
|
||||
|
||||
- `/cgi/id` 或 `/cgi/auth` —— 授权服务 [Hydrogen.Passport](https://git.solsynth.dev/Hydrogen/Passport)
|
||||
- `/cgi/uc` 或 `/cgi/files` —— 附件服务 [Hydrogen.Paperclip](https://git.solsynth.dev/Hydrogen/Paperclip)
|
||||
- `/cgi/co` 或 `/cgi/interactive` —— 帖子服务 [Hydrogen.Interactive](https://git.solsynth.dev/Hydrogen/Interactive)
|
||||
- `/cgi/im` 或 `/cgi/messaging` —— 聊天服务 [Hydrogen.Messaging](https://git.solsynth.dev/Hydrogen/Messaging)
|
||||
|
||||
> 冷知识:你可能注意到了我们新配置的别名其实就是之前没有超级网关时他们使用的子域名。
|
@ -1,106 +0,0 @@
|
||||
---
|
||||
icon: mdi-open-in-app
|
||||
title: Solian 索链
|
||||
description: Solian 是由 Solsynth LLC 官方编写的全平台支持客户端。
|
||||
---
|
||||
|
||||
Solian 是由 Flutter 编写的全平台 Solar Network 客户端,也是我们目前唯一的前端。
|
||||
|
||||
# 使用
|
||||
|
||||
想要使用 Solian,你可以下载客户端,也可以直接在浏览器中打开。得益于 Flutter 的全平台支持,你可以在 https://lian.solsynth.dev 访问到 Solian 网页版。但由于浏览器限制,部分功能可能欠缺或受到影响。
|
||||
|
||||
## 下载
|
||||
|
||||
下载 Solsynth 的方式很多,但一定请从官方认证的渠道下载。
|
||||
|
||||
1. 官方仓库发布的正式版本 https://git.solsynth.dev/Hydrogen/Solian/releases
|
||||
2. 官方文件托管柜发布的测试版本 https://files.solsynth.dev/production01/solian
|
||||
3. 官方 TestFlight (iOS 与少量 macOS) https://testflight.apple.com/join/YJ0lmN6O
|
||||
|
||||
Windows 版本系免安装版本,放置于一个您熟悉的目录即可使用。
|
||||
Web 版本同时支持 PWA 渐进式网页应用,可以替代一部分桌面端使用。
|
||||
|
||||
## 安装
|
||||
|
||||
以下是个平台安装 Solian 的技术要领。
|
||||
|
||||
### Android
|
||||
|
||||
推荐从**文件托管柜**下载最新测试版,版本最新,修复最全,最稳定。~~测试版比稳定版稳定~~
|
||||
|
||||
下载下来的 APK 档案可以直接打开安装。中国版手机可能需要额外步骤验证,但请不要使用自带应用商店搜索下载。
|
||||
|
||||
### iOS/macOS
|
||||
|
||||
使用 TestFlight 安装。可以点击上方链接首先下载安装 TestFlight App。再点击上方链接的第二部开始测试来参加测试。
|
||||
|
||||
TestFlight 的测试名额有限,等到时机成熟我们会将 Solian 发布于非中国区的 App Store,可以前往 App Store 搜索下载。
|
||||
|
||||
### Windows
|
||||
|
||||
Windows 从任意可信渠道下载后解压到一个目录即可使用。
|
||||
|
||||
**注意:** Windows 版本不知是否属于 Flutter 的支持问题,在第一次启动加载时总是会卡好一会才弹出主窗口。不用反复点击,请耐心等待,可能会使用
|
||||
5 到 30 秒。如果多次点击可能会打开多个窗口。
|
||||
|
||||
### Linux
|
||||
|
||||
请自行构建。我相信你们可以的,加油哦~
|
||||
|
||||
## 自行构建
|
||||
|
||||
### 环境准备
|
||||
|
||||
构建 Solian 需要使用 Flutter SDK,请在官网下载最新版安装。也可以从中国镜像站下载安装。
|
||||
安装完成 Flutter 请根据官方文档下载其他对应平台需要的开发依赖,例如 Windows 需要 VS2022、Android 需要 Android
|
||||
Studio、iOS/macOS 我劝你还是用官方版本构建的吧。
|
||||
|
||||
除开安装 Flutter SDK,我们还需要使用 Rust 做系统级依赖支持。请从 Rust 官方下载最新版本。
|
||||
|
||||
现在我们有了 Flutter、Rust,还少一个东西,为了实现聊天及未来的其他模块本地数据库支持。
|
||||
Linux 版本还需要安装对应的 SQLite3 开发依赖。
|
||||
|
||||
```sh
|
||||
# for ubuntu
|
||||
sudo apt-get -y install libsqlite3-0 libsqlite3-dev
|
||||
```
|
||||
|
||||
Windows 需要下载
|
||||
[sqlite3.dll](https://github.com/tekartik/sqflite/raw/master/sqflite_common_ffi/lib/src/windows/sqlite3.dll)
|
||||
放置在运行目录。
|
||||
macOS 及手机端构建不需要其他操作。
|
||||
|
||||
### 构建代码
|
||||
|
||||
之后就是构建代码的时候了。确保你在构建机器上安装了 `git` 版本管理工具。或者你想直接下载代码压缩档案也不是不行。
|
||||
确保 `git` 安装之后可以使用以下命令克隆代码。
|
||||
|
||||
```sh
|
||||
git clone https://git.solsynth.dev/Hydrogen/Solian.git
|
||||
```
|
||||
|
||||
之后导航到对应目录,使用以下命令安装依赖。
|
||||
|
||||
```sh
|
||||
flutter pub get
|
||||
```
|
||||
|
||||
该操作会从 [pub.dev](https://pub.dev) 上下载依赖,而 pub.dev 是由 Google 托管提供。所以中国大陆的连接性要被打个问号。具体可以参考中国大陆镜像站点查询解决方案。
|
||||
|
||||
完成依赖获取后就可编译了,一行命令就搞定。
|
||||
|
||||
```sh
|
||||
# for windows
|
||||
flutter build windows
|
||||
# for macos
|
||||
flutter build macos
|
||||
# for linux
|
||||
flutter build linux
|
||||
# for ios
|
||||
flutter build ipa
|
||||
# for android
|
||||
flutter build apk
|
||||
```
|
||||
|
||||
你也可以为 Android 平台构建 `aab` 等其他格式的应用包。但是对应签名素材请自行准备。
|
Reference in New Issue
Block a user