Swanky 6 months ago
parent 55a7f3c79c
commit c46812e60e
  1. 34
      public/outdoor-announcements.json
  2. 29
      public/交易结算数据.json
  3. 29
      public/待交易牦牛数据.json
  4. 10
      public/牦牛实时交易概况.json
  5. 61
      src/components/Outdoor/PendingYakData.vue
  6. 30
      src/components/Outdoor/ScrollingAnnouncement.vue
  7. 61
      src/components/Outdoor/TransactionSettlement.vue
  8. 68
      src/components/Outdoor/YakTradingOverview.vue
  9. 68
      src/components/TV86/YakTradingOverview.vue

@ -0,0 +1,34 @@
{
"announcements": [
{
"content": "【重要通知】今日牦牛交易价格上涨2.5%,活牛32.8元/公斤,鲜肉78.5元/公斤,受春季需求增长影响,请商户关注行情变化,合理安排采购计划"
},
{
"content": "【招商信息】新增北京、上海、广州、深圳等一线城市优质采购商入驻,涵盖餐饮连锁、精品超市、生鲜电商等业态,欢迎牧民朋友联系洽谈合作"
},
{
"content": "【系统维护】本周末(3月18日22:00-19日08:00)系统升级维护,交易时间调整为09:00-17:00,支付功能暂停4小时,请提前安排交易事宜"
},
{
"content": "【市场资讯】受春季牧草丰茂、气候适宜等因素影响,预计下月牦牛供应量增加15%,达8500头左右,肉质品质提升,建议采购商提前规划库存"
},
{
"content": "【质量报告】西藏、青海、甘肃等主要产区肉品检测合格率达98.5%,创历史新高,蛋白质含量21.8%,重金属含量远低于国标,品质安全有保障"
},
{
"content": "【政策利好】国家三部委发布牦牛产业发展指导意见,三年内投入50亿元专项资金,支持养殖技术、品种改良、冷链物流等领域,并给予税收减免支持"
},
{
"content": "【安全提醒】近期发现不法分子冒充平台工作人员诈骗,以系统升级、账户异常为借口要求转账,请提高警惕,平台绝不私下要求转账,疑问请联系客服400-8888-666"
},
{
"content": "【物流升级】与顺丰、德邦、中通等企业合作开通专业冷链服务,覆盖全国主要城市,配备冷藏车辆恒温仓储,一线城市24小时送达,配送效率提升60%"
},
{
"content": "【技术创新】推出AI智能定价系统2.0,整合市场供需、季节变化、品质等级等数据,运用深度学习算法提供精准价格参考,预计节省交易成本15-20%"
},
{
"content": "【节日祝福】藏历新年洛萨节即将到来,平台全体员工向牧民朋友和合作伙伴致以节日祝福,祝大家新年健康幸福、生意兴隆,牦牛产业蒸蒸日上,扎西德勒!"
}
]
}

@ -0,0 +1,29 @@
{
"交易结算数据": [
{ "id": 1, "settler": "扎西多吉", "licensePlate": "藏A·12345", "yakCount": 15, "settlementTime": "09:30" },
{ "id": 2, "settler": "次仁央吉", "licensePlate": "藏B·67890", "yakCount": 8, "settlementTime": "09:45" },
{ "id": 3, "settler": "洛桑旺堆", "licensePlate": "藏C·11111", "yakCount": 22, "settlementTime": "10:15" },
{ "id": 4, "settler": "普布扎西", "licensePlate": "藏A·22222", "yakCount": 12, "settlementTime": "10:30" },
{ "id": 5, "settler": "德吉梅朵", "licensePlate": "藏B·33333", "yakCount": 18, "settlementTime": "11:00" },
{ "id": 6, "settler": "格桑平措", "licensePlate": "藏C·44444", "yakCount": 6, "settlementTime": "11:20" },
{ "id": 7, "settler": "拉巴次仁", "licensePlate": "藏A·55555", "yakCount": 25, "settlementTime": "11:45" },
{ "id": 8, "settler": "卓玛央金", "licensePlate": "藏B·66666", "yakCount": 14, "settlementTime": "12:10" },
{ "id": 9, "settler": "索朗多吉", "licensePlate": "藏C·77777", "yakCount": 20, "settlementTime": "12:30" },
{ "id": 10, "settler": "白玛曲珍", "licensePlate": "藏A·88888", "yakCount": 9, "settlementTime": "13:00" },
{ "id": 11, "settler": "丹增诺布", "licensePlate": "藏B·99999", "yakCount": 16, "settlementTime": "13:25" },
{ "id": 12, "settler": "央吉拉姆", "licensePlate": "藏C·00000", "yakCount": 11, "settlementTime": "13:50" },
{ "id": 13, "settler": "土登群培", "licensePlate": "藏A·12121", "yakCount": 28, "settlementTime": "14:15" },
{ "id": 14, "settler": "曲珍旺姆", "licensePlate": "藏B·23232", "yakCount": 7, "settlementTime": "14:40" },
{ "id": 15, "settler": "阿旺洛桑", "licensePlate": "藏C·34343", "yakCount": 19, "settlementTime": "15:05" },
{ "id": 16, "settler": "措姆拉姆", "licensePlate": "藏A·45454", "yakCount": 13, "settlementTime": "15:30" },
{ "id": 17, "settler": "平措扎西", "licensePlate": "藏B·56565", "yakCount": 24, "settlementTime": "15:55" },
{ "id": 18, "settler": "桑杰卓玛", "licensePlate": "藏C·67676", "yakCount": 10, "settlementTime": "16:20" },
{ "id": 19, "settler": "尼玛次仁", "licensePlate": "藏A·78787", "yakCount": 17, "settlementTime": "16:45" },
{ "id": 20, "settler": "央金拉姆", "licensePlate": "藏B·89898", "yakCount": 21, "settlementTime": "17:10" },
{ "id": 21, "settler": "次仁多吉", "licensePlate": "藏A·10101", "yakCount": 23, "settlementTime": "17:35" },
{ "id": 22, "settler": "拉姆卓玛", "licensePlate": "藏B·20202", "yakCount": 12, "settlementTime": "18:00" },
{ "id": 23, "settler": "扎西平措", "licensePlate": "藏C·30303", "yakCount": 16, "settlementTime": "18:25" },
{ "id": 24, "settler": "旺姆拉姆", "licensePlate": "藏A·40404", "yakCount": 29, "settlementTime": "18:50" },
{ "id": 25, "settler": "格桑多吉", "licensePlate": "藏B·50505", "yakCount": 8, "settlementTime": "19:15" }
]
}

@ -0,0 +1,29 @@
{
"待交易牦牛数据": [
{ "id": 1, "sellerName": "扎西多吉", "licensePlate": "藏A·12345", "contact": "138****5678", "yakCount": 25 },
{ "id": 2, "sellerName": "次仁央吉", "licensePlate": "藏A·23456", "contact": "139****6789", "yakCount": 18 },
{ "id": 3, "sellerName": "洛桑旺堆", "licensePlate": "藏B·34567", "contact": "137****7890", "yakCount": 32 },
{ "id": 4, "sellerName": "普布扎西", "licensePlate": "藏A·45678", "contact": "136****8901", "yakCount": 14 },
{ "id": 5, "sellerName": "德吉措姆", "licensePlate": "藏C·56789", "contact": "135****9012", "yakCount": 28 },
{ "id": 6, "sellerName": "旺久多吉", "licensePlate": "藏A·67890", "contact": "134****0123", "yakCount": 21 },
{ "id": 7, "sellerName": "卓玛拉姆", "licensePlate": "藏B·78901", "contact": "133****1234", "yakCount": 35 },
{ "id": 8, "sellerName": "格桑花措", "licensePlate": "藏A·89012", "contact": "132****2345", "yakCount": 16 },
{ "id": 9, "sellerName": "丹增诺布", "licensePlate": "藏C·90123", "contact": "131****3456", "yakCount": 29 },
{ "id": 10, "sellerName": "白玛次仁", "licensePlate": "藏A·01234", "contact": "130****4567", "yakCount": 22 },
{ "id": 11, "sellerName": "索朗达瓦", "licensePlate": "藏B·12340", "contact": "158****5678", "yakCount": 19 },
{ "id": 12, "sellerName": "央金卓玛", "licensePlate": "藏A·23451", "contact": "157****6789", "yakCount": 26 },
{ "id": 13, "sellerName": "阿旺罗布", "licensePlate": "藏C·34562", "contact": "156****7890", "yakCount": 31 },
{ "id": 14, "sellerName": "拉巴次仁", "licensePlate": "藏A·45673", "contact": "155****8901", "yakCount": 17 },
{ "id": 15, "sellerName": "曲珍措姆", "licensePlate": "藏B·56784", "contact": "154****9012", "yakCount": 24 },
{ "id": 16, "sellerName": "边巴扎西", "licensePlate": "藏A·67895", "contact": "153****0123", "yakCount": 33 },
{ "id": 17, "sellerName": "尼玛次仁", "licensePlate": "藏C·78906", "contact": "152****1234", "yakCount": 20 },
{ "id": 18, "sellerName": "桑杰卓玛", "licensePlate": "藏A·89017", "contact": "151****2345", "yakCount": 27 },
{ "id": 19, "sellerName": "强巴次仁", "licensePlate": "藏B·90128", "contact": "150****3456", "yakCount": 15 },
{ "id": 20, "sellerName": "次央拉姆", "licensePlate": "藏A·01239", "contact": "149****4567", "yakCount": 30 },
{ "id": 21, "sellerName": "嘎玛次成", "licensePlate": "藏A·11111", "contact": "187****1111", "yakCount": 23 },
{ "id": 22, "sellerName": "多吉卓玛", "licensePlate": "藏B·22222", "contact": "186****2222", "yakCount": 28 },
{ "id": 23, "sellerName": "次旺扎西", "licensePlate": "藏C·33333", "contact": "185****3333", "yakCount": 19 },
{ "id": 24, "sellerName": "拉姆央金", "licensePlate": "藏A·44444", "contact": "184****4444", "yakCount": 34 },
{ "id": 25, "sellerName": "洛桑平措", "licensePlate": "藏B·55555", "contact": "183****5555", "yakCount": 16 }
]
}

@ -0,0 +1,10 @@
{
"牦牛实时交易概况": {
"todayEntryYaks": 1256,
"tradedYaks": 847,
"waitingYaks": 409,
"sellerCount": 168,
"remainingParkingSpots": 32,
"lastUpdate": "2024-03-15 15:30:00"
}
}

@ -63,29 +63,41 @@
<script setup>
import { ref, computed, onMounted, onUnmounted } from 'vue'
// -
const allRecords = ref([
{ id: 1, sellerName: '扎西多吉', licensePlate: '藏A·12345', contact: '138****5678', yakCount: 25 },
{ id: 2, sellerName: '次仁央吉', licensePlate: '藏A·23456', contact: '139****6789', yakCount: 18 },
{ id: 3, sellerName: '洛桑旺堆', licensePlate: '藏B·34567', contact: '137****7890', yakCount: 32 },
{ id: 4, sellerName: '普布扎西', licensePlate: '藏A·45678', contact: '136****8901', yakCount: 14 },
{ id: 5, sellerName: '德吉措姆', licensePlate: '藏C·56789', contact: '135****9012', yakCount: 28 },
{ id: 6, sellerName: '旺久多吉', licensePlate: '藏A·67890', contact: '134****0123', yakCount: 21 },
{ id: 7, sellerName: '卓玛拉姆', licensePlate: '藏B·78901', contact: '133****1234', yakCount: 35 },
{ id: 8, sellerName: '格桑花措', licensePlate: '藏A·89012', contact: '132****2345', yakCount: 16 },
{ id: 9, sellerName: '丹增诺布', licensePlate: '藏C·90123', contact: '131****3456', yakCount: 29 },
{ id: 10, sellerName: '白玛次仁', licensePlate: '藏A·01234', contact: '130****4567', yakCount: 22 },
{ id: 11, sellerName: '索朗达瓦', licensePlate: '藏B·12340', contact: '158****5678', yakCount: 19 },
{ id: 12, sellerName: '央金卓玛', licensePlate: '藏A·23451', contact: '157****6789', yakCount: 26 },
{ id: 13, sellerName: '阿旺罗布', licensePlate: '藏C·34562', contact: '156****7890', yakCount: 31 },
{ id: 14, sellerName: '拉巴次仁', licensePlate: '藏A·45673', contact: '155****8901', yakCount: 17 },
{ id: 15, sellerName: '曲珍措姆', licensePlate: '藏B·56784', contact: '154****9012', yakCount: 24 },
{ id: 16, sellerName: '边巴扎西', licensePlate: '藏A·67895', contact: '153****0123', yakCount: 33 },
{ id: 17, sellerName: '尼玛次仁', licensePlate: '藏C·78906', contact: '152****1234', yakCount: 20 },
{ id: 18, sellerName: '桑杰卓玛', licensePlate: '藏A·89017', contact: '151****2345', yakCount: 27 },
{ id: 19, sellerName: '强巴次仁', licensePlate: '藏B·90128', contact: '150****3456', yakCount: 15 },
{ id: 20, sellerName: '次央拉姆', licensePlate: '藏A·01239', contact: '149****4567', yakCount: 30 }
])
//
const allRecords = ref([])
//
const loadYakData = async () => {
try {
console.log('正在从JSON文件加载待交易牦牛数据...')
const response = await fetch('/待交易牦牛数据.json')
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`)
}
const data = await response.json()
if (data.待交易牦牛数据 && Array.isArray(data.待交易牦牛数据)) {
allRecords.value = data.待交易牦牛数据
console.log(`成功加载 ${allRecords.value.length} 条待交易牦牛数据`)
} else {
throw new Error('待交易牦牛数据格式不正确')
}
} catch (error) {
console.error('加载待交易牦牛数据失败,使用默认数据:', error)
loadDefaultYakData()
}
}
//
const loadDefaultYakData = () => {
allRecords.value = [
{ id: 1, sellerName: '扎西多吉', licensePlate: '藏A·12345', contact: '138****5678', yakCount: 25 },
{ id: 2, sellerName: '次仁央吉', licensePlate: '藏A·23456', contact: '139****6789', yakCount: 18 },
{ id: 3, sellerName: '洛桑旺堆', licensePlate: '藏B·34567', contact: '137****7890', yakCount: 32 },
{ id: 4, sellerName: '普布扎西', licensePlate: '藏A·45678', contact: '136****8901', yakCount: 14 },
{ id: 5, sellerName: '德吉措姆', licensePlate: '藏C·56789', contact: '135****9012', yakCount: 28 }
]
}
//
const pageSize = 8 // 8
@ -159,7 +171,8 @@ const updateData = () => {
})
}
onMounted(() => {
onMounted(async () => {
await loadYakData()
startAutoFlip()
// 30

@ -40,24 +40,34 @@ const nextIndex = computed(() => {
//
const loadAnnouncements = async () => {
// 使
console.log('室外页面使用专用公告数据')
loadDefaultAnnouncements()
try {
console.log('正在从JSON文件加载室外公告数据...')
const response = await fetch('/outdoor-announcements.json')
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`)
}
const data = await response.json()
if (data.announcements && Array.isArray(data.announcements)) {
announcements.splice(0, announcements.length, ...data.announcements)
console.log(`成功加载 ${announcements.length} 条公告`)
} else {
throw new Error('公告数据格式不正确')
}
} catch (error) {
console.error('加载公告数据失败,使用默认数据:', error)
loadDefaultAnnouncements()
}
}
//
//
const loadDefaultAnnouncements = () => {
announcements.splice(0, announcements.length,
{ content: '【重要通知】今日牦牛交易价格上涨2.5%,活牛32.8元/公斤,鲜肉78.5元/公斤,受春季需求增长影响,请商户关注行情变化,合理安排采购计划' },
{ content: '【招商信息】新增北京、上海、广州、深圳等一线城市优质采购商入驻,涵盖餐饮连锁、精品超市、生鲜电商等业态,欢迎牧民朋友联系洽谈合作' },
{ content: '【系统维护】本周末(3月18日22:00-19日08:00)系统升级维护,交易时间调整为09:00-17:00,支付功能暂停4小时,请提前安排交易事宜' },
{ content: '【市场资讯】受春季牧草丰茂、气候适宜等因素影响,预计下月牦牛供应量增加15%,达8500头左右,肉质品质提升,建议采购商提前规划库存' },
{ content: '【质量报告】西藏、青海、甘肃等主要产区肉品检测合格率达98.5%,创历史新高,蛋白质含量21.8%,重金属含量远低于国标,品质安全有保障' },
{ content: '【政策利好】国家三部委发布牦牛产业发展指导意见,三年内投入50亿元专项资金,支持养殖技术、品种改良、冷链物流等领域,并给予税收减免支持' },
{ content: '【安全提醒】近期发现不法分子冒充平台工作人员诈骗,以系统升级、账户异常为借口要求转账,请提高警惕,平台绝不私下要求转账,疑问请联系客服400-8888-666' },
{ content: '【物流升级】与顺丰、德邦、中通等企业合作开通专业冷链服务,覆盖全国主要城市,配备冷藏车辆恒温仓储,一线城市24小时送达,配送效率提升60%' },
{ content: '【技术创新】推出AI智能定价系统2.0,整合市场供需、季节变化、品质等级等数据,运用深度学习算法提供精准价格参考,预计节省交易成本15-20%' },
{ content: '【节日祝福】藏历新年洛萨节即将到来,平台全体员工向牧民朋友和合作伙伴致以节日祝福,祝大家新年健康幸福、生意兴隆,牦牛产业蒸蒸日上,扎西德勒!' }
{ content: '【质量报告】西藏、青海、甘肃等主要产区肉品检测合格率达98.5%,创历史新高,蛋白质含量21.8%,重金属含量远低于国标,品质安全有保障' }
)
}

@ -71,29 +71,41 @@ const countdown = ref(10)
let timer = null
let countdownTimer = null
//
const settlementData = ref([
{ id: 1, settler: '扎西多吉', licensePlate: '藏A·12345', yakCount: 15, settlementTime: '09:30' },
{ id: 2, settler: '次仁央吉', licensePlate: '藏B·67890', yakCount: 8, settlementTime: '09:45' },
{ id: 3, settler: '洛桑旺堆', licensePlate: '藏C·11111', yakCount: 22, settlementTime: '10:15' },
{ id: 4, settler: '普布扎西', licensePlate: '藏A·22222', yakCount: 12, settlementTime: '10:30' },
{ id: 5, settler: '德吉梅朵', licensePlate: '藏B·33333', yakCount: 18, settlementTime: '11:00' },
{ id: 6, settler: '格桑平措', licensePlate: '藏C·44444', yakCount: 6, settlementTime: '11:20' },
{ id: 7, settler: '拉巴次仁', licensePlate: '藏A·55555', yakCount: 25, settlementTime: '11:45' },
{ id: 8, settler: '卓玛央金', licensePlate: '藏B·66666', yakCount: 14, settlementTime: '12:10' },
{ id: 9, settler: '索朗多吉', licensePlate: '藏C·77777', yakCount: 20, settlementTime: '12:30' },
{ id: 10, settler: '白玛曲珍', licensePlate: '藏A·88888', yakCount: 9, settlementTime: '13:00' },
{ id: 11, settler: '丹增诺布', licensePlate: '藏B·99999', yakCount: 16, settlementTime: '13:25' },
{ id: 12, settler: '央吉拉姆', licensePlate: '藏C·00000', yakCount: 11, settlementTime: '13:50' },
{ id: 13, settler: '土登群培', licensePlate: '藏A·12121', yakCount: 28, settlementTime: '14:15' },
{ id: 14, settler: '曲珍旺姆', licensePlate: '藏B·23232', yakCount: 7, settlementTime: '14:40' },
{ id: 15, settler: '阿旺洛桑', licensePlate: '藏C·34343', yakCount: 19, settlementTime: '15:05' },
{ id: 16, settler: '措姆拉姆', licensePlate: '藏A·45454', yakCount: 13, settlementTime: '15:30' },
{ id: 17, settler: '平措扎西', licensePlate: '藏B·56565', yakCount: 24, settlementTime: '15:55' },
{ id: 18, settler: '桑杰卓玛', licensePlate: '藏C·67676', yakCount: 10, settlementTime: '16:20' },
{ id: 19, settler: '尼玛次仁', licensePlate: '藏A·78787', yakCount: 17, settlementTime: '16:45' },
{ id: 20, settler: '央金拉姆', licensePlate: '藏B·89898', yakCount: 21, settlementTime: '17:10' }
])
//
const settlementData = ref([])
//
const loadSettlementData = async () => {
try {
console.log('正在从JSON文件加载交易结算数据...')
const response = await fetch('/交易结算数据.json')
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`)
}
const data = await response.json()
if (data.交易结算数据 && Array.isArray(data.交易结算数据)) {
settlementData.value = data.交易结算数据
console.log(`成功加载 ${settlementData.value.length} 条交易结算数据`)
} else {
throw new Error('交易结算数据格式不正确')
}
} catch (error) {
console.error('加载交易结算数据失败,使用默认数据:', error)
loadDefaultSettlementData()
}
}
//
const loadDefaultSettlementData = () => {
settlementData.value = [
{ id: 1, settler: '扎西多吉', licensePlate: '藏A·12345', yakCount: 15, settlementTime: '09:30' },
{ id: 2, settler: '次仁央吉', licensePlate: '藏B·67890', yakCount: 8, settlementTime: '09:45' },
{ id: 3, settler: '洛桑旺堆', licensePlate: '藏C·11111', yakCount: 22, settlementTime: '10:15' },
{ id: 4, settler: '普布扎西', licensePlate: '藏A·22222', yakCount: 12, settlementTime: '10:30' },
{ id: 5, settler: '德吉梅朵', licensePlate: '藏B·33333', yakCount: 18, settlementTime: '11:00' }
]
}
//
const totalPages = computed(() => {
@ -146,7 +158,8 @@ const stopTimer = () => {
}
}
onMounted(() => {
onMounted(async () => {
await loadSettlementData()
startTimer()
})

@ -59,18 +59,56 @@
</template>
<script setup>
import { ref, onMounted } from 'vue'
import { ref, onMounted, onUnmounted } from 'vue'
//
const todayEntryYaks = ref(1256) //
const tradedYaks = ref(847) //
const waitingYaks = ref(409) //
const sellerCount = ref(168) //
const remainingParkingSpots = ref(32) //
//
const todayEntryYaks = ref(0) //
const tradedYaks = ref(0) //
const waitingYaks = ref(0) //
const sellerCount = ref(0) //
const remainingParkingSpots = ref(0) //
let updateTimer = null
//
const loadTradingOverviewData = async () => {
try {
console.log('正在从JSON文件加载牦牛实时交易概况数据...')
const response = await fetch('/牦牛实时交易概况.json')
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`)
}
const data = await response.json()
if (data.牦牛实时交易概况) {
const overview = data.牦牛实时交易概况
todayEntryYaks.value = overview.todayEntryYaks || 0
tradedYaks.value = overview.tradedYaks || 0
waitingYaks.value = overview.waitingYaks || 0
sellerCount.value = overview.sellerCount || 0
remainingParkingSpots.value = overview.remainingParkingSpots || 0
console.log('成功加载牦牛实时交易概况数据')
} else {
throw new Error('牦牛实时交易概况数据格式不正确')
}
} catch (error) {
console.error('加载牦牛实时交易概况数据失败,使用默认数据:', error)
loadDefaultTradingData()
}
}
//
const loadDefaultTradingData = () => {
todayEntryYaks.value = 1256
tradedYaks.value = 847
waitingYaks.value = 409
sellerCount.value = 168
remainingParkingSpots.value = 32
}
//
onMounted(() => {
setInterval(() => {
const startDataUpdate = () => {
updateTimer = setInterval(() => {
//
const newEntry = Math.floor(Math.random() * 5)
todayEntryYaks.value += newEntry
@ -98,6 +136,18 @@ onMounted(() => {
if (remainingParkingSpots.value > 50) remainingParkingSpots.value = 50
}
}, 30000) // 30
}
onMounted(async () => {
await loadTradingOverviewData()
startDataUpdate()
})
onUnmounted(() => {
if (updateTimer) {
clearInterval(updateTimer)
updateTimer = null
}
})
</script>

@ -59,18 +59,56 @@
</template>
<script setup>
import { ref, onMounted } from 'vue'
import { ref, onMounted, onUnmounted } from 'vue'
//
const todayEntryYaks = ref(1256) //
const tradedYaks = ref(847) //
const waitingYaks = ref(409) //
const sellerCount = ref(168) //
const remainingParkingSpots = ref(32) //
//
const todayEntryYaks = ref(0) //
const tradedYaks = ref(0) //
const waitingYaks = ref(0) //
const sellerCount = ref(0) //
const remainingParkingSpots = ref(0) //
let updateTimer = null
//
const loadTradingOverviewData = async () => {
try {
console.log('正在从JSON文件加载牦牛实时交易概况数据...')
const response = await fetch('/牦牛实时交易概况.json')
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`)
}
const data = await response.json()
if (data.牦牛实时交易概况) {
const overview = data.牦牛实时交易概况
todayEntryYaks.value = overview.todayEntryYaks || 0
tradedYaks.value = overview.tradedYaks || 0
waitingYaks.value = overview.waitingYaks || 0
sellerCount.value = overview.sellerCount || 0
remainingParkingSpots.value = overview.remainingParkingSpots || 0
console.log('成功加载牦牛实时交易概况数据')
} else {
throw new Error('牦牛实时交易概况数据格式不正确')
}
} catch (error) {
console.error('加载牦牛实时交易概况数据失败,使用默认数据:', error)
loadDefaultTradingData()
}
}
//
const loadDefaultTradingData = () => {
todayEntryYaks.value = 1256
tradedYaks.value = 847
waitingYaks.value = 409
sellerCount.value = 168
remainingParkingSpots.value = 32
}
//
onMounted(() => {
setInterval(() => {
const startDataUpdate = () => {
updateTimer = setInterval(() => {
//
const newEntry = Math.floor(Math.random() * 5)
todayEntryYaks.value += newEntry
@ -98,6 +136,18 @@ onMounted(() => {
if (remainingParkingSpots.value > 50) remainingParkingSpots.value = 50
}
}, 30000) // 30
}
onMounted(async () => {
await loadTradingOverviewData()
startDataUpdate()
})
onUnmounted(() => {
if (updateTimer) {
clearInterval(updateTimer)
updateTimer = null
}
})
</script>

Loading…
Cancel
Save