mirror of
https://github.com/yoimiya-kokomi/miao-plugin.git
synced 2024-11-25 01:21:55 +00:00
#刻晴卡片
等模块样式微调
This commit is contained in:
parent
cab038a0b9
commit
5b311612b7
@ -62,21 +62,28 @@ async function renderCard (e, ds, renderType = 'card') {
|
|||||||
// 计算皇冠个数
|
// 计算皇冠个数
|
||||||
data.crownNum = lodash.filter(lodash.map(data.talent, (d) => d.original), (d) => d >= 10).length
|
data.crownNum = lodash.filter(lodash.map(data.talent, (d) => d.original), (d) => d >= 10).length
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
data = char.getData('id,name,sName')
|
||||||
}
|
}
|
||||||
let width = 600
|
let width = 600
|
||||||
|
let imgCss = ''
|
||||||
|
let scale = 1.2
|
||||||
if (bg.mode === 'left') {
|
if (bg.mode === 'left') {
|
||||||
width = 600 * bg.width / bg.height
|
const height = 480
|
||||||
|
width = height * bg.width / bg.height
|
||||||
|
imgCss = `img.bg{width:auto;height:${height}px;}`
|
||||||
|
scale = 1.45
|
||||||
}
|
}
|
||||||
// 渲染图像
|
// 渲染图像
|
||||||
let msgRes = await Common.render('character/character-card', {
|
let msgRes = await Common.render('character/character-card', {
|
||||||
saveId: uid,
|
saveId: uid,
|
||||||
uid,
|
uid,
|
||||||
bg,
|
bg,
|
||||||
widthStyle: `<style>html,body,#container{width:${width}px}</style>`,
|
widthStyle: `<style>html,body,#container{width:${width}px} ${imgCss}</style>`,
|
||||||
mode: bg.mode,
|
mode: bg.mode,
|
||||||
custom,
|
custom,
|
||||||
data
|
data
|
||||||
}, { e, scale: 1.4, retMsgId: true })
|
}, { e, scale, retMsgId: true })
|
||||||
if (msgRes && msgRes.message_id) {
|
if (msgRes && msgRes.message_id) {
|
||||||
// 如果消息发送成功,就将message_id和图片路径存起来,1小时过期
|
// 如果消息发送成功,就将message_id和图片路径存起来,1小时过期
|
||||||
await redis.set(`miao:original-picture:${msgRes.message_id}`, bg.img, { EX: 3600 })
|
await redis.set(`miao:original-picture:${msgRes.message_id}`, bg.img, { EX: 3600 })
|
||||||
|
@ -91,6 +91,11 @@ let Data = {
|
|||||||
return {}
|
return {}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
async importDefault (file, root) {
|
||||||
|
let ret = await Data.importModule(file, root)
|
||||||
|
return ret.default || {}
|
||||||
|
},
|
||||||
|
|
||||||
async import (name) {
|
async import (name) {
|
||||||
return await Data.importModule(`components/optional-lib/${name}.js`)
|
return await Data.importModule(`components/optional-lib/${name}.js`)
|
||||||
},
|
},
|
||||||
|
@ -3,6 +3,7 @@ import lodash from 'lodash'
|
|||||||
import { Data } from '../components/index.js'
|
import { Data } from '../components/index.js'
|
||||||
|
|
||||||
let artisMap = {}
|
let artisMap = {}
|
||||||
|
const abbr = await Data.importDefault('resources/meta/reliquaries/abbr.js')
|
||||||
|
|
||||||
async function init () {
|
async function init () {
|
||||||
let artis = Data.readJSON('resources/meta/reliquaries/data.json')
|
let artis = Data.readJSON('resources/meta/reliquaries/data.json')
|
||||||
@ -14,46 +15,6 @@ async function init () {
|
|||||||
|
|
||||||
await init()
|
await init()
|
||||||
|
|
||||||
const abbr = {
|
|
||||||
炽烈的炎之魔女: '魔女',
|
|
||||||
昔日宗室之仪: '宗室',
|
|
||||||
翠绿之影: '风套',
|
|
||||||
千岩牢固: '千岩',
|
|
||||||
流浪大地的乐团: '乐团',
|
|
||||||
绝缘之旗印: '绝缘',
|
|
||||||
被怜爱的少女: '少女',
|
|
||||||
沉沦之心: '水套',
|
|
||||||
角斗士的终幕礼: '角斗',
|
|
||||||
冰风迷途的勇士: '冰套',
|
|
||||||
逆飞的流星: '逆飞',
|
|
||||||
苍白之火: '苍白',
|
|
||||||
华馆梦醒形骸记: '华馆',
|
|
||||||
战狂: '战狂',
|
|
||||||
悠古的磐岩: '岩套',
|
|
||||||
渡过烈火的贤人: '渡火',
|
|
||||||
游医: '游医',
|
|
||||||
教官: '教官',
|
|
||||||
冒险家: '冒险',
|
|
||||||
追忆之注连: '追忆',
|
|
||||||
海染砗磲: '海染',
|
|
||||||
如雷的盛怒: '如雷',
|
|
||||||
染血的骑士道: '染血',
|
|
||||||
平息鸣雷的尊者: '平雷',
|
|
||||||
流放者: '流放',
|
|
||||||
学士: '学士',
|
|
||||||
行者之心: '行者',
|
|
||||||
幸运儿: '幸运',
|
|
||||||
勇士之心: '勇士',
|
|
||||||
守护之心: '守护',
|
|
||||||
武人: '武人',
|
|
||||||
赌徒: '赌徒',
|
|
||||||
奇迹: '奇迹',
|
|
||||||
辰砂往生录: '辰砂',
|
|
||||||
来歆余响: '余响',
|
|
||||||
深林的记忆: '草套',
|
|
||||||
饰金之梦: '饰金'
|
|
||||||
}
|
|
||||||
|
|
||||||
let Artifact = {
|
let Artifact = {
|
||||||
|
|
||||||
// 根据圣遗物名称获取套装
|
// 根据圣遗物名称获取套装
|
||||||
|
@ -4,6 +4,7 @@ import { Data } from '../components/index.js'
|
|||||||
import MaterialMeta from './material-lib/MaterialMeta.js'
|
import MaterialMeta from './material-lib/MaterialMeta.js'
|
||||||
|
|
||||||
let data = Data.readJSON('resources/meta/material/data.json')
|
let data = Data.readJSON('resources/meta/material/data.json')
|
||||||
|
let abbr = await Data.importDefault('resources/meta/material/abbr.js')
|
||||||
let mMap = {}
|
let mMap = {}
|
||||||
let getItem = (ds) => {
|
let getItem = (ds) => {
|
||||||
mMap[ds.name] = {
|
mMap[ds.name] = {
|
||||||
@ -44,10 +45,11 @@ class Material extends Base {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get abbr () {
|
get abbr () {
|
||||||
|
let name = this.name
|
||||||
if (this.type === 'talent') {
|
if (this.type === 'talent') {
|
||||||
return Data.regRet(/「(.+)」/, this.name, 1) || this.name
|
return Data.regRet(/「(.+)」/, name, 1) || name
|
||||||
}
|
}
|
||||||
return this.name
|
return abbr[name] || name
|
||||||
}
|
}
|
||||||
|
|
||||||
get title () {
|
get title () {
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import lodash from 'lodash'
|
import lodash from 'lodash'
|
||||||
import Base from './Base.js'
|
import Base from './Base.js'
|
||||||
import { Data } from '../components/index.js'
|
import { Data } from '../components/index.js'
|
||||||
import WeaponMeta from './weapon/WeaponMeta.js'
|
|
||||||
|
|
||||||
let data = Data.readJSON('resources/meta/weapons/data.json')
|
let data = Data.readJSON('resources/meta/weapons/data.json')
|
||||||
|
let abbr = await Data.importDefault('resources/meta/weapon/abbr.js')
|
||||||
|
|
||||||
let wData = {}
|
let wData = {}
|
||||||
lodash.forEach(data, (ds) => {
|
lodash.forEach(data, (ds) => {
|
||||||
wData[ds.name] = ds
|
wData[ds.name] = ds
|
||||||
@ -28,7 +29,7 @@ class Weapon extends Base {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get abbr () {
|
get abbr () {
|
||||||
return WeaponMeta.getAbbr(this.name)
|
return abbr[this.name] || this.name
|
||||||
}
|
}
|
||||||
|
|
||||||
get title () {
|
get title () {
|
||||||
|
@ -299,30 +299,32 @@ body {
|
|||||||
background: url('../common/item/artifact-icon.webp') center no-repeat;
|
background: url('../common/item/artifact-icon.webp') center no-repeat;
|
||||||
background-size: 60% auto;
|
background-size: 60% auto;
|
||||||
}
|
}
|
||||||
.bottom-mode {
|
.copyright {
|
||||||
width: 600px;
|
|
||||||
}
|
|
||||||
.bottom-mode .char-title {
|
|
||||||
padding-top: 20px;
|
|
||||||
}
|
|
||||||
.bottom-mode .char-lv {
|
|
||||||
padding-top: 5px;
|
|
||||||
}
|
|
||||||
.bottom-mode .copyright {
|
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
|
left: 0;
|
||||||
line-height: 25px;
|
line-height: 25px;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
|
background: rgba(0, 0, 0, 0.5);
|
||||||
|
text-align: right;
|
||||||
|
z-index: 4;
|
||||||
}
|
}
|
||||||
.bottom-mode .copyright.data-source {
|
.copyright.data-source {
|
||||||
border-top: 1px solid rgba(255, 255, 255, 0.3);
|
border-top: 1px solid rgba(255, 255, 255, 0.3);
|
||||||
left: 0;
|
left: 0;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
background: rgba(0, 0, 0, 0.5);
|
background: none;
|
||||||
|
z-index: 5;
|
||||||
|
}
|
||||||
|
.bottom-mode .char-title {
|
||||||
|
padding-top: 20px;
|
||||||
|
}
|
||||||
|
.bottom-mode .char-lv {
|
||||||
|
padding-top: 5px;
|
||||||
}
|
}
|
||||||
.bottom-mode .char-detail {
|
.bottom-mode .char-detail {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -365,31 +367,13 @@ body {
|
|||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
}
|
}
|
||||||
.left-mode {
|
.left-mode {
|
||||||
height: 600px;
|
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
.left-mode .container {
|
.left-mode .container {
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
.left-mode img.bg {
|
|
||||||
width: auto;
|
|
||||||
height: 600px;
|
|
||||||
}
|
|
||||||
.left-mode .copyright {
|
|
||||||
font-size: 12px;
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
margin: 0;
|
|
||||||
right: 0;
|
|
||||||
height: 25px;
|
|
||||||
line-height: 25px;
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
.left-mode .copyright.data-source {
|
.left-mode .copyright.data-source {
|
||||||
border-top: 1px solid rgba(255, 255, 255, 0.3);
|
border-top: 1px solid rgba(255, 255, 255, 0.3);
|
||||||
left: 0;
|
|
||||||
text-align: left;
|
|
||||||
background: rgba(0, 0, 0, 0.5);
|
|
||||||
}
|
}
|
||||||
.left-mode .char-detail {
|
.left-mode .char-detail {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="char-title">
|
<div class="char-title">
|
||||||
<div class="char-name">
|
<div class="char-name">
|
||||||
<strong>{{data.sName}}</strong>
|
<strong>{{data.sName||data.name}}</strong>
|
||||||
{{if data.fetter}} <span class="fetter fetter{{data.fetter}}"></span> {{/if}}
|
{{if data.fetter}} <span class="fetter fetter{{data.fetter}}"></span> {{/if}}
|
||||||
{{if typeof(data.cons)!=='undefined'}} <span class="cons cons-{{data.cons}}">{{data.cons}}命</span> {{/if}}
|
{{if typeof(data.cons)!=='undefined'}} <span class="cons cons-{{data.cons}}">{{data.cons}}命</span> {{/if}}
|
||||||
</div>
|
</div>
|
||||||
|
@ -351,8 +351,30 @@ body {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.copyright {
|
||||||
|
font-size: 12px;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
margin: 0;
|
||||||
|
right: 0;
|
||||||
|
height: 25px;
|
||||||
|
left: 0;
|
||||||
|
line-height: 25px;
|
||||||
|
padding: 0 10px;
|
||||||
|
background: rgba(0, 0, 0, 0.5);
|
||||||
|
text-align: right;
|
||||||
|
z-index: 4;
|
||||||
|
|
||||||
|
&.data-source {
|
||||||
|
border-top: 1px solid rgba(255, 255, 255, .3);
|
||||||
|
left: 0;
|
||||||
|
text-align: left;
|
||||||
|
background: none;
|
||||||
|
z-index: 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.bottom-mode {
|
.bottom-mode {
|
||||||
width: 600px;
|
|
||||||
|
|
||||||
.char-title {
|
.char-title {
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
@ -362,24 +384,6 @@ body {
|
|||||||
padding-top: 5px;
|
padding-top: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.copyright {
|
|
||||||
font-size: 12px;
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
margin: 0;
|
|
||||||
right: 0;
|
|
||||||
height: 25px;
|
|
||||||
line-height: 25px;
|
|
||||||
padding: 0 10px;
|
|
||||||
|
|
||||||
&.data-source {
|
|
||||||
border-top: 1px solid rgba(255, 255, 255, .3);
|
|
||||||
left: 0;
|
|
||||||
text-align: left;
|
|
||||||
background: rgba(0, 0, 0, 0.5)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.char-detail {
|
.char-detail {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 25px;
|
bottom: 25px;
|
||||||
@ -434,33 +438,16 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.left-mode {
|
.left-mode {
|
||||||
height: 600px;
|
|
||||||
width: auto;
|
width: auto;
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.bg {
|
|
||||||
width: auto;
|
|
||||||
height: 600px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.copyright {
|
.copyright {
|
||||||
font-size: 12px;
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
margin: 0;
|
|
||||||
right: 0;
|
|
||||||
height: 25px;
|
|
||||||
line-height: 25px;
|
|
||||||
padding: 0 10px;
|
|
||||||
|
|
||||||
&.data-source {
|
&.data-source {
|
||||||
border-top: 1px solid rgba(255, 255, 255, .3);
|
border-top: 1px solid rgba(255, 255, 255, .3);
|
||||||
left: 0;
|
|
||||||
text-align: left;
|
|
||||||
background: rgba(0, 0, 0, 0.5)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,7 +132,7 @@ body {
|
|||||||
background: rgba(255, 255, 255, 0.85);
|
background: rgba(255, 255, 255, 0.85);
|
||||||
}
|
}
|
||||||
.cont .tr:nth-child(even) {
|
.cont .tr:nth-child(even) {
|
||||||
background: rgba(230, 230, 230, 0.85);
|
background: rgba(235, 235, 235, 0.85);
|
||||||
}
|
}
|
||||||
.cont .tr > div {
|
.cont .tr > div {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
@ -129,7 +129,7 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(even) {
|
&:nth-child(even) {
|
||||||
background: rgba(230, 230, 230, .85);
|
background: rgba(235, 235, 235, .85);
|
||||||
}
|
}
|
||||||
|
|
||||||
& > div {
|
& > div {
|
||||||
|
6
resources/meta/material/abbr.js
Normal file
6
resources/meta/material/abbr.js
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
export default {
|
||||||
|
恒常机关之心: '恒常之心',
|
||||||
|
'武炼之魂·孤影': '公子·孤影',
|
||||||
|
'吞天之鲸·只角': '公子·只角',
|
||||||
|
'魔王之刃·残片': '公子·残片'
|
||||||
|
}
|
@ -1266,10 +1266,5 @@
|
|||||||
"star": 5
|
"star": 5
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"undefined": {
|
|
||||||
"id": 0,
|
|
||||||
"type": "boss",
|
|
||||||
"star": 1
|
|
||||||
}
|
}
|
||||||
}
|
}
|
39
resources/meta/reliquaries/abbr.js
Normal file
39
resources/meta/reliquaries/abbr.js
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
export default {
|
||||||
|
炽烈的炎之魔女: '魔女',
|
||||||
|
昔日宗室之仪: '宗室',
|
||||||
|
翠绿之影: '风套',
|
||||||
|
千岩牢固: '千岩',
|
||||||
|
流浪大地的乐团: '乐团',
|
||||||
|
绝缘之旗印: '绝缘',
|
||||||
|
被怜爱的少女: '少女',
|
||||||
|
沉沦之心: '水套',
|
||||||
|
角斗士的终幕礼: '角斗',
|
||||||
|
冰风迷途的勇士: '冰套',
|
||||||
|
逆飞的流星: '逆飞',
|
||||||
|
苍白之火: '苍白',
|
||||||
|
华馆梦醒形骸记: '华馆',
|
||||||
|
战狂: '战狂',
|
||||||
|
悠古的磐岩: '岩套',
|
||||||
|
渡过烈火的贤人: '渡火',
|
||||||
|
游医: '游医',
|
||||||
|
教官: '教官',
|
||||||
|
冒险家: '冒险',
|
||||||
|
追忆之注连: '追忆',
|
||||||
|
海染砗磲: '海染',
|
||||||
|
如雷的盛怒: '如雷',
|
||||||
|
染血的骑士道: '染血',
|
||||||
|
平息鸣雷的尊者: '平雷',
|
||||||
|
流放者: '流放',
|
||||||
|
学士: '学士',
|
||||||
|
行者之心: '行者',
|
||||||
|
幸运儿: '幸运',
|
||||||
|
勇士之心: '勇士',
|
||||||
|
守护之心: '守护',
|
||||||
|
武人: '武人',
|
||||||
|
赌徒: '赌徒',
|
||||||
|
奇迹: '奇迹',
|
||||||
|
辰砂往生录: '辰砂',
|
||||||
|
来歆余响: '余响',
|
||||||
|
深林的记忆: '草套',
|
||||||
|
饰金之梦: '饰金'
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
export const abbr = {
|
export default {
|
||||||
磐岩结绿: '绿箭',
|
磐岩结绿: '绿箭',
|
||||||
赤角石溃杵: '赤角',
|
赤角石溃杵: '赤角',
|
||||||
终末嗟叹之诗: '终末',
|
终末嗟叹之诗: '终末',
|
||||||
@ -23,9 +23,3 @@ export const abbr = {
|
|||||||
讨龙英杰谭: '讨龙',
|
讨龙英杰谭: '讨龙',
|
||||||
神射手之誓: '神射手'
|
神射手之誓: '神射手'
|
||||||
}
|
}
|
||||||
let WeaponMeta = {
|
|
||||||
getAbbr (name) {
|
|
||||||
return abbr[name] || name
|
|
||||||
}
|
|
||||||
}
|
|
||||||
export default WeaponMeta
|
|
@ -357,5 +357,6 @@ body {
|
|||||||
.talent-common-info > div span {
|
.talent-common-info > div span {
|
||||||
background: rgba(50, 50, 50, 0.4);
|
background: rgba(50, 50, 50, 0.4);
|
||||||
border-radius: 0 5px 5px 0;
|
border-radius: 0 5px 5px 0;
|
||||||
|
color: #fff;
|
||||||
}
|
}
|
||||||
/*# sourceMappingURL=character-talent.css.map */
|
/*# sourceMappingURL=character-talent.css.map */
|
@ -415,6 +415,7 @@ body {
|
|||||||
span {
|
span {
|
||||||
background: rgba(50, 50, 50, 0.4);
|
background: rgba(50, 50, 50, 0.4);
|
||||||
border-radius: 0 5px 5px 0;
|
border-radius: 0 5px 5px 0;
|
||||||
|
color: #fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user