where('id',1)->save($save); } /** * 微信配置信息 * @param type $data */ public function saveWxConfig($data){ $save=[ "appid" => empty($data["appid"])?"":$data["appid"], "secret" => empty($data["secret"])?"":$data["secret"], "mchid" => empty($data["mchid"])?"":$data["mchid"], "apiv2key" => empty($data["apiv2key"])?"":$data["apiv2key"], "apiclient_key" => empty($data["apiclient_key"])?"":$data["apiclient_key"], "apiclient_cert" => empty($data["apiclient_cert"])?"":$data["apiclient_cert"], "notify_url" => empty($data["notify_url"])?"":$data["notify_url"], ]; $this->where("id",1)->update(["wxconfig"=> serialize($save)]); } /** * 分享配置信息 * @param type $data */ public function saveShareConfig($data){ $save=[ "img" => empty($data["img"]) ?"":$data["img"], "title" => empty($data["title"])?"":$data["title"], "query" => empty($data["query"])?"":$data["query"], "content" => empty($data["content"])?"":$data["content"], "is_show" => isset($data["is_show"]) ? $data["is_show"] : 0, ]; @file_put_contents('quanju.txt', "【".date('Y-m-d H:i:s')."】传参: ".json_encode($data, JSON_UNESCAPED_UNICODE)." \r\n", 8); @file_put_contents('quanju.txt', "【".date('Y-m-d H:i:s')."】处理后: ".json_encode($save, JSON_UNESCAPED_UNICODE)." \r\n", 8); // 检查 id=1 的记录是否存在 $exists = $this->where("id", 1)->find(); if (!$exists) { @file_put_contents('quanju.txt', "【".date('Y-m-d H:i:s')."】id=1 不存在,执行插入 \r\n", 8); $result = $this->insert([ "id" => 1, "shareconfig" => serialize($save) ]); } else { @file_put_contents('quanju.txt', "【".date('Y-m-d H:i:s')."】id=1 存在,执行更新 \r\n", 8); @file_put_contents('quanju.txt', "【".date('Y-m-d H:i:s')."】$exists旧值: ".$exists->shareconfig." \r\n", 8); @file_put_contents('quanju.txt', "【".date('Y-m-d H:i:s')."】新值: ".serialize($save)." \r\n", 8); // 直接用原生 SQL 查询数据库当前值 $dbValue = \think\facade\Db::query("SELECT shareconfig FROM sys WHERE id = 1"); @file_put_contents('quanju.txt', "【".date('Y-m-d H:i:s')."】数据库直接查询: ".json_encode($dbValue)." \r\n", 8); // 使用 save() 方法强制更新 $exists->shareconfig = serialize($save); $result = $exists->force()->save(); @file_put_contents('quanju.txt', "【".date('Y-m-d H:i:s')."】强制更新结果: ".$result." \r\n", 8); } @file_put_contents('quanju.txt', "【".date('Y-m-d H:i:s')."】更新结果: ".$result." \r\n", 8); return $result; } /** * 邀请配置 * @param type $data */ public function saveInviteConfig($data){ $save=[ "img" => empty($data["img"]) ? "" : $data["img"], ]; $this->where("id",1)->update(["inviteconfig"=> serialize($save)]); } /** * 积分配置信息 * @param type $data */ public function saveScoreConfig($data){ $points_transformation = empty($data["points_transformation"]) ?"":$data["points_transformation"]; $points_share = empty($data["points_share"])?"":$data["points_share"]; $this->where("id",1)->update(["points_transformation"=> $points_transformation,'points_share'=>$points_share]); } /** * 获取配置详情 * @return type */ public function getDataInfo($code=""){ $sys = $this->where("id", 1)->find(); //微信配置 $wxconfig=[ "appid"=>"", "secret"=>"", "mchid"=>"", "apiv2key"=>"", "apiclient_key"=>"", "apiclient_cert"=>"", "notify_url"=>"" ]; if(!empty($sys->wxconfig)){ $wxconfig = unserialize($sys->wxconfig); } //分享配置 $shareconfig=[ "img"=>"", "title"=>"", "query"=>"", "content"=>"", "is_show"=>"", ]; if(!empty($sys->shareconfig)){ $shareconfig = unserialize($sys->shareconfig); } //邀请配置 $inviteconfig=[ "img"=>"", ]; if(!empty($sys->inviteconfig)){ $inviteconfig = unserialize($sys->inviteconfig); } if($code=="weixin"){ return $wxconfig; } if($code=="share"){ return $shareconfig; } if($code=="invite"){ return $inviteconfig; } //积分配置 $scoreconfig=[ "points_transformation"=>"", ]; if(!empty($sys->points_transformation)){ $scoreconfig['points_transformation'] = $sys->points_transformation; } if($code=="score"){ return $scoreconfig; } $data = $sys->toArray(); $data["wxconfig"] = $wxconfig; $data["shareconfig"] = $shareconfig; $data["inviteconfig"] = $inviteconfig; return $data; } /** * 获取微信配置 * @return bool */ public function getWeixinConfig(){ $data = $this->getDataInfo("weixin"); foreach($data as $k=>$v){ if(empty($v)){ return false; } } $return=[ "APPID" => $data["appid"], "APPSECRET" => $data["secret"], "MCHID" => $data["mchid"], "ApiV2Key" => $data["apiv2key"], "ApiclientKey" => "file://".app()->getRootPath()."/".trim($data["apiclient_key"],"/"), "ApiclientCert" => "file://".app()->getRootPath()."/".trim($data["apiclient_cert"],"/"), "NOTIFY_URL" => $data["notify_url"], ]; return $return; } }