更新若干bug

This commit is contained in:
2026-03-11 17:05:58 +08:00
parent f134b0e759
commit e46a4100c7
9 changed files with 355 additions and 15 deletions
+175 -10
View File
@@ -1,5 +1,110 @@
<?php
// 引入 ThinkPHP 应用
require_once __DIR__ . '/../../../vendor/autoload.php';
use think\facade\Db;
use think\App;
use app\model\Tenant\TenantDomain;
use app\model\Tenant\Tenant;
use app\model\Cms\Banner;
use app\model\Cms\Articles;
use app\model\Cms\ArticlesCategory;
// 初始化应用
$app = new App(__DIR__ . '/../../../');
$app->initialize();
// 获取当前域名
$host = $_SERVER['HTTP_HOST'] ?? '';
// 查询域名对应的租户ID
$tenantDomain = TenantDomain::where('full_domain', $host)
->where('status', 1)
->whereNull('delete_time')
->find();
$tid = $tenantDomain ? (int)$tenantDomain['tid'] : 0;
// 获取 Banner 数据
$banners = [];
if ($tid > 0) {
$banners = Banner::where('tid', $tid)
->whereNull('delete_time')
->order('sort', 'asc')
->order('id', 'desc')
->select()
->toArray();
// 处理图片路径
foreach ($banners as &$banner) {
if (!empty($banner['image'])) {
if (!preg_match('/^https?:\/\//', $banner['image'])) {
$scheme = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http';
$banner['image'] = $scheme . '://' . $host .
(strpos($banner['image'], '/') === 0 ? '' : '/') . $banner['image'];
}
}
}
}
// 获取新闻数据
$articles = [];
if ($tid > 0) {
$articles = Articles::where('tid', $tid)
->where('delete_time', null)
->where('status', 2)
->order('publish_date', 'desc')
->limit(8)
->select()
->toArray();
// 处理图片:如果文章image为空,则取分类的image
foreach ($articles as &$article) {
if (empty($article['image']) && !empty($article['cate'])) {
$category = ArticlesCategory::where('id', $article['cate'])
->where('delete_time', null)
->find();
if ($category && !empty($category['image'])) {
$article['image'] = $category['image'];
}
}
// 处理图片路径
if (!empty($article['image']) && !preg_match('/^https?:\/\//', $article['image'])) {
$scheme = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http';
$article['image'] = $scheme . '://' . $host .
(strpos($article['image'], '/') === 0 ? '' : '/') . $article['image'];
}
if (!empty($article['thumb']) && !preg_match('/^https?:\/\//', $article['thumb'])) {
$scheme = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http';
$article['thumb'] = $scheme . '://' . $host .
(strpos($article['thumb'], '/') === 0 ? '' : '/') . $article['thumb'];
}
}
}
// 获取企业联系信息
$companyInfo = [];
if ($tid > 0) {
$companyInfo = Tenant::where('id', $tid)
->where('delete_time', null)
->field('contact_phone, contact_email, address, worktime')
->find();
}else{
$companyInfo = [
'contact_phone' => '-',
'contact_email' => '-',
'address' => '-',
'worktime' => '-'
];
}
// 辅助函数:去除 HTML 标签
function stripHtml($html) {
if (empty($html)) return '';
$text = preg_replace('/<[^>]+>/', ' ', $html);
$text = preg_replace('/\s+/', ' ', $text);
return trim($text);
}
?>
<!DOCTYPE html>
<html class="no-js" lang="">
@@ -221,11 +326,11 @@
<div class="row">
<div class="col-lg-8">
<div class="contact-form-wrapper">
<form action="" method="">
<form id="requirementForm" action="" method="">
<div class="row">
<div class="col-md-6">
<div class="single-input">
<input type="text" id="name" name="name" class="form-input" placeholder="姓名">
<input type="text" id="applicant" name="applicant" class="form-input" placeholder="姓名">
<i class="lni lni-user"></i>
</div>
</div>
@@ -237,67 +342,127 @@
</div>
<div class="col-md-6">
<div class="single-input">
<input type="text" id="number" name="number" class="form-input" placeholder="手机号">
<input type="text" id="phone" name="phone" class="form-input" placeholder="手机号">
<i class="lni lni-phone"></i>
</div>
</div>
<div class="col-md-6">
<div class="single-input">
<input type="text" id="subject" name="subject" class="form-input" placeholder="您的标题">
<input type="text" id="title" name="title" class="form-input" placeholder="您的标题" required>
<i class="lni lni-text-format"></i>
</div>
</div>
<div class="col-md-12">
<div class="single-input">
<textarea name="message" id="message" class="form-input" placeholder="您的需求" rows="6"></textarea>
<textarea name="desc" id="desc" class="form-input" placeholder="您的需求" rows="6" required></textarea>
<i class="lni lni-comments-alt"></i>
</div>
</div>
<div class="col-md-12">
<div class="form-button">
<button type="submit" class="button"> <i class="lni lni-telegram-original"></i> 提交</button>
<button type="submit" class="button" id="submitBtn"> <i class="lni lni-telegram-original"></i> 提交</button>
</div>
</div>
</div>
</form>
</div>
<!-- 需求提交脚本 -->
<script>
document.getElementById('requirementForm').addEventListener('submit', function(e) {
e.preventDefault();
const submitBtn = document.getElementById('submitBtn');
submitBtn.disabled = true;
submitBtn.innerHTML = '<i class="lni lni-spinner"></i> 提交中...';
const data = {
title: document.getElementById('title').value,
desc: document.getElementById('desc').value,
applicant: document.getElementById('applicant').value,
phone: document.getElementById('phone').value
};
fetch('/index/requirement', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(res => res.json())
.then(result => {
if (result.code === 200) {
alert('提交成功!我们会尽快与您联系。');
document.getElementById('requirementForm').reset();
} else {
alert(result.msg || '提交失败,请稍后重试');
}
})
.catch(err => {
console.error('提交失败:', err);
alert('提交失败,请稍后重试');
})
.finally(() => {
submitBtn.disabled = false;
submitBtn.innerHTML = '<i class="lni lni-telegram-original"></i> 提交';
});
});
</script>
</div>
<div class="col-lg-4">
<div class="left-wrapper">
<div class="row">
<?php if (!empty($companyInfo['contact_phone'])): ?>
<div class="col-lg-12 col-md-6">
<div class="single-item">
<div class="icon">
<i class="lni lni-phone"></i>
</div>
<div class="text">
<p>+86 19895983967</p>
<p>+86 <?php echo htmlspecialchars($companyInfo['contact_phone']); ?></p>
</div>
</div>
</div>
<?php endif; ?>
<?php if (!empty($companyInfo['contact_email'])): ?>
<div class="col-lg-12 col-md-6">
<div class="single-item">
<div class="icon">
<i class="lni lni-envelope"></i>
</div>
<div class="text">
<p>lygyunze@gmail.com</p>
<p>357099073@qq.com</p>
<p><?php echo htmlspecialchars($companyInfo['contact_email']); ?></p>
</div>
</div>
</div>
<?php endif; ?>
<?php if (!empty($companyInfo['address'])): ?>
<div class="col-lg-12 col-md-6">
<div class="single-item">
<div class="icon">
<i class="lni lni-map-marker"></i>
</div>
<div class="text">
<p>江苏省连云港市海州区润潮国际大厦</p>
<p><?php echo htmlspecialchars($companyInfo['address']); ?></p>
</div>
</div>
</div>
<?php endif; ?>
<?php if (!empty($companyInfo['worktime'])): ?>
<div class="col-lg-12 col-md-6">
<div class="single-item">
<div class="icon">
<i class="lni lni-timer"></i>
</div>
<div class="text">
<p><?php echo htmlspecialchars($companyInfo['worktime']); ?></p>
</div>
</div>
</div>
<?php endif; ?>
</div>
</div>