8000 GitHub - appotry/auxpi: 🭠集åˆå¤šå®¶ API 的新一代图床
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

appotry/auxpi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AUXPI

集åˆå¤šå®¶ API 的新一代图床

Travis CI GitHub forks GitHub stars GitHub license FOSSA Status

Snipaste_2019-05-12_22-16-26.png


功能 特色

  • æ”¯æŒ web 上传图片
  • æ”¯æŒ API 上传图片
  • 支æŒåˆ†å‘,控制å转
  • å„ç§è‡ªç”±å®šåˆ¶è¯·çœ‹ä¸‹é¢çš„æˆªå›¾

项目截图

首页

管ç†å‘˜åŽå°

设置

æ”¯æŒæ‹–拽对首页的èœå•进行排åºå’Œå¼€å…³æŽ§åˆ¶

拖拽

图片链接按照æƒé‡è¿›è¡Œå¼‚步分å‘

分å‘

首页有几个å¯è§†åŒ–的图表,方便分æž

首页


如果您感觉ä¸é”™ï¼Œè¯·æ‚¨ç‚¹ä¸ª Star,您的 Star 是对我最大的鼓励 (认真脸)

有问题请到 Issue 中æå‡º

安装教程

如果您是空白的 vps,您å¯ä»¥ç›´æŽ¥ä½¿ç”¨ä¸€é”®è„šæœ¬è¿›è¡Œå®‰è£…ï¼Œå®‰è£…æ•™ç¨‹

æ³¨æ„æ­¤è„šæœ¬ä¼šç»™æ‚¨å®‰è£… Nginx å’Œ Mysqlï¼Œè¯·ç¡®ä¿æ‚¨çš„æœåŠ¡å™¨æ˜¯å¹²å‡€çš„

https://github.com/aimerforreimu/AUXPI/wiki/%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%84%9A%E6%9C%AC

如果您想手动安装,å¯ä»¥å‚考安装 wiki

https://github.com/aimerforreimu/AUXPI/wiki/%E5%9B%BE%E5%BA%8A%E9%85%8D%E7%BD%AE

演示站点为 https://test.demo-1s.com/

请勿滥用,滥用者将被加入 ip 黑åå•并且放到 github 上公示

请注æ„,目å‰å·²ç»å¼€å¯å›¾ç‰‡é‰´é»„,且等级较高,如果试用程åºè¯·å°½é‡ä¸Šä¼ é£Žæ™¯å›¾ï¼Œå¦åˆ™æœ‰å¯èƒ½æ— æ³•上传

演示站点管ç†å‘˜è´¦æˆ·:

用户å:admin123
密ç :admin123
邮箱:auxpi@0w0.tn

分å‘原ç†

æµç¨‹å›¾

å¼€å‘人员 && 折腾用户

如果您想è¦ä»Žæºä»£ç ä¸­æž„建 auxpi,您å¯ä»¥æŒ‰ç…§ä¸‹é¢çš„æ•™ç¨‹è¿›è¡Œæž„建,如果您仅仅想使用 auxpi,这一段您å¯ä»¥è·³è¿‡

请注æ„ä½ ï¼Œè¯·ç¡®ä¿æ‚¨çš„电脑上有 Go 环境。

从æºç ä¸­æž„建

使用脚本构建

在 最近一次更新 中加入了批é‡ç¼–译打包的脚本,您å¯ä»¥ä½¿ç”¨æ­¤è„šæœ¬è¿›è¡Œä»£ç çš„æž„建

bash build.sh all # 编译所有平å°çš„程åº
bash build.sh mac # 编译 mac 程åº
bash build.sh windows # 编译 Windows 程åº
bash build.sh linux #编译 linux 程åº
bash build.sh all 2.2.0 clear # 编译程åºï¼Œåˆ†åˆ«æ‰“包所有的平å°çš„项目,2.2.0 为版本å·ï¼Œæ¸…ç©ºç¼–è¯‘ä»¥åŽæ–‡ä»¶ï¼Œåªä¿ç•™åŽ‹ç¼©åŒ…
bahs build.sh help #查看帮助

打包å‰ç«¯

cd resource
yarn install
yarn run build

使用 Bee 工具è¿è¡Œç¨‹åº

cd $GOPATH/src
git clone git@github.com:aimerforreimu/AUXPI.git
cd AUXPI/
bee run auxpi

交å‰ç¼–译

#Mac/WindowsçŽ¯å¢ƒç¼–è¯‘æˆ Linux ç¨‹åº 
GOOS=linux GOARCH=amd64 bee pack 
#Mac/Linux 环境编译 Windows 程åº
GOOS=windows GOARCH=amd64 bee pack
#Windows/Linux 编译 Mac 程åº
GOOS=darwin GOARCH=amd64 bee pack

更多交å‰ç¼–译请å‚考 Go 交å‰ç¼–译

二次开å‘规范

如果这个项目让您感觉还ä¸é”™ï¼Œæ‚¨æƒ³äºŒæ¬¡å¼€å‘一下或者想为这个项目æäº¤ PR

1.命å规范
  • å‡½æ•°ï¼Œç§æœ‰å˜é‡å¿…须采用å°é©¼å³°æ–¹å¼è¿›è¡Œå‘½å å³ sendMail(),userInfo

  • 共有å˜é‡éœ€è¦ä½¿ç”¨å¤§é©¼å³°æ–¹å¼å‘½å

  • 结构体,接å£å¿…须使用大驼峰方å¼è¿›è¡Œå‘½å

2.代ç ç»„织

最好请按照这个下é¢è¯´æ˜Žçš„结构去组织您的代ç 

  • 中间件请存放在 middleware 文件夹中

  • api è¯·æŒ‰ç…§ç‰ˆæœ¬å·æ”¾åœ¨ controller/api/v(0-9)/中,所有 api 除去 auth 都ä¸èƒ½è¿›è¡Œæ¨¡æ¿å¼•擎的渲染和æ“作,åªå…许输出 json

  • å¦‚æžœéœ€è¦æ¸²æŸ“模æ¿å¼•擎,请直接在 controller/ 下é¢å»ºç«‹å¯¹åº”çš„ controller

  • utils 下é¢çš„å„ç§å·¥å…·æ–‡ä»¶ä¸å…许与 models 下é¢çš„æ–‡ä»¶è€¦åˆåœ¨ä¸€èµ·ï¼Œå¦‚æžœè¦ä¸º models 编写工具,请放到 tools 下

  • all.go 中åªå…许写入ç»å¸¸è¢«å¼•å…¥ï¼Œéœ€è¦æ ¼å¼åŒ–æˆ json , xml 等格å¼çš„结构体

.
├── LICENSE
├── README.md
├── auxpiAll
├── bootstrap
├── build
├── build.sh
├── conf
├── controllers
├── install.sh
├── log
├── main.go
├── middleware
├── models
├── pem
├── resource
├── routers
├── server
├── static
├── tests
├── tools
├── utils
└── views

API 上传

API 上传实例

图片上传 V1 接å£

功能 图片上传接å£
HTTP è¯·æ±‚æ–¹å¼ Â POST
URL  http://yourname/api/v1/upload

è¯·æ±‚å‚æ•°

傿•°åç§° 类型 是å¦å¿…é¡» æè¿°
image File 是 表å•åç§°,上传图片
token  String 是 è®¤è¯æ‰€å¿…须的 token ,如果站在没有开å¯åˆ™ç•™ç©ºå³å¯
apiSelect  String 是 所选择的 API 类型

apiSelectå¯é€‰å‚æ•°

apiSelect å¯é€‰å‚æ•° 傿•°è¯´æ˜Ž
SouGou æœç‹—图床
Sina 新浪图床
Smms SMMS 图床

æˆåŠŸä¸Šä¼ è¿”å›ž

{
    "code": 200,
    "msg": "上传æˆåŠŸ",
    "data": {
        "name": "Snipaste_2018-08-28_01-17-58.png",
        "url": "https://img04.sogoucdn.com/app/a/100520146/0dcb98aadb59c6b29dc0832eb7cc094a"
    }
}
{
    "code": 200,
    "msg": "上传æˆåŠŸ",
    "data": {
        "name": "Snipaste_2018-08-28_01-17-58.png",
        "url": "https://i.loli.net/2018/11/05/5be038b1b4af6.png"
    }
}

失败返回值

上传出错返回值

{
    "code": 500,
    "msg": "上传失败"
}

API 未开å¯è¿”回值

{
    "code": 405,
    "msg": "Method not allowed"
}

Token 验è¯å¤±è´¥è¿”回值

{
    "code": 403,
    "msg": "Forbidden"
}

选择文件为空返回值

{
    "code": 500,
    "msg": "No files were uploaded."
}

文件太大返回值

{
    "code": 500,
    "msg": "File is too large."
}

TODO

  • API 上传

  • API v2 版本分å‘上传,返回所有图床储存链接

  • 用户系统

  • å 80DF ‰åŽç«¯åˆ†ç¦»,Vue 驱动å‰ç«¯

  • åŽå°æŽ§åˆ¶

  • 本地上传,å„大平å°å¯¹æŽ¥å‚¨å­˜

  • 使用 MySQL è€Œä¸æ˜¯ JSON

  • API 自动文档

  • 国际化

  • 多缓存选择 Memory|redis|file|Memcached

  • 用户åŽå°é‡æž„

  • 定时任务调度

说明

本项目是学习 Go 的过程中,边学边写出æ¥çš„程åºï¼Œå¯èƒ½å­˜åœ¨ bug 连篇 ,逻辑让人无法接å—,å—è¾•åŒ—è¾™ï¼Œä»£ç æ— æ³•让人直视等副作用。

致敬

@ astaxie (beego)

@ PanJiaChen (vue-element-admin)

@ metowolf (upimg-cli)

@ wisp-x (lsky-pro)

LICENSE

GNU General Public License v3.0

鸣谢

VTEXS

VTEXS is a provider of high-performance cloud infrastructure and VPS hosting services, emphasizing guaranteed resources, 24/7 expert support, and a 99.99% uptime SLA. They support open-source projects by offering hosting resources, to approved contributors.

Powered by DartNode

image

NodeSupport赞助了本项目

About

🭠集åˆå¤šå®¶ API 的新一代图床

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 62.9%
  • Vue 27.3%
  • CSS 4.9%
  • Shell 1.5%
  • Less 1.5%
  • SCSS 1.0%
  • Other 0.9%
0