redactivity.html
11.6 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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
{template 'common/header'}
<ul class="nav nav-tabs">
<li><a href="{php echo $this->createWebUrl('redentry');}">活动参与方式</a></li>
<li class="active"><a href="{php echo $this->createWebUrl('redactivity');}">活动管理</a></li>
<li><a href="{php echo $this->createWebUrl('redgifts');}">礼品设置</a></li>
</ul>
<script>
require(['angular', 'bootstrap', 'underscore', 'util'], function(angular, $, _, u){
angular.module('app', []).controller('formPanel', function($scope, $http){
$scope.activity = {php echo json_encode($activity)};
$scope.submit = function() {
var message = '';
if($.trim($scope.activity.title) == '') {
message += '必须输入活动名称<br>';
}
if($.trim($scope.activity.title).length > 10) {
message += '活动名称不能大于10个字符<br>';
}
if($.trim($scope.activity.provider) == '') {
message += '必须输入红包提供商名称<br>';
}
if($.trim($scope.activity.wish) == '') {
message += '必须输入红包祝福语<br>';
}
if($.trim($scope.activity.remark) == '') {
message += '必须输入红包说明<br>';
}
if($.trim($(':text[name=image]').val()) == '') {
message += '必须输入红包分享图片<br>';
}
if($.trim($(':text[name=stitle]').val()) == '') {
message += '必须输入红包分享标题<br>';
}
if($.trim($('textarea[name=content]').val()) == '') {
message += '必须输入红包分享文案<br>';
}
$scope.activity.fee.downline = parseInt($scope.activity.fee.downline);
$scope.activity.fee.upline = parseInt($scope.activity.fee.upline);
if(isNaN($scope.activity.fee.downline) || isNaN($scope.activity.fee.upline) || $scope.activity.fee.downline > $scope.activity.fee.upline || $scope.activity.fee.downline < 1 || $scope.activity.fee.upline > 200) {
message += '红包金额应大于1元, 小于200元. 并且最大金额不能小于最少金额<br>';
}
if(message) {
u.message(message);
return false;
}
$('#theform')[0].submit();
}
});
angular.bootstrap(document, ['app']);
});
</script>
<div class="clearfix">
<form id="theform" class="form form-horizontal ng-cloak" action="" method="post" ng-controller="formPanel">
<div class="panel panel-default">
<div class="panel-heading">红包活动基本信息</div>
<div class="panel-body">
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">活动名称</label>
<div class="col-sm-9 col-xs-12">
<input type="text" name="title" class="form-control" ng-model="activity.title">
<span class="help-block">这次领红包活动的名称</span>
</div>
</div>
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">红包提供商名称</label>
<div class="col-sm-9 col-xs-12">
<input type="text" name="provider" class="form-control" ng-model="activity.provider">
<span class="help-block">红包提供商名称, 请参考最终效果预览</span>
</div>
</div>
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">红包祝福语</label>
<div class="col-sm-9 col-xs-12">
<input type="text" name="wish" class="form-control" ng-model="activity.wish">
<span class="help-block">红包祝福语, 请参考最终效果预览</span>
</div>
</div>
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">红包说明</label>
<div class="col-sm-9 col-xs-12">
<textarea name="remark" class="form-control" rows="5" ng-model="activity.remark"></textarea>
<span class="help-block">红包说明, 请参考最终效果预览</span>
</div>
</div>
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">红包金额</label>
<div class="col-sm-9 col-xs-12">
<div class="row row-fix">
<div class="col-sm-4 col-xs-2">
<div class="input-group">
<input type="text" name="fee[downline]" class="form-control" ng-model="activity.fee.downline">
<span class="input-group-addon" style="border-left:none;border-right:none;">至</span>
<input type="text" name="fee[upline]" class="form-control" ng-model="activity.fee.upline">
<span class="input-group-addon">元</span>
</div>
</div>
</div>
<span class="help-block">红包金额范围, 最终金额将在金额范围内随机生成. 如果金额固定, 请输入相同的金额</span>
<span class="help-block"><strong>根据接口限制, 单个红包最低1元, 最高200元. </strong></span>
<span class="help-block"><strong class="text-danger">根据腾讯的答复, 如果需要突破限制发送小于1元或者大于200元的红包, 需要达到100W/月的红包数量, 并联系腾讯获得高级接口. 如果你有高级接口, 可以联系我们开发</strong></span>
</div>
</div>
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">活动形式</label>
<div class="col-sm-9 col-xs-12">
<label class="radio-inline">
<input type="radio" name="type" value="direct" ng-model="activity.type"> 直接送
</label>
<label class="radio-inline text-danger">
<strong>
<input type="radio" name="type" value="shared" ng-model="activity.type"> 拜年讨红包(新玩法)
</strong>
</label>
<span class="help-block"><strong>每个粉丝只能领取一次红包</strong></span>
<span class="help-block">直接送, 参与活动的粉丝将直接得到发放的红包</span>
<span class="help-block"><strong>拜年讨红包, 粉丝A发送拜年主题页给好友(恭喜发财, 红包拿来). 好友收到分享的主题页时可以在页面上向粉丝A塞红包. 累计塞够指定的数目, 粉丝A就能获得红包</strong></span>
</div>
</div>
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">红包内容预览</label>
<div class="col-sm-9 col-xs-12">
<div class="alert alert-info">红包消息: 你参加 <mark>{{activity.title}}</mark>,成功获得 <mark>{{activity.provider}}</mark> 赠送的红包。<mark>{{activity.remark}}</mark></div>
<div class="alert alert-info">拆开红包: 你成功领取了 <mark>{{activity.title}}</mark> 发放的红包。 红包金额:<mark>{{activity.fee.upline}}</mark> 元 <mark>{{activity.wish}}</mark></div>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">红包活动限制参数</div>
<div class="panel-body">
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">活动限制区域</label>
<div class="col-sm-9 col-xs-12">
<div class="row row-fix">
<div class="col-sm-4 col-xs-2">
<div class="input-group">
<input type="text" name="state" class="form-control" value="{$activity['state']}">
<span class="input-group-addon" style="border-left:none;border-right:none;">省</span>
<input type="text" name="city" class="form-control" value="{$activity['city']}">
<span class="input-group-addon">城市</span>
</div>
</div>
</div>
<span class="help-block">如果要限制粉丝在特定区域才能领取, 请设置省和市</span>
<span class="help-block"><strong>省份和城市需要按照微信个人资料中的位置设置. 如果设置错误, 将不能领取</strong></span>
</div>
</div>
</div>
</div>
<div class="panel panel-default" ng-show="activity.type == 'shared'">
<div class="panel-heading">拜年讨红包玩法参数</div>
<div class="panel-body">
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">领取所需塞的红包数量</label>
<div class="col-sm-9 col-xs-12">
<input type="text" name="helps" value="{$activity['helps']}" class="form-control">
<span class="help-block">粉丝A发送拜年主题页给好友(恭喜发财, 红包拿来). 好友收到分享的主题页时可以在页面上向粉丝A塞红包. 累计塞够指定的数目, 粉丝A就能获得红包</span>
</div>
</div>
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">塞红包文字</label>
<div class="col-sm-9 col-xs-12">
<input type="text" name="label" class="form-control" ng-model="activity.label">
<span class="help-block">好友塞红包时显示的文本. 例如: 给TA塞红包, 赏{nickname}俩字儿. 注意: 可以使用{nickname}来替换邀请者的昵称</span>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">红包活动详情</div>
<div class="panel-body">
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">活动时间</label>
<div class="col-sm-9 col-xs-12">
{php echo tpl_form_field_daterange('time', $activity['time'], true)}
<span class="help-block">活动的时间范围, 其他时间活动将不能访问</span>
</div>
</div>
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">活动页面背景</label>
<div class="col-sm-9 col-xs-12">
{php echo tpl_form_field_image('banner', $activity['banner'])}
<span class="help-block">设置红包活动页面的提示背景</span>
<span class="help-block"><strong>使用自定义活动背景, 请注意页面元素位置及配色</strong></span>
</div>
</div>
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">活动规则说明</label>
<div class="col-sm-9 col-xs-12">
<textarea style="height:150px;" class="richtext-clone" name="rules">{$activity['rules']}</textarea>
<span class="help-block">详细说明活动参与规则</span>
</div>
<script type="text/javascript">
require(['jquery', 'util'],function($, util){
window.editor = util.editor($('.richtext-clone')[0]);
})
</script>
</div>
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">图文消息素材</label>
<div class="col-sm-9 col-xs-12">
<input type="text" name="guide" class="form-control" ng-model="activity.guide">
<span class="help-block">本次活动的图文素材, 用于引导关注. 请在微信公众平台中编辑的单条图文消息来介绍本次活动, 用于引导粉丝快速关注</span>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">红包分享信息</div>
<div class="panel-body">
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">分享的图片</label>
<div class="col-sm-9 col-xs-12">{php echo tpl_form_field_image('image', $activity['image'])}</div>
</div>
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">分享的标题</label>
<div class="col-sm-9 col-xs-12"><input type="text" name="stitle" class="form-control" ng-model="activity.stitle"></div>
</div>
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label">分享文案</label>
<div class="col-sm-9 col-xs-12"><textarea name="content" class="form-control" rows="5">{$activity['content']}</textarea></div>
</div>
<div class="form-group">
<label class="col-xs-12 col-sm-3 col-md-2 control-label"></label>
<div class="col-md-2 col-lg-1"><input type="button" value="保存" class="btn btn-primary btn-block" ng-click="submit();" /></div>
</div>
</div>
</div>
</form>
</div>
{template 'common/footer'}