使用uniapp 写一个注册页面,包含商户注册(包含商户登录手机号(正则校验)、商户名称、商户地址、登录密码)、主播注册(包含主播账号、昵称、邮箱、手机号、密码、粉丝数量字段)、经纪人注册(包含账号、手机号、昵称、密码)三种注册方式
时间: 2023-07-10 16:06:51 浏览: 66
好的,以下是一个简单的注册页面示例:
```
<template>
<view class="register">
<view class="form">
<view class="form-item">
<view class="label">注册类型:</view>
<radio-group v-model="registerType">
<label class="radio-label" for="merchant">商户</label>
<radio id="merchant" value="merchant"></radio>
<label class="radio-label" for="anchor">主播</label>
<radio id="anchor" value="anchor"></radio>
<label class="radio-label" for="agent">经纪人</label>
<radio id="agent" value="agent"></radio>
</radio-group>
</view>
<view class="form-item">
<view class="label">登录手机号:</view>
<input type="text" placeholder="请输入登录手机号" v-model="phone" />
</view>
<view v-if="registerType === 'merchant'">
<view class="form-item">
<view class="label">商户名称:</view>
<input type="text" placeholder="请输入商户名称" v-model="merchantName" />
</view>
<view class="form-item">
<view class="label">商户地址:</view>
<input type="text" placeholder="请输入商户地址" v-model="merchantAddress" />
</view>
</view>
<view v-if="registerType === 'agent'">
<view class="form-item">
<view class="label">昵称:</view>
<input type="text" placeholder="请输入昵称" v-model="agentNickname" />
</view>
</view>
<view v-if="registerType === 'anchor'">
<view class="form-item">
<view class="label">账号:</view>
<input type="text" placeholder="请输入账号" v-model="anchorAccount" />
</view>
<view class="form-item">
<view class="label">昵称:</view>
<input type="text" placeholder="请输入昵称" v-model="anchorNickname" />
</view>
<view class="form-item">
<view class="label">邮箱:</view>
<input type="text" placeholder="请输入邮箱" v-model="anchorEmail" />
</view>
<view class="form-item">
<view class="label">手机号:</view>
<input type="text" placeholder="请输入手机号" v-model="anchorPhone" />
</view>
<view class="form-item">
<view class="label">粉丝数量:</view>
<input type="text" placeholder="请输入粉丝数量" v-model="anchorFansCount" />
</view>
</view>
<view class="form-item">
<view class="label">登录密码:</view>
<input type="password" placeholder="请输入登录密码" v-model="password" />
</view>
<button class="btn-register" @click="register">注册</button>
</view>
</view>
</template>
<script>
export default {
data() {
return {
registerType: "merchant",
phone: "",
merchantName: "",
merchantAddress: "",
agentNickname: "",
anchorAccount: "",
anchorNickname: "",
anchorEmail: "",
anchorPhone: "",
anchorFansCount: "",
password: "",
};
},
methods: {
register() {
// TODO: 校验输入项是否合法,发送注册请求
},
},
};
</script>
<style>
.register {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
}
.form {
width: 80%;
}
.form-item {
display: flex;
align-items: center;
margin-bottom: 20rpx;
}
.label {
width: 120rpx;
}
input {
flex: 1;
height: 60rpx;
border-radius: 10rpx;
border: 1rpx solid #ccc;
padding: 0 20rpx;
font-size: 32rpx;
}
.btn-register {
display: block;
margin: 40rpx auto 0;
width: 80%;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border-radius: 40rpx;
background-color: #007aff;
color: #fff;
font-size: 32rpx;
}
</style>
```
以上示例中,我们使用了`uniapp`框架提供的`radio-group`和`radio`组件,根据用户选择的注册类型动态显示相应的表单项。同时,我们使用了`v-model`指令绑定表单项的值,方便我们在提交注册请求时获取用户输入的信息。最后,在`register`方法中,我们可以根据用户选择的注册类型和输入的信息来发送注册请求,具体实现需要根据实际情况进行。