新建项目

This commit is contained in:
2026-07-29 10:50:33 +08:00
parent bfd3841cbd
commit 4f69b859a8
49 changed files with 5565 additions and 0 deletions

37
pages/rules/rules.js Normal file
View File

@@ -0,0 +1,37 @@
Page({
data: {
rules: [
{
number: "01",
title: "选择安全场地",
copy: "仅在公园、校园、营地等获准且低车流区域游戏。远离机动车道、水域、施工区和陡坡。"
},
{
number: "02",
title: "抓捕不发生身体接触",
copy: "发现目标后保持安全距离,通过动态口令或扫码确认。禁止拉扯、冲撞、围堵和危险追逐。"
},
{
number: "03",
title: "尊重公共与私人空间",
copy: "不得进入住宅、厕所、商铺后场、封闭建筑或未经许可的区域躲藏。不给路人造成困扰。"
},
{
number: "04",
title: "随时可以安全退出",
copy: "感到不适、迷路、天气变化或设备异常时立即停止游戏,告知房主并前往约定集合点。"
},
{
number: "05",
title: "保护位置隐私",
copy: "不要截图或转发他人的位置和口令。游戏结束后不应保留或公开他人的精确行动轨迹。"
}
]
},
accept() {
wx.navigateBack({
fail: () => wx.reLaunch({ url: "/pages/home/home" })
});
}
});

3
pages/rules/rules.json Normal file
View File

@@ -0,0 +1,3 @@
{
"navigationBarTitleText": "安全规则"
}

25
pages/rules/rules.wxml Normal file
View File

@@ -0,0 +1,25 @@
<view class="page">
<view class="rules-hero">
<view class="rules-icon">+</view>
<view class="eyebrow">SAFETY FIRST</view>
<view class="title">安全永远高于胜负</view>
<view class="subtitle">开始前请由房主带领所有玩家确认场地、集合点和以下规则。</view>
</view>
<view class="rule-list">
<view wx:for="{{rules}}" wx:key="number" class="rule-card">
<view class="rule-number">{{item.number}}</view>
<view>
<view class="rule-title">{{item.title}}</view>
<view class="rule-copy">{{item.copy}}</view>
</view>
</view>
</view>
<view class="emergency-card">
<view class="emergency-title">遇到紧急情况</view>
<view class="emergency-copy">立即停止游戏并移动到安全位置,联系同行人员或当地紧急服务。小程序不能替代专业救援。</view>
</view>
<button class="primary-button" bindtap="accept">我已了解</button>
</view>

74
pages/rules/rules.wxss Normal file
View File

@@ -0,0 +1,74 @@
.rules-hero {
position: relative;
overflow: hidden;
padding: 38rpx 30rpx;
background: #fffdf7;
border-radius: 32rpx;
}
.rules-icon {
display: flex;
align-items: center;
justify-content: center;
width: 70rpx;
height: 70rpx;
margin-bottom: 24rpx;
background: #d9ef72;
border-radius: 24rpx;
color: #183f31;
font-size: 45rpx;
font-weight: 900;
}
.rule-list {
margin: 32rpx 0;
}
.rule-card {
display: flex;
gap: 22rpx;
margin-bottom: 16rpx;
padding: 26rpx;
background: #fffdf7;
border-radius: 24rpx;
}
.rule-number {
flex: 0 0 auto;
color: #1d6b4f;
font-size: 22rpx;
font-weight: 900;
letter-spacing: 2rpx;
}
.rule-title {
font-size: 28rpx;
font-weight: 800;
}
.rule-copy {
margin-top: 10rpx;
color: #68726c;
font-size: 23rpx;
line-height: 1.65;
}
.emergency-card {
margin-bottom: 28rpx;
padding: 26rpx;
background: #ffe8e5;
border-radius: 24rpx;
}
.emergency-title {
color: #a63b35;
font-size: 27rpx;
font-weight: 800;
}
.emergency-copy {
margin-top: 10rpx;
color: #9b504a;
font-size: 23rpx;
line-height: 1.6;
}