Browse Source

인텔리전스 1차 작업 완료

master
lee_whee 1 week ago
parent
commit
cce38a7f10
  1. BIN
      dist/assets/images/affiliates04.png
  2. BIN
      dist/assets/images/affiliates12.png
  3. 28
      dist/index.html
  4. 3
      src-server/email.ts
  5. 30
      src-server/server.ts
  6. 28
      src/html/index.html

BIN
dist/assets/images/affiliates04.png

After

Width: 185  |  Height: 70  |  Size: 6.9 KiB

BIN
dist/assets/images/affiliates12.png

After

Width: 185  |  Height: 70  |  Size: 14 KiB

28
dist/index.html

@ -502,28 +502,28 @@
<div class="user__details"> <div class="user__details">
<div class="input__box"> <div class="input__box">
<span class="details">기업명</span>
<input type="text" name="company_name">
<span class="details">기업명 <span class="required">(필수)</span></span>
<input type="text" name="company_name" required>
</div> </div>
<div class="input__box"> <div class="input__box">
<span class="details">담당자명</span>
<input type="text" name="manager_name">
<span class="details">담당자명 <span class="required">(필수)</span></span>
<input type="text" name="manager_name" required>
</div> </div>
<div class="input__box"> <div class="input__box">
<span class="details">연락처 <span class="required">(필수)</span></span> <span class="details">연락처 <span class="required">(필수)</span></span>
<input type="tel" name="phone" data-regex="phone-number" maxlength="13" placeholder="010-1234-5678" required> <input type="tel" name="phone" data-regex="phone-number" maxlength="13" placeholder="010-1234-5678" required>
</div> </div>
<div class="input__box"> <div class="input__box">
<span class="details">이메일</span>
<input type="email" name="email" data-regex="email-address" placeholder="info@intelligence.com">
<span class="details">이메일 <span class="required">(필수)</span></span>
<input type="email" name="email" data-regex="email-address" placeholder="info@intelligence.com" required>
</div> </div>
<div class="input__box full"> <div class="input__box full">
<span class="details">예산범위</span> <span class="details">예산범위</span>
<input type="text" name="budget_range"> <input type="text" name="budget_range">
</div> </div>
<div class="input__box full"> <div class="input__box full">
<span class="details">문의내용</span>
<textarea rows="3" name="contents"></textarea>
<span class="details">문의내용 <span class="required">(필수)</span></span>
<textarea rows="3" name="contents" required></textarea>
</div> </div>
</div> </div>
@ -636,12 +636,15 @@
$(this).focus(); $(this).focus();
return; return;
} }
else {
$(this).val(transNum)
}
}); });
$('body').on('blur', '[data-regex="email-address"]', function(e){ $('body').on('blur', '[data-regex="email-address"]', function(e){
if($(this).val() == '') return; if($(this).val() == '') return;
var trans_num = $(this).val().regex('email'); var trans_num = $(this).val().regex('email');
console.log(trans_num)
if(! trans_num) { if(! trans_num) {
alert('유효하지 않은 이메일주소 입니다.'); alert('유효하지 않은 이메일주소 입니다.');
$(this).val(""); $(this).val("");
@ -652,7 +655,6 @@
$('[data-form="request-form"]').on('submit',function(e) { $('[data-form="request-form"]').on('submit',function(e) {
e.preventDefault(); e.preventDefault();
if($('[name="type"]:checked').length === 0) { if($('[name="type"]:checked').length === 0) {
alert("상담 분야를 선택하세요"); alert("상담 분야를 선택하세요");
return; return;
@ -683,8 +685,10 @@
alert("상담 신청이 완료되었습니다.") alert("상담 신청이 완료되었습니다.")
$('[data-form="request-form"]').reset() $('[data-form="request-form"]').reset()
}, },
error: function() {
alert("상담 신청도중 오류가 잘생하였습니다.")
error: function(err) {
var message = err?.responseJSON?.error ?? "상담 신청도중 오류가 발생하였습니다.\\n서버 관리자에게 문의하세요"
alert(message)
} }
}) })
}) })

3
src-server/email.ts

@ -14,7 +14,8 @@ export const sendEmail = async (subject: string, text: string) => {
const mailOptions = { const mailOptions = {
from: "support@wheeparam.com", from: "support@wheeparam.com",
to : "songwritersg@naver.com",
//to: "songwritersg@naver.com",
to : "whee0716@gmail.com",
subject, subject,
text, text,
}; };

30
src-server/server.ts

@ -29,12 +29,38 @@ app.post("/request", async (req: Request, res: Response) => {
contents contents
} = await req.body; } = await req.body;
if(company_name.trim().length === 0) {
res.status(400).json({ error: "기업명을 입력하셔야 합니다." });
return
}
if(manager_name.trim().length === 0) {
res.status(400).json({ error: "담당자명을 입력하셔야 합니다." });
return
}
if(type.trim().length === 0) {
res.status(400).json({ error: "상담 분야를 입력하셔야 합니다." });
return
}
if (!email || !contents) {
res.status(400).json({ error: "모든 필드가 필요합니다." });
if(phone.trim().length === 0) {
res.status(400).json({ error: "연락처를 입력하셔야 합니다." });
return return
} }
if(email.trim().length === 0) {
res.status(400).json({ error: "이메일 주소를 입력하셔야 합니다." });
return
}
if(contents.trim().length === 0) {
res.status(400).json({ error: "문의 내용을 입력하셔야 합니다." });
return
}
try { try {
await sendEmail(`${type} 문의`, ` await sendEmail(`${type} 문의`, `
유형: ${type} 유형: ${type}

28
src/html/index.html

@ -412,28 +412,28 @@
<div class="user__details"> <div class="user__details">
<div class="input__box"> <div class="input__box">
<span class="details">기업명</span>
<input type="text" name="company_name">
<span class="details">기업명 <span class="required">(필수)</span></span>
<input type="text" name="company_name" required>
</div> </div>
<div class="input__box"> <div class="input__box">
<span class="details">담당자명</span>
<input type="text" name="manager_name">
<span class="details">담당자명 <span class="required">(필수)</span></span>
<input type="text" name="manager_name" required>
</div> </div>
<div class="input__box"> <div class="input__box">
<span class="details">연락처 <span class="required">(필수)</span></span> <span class="details">연락처 <span class="required">(필수)</span></span>
<input type="tel" name="phone" data-regex="phone-number" maxlength="13" placeholder="010-1234-5678" required> <input type="tel" name="phone" data-regex="phone-number" maxlength="13" placeholder="010-1234-5678" required>
</div> </div>
<div class="input__box"> <div class="input__box">
<span class="details">이메일</span>
<input type="email" name="email" data-regex="email-address" placeholder="info@intelligence.com">
<span class="details">이메일 <span class="required">(필수)</span></span>
<input type="email" name="email" data-regex="email-address" placeholder="info@intelligence.com" required>
</div> </div>
<div class="input__box full"> <div class="input__box full">
<span class="details">예산범위</span> <span class="details">예산범위</span>
<input type="text" name="budget_range"> <input type="text" name="budget_range">
</div> </div>
<div class="input__box full"> <div class="input__box full">
<span class="details">문의내용</span>
<textarea rows="3" name="contents"></textarea>
<span class="details">문의내용 <span class="required">(필수)</span></span>
<textarea rows="3" name="contents" required></textarea>
</div> </div>
</div> </div>
@ -546,12 +546,15 @@
$(this).focus(); $(this).focus();
return; return;
} }
else {
$(this).val(transNum)
}
}); });
$('body').on('blur', '[data-regex="email-address"]', function(e){ $('body').on('blur', '[data-regex="email-address"]', function(e){
if($(this).val() == '') return; if($(this).val() == '') return;
var trans_num = $(this).val().regex('email'); var trans_num = $(this).val().regex('email');
console.log(trans_num)
if(! trans_num) { if(! trans_num) {
alert('유효하지 않은 이메일주소 입니다.'); alert('유효하지 않은 이메일주소 입니다.');
$(this).val(""); $(this).val("");
@ -562,7 +565,6 @@
$('[data-form="request-form"]').on('submit',function(e) { $('[data-form="request-form"]').on('submit',function(e) {
e.preventDefault(); e.preventDefault();
if($('[name="type"]:checked').length === 0) { if($('[name="type"]:checked').length === 0) {
alert("상담 분야를 선택하세요"); alert("상담 분야를 선택하세요");
return; return;
@ -593,8 +595,10 @@
alert("상담 신청이 완료되었습니다.") alert("상담 신청이 완료되었습니다.")
$('[data-form="request-form"]').reset() $('[data-form="request-form"]').reset()
}, },
error: function() {
alert("상담 신청도중 오류가 잘생하였습니다.")
error: function(err) {
var message = err?.responseJSON?.error ?? "상담 신청도중 오류가 발생하였습니다.\\n서버 관리자에게 문의하세요"
alert(message)
} }
}) })
}) })

Loading…
Cancel
Save