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

技术方面

打包指令

配置:

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
    Authenticatorfunc(r *ghttp.Request)(interface{},error)//回调函数,处理登录验签逻辑
}
//2.注册中间件
//3.从token中获取数据
_,data:=Auth.GetIdentity(g.RequestFromCtx(ctx))
userId:=gconv.Uint64(data(g.Map)["id"])

  

夺宝奇兵功能

机构动向

--股票估值--

显示股票当前或上一次收盘的基本信息

--当日资金--

分析资金流入流出方向,列出了主力资金状况、主力吸筹有无、庄散对决情况

AI 预测大模型--股价预测

展示7项数据:现价、卖出价、买回价,预测高一高二、低一低二

展示K线图

功能亮点介绍