diff --git a/README.md b/README.md
index 75cff48..150ebed 100644
--- a/README.md
+++ b/README.md
@@ -48,9 +48,10 @@ Markdown 文档自动即时渲染为微信图文,让你不再为微信文章
| --- | ----------- | ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- |
| 1 | 默认图床 | 否 | - |
| 2 | GitHub 图床 | 配置 `Repo`、`Token` 参数 | [如何获取 GitHub token?](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) |
-| 3 | 阿里云 OSS | 配置 `AccessKey ID`、`AccessKey Secret`、`Bucket`、`Region` 等参数 | [如何使用阿里云 OSS?](https://help.aliyun.com/document_detail/31883.html) |
-| 4 | 腾讯云 COS | 配置 `SecretId`、`SecretKey`、`Bucket`、`Region` 等参数 | [如何使用腾讯云 COS?](https://cloud.tencent.com/document/product/436/38484) |
-| 5 | 七牛云 Kodo | 配置 `AccessKey`、`SecretKey`、`Bucket`、`Domain`、`Region` 等参数 | [如何使用七牛云 Kodo?](https://developer.qiniu.com/kodo) |
+| 3 | Gitee 图床 | 配置 `Repo`、`Token` 参数 | 不支持上传超过 1MB 的图片 |
+| 4 | 阿里云 OSS | 配置 `AccessKey ID`、`AccessKey Secret`、`Bucket`、`Region` 等参数 | [如何使用阿里云 OSS?](https://help.aliyun.com/document_detail/31883.html) |
+| 5 | 腾讯云 COS | 配置 `SecretId`、`SecretKey`、`Bucket`、`Region` 等参数 | [如何使用腾讯云 COS?](https://cloud.tencent.com/document/product/436/38484) |
+| 6 | 七牛云 Kodo | 配置 `AccessKey`、`SecretKey`、`Bucket`、`Domain`、`Region` 等参数 | [如何使用七牛云 Kodo?](https://developer.qiniu.com/kodo) |
![select-and-change-color-theme](./public/assets/images/select-and-change-color-theme.gif)
diff --git a/src/api/file.js b/src/api/file.js
index a9196f2..9798b0f 100644
--- a/src/api/file.js
+++ b/src/api/file.js
@@ -33,6 +33,8 @@ function fileUpload(content, file) {
return txCOSFileUpload(file);
case "qiniu":
return qiniuUpload(file);
+ case "gitee":
+ return giteeUpload(content, file.name);
case "github":
default:
return ghFileUpload(content, file.name);
@@ -116,6 +118,37 @@ async function ghFileUpload(content, filename) {
: res.content.download_url;
}
+async function giteeUpload(content, filename) {
+ const giteeConfig = JSON.parse(localStorage.getItem("giteeConfig"));
+ const repoUrl = giteeConfig.repo
+ .replace("https://gitee.com/", "")
+ .replace("http://gitee.com/", "")
+ .replace("gitee.com/", "")
+ .split("/");
+ const username = repoUrl[0];
+ const repo = repoUrl[1];
+ const date = new Date();
+ const dir =
+ date.getFullYear() +
+ "/" +
+ (date.getMonth() + 1).toString().padStart(2, "0") +
+ "/" +
+ date.getDate().toString().padStart(2, "0");
+ const dateFilename =
+ new Date().getTime() + "-" + uuidv4() + "." + filename.split(".")[1];
+ const res = await fetch({
+ url: `https://gitee.com/api/v5/repos/${username}/${repo}/contents/${dir}/${dateFilename}`,
+ method: "POST",
+ data: {
+ access_token: giteeConfig.accessToken,
+ branch: giteeConfig.branch || "master",
+ content: content,
+ message: `Upload by ${window.location.href}`,
+ },
+ });
+ return encodeURI(res.content.download_url);
+}
+
async function aliOSSFileUpload(content, filename) {
const dateFilename =
new Date().getTime() + "-" + uuidv4() + "." + filename.split(".")[1];
diff --git a/src/components/CodemirrorEditor/uploadImgDialog.vue b/src/components/CodemirrorEditor/uploadImgDialog.vue
index 5c8e6bf..6e181a6 100644
--- a/src/components/CodemirrorEditor/uploadImgDialog.vue
+++ b/src/components/CodemirrorEditor/uploadImgDialog.vue
@@ -81,6 +81,48 @@
+
+
+
+
+
+
+
+
+
+
+ 请在 Gitee「设置->安全设置->私人令牌」中生成
+
+
+ 保存配置
+
+
+