- Set up pnpm workspace with 4 packages: shared, server, client-mobile, client-screen - Implement Redis atomic voting with Lua scripts (HINCRBY + distributed lock) - Add optimistic UI with IndexedDB queue for offline resilience - Configure Socket.io with auto-reconnection (infinite retries) - Separate mobile (Vant) and big screen (Pixi.js) dependencies Tech stack: - Frontend Mobile: Vue 3 + Vant + Socket.io-client - Frontend Screen: Vue 3 + Pixi.js + GSAP - Backend: Express + Socket.io + Redis + Prisma/MySQL Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
24 lines
464 B
Vue
24 lines
464 B
Vue
<script setup lang="ts">
|
|
// Placeholder view
|
|
</script>
|
|
|
|
<template>
|
|
<div class="vote-category-view safe-area-top safe-area-bottom">
|
|
<van-nav-bar title="投票" left-arrow @click-left="$router.back()" />
|
|
<div class="content">
|
|
<van-empty description="候选人列表加载中..." />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<style lang="scss" scoped>
|
|
.vote-category-view {
|
|
min-height: 100vh;
|
|
background: #f5f5f5;
|
|
}
|
|
|
|
.content {
|
|
padding: 16px;
|
|
}
|
|
</style>
|