no message

This commit is contained in:
hellcat 2025-10-19 14:35:06 +08:00
parent 3c4feb204f
commit d22cd97d7b
3 changed files with 157 additions and 35 deletions

View File

@ -1,40 +1,121 @@
{include file='header.tpl'}
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no">
<title>重置密码 — HutaoCloud</title>
<!-- ico -->
<link rel="shortcut icon" href="/favicon.ico" />
<link rel="stylesheet" type="text/css" href="/theme/cool/assets/css/cool.css">
<link rel="stylesheet" type="text/css" href="/theme/cool/assets/css/auth/page-auth.css">
<link rel="stylesheet" type="text/css" href="/theme/cool/assets/vendors/css/vendors.min.css">
<link rel="stylesheet" type="text/css" href="/theme/cool/assets/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="/theme/cool/assets/css/bootstrap-extended.css">
<link rel="stylesheet" type="text/css" href="/theme/cool/assets/css/plugins/sweetalert2.min.css">
<link rel="stylesheet" href="https://fastly.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.8.2/css/all.min.css">
<script type="c53a3aa00891aa4b7149691e-text/javascript">
var isWeixin = function () {
var ua = navigator.userAgent.toLowerCase();
return ua.match(/MicroMessenger/i) == "micromessenger";
};
if (isWeixin() == true) {
$('body').html('<h5 style="margin:20px">不支持在微信内访问<br>请点击右上角菜单<br>选择浏览器打开</h5>')
}
</script>
</head>
<body class="border-top-wide border-primary d-flex flex-column">
<div class="page page-center">
<div class="container-tight my-auto">
<div class="text-center mb-4">
<a href="#" class="navbar-brand navbar-brand-autodark">
<img src="/images/uim-logo-round_96x96.png" height="64" alt="SSPanel-UIM Logo">
</a>
</div>
<div class="card card-md">
<div class="card-body">
<h2 class="card-title text-center mb-4">设置新密码</h2>
<div class="mb-3">
<label class="form-label">新密码</label>
<input id="password" type="password" class="form-control" placeholder="请输入新密码">
<!-- BEGIN: Body-->
<body class="vertical-layout vertical-menu-modern blank-page navbar-floating footer-static " data-open="click" data-menu="vertical-menu-modern" data-col="blank-page">
<!-- BEGIN: Content-->
<div class="app-content content ">
<div class="content-overlay"></div>
<div class="header-navbar-shadow"></div>
<div class="content-wrapper">
<div class="content-header row">
</div>
<div class="mb-3">
<label class="form-label">再次输入新密码</label>
<input id="confirm_password" type="password" class="form-control" placeholder="请再次输入新密码">
</div>
<div class="form-footer">
<button class="btn btn-primary w-100"
hx-post="{ location.pathname }" hx-swap="none"
hx-vals='js:{
password: document.getElementById("password").value,
confirm_password: document.getElementById("confirm_password").value, }'>
<i class="ti ti-key icon"></i>
重置
</button>
<div class="content-body">
<div class="auth-wrapper auth-v1 px-2">
<div class="auth-inner py-2">
<!-- Reset Password v1 -->
<div class="card mb-0">
<div class="card-body">
<a href="javascript:void(0);" class="brand-logo">
<svg viewbox="0 0 139 95" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="28">
<defs>
<lineargradient id="linearGradient-1" x1="100%" y1="10.5120544%" x2="50%" y2="89.4879456%">
<stop stop-color="#000000" offset="0%"></stop>
<stop stop-color="#FFFFFF" offset="100%"></stop>
</lineargradient>
<lineargradient id="linearGradient-2" x1="64.0437835%" y1="46.3276743%" x2="37.373316%" y2="100%">
<stop stop-color="#EEEEEE" stop-opacity="0" offset="0%"></stop>
<stop stop-color="#FFFFFF" offset="100%"></stop>
</lineargradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Artboard" transform="translate(-400.000000, -178.000000)">
<g id="Group" transform="translate(400.000000, 178.000000)">
<path class="text-primary" id="Path" d="M-5.68434189e-14,2.84217094e-14 L39.1816085,2.84217094e-14 L69.3453773,32.2519224 L101.428699,2.84217094e-14 L138.784583,2.84217094e-14 L138.784199,29.8015838 C137.958931,37.3510206 135.784352,42.5567762 132.260463,45.4188507 C128.736573,48.2809251 112.33867,64.5239941 83.0667527,94.1480575 L56.2750821,94.1480575 L6.71554594,44.4188507 C2.46876683,39.9813776 0.345377275,35.1089553 0.345377275,29.8015838 C0.345377275,24.4942122 0.230251516,14.560351 -5.68434189e-14,2.84217094e-14 Z" style="fill: currentColor"></path>
<path id="Path1" d="M69.3453773,32.2519224 L101.428699,1.42108547e-14 L138.784583,1.42108547e-14 L138.784199,29.8015838 C137.958931,37.3510206 135.784352,42.5567762 132.260463,45.4188507 C128.736573,48.2809251 112.33867,64.5239941 83.0667527,94.1480575 L56.2750821,94.1480575 L32.8435758,70.5039241 L69.3453773,32.2519224 Z" fill="url(#linearGradient-1)" opacity="0.2"></path>
<polygon id="Path-2" fill="#000000" opacity="0.049999997" points="69.3922914 32.4202615 32.8435758 70.5039241 54.0490008 16.1851325"></polygon>
<polygon id="Path-21" fill="#000000" opacity="0.099999994" points="69.3922914 32.4202615 32.8435758 70.5039241 58.3683556 20.7402338"></polygon>
<polygon id="Path-3" fill="url(#linearGradient-2)" opacity="0.099999994" points="101.428699 0 83.0667527 94.1480575 130.378721 47.0740288"></polygon>
</g>
</g>
</g>
</svg>
<h2 class="brand-text text-primary ml-1">Hutao</h2>
</a>
<h4 class="card-title mb-1">Reset Password 🔒</h4>
<p class="card-text mb-2">您的新密码必须与以前使用的密码不同.</p>
<form id="reset_form" class="form-group" action="javascript:void(0);">
<div class="form-group">
<div class="d-flex justify-content-between">
<label for="reset-password-new">新密码</label>
</div>
<div class="input-group input-group-merge form-password-toggle">
<input id="password" type="password" class="form-control notnull" title="新密码" name="password" placeholder="············" />
</div>
</div>
<div class="form-group">
<div class="d-flex justify-content-between">
<label for="reset-password-confirm">重复密码</label>
</div>
<div class="input-group input-group-merge form-password-toggle">
<input id="repasswd" type="password" class="form-control notnull" title="重复密码" name="repasswd" placeholder="············" />
</div>
</div>
<button class="btn btn-primary btn-block" id="reset-update">立即重置</button>
</form>
<p class="text-center mt-2">
<a href="/auth/login">
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 3 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-left"><polyline points="15 18 9 12 15 6"></polyline></svg>
返回登录 </a>
</p>
</div>
</div>
<!-- /Reset Password v1 -->
</div>
</div>
</div>
</div>
</div>
<div class="text-center text-secondary mt-3">
已有账户? <a href="/auth/login" tabindex="-1">点击登录</a>
</div>
</div>
</div>
<!-- END: Content-->
<!-- 结束:1:页面 -->
{include file='footer.tpl'}
<!-- 开始:JavaScript -->
<script src="https://fastly.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js" type="c53a3aa00891aa4b7149691e-text/javascript"></script>
<script src="/theme/cool/assets/vendors/js/vendors.min.js" type="c53a3aa00891aa4b7149691e-text/javascript"></script>
<script src="/theme/cool/assets/js/scripts/sweetalert2.min.js" type="c53a3aa00891aa4b7149691e-text/javascript"></script>
<script src="/theme/cool/assets/js/auth.js?1.7" type="c53a3aa00891aa4b7149691e-text/javascript"></script>
<!-- 结束:JavaScript -->
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="c53a3aa00891aa4b7149691e-|49" defer></script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"586128cff69349d1b5837b814e0833a6","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>

View File

@ -0,0 +1,40 @@
{include file='header.tpl'}
<body class="border-top-wide border-primary d-flex flex-column">
<div class="page page-center">
<div class="container-tight my-auto">
<div class="text-center mb-4">
<a href="#" class="navbar-brand navbar-brand-autodark">
<img src="/images/uim-logo-round_96x96.png" height="64" alt="SSPanel-UIM Logo">
</a>
</div>
<div class="card card-md">
<div class="card-body">
<h2 class="card-title text-center mb-4">设置新密码</h2>
<div class="mb-3">
<label class="form-label">新密码</label>
<input id="password" type="password" class="form-control" placeholder="请输入新密码">
</div>
<div class="mb-3">
<label class="form-label">再次输入新密码</label>
<input id="confirm_password" type="password" class="form-control" placeholder="请再次输入新密码">
</div>
<div class="form-footer">
<button class="btn btn-primary w-100"
hx-post="{ location.pathname }" hx-swap="none"
hx-vals='js:{
password: document.getElementById("password").value,
confirm_password: document.getElementById("confirm_password").value, }'>
<i class="ti ti-key icon"></i>
重置
</button>
</div>
</div>
</div>
<div class="text-center text-secondary mt-3">
已有账户? <a href="/auth/login" tabindex="-1">点击登录</a>
</div>
</div>
</div>
{include file='footer.tpl'}

View File

@ -106,7 +106,8 @@ final class PasswordController extends BaseController
{
$token = $this->antiXss->xss_clean($args['token']);
$password = $request->getParam('password');
$confirm_password = $request->getParam('confirm_password');
// $confirm_password = $request->getParam('confirm_password');
$confirm_password = $request->getParam('repasswd');
var_dump($token);