You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.2 KiB
2.2 KiB
技术方面
打包指令
配置:
gfcli:
build:
name: ""
arch: "amd64" # 配置CPU架构
system: "linux,darwin,windows" # 配置操作系统
mod: "" #GoModules编译模式,默认留空
cgo:0 # 是否允许调用C代码,0禁用1启用
packSrc: "manifest,resource" # 指定一起打包的静态资源路径
命令: gf build
Bcrypt加密
//加密:
bcrypt.GenerateFromPassword([]byte("要加密的内容"),int 加密次数2^int次)
//验证:
err:=bcrypt.CompareHashAndPassword(hash,password)
JWT
golang-jwt
//1.定义结构体
type MyClaims struct{
ID uint
Username string
jwt.RegisteredClaims
}
//2.签发
claims:=MyClaims{
....
RegisteredClaims: jwt.RegisteredClaims{
设置token参数,如过期时间等
}
}
token:=jwt.NewWithClaims(jwt.SigningMethodHS256,claims)
token =token.SignedString([]byte(密钥))
//3.验签
token,err:= jwt.ParseWithClaims(tokenString, &model.MyClaim{}, func(token *jwt.Token) (interface{}, error) {
_, ok := token.Method.(*jwt.SigningMethodHMAC) //验证加密方式
if !ok {
return nil, fmt.Errorf("unexpected signing method: %v", token.Header["alg"])
}
return []byte(密钥), nil
})
if err!=nil {return nil,err}
if claims,ok:=token.Claims.(*MyClaims);ok&&token.Valid{
return claims,nil
}
gf-jwt
gf-jwt是以中间件的形式管理token
//1.初始化中间件
var Auth:=&gfjwt.GFJWTMiddleware{
Realm:"name",
Key:[]byte(密钥),
Timeout:过期时间,
MaxRefresh: token刷新窗口期
IdentityKey: "id" //payload中标识身份的key
Authenticator:func(r *ghttp.Request)(interface{},error)//回调函数,处理登录验签逻辑
}
//2.注册中间件
//3.从token中获取数据
_,data:=Auth.GetIdentity(g.RequestFromCtx(ctx))
userId:=gconv.Uint64(data(g.Map)["id"])
夺宝奇兵功能
机构动向
--股票估值--
显示股票当前或上一次收盘的基本信息
--当日资金--
分析资金流入流出方向,列出了主力资金状况、主力吸筹有无、庄散对决情况
AI 预测大模型--股价预测
展示7项数据:现价、卖出价、买回价,预测高一高二、低一低二
展示K线图
功能亮点介绍