Detect type automatically when uploading texture
This commit is contained in:
parent
85eefad0b1
commit
7b8b318402
|
|
@ -101,6 +101,7 @@
|
|||
<script>
|
||||
import Vue from 'vue'
|
||||
import FileUpload from 'vue-upload-component'
|
||||
import { isSlimSkin } from 'skinview3d'
|
||||
import 'element-ui/lib/theme-chalk/radio.css'
|
||||
import Radio from 'element-ui/lib/radio'
|
||||
|
||||
|
|
@ -188,7 +189,10 @@ export default {
|
|||
|
||||
const image = new Image()
|
||||
image.src = this.texture
|
||||
image.onload = () => (this.width2d = image.width > 400 ? 400 : image.width)
|
||||
image.onload = () => {
|
||||
this.width2d = image.width > 400 ? 400 : image.width
|
||||
this.type = isSlimSkin(image) ? 'alex' : 'steve'
|
||||
}
|
||||
},
|
||||
remove() {
|
||||
this.$refs.upload.clear()
|
||||
|
|
|
|||
|
|
@ -49,3 +49,7 @@ export function createOrbitControls() {}
|
|||
export const WalkingAnimation = { paused: false }
|
||||
export const RunningAnimation = { paused: false }
|
||||
export const RotatingAnimation = { paused: false }
|
||||
|
||||
export function isSlimSkin() {
|
||||
return false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import Vue from 'vue'
|
|||
import {
|
||||
Button,
|
||||
Input,
|
||||
Radio,
|
||||
Switch,
|
||||
} from 'element-ui'
|
||||
|
||||
|
|
@ -52,6 +53,7 @@ Vue.prototype.$http = {
|
|||
|
||||
Vue.use(Button)
|
||||
Vue.use(Input)
|
||||
Vue.use(Radio)
|
||||
Vue.use(Switch)
|
||||
Vue.prototype.$message = {
|
||||
info: jest.fn(),
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
/* eslint-disable accessor-pairs */
|
||||
import Vue from 'vue'
|
||||
import { mount } from '@vue/test-utils'
|
||||
import { Radio } from 'element-ui'
|
||||
import * as skinview3d from 'skinview3d'
|
||||
import Upload from '@/views/skinlib/Upload.vue'
|
||||
import { flushPromises } from '../../utils'
|
||||
|
||||
|
|
@ -83,6 +85,9 @@ test('process input file', () => {
|
|||
set: fn => fn(),
|
||||
})
|
||||
})
|
||||
jest.spyOn(skinview3d, 'isSlimSkin')
|
||||
.mockReturnValueOnce(true)
|
||||
.mockReturnValue(false)
|
||||
const blob = new Blob()
|
||||
type Component = Vue & {
|
||||
name: string
|
||||
|
|
@ -92,15 +97,18 @@ test('process input file', () => {
|
|||
const wrapper = mount<Component>(Upload, {
|
||||
stubs: ['file-upload'],
|
||||
})
|
||||
const radioes = wrapper.findAll(Radio)
|
||||
|
||||
wrapper.vm.inputFile()
|
||||
expect(wrapper.vm.name).toBe('')
|
||||
|
||||
wrapper.vm.inputFile({ file: blob, name: '123.png' })
|
||||
expect(wrapper.vm.name).toBe('123')
|
||||
expect(radioes.at(1).classes()).toContain('is-checked')
|
||||
|
||||
wrapper.vm.inputFile({ file: blob, name: '456.png' })
|
||||
expect(wrapper.vm.name).toBe('123')
|
||||
expect(radioes.at(0).classes()).toContain('is-checked')
|
||||
|
||||
wrapper.setData({ name: '' })
|
||||
wrapper.vm.inputFile({ file: blob, name: '789' })
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
## Added
|
||||
|
||||
- Detect type automatically when uploading texture.
|
||||
|
||||
## Fixed
|
||||
|
||||
- Fixed dropdown menu of skin library for mobile users.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
## 新增
|
||||
|
||||
- 上传皮肤时自动检测类型
|
||||
|
||||
## 修复
|
||||
|
||||
- 修复移动端下皮肤库下拉菜单失效的问题
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user