api.AddUser.php
2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?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("注册通道已经关闭,自己人联系颖慧");
}
}