这个项目的最初灵感来源于神光大佬的文章短链服务?自己用 Nest 写一个
看完后就动手使用 go 根据文章实现了一下
在这过程中想到想到也许可以扩充一下于是就有了这个项目
后端项目地址kkdl-go、前端项目地址kkdl 仍在开发中------
项目简介
使用 go、vue3 相关技术全栈开发一个短链管理平台
项目主要是为了实现一些功能可以说是为了实现而实现,项目中的代码没有太高深的语法及逻辑学过 go 基础知识就可以上手
主要开发环境
- MacOs 11.4
- node v16.20.0
- pnpm 8.2.0
主要技术栈
前端: vite5、vue3全家桶、element-plus、vueuse
后端: goframe、go(1.18)、mysql、redis、七牛云 oss、邮件发送
目前已经实现的功能
用户
用户的 crud 一个系统中总是会充斥着各种各样的增删改查业务
登录
目标是实现邮箱登录、小程序码扫码登录
使用邮箱登录注册的原因很简单,短信验证服务要花钱买!!!
而邮箱登录、注册其实与短信验证类似,都是发送一个码然后进行验证
短链 code
目前只有一个接口调用后批量生成短链code,当然每天也会定时生成一批 code,开发这个接口是为了测试
短链管理
这个模块的接口比较多增、删、改、查、批量导入、批量导出、导入模版下载对应了一个后台管理页面的大部分功能
微信小程序
这里主要是微信小程序登录所需要使用的一些接口,获取小程序码、获取 openId
公共
这个目录目前有两个接口文件上传、发送邮箱验证码
项目启动
安装 goframe 框架工具
goframe 框架工具安装文档 正确安装后执行 gf -v
可显示工具信息
导入 sql 文件
sql 文件所在目录 manifest/deploy/sql
配置文件
微信、七牛云、邮箱不配置也可正常启动
yaml
server:
address: ":6001"
openapiPath: "/api.json"
swaggerPath: "/swagger"
logger:
level : "all"
stdout: true
# Database
database:
logger:
level: "all"
stdout: true
default:
type: "mysql"
link: "mysql:root:123456@tcp(127.0.0.1:3306)/kkdl?loc=Local&parseTime=true"
debug: true
# Redis
redis:
default:
address: 127.0.0.1:6379
db: 1
pass: 123456
idleTimeout: 600
# 微信
weChat:
miniPrograms:
appid: xxx
secret: xxx
# 七牛云
qiNiuConfig:
access: 'xxx'
secret: 'xxx'
bucket: 'xxx'
baseUrl: 'xxx'
# 邮箱配置
emailConfig:
key: 'xxx'
email: 'xxxx@qq.com'
启动
执行 gf run main.go
启动项目
更新计划
每周一篇,直至完结