Merge branch 'yongpxu-dev' of https://gitee.com/cunkebao/cunkebao_v3 into yongpxu-dev

# Conflicts:
#	Moncter/app/controller/UserController.php   resolved by yongpxu-dev version
This commit is contained in:
超级老白兔
2025-11-08 16:02:05 +08:00
7 changed files with 2139 additions and 5 deletions

View File

@@ -0,0 +1,37 @@
<?php
// app/model/User.php
namespace app\model;
use MongoDB\Laravel\Eloquent\Model;
use MongoDB\Laravel\Relations\HasMany; // 若需关联查询(可选)
class User extends Model
{
// 对应 MongoDB 集合名(默认复数,可自定义)
protected $collection = 'users';
// 主键MongoDB 默认 _id无需修改自动转为字符串
protected $primaryKey = '_id';
// 主键类型(官方推荐显式声明)
protected $keyType = 'string';
// 允许批量赋值的字段(白名单)
protected $fillable = ['name', 'age', 'email', 'avatar'];
// 自动转换字段类型ObjectId 转字符串、日期转 Carbon
protected $casts = [
'_id' => 'string',
'age' => 'integer',
'created_at' => 'datetime',
'updated_at' => 'datetime',
'tags' => 'array', // 支持数组类型MongoDB 原生支持数组)
];
// 自动维护时间戳created_at/updated_at默认启用
// 若不需要可关闭public $timestamps = false;
// 自定义时间戳字段名(可选)
// const CREATED_AT = 'create_time';
// const UPDATED_AT = 'update_time';
}

View File

@@ -26,7 +26,8 @@
"require": {
"php": ">=8.1",
"workerman/webman-framework": "^2.1",
"monolog/monolog": "^2.0"
"monolog/monolog": "^2.0",
"mongodb/laravel-mongodb": "^4.0"
},
"suggest": {
"ext-event": "For better performance. "

2006
Moncter/composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,27 @@
<?php
return [
// 默认数据库连接(可选改为 mongodb
'default' => 'mysql', // 若需全局用 MongoDB改为 'mongodb'
'connections' => [
// ... 其他连接(如 mysql保持不变
// MongoDB 官方连接配置
'mongodb' => [
'driver' => 'mongodb',
'dsn' => 'mongodb://127.0.0.1:27017', // 集群可写mongodb://node1:27017,node2:27017
'database' => 'Moncter', // 目标数据库名
'username' => 'Moncter', // 无认证则省略
'password' => '123456', // 无认证则省略
'options' => [
'replicaSet' => '', // 副本集名称(无则留空)
'ssl' => false, // 是否启用 SSL
'connectTimeoutMS' => 3000, // 连接超时
'socketTimeoutMS' => 5000, // 读写超时
// 认证相关(若 MongoDB 启用认证)
'authSource' => 'admin', // 认证数据库(默认 admin
'authMechanism' => 'SCRAM-SHA-256', // 认证机制(默认推荐)
],
],
],
];

46
Moncter/go.sh Executable file
View File

@@ -0,0 +1,46 @@
#!/bin/bash
set -euo pipefail # 严格模式:报错立即退出、禁止未定义变量、管道错误触发退出
# ================= 配置项(可根据实际情况修改)=================
# PHP 脚本路径(相对路径/绝对路径均可,推荐绝对路径更稳定)
PHP_SCRIPT="start.php"
# PHP 解释器路径(默认自动查找,若提示 php 未找到,手动指定如 /usr/bin/php
PHP_BIN=$(which php || echo "/usr/bin/php")
# ==============================================================
# 1. 检查 PHP 解释器是否存在且可执行
if [ ! -x "$PHP_BIN" ]; then
echo -e "\033[31m错误未找到可执行的 PHP 解释器!\033[0m"
echo " 解决方案:"
echo " 1. 安装 PHPsudo apt install php-cliUbuntu/Debian或 sudo dnf install php-cliCentOS/RHEL"
echo " 2. 若已安装,手动修改脚本中的 PHP_BIN 为实际路径(通过 which php 查询)"
exit 1
fi
# 2. 检查 PHP 脚本是否存在
if [ ! -f "$PHP_SCRIPT" ]; then
echo -e "\033[31m错误未找到脚本文件 $PHP_SCRIPT\033[0m"
echo " 请确保脚本与 $PHP_SCRIPT 在同一目录,或修改脚本中的 PHP_SCRIPT 为绝对路径"
exit 1
fi
# 3. 给 PHP 脚本添加执行权限(自动修复权限问题)
if [ ! -x "$PHP_SCRIPT" ]; then
echo -e "\033[33m警告$PHP_SCRIPT 缺少执行权限,正在自动添加...\033[0m"
chmod u+x "$PHP_SCRIPT" || {
echo -e "\033[31m错误添加执行权限失败请用 sudo 运行脚本!\033[0m"
exit 1
}
fi
# 4. 执行核心命令(带日志输出优化)
echo -e "\033[32m=== 开始执行:$PHP_BIN $PHP_SCRIPT start ===\033[0m"
$PHP_BIN "$PHP_SCRIPT" start
# 5. 执行结果判断
if [ $? -eq 0 ]; then
echo -e "\033[32m=== 执行成功!===\033[0m"
else
echo -e "\033[31m=== 执行失败!请查看上方错误信息 ===\033[0m"
exit 1
fi

0
Moncter/start.php Normal file → Executable file
View File

View File

@@ -0,0 +1,25 @@
KR
KR_KR
KR_LinkedIn
KR_存客宝
KR_存客宝_四表重构KR_KR版
KR_国外
KR_户口
KR_京东
KR_酒店
KR_卡套私域
KR_快递
KR_魔兽世界
KR_企业
KR_企业名录
KR_人才库
KR_商城
KR_手机
KR_顺丰
KR_淘宝
KR_腾讯
KR_投资
KR_微博
KR_香港在大陆投资企业名录
KR_销售额3000万元-5000万元企业名录
KR_游戏