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

mobinqwq/auxpi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AUXPI

基于 API 的简å•图床

GitHub issues GitHub forks GitHub stars GitHub license

本项目使用 beego + vue + element-ui 进行开å‘

    _       __  __  ___ _____
    /_\  /\ /\ \/ / / _ \\_   \
   //_\\/ / \ \  / / /_)/ / /\/
/  _  \ \_/ /  \/ ___/\/ /_
\_/ \_/\___/_/\_\/   \____/

🭠A NEW API IMAGES STORE TOOL ðŸ­



功能 特色

  • æ”¯æŒ web 上传图片

  • æ”¯æŒ API 上传图片

  • 支æŒå›¾åºŠ:

    • æœç‹—
    • 新浪 (ç§æœ‰+公共)
    • SMMS
    • 奇虎 (360)
    • 百度
    • 阿里
    • 京东
    • Upload.cc
    • Flickr
    • 网易
    • 掘金
    • 本地
  • å„ç§è‡ªç”±å®šåˆ¶è¯·çœ‹ä¸‹é¢çš„æˆªå›¾

项目截图

首页

管ç†å‘˜åŽå°

用户åŽå°

设置页é¢


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

有问题请到 Issue 中æå‡º

官方站点为 AuXpI 图床

安装教程

如果您是空白的 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.0w0.tn/

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

用户å: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 æœåŠ¡.

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 自动文档

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

  • 用户系统

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

  • åŽå°æŽ§åˆ¶

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

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

说明

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

致敬

wisp-x

astaxie

LICENSE

GNU General Public License v3.0

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 71.3%
  • Vue 20.6%
  • CSS 6.4%
  • Shell 1.1%
  • HTML 0.6%
0