This commit is contained in:
2026-06-30 10:33:56 +08:00
commit 6e047dc0a5
607 changed files with 65966 additions and 0 deletions
@@ -0,0 +1,57 @@
import { useState } from 'react';
import { useNavigate } from 'react-router-dom';
import PageHeader from '@dukang/shared-ui/PageHeader';
import { request } from '../lib/api';
export default function RedeemSuccessPage() {
const navigate = useNavigate();
const [serviceScore, setServiceScore] = useState(5);
const [envScore, setEnvScore] = useState(5);
const [loading, setLoading] = useState(false);
async function submit() {
setLoading(true);
try {
const redeemRecordId = sessionStorage.getItem('lastRedeemRecordId');
if (redeemRecordId) {
await request('USER_H5', '/redeem/ratings', {
method: 'POST',
body: JSON.stringify({
redeemRecordId,
serviceScore,
environmentScore: envScore,
}),
});
}
} catch {
/* preV1: allow navigate even if rating fails */
} finally {
setLoading(false);
navigate('/benefit');
}
}
return (
<div className="page-no-tab redeem-success-page">
<PageHeader title="核销成功" onBack={() => navigate('/benefit')} />
<div style={{ textAlign: 'center', padding: '24px 0' }}>
<div className="success-icon"></div>
<h2 className="headline-lg text-primary"></h2>
<p className="text-variant body-md" style={{ marginTop: 8 }}></p>
</div>
<div className="card">
<div className="form-group">
<label> (1-5)</label>
<input type="number" min={1} max={5} value={serviceScore} onChange={(e) => setServiceScore(Number(e.target.value))} />
</div>
<div className="form-group">
<label> (1-5)</label>
<input type="number" min={1} max={5} value={envScore} onChange={(e) => setEnvScore(Number(e.target.value))} />
</div>
<button type="button" className="btn btn-primary btn-block" disabled={loading} onClick={submit}>
{loading ? '提交中...' : '完成'}
</button>
</div>
</div>
);
}