声明:
1.游戏王卡片制作器本身就是由【kooriookami】开发的,用于DIY卡片因此我只是原有功能再现并不会追加新功能
2.其次数据和卡图均来源于网络,因此我也只提供网络能获取该内容的途径,并不会预先准备好
最近一直没有时间看回复和私信,我重新下载github上的项目发现,分支上的内容确实有问题,进行了重新调整。
这里默认读者已经阅读过前一篇博文:【实战与杂谈】如何复活一个开源网站-游戏王卡片生成器
前端环境配置
1. 准备powershell
因为执行的大多数都是些linux命名,在window环境还是安装一个powershell来执行命令
powershell下载地址为:
https://github.com/PowerShell/PowerShell
根据当前系统选择版本,笔者是windows 10 64位,因此选择Windows (x64)
安装完成后
2. 安装nodejs
当出现时,需要安装node.js可以通过https://nodejs.org进行下载安装
随后执行
npm install
如果安装时间慢,是因为使用了国外国外进行,这里改成国内镜像
npm config set registry http://registry.npm.taobao.org
3. 安装is-electron
当出现提示时
安装is-electron
npm install --save is-electron
4. 最终得到这个界面证明前端内容部分已经启动成功
执行
npm run dev
获得下图即代表正常启动
访问网址会进入到界面,只会显示默认的青眼白龙,卡面其他内容因为后端没启动不会加载,
目前github项目的前端已经在确保能正常启动后,把调整后的代码上传到项目中,按照上面操作在win10环境下应该得到截图内容。接下来就是准备后端环境
后端环境配置
这次以最新2023.4月份数字包1201为例,本地搭建自己的游戏王卡片生成器就几乎能同步最新的卡。
在上一篇论文中我提供了源码,让读者自行编译执行,在后台和评论来看,我直接提供执行包,安装好运行环境能正常启动即可。
1. 安装JAVA运行环境
因为我后台使用的是java,因此执行环境需要安装jdk,选择能执行jar包的环境即可,在JDK找到能安装jdk安装包安装 ,得到下面截图内容即可
2. 启动后端程序
读者可以自行通过源码编译jar包,也可以下载我的分割好的压缩包(因为完整jar包超过100m)
java -jar YGO-CARD-1.0-SNAPSHOT.jar -image.img=c:\monster\ -spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mytest?characterEncoding=utf-8 -spring.datasource.username=root -spring.datasource.password=123456
配置 | 说明 |
-image.img | 卡片插画所在地址 |
-spring.datasource.url | 数据库地址 |
-spring.datasource.username | 数据库账号 |
-spring.datasource.password | 数据库密码 |
见到下图代表已启动成功
3. 初始化后端数据
后端项目启动后需要对图片和卡片数据进行初始化,程序才能正确获取到对应
3.1 卡片插画
通过游戏王数据库我们可以查询到【革命同调士】的码为97682931
ygoprodeck提供了api可以让我们查询到图片,例如【革命同调士】的码为97682931,我们访问97682931.jpg (624×624) (ygoprodeck.com) 就可以得到程序需要的插图
3.2 卡片数据
每个版本的ygo,过后对应的卡片数据更新斗发布在开源项目中,读者可以通过查看提交日志来取人卡片信息是否已经更:
https://github.com/mycard/ygopro-database/commits/dump
如下图我们可以发现在ygo发布4天后,卡片数据也已经更新了
关于数据脚本导入我这里就不再多讲,我这里主要解决在私信说使用脚本导入不进去的情况,我这里提供对应数据表新建脚本。
DROP TABLE IF EXISTS `datas`;
CREATE TABLE `datas` (
`id` int(11) NOT NULL,
`id1` blob,
`id2` blob,
`id3` blob,
`type` blob,
`atk` int(11) DEFAULT NULL,
`def` int(11) DEFAULT NULL,
`level` int(11) DEFAULT NULL,
`race` int(11) DEFAULT NULL,
`attribute` int(11) DEFAULT NULL,
`id0` blob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `texts`;
CREATE TABLE `texts` (
`id` int(11) NOT NULL,
`name` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`desc` text CHARACTER SET utf8,
`dec2` text CHARACTER SET utf8,
`dec3` text CHARACTER SET utf8,
`dec4` text CHARACTER SET utf8,
`dec5` text CHARACTER SET utf8,
`dec6` text CHARACTER SET utf8,
`dec7` text CHARACTER SET utf8,
`dec8` text CHARACTER SET utf8,
`dec9` text CHARACTER SET utf8,
`dec10` text CHARACTER SET utf8,
`dec11` text CHARACTER SET utf8,
`dec12` text CHARACTER SET utf8,
`dec13` text CHARACTER SET utf8,
`dec14` text CHARACTER SET utf8,
`dec15` text CHARACTER SET utf8,
`dec16` text CHARACTER SET utf8,
`dec17` text CHARACTER SET utf8,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
删去ygopro-database/locales/zh-CN at dump · mycard/ygopro-database · GitHub脚本中的
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE texts(id integer primary key,name text,desc text,str1 text,str2 text,str3 text,str4 text,str5 text,str6 text,str7 text,str8 text,str9 text,str10 text,str11 text,str12 text,str13 text,str14 text,str15 text,str16 text);
CREATE TABLE datas(id integer primary key,ot integer,alias integer,setcode integer,type integer,atk integer,def integer,level integer,race integer,attribute integer,category integer);
COMMIT;
最终效果
本次博文对原有项目追加内容
- 前端项目
修复了原有代码无法正常启动的问题
- 后端项目
提供源码启动jar包,只需要安装java环境直接启动,指定环境参数即可