<?php /** * 增加用户,对于程序设计,走的是修改逻辑 */ include "Common/JsonResponse.php"; include "Common/mysqlHelper.php"; include "Common/WechatHelper.php"; include "Common/Encrypter.php"; // 验证注册通道 isStopSign(); // 头像,姓名必填 if (!isset($_POST['realname']) || !isset($_POST['mediaId'])) { JsonResponse::error('姓名或照片不能为空'); } // 登录验证,验证cookie是否有openid,没有前端走微信openid获取流程 if (!isset($_COOKIE['openid'])) { JsonResponse::error('进入姿势不对?'); } // 姓名唯一 $realname = $_POST['realname']; $mysql = new mysqlHelper(); $data = $mysql->fetch("SELECT id FROM user WHERE realname = ?", [ $realname ]); if (!isset($data)) { JsonResponse::error('姓名不存在'); } // 获取头像数据,从微信临时素材图片中。 $wechat = new WechatHelper(); $img = $wechat->getMedia($_POST['mediaId']); // 保存图片 $filename = time() . rand(1000,9999) . ".jpg"; $tarfilename = "/party/upload/" .$filename; $dir = str_replace('\\','/',realpath(dirname(__FILE__).'/')); $dir = rtrim($dir, '/party/phpapi/'); $fp = fopen($dir . $tarfilename, "w"); fwrite($fp, $img); fclose($fp); // 组装新增用户需要的数据 $params[] = 'http://' . $_SERVER['SERVER_NAME'] . $tarfilename; // 这里openid解密 $enctypt = new Encrypter(); $params[] = $enctypt->decrypt($_COOKIE['openid']); $params[] = $_POST['realname']; $time = time(); // pdo保存数据 $updateSql = "UPDATE user SET headimg = ?, `status` = 1,`openid` = 1, created = {$time} WHERE realname = ?;"; $rowCount = $mysql->update($updateSql, $params); if ($rowCount) { JsonResponse::result([]); } else { JsonResponse::error('签到失败'); } // 验证签到通道是否关闭 function isStopSign() { $mysql = new mysqlHelper(); $data = $mysql->fetch("SELECT `value` FROM `setting` WHERE `key` = 'isStopSign' AND `value` = 1"); if ($data) { JsonResponse::error("注册通道已经关闭,自己人联系颖慧"); } }