苹果cms教程

苹果CMS V10用户资料修改表单模板开发教程

发布时间:2025-04-11共9人阅读

一、用户资料修改模板概述

苹果CMS V10 用户个人资料修改页面模板文件路径为 html/user/info.html,该模板是用户中心核心功能页面,支持展示、编辑用户基础资料与账号安全信息,包含昵称、密码、联系方式、密保问题修改,同时集成邮箱、手机号的绑定与解绑功能,通过AJAX异步提交实现无刷新资料更新。

二、完整用户信息修改表单源码

以下为适配苹果CMS V10的用户资料修改完整模板代码,包含全部表单字段、状态判断、绑定解绑交互与异步提交逻辑,可直接替换使用。

<form name="fm" method="post" action="" >
    <p><span >用户名:</span>{$obj.user_name}</p>
    <p><span >昵称:</span><input type="text" name="user_nick_name"  value="{$obj.user_nick_name}"></p>
    <p><span >原始密码:</span><input type="password" name="user_pwd" ></p>
    <p><span >新密码:</span><input type="password" name="user_pwd1" ><span class="tishi">不修改请留空</span></p>
    <p><span >重复密码:</span><input type="password" name="user_pwd2" ></p>
    <p><span >QQ号码:</span><input type="text" name="user_qq"  value="{$obj.user_qq}"></p>
    {if condition="$obj.user_email neq ''"}
    <p><span >邮箱:</span><input type="text" name="user_email"  readonly="readonly" value="{$obj.user_email}">[<a class="btn_unbind" ac="email" href="javascript:;">解绑</a>]</p>
    {else/}
    <p><span >邮箱:</span><input type="text" name="user_email"  value="">[<a href="{:url('user/bind')}?ac=email">绑定</a>]</p>
    {/if}
    {if condition="$obj.user_phone neq ''"}
    <p><span >手机:</span><input type="text" name="user_phone"  readonly="readonly" value="{$obj.user_phone}">[<a class="btn_unbind" ac="phone" href="javascript:;">解绑</a>]</p>
    {else/}
    <p><span >手机:</span><input type="text" name="user_phone"  value="">[<a href="{:url('user/bind')}?ac=phone">绑定</a>]</p>
    {/if}
    <p><span >找回密码问题:</span><input type="text" name="user_question"  value="{$obj.user_question}"></p>
    <p><span >找回密码答案:</span><input type="text" name="user_answer"  value="{$obj.user_answer}"></p>
    <p><span ></span><input type="button" class="search-button" id="btn_submit" value="保存">
    <span class="wjmm"><a href="{:url('user/findpass')}">忘记密码了?</a></span></p>
</form>
<script type="text/javascript">
	$('.btn_unbind').click(function(){
		var ac = $(this).attr('ac');
		if(ac!='email' && ac!='phone'){
			alert('参数错误');
		}
		if(confirm('确认解除绑定吗?此操作不可恢复?')) {
			$.ajax({
				url: "{:url('user/unbind')}",
				type: "post",
				dataType: "json",
				data: {ac: ac},
				beforeSend: function () {
					//开启loading
				},
				success: function (r) {
					alert(r.msg);
					if(r.code==1){
						location.href="{:url('user/info')}";
					}
				},
				complete: function () {
					//结束loading
				}
			});
		}
	});
	$("#btn_submit").click(function() {
		var data = $("#fm").serialize();
		$.ajax({
			url: "{:url('user/info')}",
			type: "post",
			dataType: "json",
			data: data,
			beforeSend: function () {
				//开启loading
				//$(".loading_box").css("display","block");
				$("#btn_submit").css("background","#fd6a6a").val("loading...");
			},
			success: function (r) {
				alert(r.msg);
				if(r.code==1){
					location.href="{:url('user/info')}";
				}
			},
			complete: function () {
				//结束loading
				//$(".loading_box").css("display","none");
				$("#btn_submit").css("background","#fa4646").val("提交");
			}
		});
	});
</script>

三、表单字段功能解析

模板所有用户数据均通过 $obj 变量调取系统用户信息,覆盖基础资料与安全账号配置,各字段功能如下:

  • 用户名 {$obj.user_name}:固定展示账号用户名,不支持前端修改,保证账号唯一标识稳定。

  • 昵称 user_nick_name:可自定义修改用户展示昵称,实时同步用户数据。

  • 密码修改模块:分为原始密码、新密码、重复密码三项,预留空值不修改的适配逻辑,无需改密可直接留空。

  • QQ号码 user_qq:支持自定义编辑、更新用户绑定QQ信息。

  • 邮箱绑定模块:通过判断用户邮箱是否为空,自动切换已绑定只读展示+解绑按钮、未绑定输入框+绑定跳转按钮两种状态。

  • 手机绑定模块:逻辑与邮箱模块一致,区分手机号绑定状态,适配账号安全管理需求。

  • 密保问题与答案:支持自定义设置和修改,用于后续密码找回验证。

四、核心交互功能说明

1. 账号解绑功能

针对已绑定的邮箱和手机号,点击解绑按钮可触发AJAX请求,调用系统接口 user/unbind,携带对应类型参数完成解绑操作。操作前二次弹窗确认,防止误操作,执行成功后自动刷新个人资料页面同步最新状态。

2. 资料异步提交

点击保存按钮后,自动序列化表单全部数据,通过 user/info 接口异步提交更新,提交过程修改按钮状态与文字实现加载提示。服务端返回成功状态后弹窗提示并刷新页面,无页面刷新卡顿,提升用户体验。

3. 密码找回跳转

页面内置忘记密码跳转链接,直接对接系统密码找回页面 user/findpass,方便用户快速重置密码。

五、模板修改注意事项

  • 用户数据变量 $obj 为系统固定变量,禁止随意更名,否则所有用户信息无法渲染。

  • user/unbind、user/info、user/bind、user/findpass 均为系统原生接口,不可修改路径,避免功能失效。

  • 邮箱、手机号的 if 判断逻辑为系统状态适配核心,删除后会导致绑定解绑状态错乱。

  • 页面样式、提示文字、按钮样式可自由美化,不影响核心数据提交与交互逻辑。

  • 脚本依赖 jQuery 环境,需保证页面正常加载jQuery,否则AJAX交互功能无法使用。

六、功能总结

该用户信息修改模板完整覆盖苹果CMS用户中心资料编辑、账号安全配置需求,依托系统原生变量与接口实现数据读写、绑定解绑、异步更新等核心功能。代码结构规范、状态适配完善,可直接用于站点模板搭建,也可在保留核心逻辑的前提下进行个性化样式优化。