| @@ -1,4 +1,5 @@ | |||||
| const fs = require('fs'); | const fs = require('fs'); | ||||
| const crypto = require('crypto'); | |||||
| const Card = require('./official-API/parseCard'); | const Card = require('./official-API/parseCard'); | ||||
| const Skill = require('./official-API/parseSkill'); | const Skill = require('./official-API/parseSkill'); | ||||
| var officialAPI = [ //来源于官方API | var officialAPI = [ //来源于官方API | ||||
| @@ -37,11 +38,9 @@ function sameCard(m1,m2) | |||||
| * 正式流程 | * 正式流程 | ||||
| */ | */ | ||||
| officialAPI.forEach(function(lang){ | officialAPI.forEach(function(lang){ | ||||
| lang.ckey = {card:null,skill:null}; | |||||
| console.log("正在读取官方 " + lang.code + " 信息"); | console.log("正在读取官方 " + lang.code + " 信息"); | ||||
| const cardJson = fs.readFileSync("official-API/" + lang.code +".json", 'utf-8'); //使用同步读取怪物 | const cardJson = fs.readFileSync("official-API/" + lang.code +".json", 'utf-8'); //使用同步读取怪物 | ||||
| const cardJsonObj = JSON.parse(cardJson); | const cardJsonObj = JSON.parse(cardJson); | ||||
| lang.ckey.card = cardJsonObj.ckey; | |||||
| const oCards = lang.cardOriginal = cardJsonObj.card;//将字符串转换为json对象 | const oCards = lang.cardOriginal = cardJsonObj.card;//将字符串转换为json对象 | ||||
| let maxCardIndex = 0; | let maxCardIndex = 0; | ||||
| @@ -71,7 +70,6 @@ officialAPI.forEach(function(lang){ | |||||
| const skillJson = fs.readFileSync("official-API/" + lang.code +"-skill.json", 'utf-8'); //使用同步读取技能 | const skillJson = fs.readFileSync("official-API/" + lang.code +"-skill.json", 'utf-8'); //使用同步读取技能 | ||||
| const skillJsonObj = JSON.parse(skillJson); | const skillJsonObj = JSON.parse(skillJson); | ||||
| lang.ckey.skill = skillJsonObj.ckey; | |||||
| const oSkills = lang.skillOriginal = skillJsonObj.skill;//将字符串转换为json对象 | const oSkills = lang.skillOriginal = skillJsonObj.skill;//将字符串转换为json对象 | ||||
| lang.skills = oSkills.map((oc,idx)=>{return new Skill(idx,oc);}); //每一项生成分析对象 | lang.skills = oSkills.map((oc,idx)=>{return new Skill(idx,oc);}); //每一项生成分析对象 | ||||
| }); | }); | ||||
| @@ -152,38 +150,42 @@ for (let li = 0;li < officialAPI.length; li++) | |||||
| } | } | ||||
| var ckeyObj = officialAPI.map(lang=>{ | var ckeyObj = officialAPI.map(lang=>{ | ||||
| const obj = { | |||||
| code: lang.code, | |||||
| ckey: lang.ckey, | |||||
| }; | |||||
| return obj; | |||||
| }) | |||||
| fs.writeFile('./ckey.json',JSON.stringify(ckeyObj),function(err){ | |||||
| if(err){ | |||||
| console.error(err); | |||||
| } | |||||
| console.log('ckey.json 导出成功'); | |||||
| }); | |||||
| //最后批量保存 | |||||
| officialAPI.forEach(function(lang){ | |||||
| let lcode = lang.code; | |||||
| /* //删除暂时无用的内容 | |||||
| lang.cards.forEach((card)=>{ | |||||
| delete card.enemy; | |||||
| }); | |||||
| */ | |||||
| const lcode = lang.code; | |||||
| const cardStr = JSON.stringify(lang.cards); | const cardStr = JSON.stringify(lang.cards); | ||||
| fs.writeFile('./mon_'+lcode+'.json',cardStr,function(err){ | |||||
| const skillStr = JSON.stringify(lang.skills); | |||||
| //写入Cards | |||||
| fs.writeFile(`./mon_${lcode}.json`,cardStr,function(err){ | |||||
| if(err){ | if(err){ | ||||
| console.error(err); | console.error(err); | ||||
| } | } | ||||
| console.log('mon_'+lcode+'.json 导出成功'); | |||||
| console.log(`mon_${lcode}.json 导出成功`); | |||||
| }); | }); | ||||
| const skillStr = JSON.stringify(lang.skills); | |||||
| fs.writeFile('./skill_'+lcode+'.json',skillStr,function(err){ | |||||
| //写入Skills | |||||
| fs.writeFile(`./skill_${lcode}.json`,skillStr,function(err){ | |||||
| if(err){ | if(err){ | ||||
| console.error(err); | console.error(err); | ||||
| } | } | ||||
| console.log('skill_'+lcode+'.json 导出成功'); | |||||
| console.log(`skill_${lcode}.json 导出成功`); | |||||
| }); | }); | ||||
| const cardHash = crypto.createHash('md5'); | |||||
| const skillHash = crypto.createHash('md5'); | |||||
| cardHash.update(cardStr, 'utf8'); | |||||
| skillHash.update(skillStr, 'utf8'); | |||||
| const ckeyOutObj = { | |||||
| code: lcode, | |||||
| ckey: { | |||||
| card: cardHash.digest('hex'), | |||||
| skill: skillHash.digest('hex'), | |||||
| }, | |||||
| }; | |||||
| return ckeyOutObj; | |||||
| }) | |||||
| fs.writeFile('./ckey.json',JSON.stringify(ckeyObj),function(err){ | |||||
| if(err){ | |||||
| console.error(err); | |||||
| } | |||||
| console.log('ckey.json 导出成功'); | |||||
| }); | }); | ||||