Opt.php
4.64 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<?php
use Action\AbstractAction;
use LibModels\Wap\Guang\OptData;
use LibModels\Wap\Product\BrandData;
use Plugin\Helpers;
/**
* 逛操作
*/
class OptController extends AbstractAction
{
/**
* 资讯文章点赞 (H5里显示点赞)
*
* @param int $id 唯一的资讯ID
* @param string $opt 操作(ok:表示确定,cancel:表示取消)
* @return json
*/
public function praiseArticleAction()
{
$result = array();
do {
/* 判断是不是AJAX请求 */
if (!$this->isAjax()) {
break;
}
/* 判断参数是否有效 */
$id = $this->post('id');
if (!is_numeric($id)) {
break;
}
/* 执行点赞或取消操作 */
$opt = $this->post('opt', 'ok');
$udid = $this->getUdid();
$result = OptData::praiseArticle($udid, $id, $opt);
} while (false);
$this->echoJson($result);
}
/**
* 资讯文章收藏 (APP里显示收藏)
*
* @param int $id 唯一的资讯ID
* @param string $opt 操作(ok:表示确定,cancel:表示取消)
* @return json
*/
public function collectArticleAction()
{
$result = array('code' => 200, 'message' => '成功!', 'data' => '');
$jumpUrl = '';
$isNoLogin = false;
do {
/* 判断是不是AJAX请求 */
if (!$this->isAjax()) {
$result = array('code' => 400, 'message' => '不是Ajax请求!', 'data' => '');
break;
}
/* 判断参数是否有效 */
$id = $this->post('id');
if (!is_numeric($id)) {
$result = array('code' => 400, 'message' => '没有ID!', 'data' => '');
break;
}
/* 判断用户是否登录 */
$uid = $this->get('uid');
$isNoLogin = empty($uid) || !is_numeric($uid);
/* 如果有 yh_channel 是 app */
if ($yhChannel = $this->post('yh_channel')) {
/* 如果没有登录,拼接 App 登录规则 */
if ($isNoLogin) {
$playUrl = Helpers::url('/author/index', '', 'guang');
$playUrlEncode = strtr($playUrl, array('/' => '\\/'));
$jumpUrl = $playUrl . '?openby:yohobuy={"action":"go.weblogin","params":{"jumpurl":{"url":"' . $playUrlEncode . '","param":{"from":"app","id":"' . $id . '",""yh_channel":"' . $yhChannel . '",""uid":"' . $uid . '"}},"requesturl":{"url":"","param":{}},"priority":"N"}}&uid=' . $uid;
$result = array('code' => 200, 'message' => '未登录', 'data' => array('jumpUrl' => $jumpUrl, 'jump' => true));
break;
} else {
/* 执行点赞或取消操作 */
$opt = $this->post('opt', 'ok');
$data = OptData::collectArticle($uid, $id, $opt);
if (!$data) {
$result = array('code' => 400, 'message' => '操作失败', 'data' => '');
break;
}
}
} else { /* 非 app 不需要点赞*/
$result = array('code' => 400, 'message' => '不是App!', 'data' => '');
}
} while (false);
$this->echoJson($result);
}
/**
* 品牌收藏
*
* @param int $id 品牌的ID
* @param string $opt 操作(ok:表示确定,cancel:表示取消)
* @return json
*/
public function favoriteBrandAction()
{
$refer = Helpers::url('/signin.html', array('refer' => $this->server('HTTP_REFERER', '/')));
$result = array('code' => 400, 'message' => '未登录', 'data' => $refer);
do {
/* 判断是不是AJAX请求 */
if (!$this->isAjax()) {
break;
}
/* 判断参数是否有效 */
$id = $this->post('id');
if (!is_numeric($id)) {
break;
}
/* 检查用户是否登录 */
$uid = $this->getUid();
if (!$uid) {
$uid = $this->getSession('uid');
}
if (empty($uid) || !is_numeric($uid)) {
break;
}
/* 取消收藏 */
$opt = $this->post('opt', 'ok');
if ($opt !== 'ok') {
$result = BrandData::favoriteCancel($id, $uid);
break;
}
/* 收藏 */
$result = BrandData::favorite($id, $uid);
} while (false);
$this->echoJson($result);
}
}