Skip to content

lemon0029/genshin-gacha-demo-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

genshin-gacha-demo-api

原神模拟抽卡后端 api

前端:genshin-gacha-demo-web

项目采用 Spring Boot 技术栈

数据库使用了 MariaDB 以及 Redis

其中对 MariaDB 操作引入了 Spring Data Jpa

该项目前后端分离,未引入 shiro 以及 Spring Security 这种安全框架,对权限认证策略为:前端对 /api/auth 发起请求,后端获得当前 session id,然后初始化一个用户,最后使用 RedisTemplate 将 session id 作为键,用户对象作为值存入 redis 数据库。认证成功后(默认未做限制)将返回当前的 session id,之后前端将每次都携带一个 vid 请求头访问接口,后端根据这个 vid 从 redis 数据库中取出对应的用户对象继续运行。

预览

当前项目只完成了抽奖、统计、仓库展示功能。

如果 Github 预览图片比较困难,建议克隆项目之后本地查看 README

DeepinScreenshot_select-area_20201209204838

安装

项目比较小,就不做打包处理了,感觉 BUG 有点多,各种耦合太多了容易出问题....

该项目由 Maven 做依赖管理,下载或者克隆当前项目到本地之后可以运行当前项目根目录下的 mvnw 或者 mvnw.bat 脚本,如果此前没有下载对应的 wrapper ,将会自动下载一个 maven 环境到当前用户的 .m2/wrapper 目录下。具体操作如下:

git clone https://github.com/imtin/genshin-gacha-demo-api.git

./mvnw -DskipTests clean install

测试方法依赖数据支持不可能通过....

使用

配置数据库连接信息

配置 application-dev.yml 中数据库连接信息:

spring:
  datasource:
    driver-class-name: org.mariadb.jdbc.Driver
    url: jdbc:mariadb://localhost:3306/genshin_gacha_demo
    username: root
    password: 123456
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
    open-in-view: false

  redis:
    host: localhost
    port: 6379

配置 COOKIE

注意,由于项目所需要的数据均来自网络,该项目采取定时任务抓取资源,而其中两个网络接口需要个人米游社的 cookie 信息,所以需要填写正确的 cookie 确保项目启动抓取数据成功。

具体的获取方法是:打开米游社官网,登录之后 F12 调出控制台,切换到 Application 一栏,选中 Cookies ,在其中把 ltoken(cookie_token)ltuid(account_id) 复制粘贴到项目的配置文件中:

mihoyo:
  account-id: your account id
  cookie-token: your cookie token
  img-save-dir: ${user.home}/.genshin-gacha-demo/img/

启动项目

修改完这些配置之后就可以启动项目了,之后前端启动之后就OK了。

About

原神游戏模拟抽卡程序后端接口

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages