better-staridc-MNBT
1<?php
2if (!defined('IN_CRONLITE')) { exit; }
3$page_title = $page_title ?? '修改密码';
4ob_start();
5?>
6<div class="sf-page-head">
7 <h1>修改密码</h1>
8 <p>修改后需使用新密码登录</p>
9</div>
10
11<div class="sf-card" style="max-width:560px;">
12 <div class="sf-card-body">
13 <div class="sf-msg" id="msg"></div>
14
15 <form class="sf-form" id="passwordForm" autocomplete="on">
16 <div class="sf-field">
17 <label for="old_password">原密码</label>
18 <input type="password" id="old_password" name="old_password" required autocomplete="current-password" placeholder="输入当前密码">
19 </div>
20 <div class="sf-field">
21 <label for="new_password">新密码</label>
22 <input type="password" id="new_password" name="new_password" required minlength="6" autocomplete="new-password" placeholder="至少 6 个字符">
23 </div>
24 <div class="sf-field">
25 <label for="new_password2">确认新密码</label>
26 <input type="password" id="new_password2" name="new_password2" required minlength="6" autocomplete="new-password" placeholder="再次输入新密码">
27 </div>
28 <div class="sf-form-actions">
29 <button type="submit" class="sf-btn sf-btn-primary" id="submitBtn">确认修改</button>
30 <a href="<?= shop_frontend_url('account/profile') ?>" class="sf-btn sf-btn-ghost">返回</a>
31 </div>
32 </form>
33 </div>
34</div>
35
36<script>
37(function () {
38 var form = document.getElementById('passwordForm');
39 if (!form) return;
40 var btn = document.getElementById('submitBtn');
41 form.addEventListener('submit', function (e) {
42 e.preventDefault();
43 var n1 = document.getElementById('new_password').value;
44 var n2 = document.getElementById('new_password2').value;
45 if (n1 !== n2) { sfMsg('msg', '两次输入的新密码不一致', 'error'); return; }
46 btn.disabled = true; btn.textContent = '修改中...'; sfMsg('msg', '', 'error');
47 sfPost('<?= shop_frontend_url('account/api/change_password') ?>', {
48 old_password: document.getElementById('old_password').value,
49 new_password: n1,
50 new_password2: n2
51 }).then(function (res) {
52 sfMsg('msg', res.code || '操作失败', res.code === '修改成功' ? 'success' : 'error');
53 if (res.code === '修改成功') { form.reset(); btn.disabled = false; btn.textContent = '确认修改'; }
54 else { btn.disabled = false; btn.textContent = '确认修改'; }
55 }).catch(function () {
56 sfMsg('msg', '网络错误,请重试', 'error');
57 btn.disabled = false; btn.textContent = '确认修改';
58 });
59 });
60})();
61</script>
62<?php
63$content = ob_get_clean();
64include __DIR__ . '/layout.php';