projectmanager/app/apiout/controller/Businessinfo.php
2025-06-25 11:52:01 +08:00

106 lines
3.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* @copyright Copyright (c)
* @company 美天智能科技
* @author 李志强
* @link http://www.meteteme.com
*/
declare(strict_types=1);
namespace app\apiout\controller;
use app\apiout\BaseController;
use think\facade\Db;
class BusinessInfo extends BaseController
{
//商机填写接口
public function bifill()
{
// 允许来自指定域名的跨域请求
header('Access-Control-Allow-Origin: https://kd.meteteme.top');
header('Access-Control-Allow-Headers: Content-Type');
header('Access-Control-Allow-Origin: https://www.meteteme.com');
header('Access-Control-Allow-Headers: Content-Type');
// 获取表单数据
$params = $this->request->post();
// 调试:打印接收到的参数
error_log('Received POST parameters: ' . json_encode($params));
// 判断表单数据是否完整
$requiredFields = ['name', 'email', 'phone', 'message', 'product', 'company', 'ip'];
foreach ($requiredFields as $field) {
if (!isset($params[$field]) || empty($params[$field])) {
error_log("Missing or empty field: $field");
return json(['code' => 2, 'msg' => '请填写完整的表单数据!']);
}
}
// 向数据库插入数据
$result = Db::name('Information')->insert([
'name' => $params['name'],
'email' => $params['email'],
'phone' => $params['phone'],
'message' => $params['message'],
'product' => $params['product'],
'company' => $params['company'],
'ip' => $params['ip'],
'create_time' => time(),
]);
// 判断插入结果
if ($result) {
$webhook = 'https://oapi.dingtalk.com/robot/send?access_token=c39726abd36659f92442847430eda90bebb360c438270f7c05bea388f1c8168c';
$title = '**有新的商机生成!**';
$line = '------------------------------';
$companynames = '公司名称:' . $params['company'];
$names = '联 系 人 ' . $params['name'];
$contents = '请及时进入项管系统查看!';
$times = '创建日期:' . date('Y-m-d H:i:s', time());
$data = array(
'msgtype' => 'actionCard',
'actionCard' => array(
'title' => $title,
'text' => $title . "\n\n" . $companynames . "\n\n" . $names . "\n\n" . $times,
'btnOrientation' => '0',
'btns' => [
[
'title' => '查看商机',
'actionURL' => 'dingtalk://dingtalkclient/page/link?url=' . urlencode('https://project.meteteme.com/information/index/index') . '&pc_slide=false'
]
]
)
);
$options = array(
'http' => array(
'header' => "Content-type: application/json",
'method' => 'POST',
'content' => json_encode($data),
)
);
$context = stream_context_create($options);
$result = file_get_contents($webhook, false, $context);
return json(['code' => 0, 'msg' => '留言提交成功!']);
} else {
return json(['code' => 1, 'msg' => '留言提交失败!']);
}
}
//获取产品信息
public function product_info()
{
// 查询Product表中的所有产品信息
$products = Db::name('Product')->field('id, name')->select();
// 返回产品信息数组给前端包括id和name
return json(['code' => 0, 'msg' => '获取产品信息成功', 'data' => $products]);
}
}