fix: subscriptionInfo may not be valid

This commit is contained in:
kunish 2023-09-17 19:44:47 +08:00
parent 3e4078d99e
commit e7ba6c7c34
No known key found for this signature in database
GPG Key ID: 647A12B4F782C430
2 changed files with 14 additions and 14 deletions

View File

@ -3,21 +3,20 @@ import dayjs from 'dayjs'
import type { SubscriptionInfo as ISubscriptionInfo } from '~/types'
const getSubscriptionsInfo = (subscriptionInfo: ISubscriptionInfo) => {
const total = byteSize(subscriptionInfo.Total, { units: 'iec' })
const used = byteSize(subscriptionInfo.Download + subscriptionInfo.Upload, {
const { Download = 0, Upload = 0, Total = 0, Expire = 0 } = subscriptionInfo
const total = byteSize(Total, { units: 'iec' })
const used = byteSize(Download + Upload, {
units: 'iec',
})
const percentage = (
((subscriptionInfo.Download + subscriptionInfo.Upload) /
subscriptionInfo.Total) *
100
).toFixed(2)
const percentage = (((Download + Upload) / Total) * 100).toFixed(2)
const expireStr = () => {
if (subscriptionInfo.Expire === 0) {
return 'Null'
}
return dayjs(subscriptionInfo.Expire * 1000).format('YYYY-MM-DD')
return dayjs(Expire * 1000).format('YYYY-MM-DD')
}
return {
@ -29,7 +28,7 @@ const getSubscriptionsInfo = (subscriptionInfo: ISubscriptionInfo) => {
}
export const SubscriptionInfo = (props: {
subscriptionInfo: ISubscriptionInfo
subscriptionInfo?: ISubscriptionInfo
}) => {
if (!props.subscriptionInfo) {
return

11
src/types/index.d.ts vendored
View File

@ -38,15 +38,16 @@ export type ProxyNode = {
delay: number
}[]
}
export type SubscriptionInfo = {
Download: number
Upload: number
Total: number
Expire: number
Download?: number
Upload?: number
Total?: number
Expire?: number
}
export type ProxyProvider = {
subscriptionInfo: SubscriptionInfo
subscriptionInfo?: SubscriptionInfo
name: string
proxies: ProxyNode[]
testUrl: string