功能 特色
- 支持 web 上传图片
- 支持 API 上传图片
- 支持分发,控制反转
- 各种自由定制请看下面的截图
项目截图
支持拖拽对首页的菜单进行排序和开关控制
图片链接按照权重进行异步分发
首页有几个可视化的图表,方便分析
安装教程
如果您是空白的 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/
请注意,目前已经开启图片鉴黄,且等级较高,如果试用程序请尽量上传风景图,否则有可能无法上传
演示站点管理员账户:
用户名: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 版本分发上传,返回所有图床储存链接
- 用户系统
- 前后端分离,Vue 驱动前端
- 后台控制
- 本地上传,各大平台对接储存
- 使用 MySQL 而不是 JSON
- API 自动文档
- 国际化
- 多缓存选择 Memory|redis|file|Memcached
- 用户后台重构
- 定时任务调度
说明
本项目是学习 Go 的过程中,边学边写出来的程序,可能存在 bug 连篇 ,逻辑让人无法接受,南辕北辙,代码无法让人直视等副作用。
[download]立即下载[/download]
本站坚持“不能用的源码发出去都是浪费大家时间“,付费源码都是亲测的
源码已测试,但不保证完美无bug
更好小站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,请练习客服予以删除。
更好小站 » 集合多家 API 的新一代图床源码-PHP源码
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 站壳网
售后服务:
-
售后服务范围 1、商业模板使用范围内问题免费咨询 2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户 3、单价超过200元的模板免费一次安装,需提供服务器信息。 付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服 2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务 3、服务器环境配置(一般 ¥50-300) 4、网站中毒处理(需额外付费,500元/次/质保三个月) 售后服务时间 周一至周日(法定节假日除外) 9:00-23:00 免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 80027422@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!