14 Commits
14a0c331b9
...
0546fcbfb0
-
13api/member.js
-
53components/IndexCard.vue
-
54components/h-loading.vue
-
161pages/deepExploration/MainForceActions.vue
-
658pages/home/member.vue
-
8pages/marketSituation/globalIndex.vue
-
31pages/marketSituation/marketDetail.vue
-
32pages/marketSituation/marketOverview.vue
-
6pages/setting/about.vue
-
22pages/setting/account.vue
-
4pages/setting/bind.vue
-
26pages/setting/createPwd.vue
-
20pages/setting/email.vue
-
10pages/setting/general.vue
-
32pages/setting/market.vue
-
2pages/setting/password.vue
-
BINstatic/loading-gif.gif
-
BINstatic/marketSituation-image/downTimeChart.png
-
BINstatic/marketSituation-image/upTimeChart.png
-
BINstatic/my/Check-in.png
-
BINstatic/my/MarketSettings.png
-
BINstatic/my/Settings.png
-
BINstatic/my/aboutDC.png
-
BINstatic/my/bell.png
-
BINstatic/my/common.png
-
BINstatic/my/default-avatar.png
-
BINstatic/my/editName.png
-
BINstatic/my/outline.png
-
BINstatic/my/polylines.png
-
BINstatic/my/security.png
-
BINstatic/my/share.png
@ -0,0 +1,54 @@ |
|||
<!-- @format --> |
|||
|
|||
<template> |
|||
<view v-if="loading" class="loading"> |
|||
<image class="loadingGif" src="/static/loading-gif.gif" mode=""></image> |
|||
</view> |
|||
</template> |
|||
|
|||
<script setup> |
|||
import { ref, computed, onMounted,watch } from "vue"; |
|||
|
|||
// 定义 props |
|||
const props = defineProps({ |
|||
loading: { |
|||
type: Boolean, |
|||
default: false, |
|||
}, |
|||
}); |
|||
|
|||
const loading = ref(false); |
|||
|
|||
// 监听 props.loading 变化 |
|||
watch(() => props.loading, (newVal) => { |
|||
loading.value = newVal; |
|||
}); |
|||
|
|||
// 生命周期 |
|||
onMounted(() => { |
|||
loading.value = props.loading; |
|||
}); |
|||
</script> |
|||
|
|||
<style scoped> |
|||
.loading { |
|||
position: absolute; |
|||
top: 0; |
|||
left: 0; |
|||
width: 100%; |
|||
height: 100%; |
|||
background-color: rgba(0, 0, 0, 0.5); |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
z-index: 9999; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
} |
|||
|
|||
.loadingGif { |
|||
width: 100rpx; |
|||
height: 100rpx; |
|||
} |
|||
</style> |
|||
@ -1,317 +1,367 @@ |
|||
<template> |
|||
<LoginPrompt ref="loginwPrompt"></LoginPrompt> |
|||
<view class="main"> |
|||
<view class="top"> |
|||
<view class="bell"> |
|||
<image class="image-bell" src="/static/my/bell.png"></image> |
|||
</view> |
|||
<view class="msg"> |
|||
<view class="msg-left"> |
|||
<view class="avatar"></view> |
|||
</view> |
|||
<view class="msg-center"> |
|||
<view style="display: flex;"> |
|||
<view class="userInfo">{{ username }}</view> |
|||
<image class="image-editName" src="/static/my/editName.png"></image> |
|||
</view> |
|||
<view class="userId">ID:{{ dccode }}</view> |
|||
</view> |
|||
<!-- <view class="msg-right"> |
|||
<LoginPrompt ref="loginPrompt"></LoginPrompt> |
|||
<view class="main"> |
|||
<view class="top"> |
|||
<view class="bell"> |
|||
<!-- <image class="image-bell" src="/static/my/bell.png" /> --> |
|||
</view> |
|||
<view class="msg"> |
|||
<view class="msg-left"> |
|||
<image class="avatar" |
|||
:src="avatarUrl || 'https://d31zlh4on95l9h.cloudfront.net/default/1961d9d2e31e78e47e885231e7514a35.png'" |
|||
mode="aspectFill" /> |
|||
</view> |
|||
<view class=" msg-center"> |
|||
<view style="display: flex;"> |
|||
<template v-if="!isEditingName"> |
|||
<view class="userInfo">{{ username }}</view> |
|||
<image class="image-editName" src="/static/my/editName.png" @click="startEditName" /> |
|||
</template> |
|||
<template v-else> |
|||
<input v-model="editingName" class="edit-input" @blur="finishEditName" |
|||
@keyup.enter="finishEditName" autofocus placeholder="请输入用户名" /> |
|||
</template> |
|||
</view> |
|||
<view class="userId">ID:{{ dccode }}</view> |
|||
</view> |
|||
<!-- <view class="msg-right"> |
|||
<image class="image-attendance" src="/static/my/Check-in.png"/> |
|||
<span style="font-size:10px;">签到</span> |
|||
</view> --> |
|||
</view> |
|||
|
|||
<view class="settings-buttons"> |
|||
<view class="setting-btn" @click="goToMarket"> |
|||
<image src="/static/my/MarketSettings.png" class="setting-icon"/> |
|||
<text>行情设置</text> |
|||
</view> |
|||
<view class="setting-btn" @click="goToGeneral"> |
|||
<image src="/static/my/Settings.png" class="setting-icon"/> |
|||
<text>通用设置</text> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="share" @click="goToShare"> |
|||
<image class="img-share" src="/static/my/share.png" mode="widthFix"/> |
|||
</view> |
|||
</view> |
|||
<view class="bottom"> |
|||
<view class="list-item" @click="goToAccount"> |
|||
<image src="/static/my/security.png" class="list-icon"/> |
|||
<text>账号与安全</text> |
|||
<uni-icons type="arrowright" size="16" class="arrow"/> |
|||
</view> |
|||
<view class="list-item"> |
|||
<image src="/static/my/connection.png" class="list-icon"/> |
|||
<text>联系我们</text> |
|||
<uni-icons type="arrowright" size="16" class="arrow"/> |
|||
</view> |
|||
<view class="list-item" @click="goToNewVersion"> |
|||
<image src="/static/my/update.png" class="list-icon"/> |
|||
<text>新版本更新</text> |
|||
<view class="update-tip">有新版本可更新 |
|||
<view class="circle"></view> |
|||
</view> |
|||
<uni-icons type="arrowright" size="16" class="arrow"/> |
|||
</view> |
|||
<view class="list-item"> |
|||
<image src="/static/my/opinion.png" class="list-icon"/> |
|||
<text>意见反馈</text> |
|||
<uni-icons type="arrowright" size="16" class="arrow"/> |
|||
</view> |
|||
<view class="list-item" @click="goToAbout"> |
|||
<image src="/static/my/about.png" class="list-icon"/> |
|||
<text>关于DeepChart</text> |
|||
<uni-icons type="arrowright" size="16" class="arrow"/> |
|||
</view> |
|||
</view> |
|||
<footerBar class="static-footer" :type="type"></footerBar> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="settings-buttons"> |
|||
<view class="setting-btn" @click="goToMarket"> |
|||
<image src="/static/my/MarketSettings.png" class="setting-icon" /> |
|||
<text>行情设置</text> |
|||
</view> |
|||
<view class="setting-btn" @click="goToGeneral"> |
|||
<image src="/static/my/Settings.png" class="setting-icon" /> |
|||
<text>通用设置</text> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="share" @click="goToShare"> |
|||
<image class="img-share" src="/static/my/share.png" mode="widthFix" /> |
|||
</view> |
|||
</view> |
|||
<view class="bottom"> |
|||
<view class="list-item" @click="goToAccount"> |
|||
<image src="/static/my/security.png" class="list-icon" /> |
|||
<text>账号与安全</text> |
|||
<uni-icons type="arrowright" size="16" class="arrow" /> |
|||
</view> |
|||
<!-- <view class="list-item"> |
|||
<image src="/static/my/connection.png" class="list-icon" /> |
|||
<text>联系我们</text> |
|||
<uni-icons type="arrowright" size="16" class="arrow" /> |
|||
</view> |
|||
<view class="list-item" @click="goToNewVersion"> |
|||
<image src="/static/my/update.png" class="list-icon" /> |
|||
<text>新版本更新</text> |
|||
<view class="update-tip">有新版本可更新 |
|||
<view class="circle"></view> |
|||
</view> |
|||
<uni-icons type="arrowright" size="16" class="arrow" /> |
|||
</view> |
|||
<view class="list-item"> |
|||
<image src="/static/my/opinion.png" class="list-icon" /> |
|||
<text>意见反馈</text> |
|||
<uni-icons type="arrowright" size="16" class="arrow" /> |
|||
</view> --> |
|||
<view class="list-item" @click="goToAbout"> |
|||
<image src="/static/my/about.png" class="list-icon" /> |
|||
<text>关于DeepChart</text> |
|||
<uni-icons type="arrowright" size="16" class="arrow" /> |
|||
</view> |
|||
</view> |
|||
<footerBar class="static-footer" :type="type"></footerBar> |
|||
</view> |
|||
</template> |
|||
|
|||
<script setup> |
|||
import { |
|||
ref, |
|||
onMounted |
|||
} from 'vue' |
|||
import { |
|||
ArrowRight |
|||
} from '@element-plus/icons-vue' |
|||
import footerBar from '../../components/footerBar.vue' |
|||
import {getUserInfo} from "@/api/member" |
|||
import { useUserStore } from "../../stores/modules/userInfo" |
|||
const userStore = useUserStore() |
|||
|
|||
const type = ref('member') |
|||
const iSMT = ref(0) |
|||
const username = ref('') |
|||
const dccode = ref('') |
|||
|
|||
const userInfoRes = ref()// 用户身份信息 |
|||
userInfoRes.value = getUserInfo() |
|||
userInfoRes.value.then(res => { |
|||
username.value = res.data.dcname |
|||
dccode.value = res.data.dccode |
|||
console.log('用户信息', userInfoRes.value) |
|||
}) |
|||
|
|||
|
|||
const goToGeneral = () => { |
|||
uni.navigateTo({ |
|||
url: '/pages/setting/general' |
|||
}) |
|||
} |
|||
|
|||
const goToMarket = () => { |
|||
uni.navigateTo({ |
|||
url: '../setting/market' |
|||
}) |
|||
} |
|||
|
|||
const goToAccount = () => { |
|||
uni.navigateTo({ |
|||
url: '../setting/account' |
|||
}) |
|||
} |
|||
|
|||
const goToNewVersion = () => { |
|||
uni.navigateTo({ |
|||
url: '../setting/newVersion' |
|||
}) |
|||
} |
|||
|
|||
const goToAbout = () => { |
|||
uni.navigateTo({ |
|||
url: '../setting/about' |
|||
}) |
|||
} |
|||
|
|||
const goToShare = () => { |
|||
console.log('用户信息==========',userStore.userInfo.isVisitor) |
|||
if (userStore.userInfo.isVisitor) { |
|||
uni.showToast({ |
|||
title: '请先登录', |
|||
icon: 'none' |
|||
import { |
|||
ref, |
|||
onMounted |
|||
} from 'vue' |
|||
import { |
|||
ArrowRight |
|||
} from '@element-plus/icons-vue' |
|||
import footerBar from '../../components/footerBar.vue' |
|||
import { |
|||
getUserInfo, |
|||
updateUserInfo |
|||
} from "@/api/member" |
|||
import { |
|||
useUserStore |
|||
} from "../../stores/modules/userInfo" |
|||
const userStore = useUserStore() |
|||
|
|||
const type = ref('member') |
|||
const iSMT = ref(0) |
|||
const username = ref('') |
|||
const dccode = ref('') |
|||
const avatarUrl = ref('') |
|||
const isEditingName = ref(false) |
|||
const editingName = ref('') |
|||
|
|||
const userInfoRes = ref() // 用户身份信息 |
|||
userInfoRes.value = getUserInfo() |
|||
userInfoRes.value.then(res => { |
|||
username.value = res.data.dcname |
|||
dccode.value = res.data.dccode |
|||
avatarUrl.value = res.data.avatar |
|||
console.log('用户信息', userInfoRes.value) |
|||
}) |
|||
|
|||
const startEditName = () => { |
|||
isEditingName.value = true |
|||
editingName.value = username.value |
|||
} |
|||
|
|||
const finishEditName = async () => { |
|||
if (editingName.value.trim() === '' || editingName.value === username.value) { |
|||
isEditingName.value = false |
|||
return |
|||
} |
|||
try { |
|||
await updateUserInfo({ |
|||
dcname: editingName.value |
|||
}) |
|||
uni.showToast({ |
|||
title: '昵称修改成功', |
|||
icon: 'none' |
|||
}) |
|||
} catch (err) { |
|||
uni.showToast({ |
|||
title: '修改失败,请重试', |
|||
icon: 'none' |
|||
}) |
|||
} finally { |
|||
isEditingName.value = false |
|||
} |
|||
} |
|||
|
|||
|
|||
const goToGeneral = () => { |
|||
uni.navigateTo({ |
|||
url: '/pages/setting/general' |
|||
}) |
|||
} |
|||
|
|||
const goToMarket = () => { |
|||
uni.navigateTo({ |
|||
url: '../setting/market' |
|||
}) |
|||
} |
|||
|
|||
const goToAccount = () => { |
|||
uni.navigateTo({ |
|||
url: '../setting/account' |
|||
}) |
|||
} |
|||
|
|||
const goToNewVersion = () => { |
|||
uni.navigateTo({ |
|||
url: '../setting/newVersion' |
|||
}) |
|||
} |
|||
|
|||
const goToAbout = () => { |
|||
uni.navigateTo({ |
|||
url: '../setting/about' |
|||
}) |
|||
} |
|||
|
|||
const goToShare = () => { |
|||
console.log('用户信息==========',userStore.userInfo.isVisitor) |
|||
if (userStore.userInfo.isVisitor) { |
|||
uni.showToast({ |
|||
title: '请先登录', |
|||
icon: 'none' |
|||
}) |
|||
return |
|||
} |
|||
uni.navigateTo({ |
|||
url: '../setting/share' |
|||
}) |
|||
return |
|||
} |
|||
uni.navigateTo({ |
|||
url: '../setting/share' |
|||
}) |
|||
} |
|||
|
|||
onMounted(() => { |
|||
// 状态栏高度 |
|||
iSMT.value = uni.getSystemInfoSync().statusBarHeight |
|||
console.log('??????????????', iSMT.value) |
|||
console.log('通信来的用户身份',userStore.userInfo) |
|||
}) |
|||
|
|||
onMounted(() => { |
|||
// 状态栏高度 |
|||
iSMT.value = uni.getSystemInfoSync().statusBarHeight |
|||
console.log('??????????????', iSMT.value) |
|||
console.log('通信来的用户身份', userStore.userInfo) |
|||
}) |
|||
</script> |
|||
|
|||
<style scoped> |
|||
.static-footer { |
|||
position: fixed; |
|||
bottom: 0; |
|||
} |
|||
|
|||
.top { |
|||
height: 50vh; |
|||
background-color: white; |
|||
} |
|||
|
|||
.bell { |
|||
height: 9.6vh; |
|||
display: flex; |
|||
align-items: flex-end; |
|||
justify-content: flex-end; |
|||
padding-right: 50rpx; |
|||
} |
|||
|
|||
.image-bell { |
|||
width: 26rpx; |
|||
height: 32rpx; |
|||
} |
|||
|
|||
.msg { |
|||
height: 10.7vh; |
|||
display: flex; |
|||
margin-top: 3vh; |
|||
margin-bottom: 3vh; |
|||
} |
|||
|
|||
.msg-left { |
|||
width: 252rpx; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
} |
|||
|
|||
.avatar { |
|||
width: 175rpx; |
|||
height: 175rpx; |
|||
border-radius: 50%; |
|||
background-color: black; |
|||
} |
|||
|
|||
.msg-center { |
|||
width: 388rpx; |
|||
padding-left: 2.5vh; |
|||
display: flex; |
|||
flex-direction: column; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.userInfo { |
|||
font-size: 20px; |
|||
} |
|||
|
|||
.userId { |
|||
font-size: 14px; |
|||
margin-top: 1vh; |
|||
} |
|||
|
|||
.image-editName { |
|||
width: 40rpx; |
|||
height: 40rpx; |
|||
margin-left: 15rpx; |
|||
} |
|||
|
|||
.msg-right { |
|||
display: flex; |
|||
flex-direction: column; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.image-attendance { |
|||
width: 43rpx; |
|||
height: 43rpx; |
|||
} |
|||
|
|||
.settings-buttons { |
|||
display: flex; |
|||
justify-content: space-around; |
|||
} |
|||
|
|||
.setting-btn { |
|||
width: 349rpx; |
|||
height: 135rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
background-color: rgb(243, 243, 243); |
|||
border-radius: 8%; |
|||
margin-bottom: 1vh; |
|||
} |
|||
|
|||
.setting-icon { |
|||
width: 64.7rpx; |
|||
height: 64.7rpx; |
|||
margin-right: 25rpx; |
|||
} |
|||
|
|||
.setting-btn text { |
|||
font-size: 28rpx; |
|||
font-weight: bold; |
|||
color: #333; |
|||
} |
|||
|
|||
.share { |
|||
height: 12.6vh; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
} |
|||
|
|||
.img-share { |
|||
width: 720rpx; |
|||
height: 160rpx; |
|||
} |
|||
|
|||
.bottom { |
|||
height: 44.5vh; |
|||
margin-top: 1vh; |
|||
background-color: rgb(255, 255, 255); |
|||
} |
|||
|
|||
.list-item { |
|||
width: 670rpx; |
|||
height: 7vh; |
|||
display: flex; |
|||
align-items: center; |
|||
margin: 0rpx 40rpx; |
|||
border-bottom: 1rpx solid #eee; |
|||
} |
|||
|
|||
.list-item:last-child { |
|||
border-bottom: none; |
|||
} |
|||
|
|||
.list-icon { |
|||
width: 42rpx; |
|||
height: 42rpx; |
|||
margin-right: 18rpx; |
|||
} |
|||
|
|||
.arrow { |
|||
margin-left: auto; |
|||
} |
|||
|
|||
.update-tip { |
|||
display: flex; |
|||
color: #999; |
|||
font-size: 24rpx; |
|||
align-items: center; |
|||
margin-left: 200rpx; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.circle { |
|||
width: 10rpx; |
|||
height: 10rpx; |
|||
border-radius: 50%; |
|||
background-color: red; |
|||
margin-left: 10rpx; |
|||
} |
|||
.static-footer { |
|||
position: fixed; |
|||
bottom: 0; |
|||
} |
|||
|
|||
.top { |
|||
height: 50vh; |
|||
background-color: white; |
|||
} |
|||
|
|||
.bell { |
|||
height: 9.6vh; |
|||
display: flex; |
|||
align-items: flex-end; |
|||
justify-content: flex-end; |
|||
padding-right: 50rpx; |
|||
} |
|||
|
|||
.image-bell { |
|||
width: 26rpx; |
|||
height: 32rpx; |
|||
} |
|||
|
|||
.msg { |
|||
height: 10.7vh; |
|||
display: flex; |
|||
margin-top: 3vh; |
|||
margin-bottom: 3vh; |
|||
} |
|||
|
|||
.msg-left { |
|||
width: 252rpx; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
} |
|||
|
|||
.avatar { |
|||
width: 175rpx; |
|||
height: 175rpx; |
|||
border-radius: 50%; |
|||
background-color: black; |
|||
} |
|||
|
|||
.msg-center { |
|||
width: 388rpx; |
|||
padding-left: 2.5vh; |
|||
display: flex; |
|||
flex-direction: column; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.userInfo { |
|||
font-size: 30rpx; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
.userId { |
|||
font-size: 14px; |
|||
margin-top: 1vh; |
|||
} |
|||
|
|||
.image-editName { |
|||
width: 40rpx; |
|||
height: 40rpx; |
|||
margin-left: 15rpx; |
|||
} |
|||
|
|||
.msg-right { |
|||
display: flex; |
|||
flex-direction: column; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.image-attendance { |
|||
width: 43rpx; |
|||
height: 43rpx; |
|||
} |
|||
|
|||
.settings-buttons { |
|||
display: flex; |
|||
justify-content: space-around; |
|||
} |
|||
|
|||
.setting-btn { |
|||
width: 349rpx; |
|||
height: 135rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
background-color: rgb(243, 243, 243); |
|||
border-radius: 8%; |
|||
margin-bottom: 1vh; |
|||
} |
|||
|
|||
.setting-icon { |
|||
width: 64.7rpx; |
|||
height: 64.7rpx; |
|||
margin-right: 25rpx; |
|||
} |
|||
|
|||
.setting-btn text { |
|||
font-size: 28rpx; |
|||
font-weight: bold; |
|||
color: #333; |
|||
} |
|||
|
|||
.share { |
|||
height: 12.6vh; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
} |
|||
|
|||
.img-share { |
|||
width: 720rpx; |
|||
height: 160rpx; |
|||
} |
|||
|
|||
.bottom { |
|||
height: 44.5vh; |
|||
margin-top: 1vh; |
|||
background-color: rgb(255, 255, 255); |
|||
} |
|||
|
|||
.list-item { |
|||
width: 670rpx; |
|||
height: 7vh; |
|||
display: flex; |
|||
align-items: center; |
|||
margin: 0rpx 40rpx; |
|||
border-bottom: 1rpx solid #eee; |
|||
} |
|||
|
|||
.list-item:last-child { |
|||
border-bottom: none; |
|||
} |
|||
|
|||
.list-icon { |
|||
width: 42rpx; |
|||
height: 42rpx; |
|||
margin-right: 18rpx; |
|||
} |
|||
|
|||
.arrow { |
|||
margin-left: auto; |
|||
} |
|||
|
|||
.update-tip { |
|||
display: flex; |
|||
color: #999; |
|||
font-size: 24rpx; |
|||
align-items: center; |
|||
margin-left: 200rpx; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.circle { |
|||
width: 10rpx; |
|||
height: 10rpx; |
|||
border-radius: 50%; |
|||
background-color: red; |
|||
margin-left: 10rpx; |
|||
} |
|||
|
|||
.edit-input { |
|||
background-color: #999; |
|||
} |
|||
</style> |
|||
|
After Width: 120 | Height: 120 | Size: 134 KiB |
|
After Width: 160 | Height: 62 | Size: 8.4 KiB |
|
After Width: 160 | Height: 62 | Size: 9.1 KiB |
|
Before Width: 22 | Height: 22 | Size: 614 B After Width: 44 | Height: 44 | Size: 1.5 KiB |
|
Before Width: 33 | Height: 33 | Size: 687 B After Width: 66 | Height: 66 | Size: 1.3 KiB |
|
Before Width: 27 | Height: 27 | Size: 1.2 KiB After Width: 54 | Height: 54 | Size: 3.3 KiB |
|
Before Width: 167 | Height: 155 | Size: 8.7 KiB After Width: 334 | Height: 310 | Size: 21 KiB |
|
Before Width: 13 | Height: 16 | Size: 358 B After Width: 26 | Height: 32 | Size: 902 B |
|
Before Width: 31 | Height: 23 | Size: 237 B After Width: 62 | Height: 46 | Size: 355 B |
|
After Width: 216 | Height: 216 | Size: 58 KiB |
|
Before Width: 15 | Height: 15 | Size: 424 B After Width: 30 | Height: 30 | Size: 1.1 KiB |
|
Before Width: 31 | Height: 25 | Size: 1.3 KiB After Width: 62 | Height: 49 | Size: 4.3 KiB |
|
Before Width: 31 | Height: 23 | Size: 1.3 KiB After Width: 62 | Height: 46 | Size: 3.6 KiB |
|
Before Width: 23 | Height: 23 | Size: 669 B After Width: 46 | Height: 46 | Size: 1.6 KiB |
|
Before Width: 360 | Height: 80 | Size: 28 KiB After Width: 720 | Height: 160 | Size: 93 KiB |