苹果CMS用户注册模板制作教程
苹果CMS V10用户注册页面介绍
苹果CMS V10用户注册页面主要用于实现网站会员注册功能,用户可以通过注册页面创建网站账号。根据后台会员注册设置,还可以开启手机验证码注册、邮箱验证码注册以及图形验证码等功能。
注册页面文件:html/user/reg.html
苹果CMS V10用户注册完整示例
下面是一份较为完整的用户注册页面示例,支持账号密码注册,并根据后台配置自动显示手机或邮箱验证码以及图形验证码。
<form id="fm" method="post" action="">
<h4>用户注册</h4>
<div class="reg-group">
<label>账号</label>
<input type="text" id="user_name" name="user_name" placeholder="请输入您的登录账号">
</div>
<div class="reg-group">
<label>密码</label>
<input type="password" id="user_pwd" name="user_pwd" placeholder="请输入您的登录密码">
</div>
<div class="reg-group">
<label>确认密码</label>
<input type="password" name="user_pwd2" placeholder="请输入您的确认密码">
</div>
<!-- 判断后台是否开启手机注册 -->
{if condition="$user_config.reg_phone_sms neq 0"}
<input type="hidden" name="ac" value="phone">
<div class="reg-group">
<label>手机号码</label>
<input type="text" name="to" placeholder="请输入手机号">
<input type="button" id="btn_send_sms" class="fr mr10 mt10" value="获取验证码">
</div>
<div class="reg-group">
<label>手机验证码</label>
<input type="text" name="code" placeholder="请输入验证码">
</div>
<!-- 判断后台是否开启邮箱注册 -->
{elseif condition="$user_config.reg_email_sms neq 0"}
<input type="hidden" name="ac" value="email">
<div class="reg-group">
<label>邮箱地址</label>
<input type="text" name="to" placeholder="请输入邮箱">
<input type="button" id="btn_send_sms" class="fr mr10 mt10" value="获取验证码">
</div>
<div class="reg-group">
<label>邮箱验证码</label>
<input type="text" name="code" placeholder="请输入验证码">
</div>
{/if}
<!-- 判断后台是否开启注册验证码 -->
{if condition="$user_config.reg_verify neq 0"}
<div class="reg-group">
<label>验证码</label>
<input type="text" id="verify" name="verify" placeholder="请输入验证码">
<img id="verify_img" class="fr mr10 mt10"
src="{:url('verify/index')}"
onClick="this.src=this.src+'?'"
alt="单击刷新">
</div>
{/if}
<input type="button" id="btn_submit" class="btn-brand btn-sub" value="立即注册">
</form>
<script type="text/javascript">
var countdown = 60;
function settime(val) {
if (countdown == 0) {
val.removeAttribute("disabled");
val.value = "获取验证码";
countdown = 60;
return true;
} else {
val.setAttribute("disabled", true);
val.value = "重新发送(" + countdown + ")";
countdown--;
}
setTimeout(function() {
settime(val);
}, 1000);
}
$("body").bind("keyup", function(event) {
if (event.keyCode == 13) {
$("#btn_submit").click();
}
});
$("#btn_send_sms").click(function() {
var ac = $('input[name="ac"]').val();
var to = $('input[name="to"]').val();
if (ac == "email") {
var pattern = /^([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/;
var ex = pattern.test(to);
if (!ex) {
alert("邮箱格式不正确");
return;
}
} else if (ac == "phone") {
var pattern = /^[1][0-9]{10}$/;
var ex = pattern.test(to);
if (!ex) {
alert("手机号格式不正确");
return;
}
} else {
alert("参数错误");
return;
}
settime(this);
var data = $("#fm").serialize();
$.ajax({
url: "{:url('user/reg_msg')}",
type: "post",
dataType: "json",
data: data,
beforeSend: function() {
// 开启 loading
},
success: function(r) {
alert(r.msg);
},
complete: function() {
// 结束 loading
}
});
});
$("#btn_submit").click(function() {
if ($("#user_name").val() == "") {
alert("请输入用户!");
$("#user_name").focus();
return false;
}
if ($("#user_pwd").val() == "") {
alert("请输入密码!");
$("#user_pwd").focus();
return false;
}
if ($("#verify").length && $("#verify").val() == "") {
alert("请输入验证码!");
$("#verify").focus();
return false;
}
$.ajax({
url: "{:url('user/reg')}",
type: "post",
dataType: "json",
data: $("#fm").serialize(),
beforeSend: function() {
$("#btn_submit").css("background", "#fd6a6a").val("loading...");
},
success: function(r) {
alert(r.msg);
if (r.code == 1) {
// 注册成功后的跳转
// location.href = "{:url('user/login')}";
} else {
if ($("#verify_img").length) {
$("#verify_img").click();
}
}
},
complete: function() {
$("#btn_submit").css("background", "#fa4646").val("立即注册");
}
});
});
</script>用户注册代码说明
1、账号密码注册
注册页面通过 user_name、user_pwd 和 user_pwd2 分别提交用户名、登录密码以及确认密码,用户填写完成后提交注册请求。
2、手机验证码注册
当后台开启手机注册功能时,可以通过 $user_config.reg_phone_sms 判断是否显示手机注册相关字段。注册页面会提交 ac=phone,并通过 to 获取手机号码、code 获取短信验证码。
3、邮箱验证码注册
当后台开启邮箱注册功能时,可以通过 $user_config.reg_email_sms 判断是否显示邮箱注册字段。页面提交 ac=email,并使用 to 提交邮箱地址、code 提交邮箱验证码。
4、图形验证码
如果后台开启注册验证码功能,页面会根据 $user_config.reg_verify 显示验证码输入框。验证码图片通过 {:url('verify/index')} 调用,点击验证码图片可以重新加载验证码。
5、短信或邮箱验证码倒计时
settime() 函数用于实现验证码发送后的倒计时效果。默认倒计时为60秒,在倒计时结束之前按钮会处于禁用状态,避免用户连续请求验证码。
苹果CMS V10用户注册接口
验证码发送请求通过以下地址处理:
{:url('user/reg_msg')}用户注册请求通过以下地址处理:
{:url('user/reg')}注册请求和验证码请求均采用 POST 方式提交,并通过 serialize() 序列化表单数据后发送 AJAX 请求。
使用时的注意事项
使用手机或邮箱注册功能前,需要先在苹果CMS后台完成对应的短信或邮件服务配置。
验证码功能是否显示由后台会员注册设置决定。
修改注册模板时,应保持表单字段名称与苹果CMS注册接口要求一致。
如果修改了按钮 ID,需要同步修改 JavaScript 中对应的选择器。
实际可用字段和功能可能因苹果CMS版本及模板改动有所不同,建议以当前程序版本为准。
总结
苹果CMS V10用户注册页面主要位于 html/user/reg.html,通过模板标签和 AJAX 请求可以实现账号注册、手机验证码注册、邮箱验证码注册以及图形验证码等功能。修改注册模板时,重点需要保持表单字段、按钮 ID、后台配置判断以及注册接口之间的对应关系。
