Browse Source

feat(R23): 分类排序+品牌名+文案+员工入口调整

dev
cursor 1 day ago
parent
commit
4ae59676ae
6 changed files with 33 additions and 20 deletions
  1. +2
    -2
      App.vue
  2. +4
    -3
      manifest.json
  3. +3
    -3
      pages.json
  4. +6
    -6
      pages/index/index.vue
  5. +16
    -4
      pages/menu/menu.vue
  6. +2
    -2
      pages/staff/board.vue

+ 2
- 2
App.vue View File

@ -1,7 +1,7 @@
<script>
<script>
export default { export default {
onLaunch() { onLaunch() {
console.log('纯瘾大 启动')
console.log('就是纯瘾大 启动')
} }
} }
</script> </script>


+ 4
- 3
manifest.json View File

@ -1,7 +1,7 @@
{
"name": "纯瘾大",
{
"name": "就是纯瘾大",
"appid": "__UNI__BARORDER", "appid": "__UNI__BARORDER",
"description": "纯瘾大酒吧点单小程序",
"description": "就是纯瘾大酒吧点单小程序",
"versionName": "1.0.0", "versionName": "1.0.0",
"versionCode": "100", "versionCode": "100",
"transformPx": false, "transformPx": false,
@ -13,3 +13,4 @@
"usingComponents": true "usingComponents": true
} }
} }

+ 3
- 3
pages.json View File

@ -1,7 +1,7 @@
{ {
"pages": [ "pages": [
{ "path": "pages/index/index", "style": { "navigationBarTitleText": "纯瘾大", "navigationStyle": "default" } },
{ "path": "pages/menu/menu", "style": { "navigationBarTitleText": "单", "navigationStyle": "default" } },
{ "path": "pages/index/index", "style": { "navigationBarTitleText": "就是纯瘾大", "navigationStyle": "default" } },
{ "path": "pages/menu/menu", "style": { "navigationBarTitleText": "单", "navigationStyle": "default" } },
{ "path": "pages/confirm/confirm", "style": { "navigationBarTitleText": "确认下单", "navigationStyle": "default" } }, { "path": "pages/confirm/confirm", "style": { "navigationBarTitleText": "确认下单", "navigationStyle": "default" } },
{ "path": "pages/orders/orders", "style": { "navigationBarTitleText": "我的订单", "navigationStyle": "default" } }, { "path": "pages/orders/orders", "style": { "navigationBarTitleText": "我的订单", "navigationStyle": "default" } },
{ "path": "pages/chat/chat", "style": { "navigationBarTitleText": "聊天", "navigationStyle": "default" } }, { "path": "pages/chat/chat", "style": { "navigationBarTitleText": "聊天", "navigationStyle": "default" } },
@ -12,7 +12,7 @@
], ],
"globalStyle": { "globalStyle": {
"navigationBarTextStyle": "white", "navigationBarTextStyle": "white",
"navigationBarTitleText": "纯瘾大",
"navigationBarTitleText": "就是纯瘾大",
"navigationBarBackgroundColor": "#0D0D0D", "navigationBarBackgroundColor": "#0D0D0D",
"backgroundColor": "#0D0D0D" "backgroundColor": "#0D0D0D"
} }


+ 6
- 6
pages/index/index.vue View File

@ -3,7 +3,7 @@
<view class="top-bar"> <view class="top-bar">
<view class="top-left"> <view class="top-left">
<text class="top-logo">🍸</text> <text class="top-logo">🍸</text>
<text class="top-brand">纯瘾大</text>
<text class="top-brand">就是纯瘾大</text>
</view> </view>
<view class="top-right"> <view class="top-right">
<text class="my-btn" @tap="goMyOrders">我的</text> <text class="my-btn" @tap="goMyOrders">我的</text>
@ -18,7 +18,7 @@
<view class="landing-decor" style="bottom:25%;left:14%;font-size:48rpx">🧊</view> <view class="landing-decor" style="bottom:25%;left:14%;font-size:48rpx">🧊</view>
<text class="landing-logo">🍸</text> <text class="landing-logo">🍸</text>
<text class="landing-title">纯瘾大</text>
<text class="landing-title">就是纯瘾大</text>
<text class="landing-sub">唤醒你的专属调酒师</text> <text class="landing-sub">唤醒你的专属调酒师</text>
<button class="btn-primary" @tap="showModal = true">🎫 领取号码牌</button> <button class="btn-primary" @tap="showModal = true">🎫 领取号码牌</button>
</view> </view>
@ -132,18 +132,18 @@ export default {
.top-bar{height:100rpx;display:flex;align-items:center;justify-content:space-between;padding:0 28rpx;border-bottom:1px solid var(--border);flex-shrink:0} .top-bar{height:100rpx;display:flex;align-items:center;justify-content:space-between;padding:0 28rpx;border-bottom:1px solid var(--border);flex-shrink:0}
.top-left{display:flex;align-items:center;gap:16rpx} .top-left{display:flex;align-items:center;gap:16rpx}
.top-logo{font-size:44rpx} .top-logo{font-size:44rpx}
.top-brand{font-size:40rpx;font-weight:900;color:var(--gold);letter-spacing:4rpx}
.top-brand{font-size:36rpx;font-weight:900;color:var(--gold);letter-spacing:4rpx}
.my-btn{font-size:26rpx;color:var(--gold);font-weight:600} .my-btn{font-size:26rpx;color:var(--gold);font-weight:600}
.landing-bg{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#1A1A1A 0%,var(--bg) 70%);padding:40rpx} .landing-bg{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#1A1A1A 0%,var(--bg) 70%);padding:40rpx}
.landing-decor{position:absolute;font-size:80rpx;opacity:.08;animation:float 6s ease-in-out infinite;pointer-events:none} .landing-decor{position:absolute;font-size:80rpx;opacity:.08;animation:float 6s ease-in-out infinite;pointer-events:none}
.landing-logo{font-size:160rpx;animation:float 3s ease-in-out infinite} .landing-logo{font-size:160rpx;animation:float 3s ease-in-out infinite}
.landing-title{font-size:56rpx;font-weight:900;color:var(--gold);margin-top:24rpx;letter-spacing:8rpx}
.landing-sub{font-size:28rpx;color:var(--text-dim);margin:12rpx 0 80rpx;letter-spacing:2rpx}
.landing-title{font-size:48rpx;font-weight:900;color:var(--gold);margin-top:24rpx;letter-spacing:6rpx}
.landing-sub{font-size:28rpx;color:var(--text-dim);margin:12rpx 0 40rpx;letter-spacing:2rpx}
.btn-primary{width:440rpx;height:96rpx;border-radius:24rpx;background:linear-gradient(135deg,var(--gold-dark),var(--gold),var(--gold-light));color:#1A1A1A;border:none;font-size:32rpx;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 8rpx 40rpx rgba(245,166,35,.35)} .btn-primary{width:440rpx;height:96rpx;border-radius:24rpx;background:linear-gradient(135deg,var(--gold-dark),var(--gold),var(--gold-light));color:#1A1A1A;border:none;font-size:32rpx;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 8rpx 40rpx rgba(245,166,35,.35)}
/* 员工入口 */ /* 员工入口 */
.staff-link{padding:20rpx;text-align:center;flex-shrink:0}
.staff-link{padding:12rpx 20rpx;text-align:center;flex-shrink:0}
.staff-link text{color:var(--text-muted);font-size:22rpx;letter-spacing:2rpx} .staff-link text{color:var(--text-muted);font-size:22rpx;letter-spacing:2rpx}
/* 号码牌弹窗 */ /* 号码牌弹窗 */


+ 16
- 4
pages/menu/menu.vue View File

@ -3,7 +3,7 @@
<view class="top-bar"> <view class="top-bar">
<view class="top-left"> <view class="top-left">
<text class="top-logo">🍸</text> <text class="top-logo">🍸</text>
<text class="top-brand">纯瘾大</text>
<text class="top-brand">就是纯瘾大</text>
<text v-if="card.cardNo" class="card-badge">🎫 {{ card.cardNo }}</text> <text v-if="card.cardNo" class="card-badge">🎫 {{ card.cardNo }}</text>
</view> </view>
<view class="top-right"> <view class="top-right">
@ -91,7 +91,20 @@ export default {
async function loadCategories() { async function loadCategories() {
try { try {
const res = await get(API.MENU_CATEGORIES) const res = await get(API.MENU_CATEGORIES)
if (Array.isArray(res)) categories.value = ['all', ...res]
if (Array.isArray(res)) {
// +
const cocktail = res.filter(c => c.includes('鸡尾酒'))
const others = res.filter(c => !c.includes('鸡尾酒'))
const sorted = ['all', ...cocktail, ...others]
categories.value = sorted
//
if (cocktail.length > 0) {
activeCate.value = cocktail[0]
await loadProducts(cocktail[0])
} else {
await loadProducts('all')
}
}
} catch (e) {} } catch (e) {}
} }
@ -129,7 +142,6 @@ export default {
onMounted(async () => { onMounted(async () => {
await loadCategories() await loadCategories()
await loadProducts('all')
}) })
return { card, cart, categories, activeCate, products, showCart, bellPressed, bellWaving, onCateChange, onAddToCart, onBellPress, onGoConfirm, goMyOrders } return { card, cart, categories, activeCate, products, showCart, bellPressed, bellWaving, onCateChange, onAddToCart, onBellPress, onGoConfirm, goMyOrders }
@ -142,7 +154,7 @@ export default {
.top-bar{height:100rpx;display:flex;align-items:center;justify-content:space-between;padding:0 28rpx;border-bottom:1px solid var(--border);flex-shrink:0} .top-bar{height:100rpx;display:flex;align-items:center;justify-content:space-between;padding:0 28rpx;border-bottom:1px solid var(--border);flex-shrink:0}
.top-left{display:flex;align-items:center;gap:16rpx} .top-left{display:flex;align-items:center;gap:16rpx}
.top-logo{font-size:44rpx} .top-logo{font-size:44rpx}
.top-brand{font-size:40rpx;font-weight:900;color:var(--gold);letter-spacing:4rpx}
.top-brand{font-size:36rpx;font-weight:900;color:var(--gold);letter-spacing:4rpx}
.card-badge{background:linear-gradient(135deg,var(--gold-dark),var(--gold));color:#1A1A1A;padding:10rpx 24rpx;border-radius:28rpx;font-weight:800;font-size:26rpx;letter-spacing:6rpx;animation:card-appear-top .5s ease} .card-badge{background:linear-gradient(135deg,var(--gold-dark),var(--gold));color:#1A1A1A;padding:10rpx 24rpx;border-radius:28rpx;font-weight:800;font-size:26rpx;letter-spacing:6rpx;animation:card-appear-top .5s ease}
.my-btn{font-size:26rpx;color:var(--gold);font-weight:600} .my-btn{font-size:26rpx;color:var(--gold);font-weight:600}
.menu-scroll{flex:1} .menu-scroll{flex:1}


+ 2
- 2
pages/staff/board.vue View File

@ -3,7 +3,7 @@
<view class="top-bar"> <view class="top-bar">
<view class="top-left"> <view class="top-left">
<text class="top-logo">🍸</text> <text class="top-logo">🍸</text>
<text class="top-brand">纯瘾大</text>
<text class="top-brand">就是纯瘾大</text>
</view> </view>
<view class="top-right"> <view class="top-right">
<text class="logout-btn" @tap="onLogout">退出</text> <text class="logout-btn" @tap="onLogout">退出</text>
@ -109,7 +109,7 @@ export default {
.top-bar{height:100rpx;display:flex;align-items:center;justify-content:space-between;padding:0 28rpx;border-bottom:1px solid var(--border);flex-shrink:0} .top-bar{height:100rpx;display:flex;align-items:center;justify-content:space-between;padding:0 28rpx;border-bottom:1px solid var(--border);flex-shrink:0}
.top-left{display:flex;align-items:center;gap:16rpx} .top-left{display:flex;align-items:center;gap:16rpx}
.top-logo{font-size:44rpx} .top-logo{font-size:44rpx}
.top-brand{font-size:32rpx;font-weight:900;color:var(--gold)}
.top-brand{font-size:32rpx;font-weight:900;color:var(--gold);letter-spacing:2rpx}
.logout-btn{font-size:26rpx;color:var(--red)} .logout-btn{font-size:26rpx;color:var(--red)}
.staff-info{background:var(--bg-card);padding:16rpx 32rpx;font-size:24rpx;color:var(--text-dim);border-bottom:1px solid var(--border)} .staff-info{background:var(--bg-card);padding:16rpx 32rpx;font-size:24rpx;color:var(--text-dim);border-bottom:1px solid var(--border)}
.board-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0} .board-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}


Loading…
Cancel
Save