新建项目

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

148
pages/create/create.wxml Normal file
View File

@@ -0,0 +1,148 @@
<view class="page">
<view class="eyebrow">CREATE A GAME</view>
<view class="title">设置这场追逃</view>
<view class="subtitle">先用推荐规则开局,之后可以在候场页继续调整。</view>
<view class="section-label">房间名称</view>
<view class="input-card">
<input
maxlength="16"
value="{{name}}"
placeholder="给这场游戏起个名字"
bindinput="updateName"
/>
<text>{{name.length}}/16</text>
</view>
<view class="section-label">游戏模式</view>
<view
wx:for="{{modes}}"
wx:key="id"
class="mode-card {{mode === item.id ? 'selected' : ''}}"
data-mode="{{item.id}}"
bindtap="chooseMode"
>
<view class="mode-icon">{{item.icon}}</view>
<view class="mode-main">
<view class="mode-name">{{item.name}}</view>
<view class="mode-description">{{item.description}}</view>
</view>
<view class="radio">{{mode === item.id ? '✓' : ''}}</view>
</view>
<view class="section-label">基础规则</view>
<view class="settings-card">
<picker
mode="selector"
range="{{durationOptions}}"
value="{{durationIndex}}"
bindchange="onDurationChange"
>
<view class="setting-row">
<view>
<view class="setting-name">游戏时长</view>
<view class="setting-hint">正式追逃阶段</view>
</view>
<view class="setting-value">{{durationOptions[durationIndex]}} 分钟 </view>
</view>
</picker>
<picker
mode="selector"
range="{{prepareOptions}}"
value="{{prepareIndex}}"
bindchange="onPrepareChange"
>
<view class="setting-row">
<view>
<view class="setting-name">躲藏准备</view>
<view class="setting-hint">寻找者原地等待</view>
</view>
<view class="setting-value">{{prepareOptions[prepareIndex]}} 分钟 </view>
</view>
</picker>
<picker
mode="selector"
range="{{maxPlayerOptions}}"
value="{{maxPlayerIndex}}"
bindchange="onMaxPlayerChange"
>
<view class="setting-row">
<view>
<view class="setting-name">人数上限</view>
<view class="setting-hint">至少 4 人开局</view>
</view>
<view class="setting-value">{{maxPlayerOptions[maxPlayerIndex]}} 人 </view>
</view>
</picker>
<picker
mode="selector"
range="{{seekerOptions}}"
value="{{seekerIndex}}"
bindchange="onSeekerChange"
>
<view class="setting-row">
<view>
<view class="setting-name">初始寻找者</view>
<view class="setting-hint">建议约占总人数 1/4</view>
</view>
<view class="setting-value">{{seekerOptions[seekerIndex]}} 人 </view>
</view>
</picker>
<picker
mode="selector"
range="{{clueOptions}}"
value="{{clueIndex}}"
bindchange="onClueChange"
>
<view class="setting-row">
<view>
<view class="setting-name">位置线索</view>
<view class="setting-hint">只广播模糊区域</view>
</view>
<view class="setting-value">每 {{clueOptions[clueIndex]}} 分钟 </view>
</view>
</picker>
<picker
mode="selector"
range="{{radiusOptions}}"
value="{{radiusIndex}}"
bindchange="onRadiusChange"
>
<view class="setting-row">
<view>
<view class="setting-name">活动半径</view>
<view class="setting-hint">原型暂以文字展示</view>
</view>
<view class="setting-value">{{radiusOptions[radiusIndex]}} 米 </view>
</view>
</picker>
<view class="setting-row no-border">
<view>
<view class="setting-name">启用角色技能</view>
<view class="setting-hint">雷达、静默等轻量能力</view>
</view>
<switch
color="#1d6b4f"
checked="{{skillsEnabled}}"
bindchange="onSkillsChange"
/>
</view>
</view>
<checkbox-group class="safety-check" bindchange="onSafetyChange">
<label>
<checkbox value="accepted" color="#1d6b4f" />
<text>我已确认场地安全,并同意</text>
<text class="link" catchtap="openRules">《户外游戏安全规则》</text>
</label>
</checkbox-group>
<button
class="primary-button"
loading="{{submitting}}"
disabled="{{submitting}}"
bindtap="submit"
>
创建房间
</button>
</view>