基于Iris、Mysql、Layui框架的项目实践
- 参考文档
iris文档:https://www.iris-go.com/docs/#/
项目文档:http://docs.iris.layui.easygoadmin.vip/#/started?id=intro - 产品概述:基于 Go 语言采用Iris、Layui、MySQL等技术栈精心打造的一款集模块化、高性能、组件化于一体的企业级敏捷开发框架,本着简化开发、提升开发效率的初衷,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按钮、图片裁剪等等一系列个性化、轻量级的组件,是一款真正意义上实现组件化开发的敏捷开发框架。
-
需要的包:
“github.com/kataras/iris/v12”
“github.com/mojocn/base64Captcha” - Captcha图形验证码,配置
// 验证码
func Captcha(ctx iris.Context) {
// 验证码参数配置:字符,公式,验证码配置
var configC = base64Captcha.ConfigCharacter{
Height: 60,
Width: 240,
//const CaptchaModeNumber:数字,CaptchaModeAlphabet:字母,CaptchaModeArithmetic:算术,CaptchaModeNumberAlphabet:数字字母混合.
Mode: base64Captcha.CaptchaModeNumberAlphabet,
ComplexOfNoiseText: base64Captcha.CaptchaComplexLower,
ComplexOfNoiseDot: base64Captcha.CaptchaComplexLower,
IsShowHollowLine: true,
IsShowNoiseDot: false,
IsShowNoiseText: false,
IsShowSlimeLine: false,
IsShowSineLine: false,
CaptchaLen: 6,
UseCJKFonts: true,
}
///create a characters captcha.
idKeyC, capC := base64Captcha.GenerateCaptcha("", configC)
//以base64编码
base64stringC := base64Captcha.CaptchaWriteToBase64Encoding(capC)
// 返回结果集
ctx.JSON(utils.CaptchaRes{
Code: 0,
IdKey: idKeyC,
Data: base64stringC,
Msg: "操作成功",
})
}
// 登陆图形验证码
type CaptchaRes struct {
Code int `json:"code"` //响应编码 0 成功 500 错误 403 无权限
Msg string `json:"msg"` //消息
Data interface{} `json:"data"` //数据内容
IdKey string `json:"idkey"` //验证码ID
}
// 返回信息
type JsonResult struct {
Code int `json:"code"` // 响应编码:0成功 401请登录 403无权限 500错误
Msg string `json:"msg"` // 消息提示语
Data interface{} `json:"data"` // 数据对象
Count int64 `json:"count"` // 记录总数
}
5.如果前端发送的是formdata格式,后端使用ctx.ReadForm(&xx)接收
data: formData,
processData: false,
contentType: false,
dataType: "json",
6.如果前端发送的是json格式,后端使用ctx.ReadJson(&xxx)接收
contentType: "application/json",
dataType: "json",