Commit b9a8df044c649d107a8e36ae6a4f053270f23676
1 parent
7ecafec9
提交签到和修改头像接口
Showing
4 changed files
with
213 additions
and
74 deletions
phpapi/Common/data.sql
1 | --- 员工表 | ||
2 | -DROP TABLE IF EXISTS `user`; | ||
3 | -CREATE TABLE `user` ( | ||
4 | - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', | ||
5 | - `realname` varchar(50) NOT NULL DEFAULT '' COMMENT '姓名', | ||
6 | - `headimg` varchar(255) NOT NULL DEFAULT '' COMMENT '自拍图片', | ||
7 | - `openid` char(32) NOT NULL UNIQUE COMMENT '微信openid', | ||
8 | - `status` int DEFAULT 1 COMMENT '1=正常 2=删除 3=其他组织', | ||
9 | - `created` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', | ||
10 | - PRIMARY KEY (`id`) | ||
11 | -)ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COMMENT='员工表'; | ||
12 | - | ||
13 | --- 中奖信息 | 1 | + |
2 | +-- ---------------------------- | ||
3 | +-- Table structure for barrage | ||
4 | +-- ---------------------------- | ||
5 | +DROP TABLE IF EXISTS `barrage`; | ||
6 | +CREATE TABLE `barrage` ( | ||
7 | + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID', | ||
8 | + `message` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '消息内容', | ||
9 | + `user_id` int(11) NOT NULL COMMENT '用户Id', | ||
10 | + `created` bigint(13) NOT NULL COMMENT '发送时间', | ||
11 | + PRIMARY KEY (`id`) USING BTREE | ||
12 | +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '弹幕消息表' ROW_FORMAT = Compact; | ||
13 | + | ||
14 | +-- ---------------------------- | ||
15 | +-- Table structure for item | ||
16 | +-- ---------------------------- | ||
17 | +DROP TABLE IF EXISTS `item`; | ||
18 | +CREATE TABLE `item` ( | ||
19 | + `id` int(11) NOT NULL AUTO_INCREMENT, | ||
20 | + `item_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '节目名称', | ||
21 | + `performer_list` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '演员名称', | ||
22 | + PRIMARY KEY (`id`) USING BTREE | ||
23 | +) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '节目表信息' ROW_FORMAT = Compact; | ||
24 | + | ||
25 | +-- ---------------------------- | ||
26 | +-- Records of item | ||
27 | +-- ---------------------------- | ||
28 | +INSERT INTO `item` VALUES (1, '舞蹈:《名字太长容易被记住的一段尬舞》', ''); | ||
29 | +INSERT INTO `item` VALUES (2, '小品:《浪漫办公室》', ''); | ||
30 | +INSERT INTO `item` VALUES (3, '小品:《我是神仙》', ''); | ||
31 | +INSERT INTO `item` VALUES (4, '相声:《程序员的那些事》', ''); | ||
32 | +INSERT INTO `item` VALUES (5, '舞蹈:《重返1990》', ''); | ||
33 | +INSERT INTO `item` VALUES (6, '歌曲:《贝加尔湖畔》', ''); | ||
34 | +INSERT INTO `item` VALUES (7, '舞蹈:《我是一颗糖》', ''); | ||
35 | +INSERT INTO `item` VALUES (8, '小品:《三句半》', ''); | ||
36 | +INSERT INTO `item` VALUES (9, '歌曲:《知否知否》', ''); | ||
37 | +INSERT INTO `item` VALUES (10, '小品:《畅移四美》', ''); | ||
38 | +INSERT INTO `item` VALUES (11, '舞蹈:《追舞者》', ''); | ||
39 | + | ||
40 | +-- ---------------------------- | ||
41 | +-- Table structure for item_vote | ||
42 | +-- ---------------------------- | ||
43 | +DROP TABLE IF EXISTS `item_vote`; | ||
44 | +CREATE TABLE `item_vote` ( | ||
45 | + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID', | ||
46 | + `item_id` int(11) NOT NULL COMMENT '节目ID', | ||
47 | + `user_id` int(11) NOT NULL COMMENT '用户ID', | ||
48 | + PRIMARY KEY (`id`) USING BTREE | ||
49 | +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '节目投票表' ROW_FORMAT = Compact; | ||
50 | + | ||
51 | +-- ---------------------------- | ||
52 | +-- Table structure for lottery | ||
53 | +-- ---------------------------- | ||
14 | DROP TABLE IF EXISTS `lottery`; | 54 | DROP TABLE IF EXISTS `lottery`; |
15 | -CREATE TABLE `lottery` ( | ||
16 | - `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', | ||
17 | - `user_id` int(10) NOT NULL UNIQUE DEFAULT 0 COMMENT '用户id', | ||
18 | - `award` varchar(50) NOT NULL DEFAULT '' COMMENT '奖品', | ||
19 | - `is_cancel` int NOT NULL DEFAULT 0 COMMENT '是否取消 0=否 1=是', | ||
20 | - `is_next` int NOT NULL DEFAULT 0 COMMENT '取消中奖后是否能再次参与 0=不能 1=能', | ||
21 | - `created` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', | ||
22 | - PRIMARY KEY (`id`) | ||
23 | -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='中奖记录表'; | ||
24 | - | ||
25 | --- 抽奖设置 | 55 | +CREATE TABLE `lottery` ( |
56 | + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID', | ||
57 | + `user_id` int(11) NOT NULL COMMENT '用户id', | ||
58 | + `prize_id` int(11) NOT NULL COMMENT '奖项ID', | ||
59 | + `is_cancel` tinyint(1) NOT NULL COMMENT '是否取消 0=否 1=是', | ||
60 | + `is_next` tinyint(1) NOT NULL COMMENT '取消中奖后是否能再次参与 0=不能 1=能', | ||
61 | + `created` bigint(13) NOT NULL COMMENT '创建时间', | ||
62 | + PRIMARY KEY (`id`) USING BTREE | ||
63 | +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '中奖记录表' ROW_FORMAT = Compact; | ||
64 | + | ||
65 | +-- ---------------------------- | ||
66 | +-- Table structure for prize | ||
67 | +-- ---------------------------- | ||
68 | +DROP TABLE IF EXISTS `prize`; | ||
69 | +CREATE TABLE `prize` ( | ||
70 | + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID', | ||
71 | + `prize_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '奖项名称', | ||
72 | + PRIMARY KEY (`id`) USING BTREE | ||
73 | +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '奖项表' ROW_FORMAT = Compact; | ||
74 | + | ||
75 | +-- ---------------------------- | ||
76 | +-- Records of prize | ||
77 | +-- ---------------------------- | ||
78 | +INSERT INTO `prize` VALUES (1, '一等奖'); | ||
79 | +INSERT INTO `prize` VALUES (2, '二等奖'); | ||
80 | +INSERT INTO `prize` VALUES (3, '三等奖'); | ||
81 | +INSERT INTO `prize` VALUES (4, '四等奖'); | ||
82 | +INSERT INTO `prize` VALUES (5, '五等奖'); | ||
83 | + | ||
84 | +-- ---------------------------- | ||
85 | +-- Table structure for setting | ||
86 | +-- ---------------------------- | ||
26 | DROP TABLE IF EXISTS `setting`; | 87 | DROP TABLE IF EXISTS `setting`; |
27 | -CREATE TABLE `setting` ( | ||
28 | - `key` char(50) NOT NULL UNIQUE COMMENT '键', | ||
29 | - `value` varchar(500) NOT NULL DEFAULT '' COMMENT '值', | ||
30 | - `note` varchar(255) NOT NULL DEFAULT '' COMMENT '描述' | ||
31 | -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖设置'; | ||
32 | - | ||
33 | -INSERT INTO `setting` values('isStopSign','1','是否停止注册 1=停止 2=开启'); | ||
34 | -INSERT INTO `setting` values('isStartVote','1','是否开启节目投票通道 1=开启 2=关闭'); | ||
35 | -INSERT INTO `setting` values('voteUrl','https://yq.vchangyi.com/B7BCF1B00A692CB96953A60ECF016356/Questionnaire/h5/index.html#/app/page/questionnaire/fillin-questionnaire?_identifier=yuanquan&qu_id=20129','节目投票通道url'); | 88 | +CREATE TABLE `setting` ( |
89 | + `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '键', | ||
90 | + `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '值', | ||
91 | + `note` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '描述' | ||
92 | +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '抽奖设置' ROW_FORMAT = Compact; | ||
93 | + | ||
94 | +-- ---------------------------- | ||
95 | +-- Records of setting | ||
96 | +-- ---------------------------- | ||
97 | +INSERT INTO `setting` VALUES ('isStopSign', '1', '是否停止注册 1=停止 2=开启'); | ||
98 | +INSERT INTO `setting` VALUES ('isStartVote', '1', '是否开启节目投票通道 1=开启 2=关闭'); | ||
99 | +INSERT INTO `setting` VALUES ('voteUrl', 'https://yq.vchangyi.com/B7BCF1B00A692CB96953A60ECF016356/Questionnaire/h5/index.html#/app/page/questionnaire/fillin-questionnaire?_identifier=yuanquan&qu_id=20129', '节目投票通道url'); | ||
100 | + | ||
101 | +-- ---------------------------- | ||
102 | +-- Table structure for table_position | ||
103 | +-- ---------------------------- | ||
104 | +DROP TABLE IF EXISTS `table_position`; | ||
105 | +CREATE TABLE `table_position` ( | ||
106 | + `id` int(11) NOT NULL AUTO_INCREMENT, | ||
107 | + `number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '桌位编号', | ||
108 | + PRIMARY KEY (`id`) USING BTREE | ||
109 | +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '桌位表' ROW_FORMAT = Compact; | ||
110 | + | ||
111 | +-- ---------------------------- | ||
112 | +-- Table structure for user | ||
113 | +-- ---------------------------- | ||
114 | +DROP TABLE IF EXISTS `user`; | ||
115 | +CREATE TABLE `user` ( | ||
116 | + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID', | ||
117 | + `realname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '姓名', | ||
118 | + `headimg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '自拍图片', | ||
119 | + `openid` char(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '微信openid', | ||
120 | + `status` int(1) NOT NULL DEFAULT 1 COMMENT '1=正常 2=删除 3=其他组织', | ||
121 | + `prize_no` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '奖号', | ||
122 | + `table_no` int(11) NOT NULL DEFAULT 0 COMMENT '桌位号', | ||
123 | + `created` bigint(13) NOT NULL DEFAULT 0 COMMENT '创建时间', | ||
124 | + PRIMARY KEY (`id`) USING BTREE | ||
125 | +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户表' ROW_FORMAT = Compact; | ||
126 | + |
phpapi/api.AddUser.php
@@ -14,29 +14,18 @@ | @@ -14,29 +14,18 @@ | ||
14 | if (!isset($_POST['realname']) || !isset($_POST['mediaId'])) { | 14 | if (!isset($_POST['realname']) || !isset($_POST['mediaId'])) { |
15 | JsonResponse::error('姓名或照片不能为空'); | 15 | JsonResponse::error('姓名或照片不能为空'); |
16 | } | 16 | } |
17 | - // 坐标不能为空 | ||
18 | - if (!isset($_POST['latitude']) || !isset($_POST['longitude'])) { | ||
19 | - JsonResponse::error('用户坐标不能为空'); | ||
20 | - } | 17 | + |
21 | // 登录验证,验证cookie是否有openid,没有前端走微信openid获取流程 | 18 | // 登录验证,验证cookie是否有openid,没有前端走微信openid获取流程 |
22 | if (!isset($_COOKIE['openid'])) { | 19 | if (!isset($_COOKIE['openid'])) { |
23 | JsonResponse::error('进入姿势不对?'); | 20 | JsonResponse::error('进入姿势不对?'); |
24 | - } | ||
25 | - // 年会签到地址 | ||
26 | - $config = include('Common/config.php'); | ||
27 | - $partyLat = $config['latitude']; | ||
28 | - $partyLng = $config['longitude']; | ||
29 | - $distance = getDistance($partyLng, $partyLat, $_POST['longitude'], $_POST['latitude']); | ||
30 | - // 签掉距离不能大于200m,配置文件设置 | ||
31 | - if ($distance > $config['distance']) { | ||
32 | - JsonResponse::error('不在签到范围内'); | ||
33 | } | 21 | } |
22 | + | ||
34 | // 姓名唯一 | 23 | // 姓名唯一 |
35 | $realname = $_POST['realname']; | 24 | $realname = $_POST['realname']; |
36 | $mysql = new mysqlHelper(); | 25 | $mysql = new mysqlHelper(); |
37 | $data = $mysql->fetch("SELECT id FROM user WHERE realname = ?", [ $realname ]); | 26 | $data = $mysql->fetch("SELECT id FROM user WHERE realname = ?", [ $realname ]); |
38 | - if ($data) { | ||
39 | - JsonResponse::error("Hello {$_POST['realname']} ,你的姓名重复了"); | 27 | + if (!isset($data)) { |
28 | + JsonResponse::error('姓名不存在'); | ||
40 | } | 29 | } |
41 | // 获取头像数据,从微信临时素材图片中。 | 30 | // 获取头像数据,从微信临时素材图片中。 |
42 | $wechat = new WechatHelper(); | 31 | $wechat = new WechatHelper(); |
@@ -52,43 +41,23 @@ | @@ -52,43 +41,23 @@ | ||
52 | fclose($fp); | 41 | fclose($fp); |
53 | 42 | ||
54 | // 组装新增用户需要的数据 | 43 | // 组装新增用户需要的数据 |
55 | - $params[] = $_POST['realname']; | ||
56 | $params[] = 'http://' . $_SERVER['SERVER_NAME'] . $tarfilename; | 44 | $params[] = 'http://' . $_SERVER['SERVER_NAME'] . $tarfilename; |
57 | // 这里openid解密 | 45 | // 这里openid解密 |
58 | $enctypt = new Encrypter(); | 46 | $enctypt = new Encrypter(); |
59 | $params[] = $enctypt->decrypt($_COOKIE['openid']); | 47 | $params[] = $enctypt->decrypt($_COOKIE['openid']); |
48 | + $params[] = $_POST['realname']; | ||
60 | $time = time(); | 49 | $time = time(); |
50 | + | ||
61 | // pdo保存数据 | 51 | // pdo保存数据 |
62 | - $updateSql = "UPDATE user SET realname = ?, headimg = ?, `status` = 1, created = {$time} WHERE openid = ?;"; | 52 | + $updateSql = "UPDATE user SET headimg = ?, `status` = 1,`openid` = 1, created = {$time} WHERE realname = ?;"; |
63 | $rowCount = $mysql->update($updateSql, $params); | 53 | $rowCount = $mysql->update($updateSql, $params); |
64 | if ($rowCount) { | 54 | if ($rowCount) { |
65 | - JsonResponse::result(['distance' => $distance]); | 55 | + JsonResponse::result([]); |
66 | } else { | 56 | } else { |
67 | - JsonResponse::error('报名失败'); | ||
68 | - } | ||
69 | - | ||
70 | - | ||
71 | - function rad($dis) | ||
72 | - { | ||
73 | - return round($dis * (3.1415926535898 / 180), 6); | ||
74 | - } | ||
75 | - // 计算距离 | ||
76 | - function getDistance($lat1, $lng1, $lat2, $lng2) | ||
77 | - { | ||
78 | - $lat1 = round($lat1, 6); | ||
79 | - $lng1 = round($lng1, 6); | ||
80 | - $lat2 = round($lat2, 6); | ||
81 | - $lng2 = round($lng2, 6); | ||
82 | - $radLat1 = rad($lat1); | ||
83 | - $radLat2 = rad($lat2); | ||
84 | - $a = $radLat1 - $radLat2; | ||
85 | - $b = rad($lng1) - rad($lng2); | ||
86 | - $s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2))); | ||
87 | - $s = round($s * 6378137, 0); | ||
88 | - return $s; | 57 | + JsonResponse::error('签到失败'); |
89 | } | 58 | } |
90 | 59 | ||
91 | - // 验证注册通道是否关闭 | 60 | + // 验证签到通道是否关闭 |
92 | function isStopSign() | 61 | function isStopSign() |
93 | { | 62 | { |
94 | $mysql = new mysqlHelper(); | 63 | $mysql = new mysqlHelper(); |
phpapi/apicp.SignIn.php
0 → 100644
1 | +<?php | ||
2 | + /** | ||
3 | + * 通过姓名签名 暂不使用 | ||
4 | + */ | ||
5 | + | ||
6 | + include "Common/JsonResponse.php"; | ||
7 | + include "Common/mysqlHelper.php"; | ||
8 | + include "Common/WechatHelper.php"; | ||
9 | + include "Common/Encrypter.php"; | ||
10 | + | ||
11 | + // 头像,姓名必填 | ||
12 | + if (!isset($_POST['realname'])) { | ||
13 | + JsonResponse::error('姓名不能为空'); | ||
14 | + } | ||
15 | + | ||
16 | + $realname = $_POST['realname']; | ||
17 | + | ||
18 | + $mysql = new mysqlHelper(); | ||
19 | + $data = $mysql->fetch("SELECT id,realname,headimg,table_no,prize_no FROM user WHERE realname = ?", [$realname]); | ||
20 | + | ||
21 | + // 头像,姓名必填 | ||
22 | + if (!isset($data)) { | ||
23 | + JsonResponse::error('姓名不存在'); | ||
24 | + } | ||
25 | + | ||
26 | + JsonResponse::result(['data' => $data]); | ||
27 | + |
phpapi/apicp.UploadHeadImg.php
0 → 100644
1 | + <?php | ||
2 | + /** | ||
3 | + * 用户上传头像 暂不使用 | ||
4 | + */ | ||
5 | + | ||
6 | + include "Common/JsonResponse.php"; | ||
7 | + include "Common/mysqlHelper.php"; | ||
8 | + include "Common/WechatHelper.php"; | ||
9 | + include "Common/Encrypter.php"; | ||
10 | + | ||
11 | + // id,头像 | ||
12 | + if (!isset($_POST['id']) || !isset($_POST['mediaId'])) { | ||
13 | + JsonResponse::error('传参错误'); | ||
14 | + } | ||
15 | + | ||
16 | + // 姓名唯一 | ||
17 | + $id = $_POST['id']; | ||
18 | + $mysql = new mysqlHelper(); | ||
19 | + $data = $mysql->fetch("SELECT id FROM user WHERE id = ?", [$id]); | ||
20 | + if (!isset($data)) { | ||
21 | + JsonResponse::error('用户不存在'); | ||
22 | + } | ||
23 | + // 获取头像数据,从微信临时素材图片中。 | ||
24 | + $wechat = new WechatHelper(); | ||
25 | + $img = $wechat->getMedia($_POST['mediaId']); | ||
26 | + | ||
27 | + // 保存图片 | ||
28 | + $filename = time() . rand(1000, 9999) . ".jpg"; | ||
29 | + $tarfilename = "/party/upload/" . $filename; | ||
30 | + $dir = str_replace('\\', '/', realpath(dirname(__FILE__) . '/')); | ||
31 | + $dir = rtrim($dir, '/party/phpapi/'); | ||
32 | + $fp = fopen($dir . $tarfilename, "w"); | ||
33 | + fwrite($fp, $img); | ||
34 | + fclose($fp); | ||
35 | + | ||
36 | + // 组装用户需要的数据 | ||
37 | + $headimg = 'http://' . $_SERVER['SERVER_NAME'] . $tarfilename; | ||
38 | + $time = time(); | ||
39 | + | ||
40 | + // pdo保存数据 | ||
41 | + $updateSql = "UPDATE user SET headimg = {$headimg}, created = {$time} WHERE id = {$id};"; | ||
42 | + $rowCount = $mysql->update($updateSql); | ||
43 | + | ||
44 | + if ($rowCount) { | ||
45 | + JsonResponse::result([ | ||
46 | + 'headimg' => $headimg | ||
47 | + ]); | ||
48 | + } else { | ||
49 | + JsonResponse::error('头像上传失败'); | ||
50 | + } | ||
51 | + | ||
52 | + |