集合多家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
邮箱:[email protected]
如果您想要從原始程式碼中建立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
cd $GOPATH /src
git clone [email protected]: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
函數,私有變數必須採用小駝峰方式進行命名即sendMail()
, userInfo
共有變數需要使用大駝峰方式命名
結構體,介面必須使用大駝峰方式進行命名
最好請按照這個下面說明的結構去組織您的程式碼
中介軟體請存放在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
圖片上傳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. "
}
API 上傳
API v2 版本分發上傳,傳回所有圖床儲存鏈接
使用者係統
前後端分離,Vue 驅動前端
後台控制
本地上傳,各大平台對接儲存
使用MySQL 而不是JSON
API 自動文檔
國際化
多緩存選擇Memory|redis|file|Memcached
用戶後台重構
定時任務調度
本專案是學習Go 的過程中,邊學邊寫出來的程序,可能存在bug 連篇,邏輯讓人無法接受,南轅北轍,程式碼無法讓人直視等副作用。
@ astaxie (beego)
@ PanJiaChen (vue-element-admin)
@ metowolf (upimg-cli)
@ wisp-x (lsky-pro)
GNU General Public License v3.0