仰望星辰工作室

better-staridc-MNBT

Z zfhsh first commit 2 天前
1<?php
2if (!defined('IN_CRONLITE')) { exit; }
3$page_title = $page_title ?? '修改密码';
4ob_start();
5?>
6<div class="ly-msg" id="msg"></div>
7
8<form class="layui-form ly-form" id="passwordForm" autocomplete="on">
9 <h1>修改密码</h1>
10 <p style="color:#999;font-size:14px;margin:0 0 20px;">修改后需使用新密码登录</p>
11
12 <div class="layui-form-item">
13 <label class="layui-form-label">原密码</label>
14 <div class="layui-input-block"><input type="password" id="old_password" name="old_password" required autocomplete="current-password" placeholder="输入当前密码" class="layui-input"></div>
15 </div>
16 <div class="layui-form-item">
17 <label class="layui-form-label">新密码</label>
18 <div class="layui-input-block"><input type="password" id="new_password" name="new_password" required autocomplete="new-password" placeholder="至少 6 个字符" class="layui-input"></div>
19 </div>
20 <div class="layui-form-item">
21 <label class="layui-form-label">确认密码</label>
22 <div class="layui-input-block"><input type="password" id="new_password2" name="new_password2" required autocomplete="new-password" placeholder="再次输入新密码" class="layui-input"></div>
23 </div>
24 <div class="layui-form-item">
25 <div class="layui-input-block">
26 <div class="ly-form-actions">
27 <button type="submit" class="layui-btn" id="submitBtn">确认修改</button>
28 <button type="button" class="layui-btn layui-btn-primary" onclick="window.location.href='<?= user_info_url('account/profile') ?>'">返回</button>
29 </div>
30 </div>
31 </div>
32</form>
33
34<script>
35(function () {
36 var form = document.getElementById('passwordForm');
37 var msg = document.getElementById('msg');
38 var btn = document.getElementById('submitBtn');
39 function showMsg(text, type) { msg.textContent = text; msg.className = 'ly-msg show ' + (type === 'success' ? 'ly-msg-success' : 'ly-msg-error'); }
40 form.addEventListener('submit', function (e) {
41 e.preventDefault(); btn.disabled = true; btn.textContent = '修改中...'; msg.className = 'ly-msg';
42 var body = new URLSearchParams();
43 body.append('old_password', document.getElementById('old_password').value);
44 body.append('new_password', document.getElementById('new_password').value);
45 body.append('new_password2', document.getElementById('new_password2').value);
46 fetch('<?= user_info_url('account/api/change_password') ?>', { method: 'POST', headers: {'Content-Type':'application/x-www-form-urlencoded'}, body: body.toString() })
47 .then(function (r) { return r.json(); })
48 .then(function (res) {
49 showMsg(res.code === 'ok' ? (res.message || '修改成功') : (res.code || '操作失败'), res.code === 'ok' ? 'success' : 'error');
50 if (res.code === 'ok') form.reset();
51 btn.disabled = false; btn.textContent = '确认修改';
52 })
53 .catch(function () { showMsg('网络错误,请重试', 'error'); btn.disabled = false; btn.textContent = '确认修改'; });
54 });
55})();
56</script>
57<?php
58$content = ob_get_clean();
59include __DIR__ . '/layout.php';