Authored by htoooth

update readme

@@ -62,7 +62,18 @@ @@ -62,7 +62,18 @@
62 </a> 62 </a>
63 ``` 63 ```
64 64
65 -6. 分享相关: 65 +6. 红包领取:
  66 +<a> 标签加上`yoho-redenvelope`类名,并加上 `data-token` 属性,值为后台生成的 token。
  67 +
  68 + 示例:
  69 +
  70 + ```html
  71 + <a class="yoho-redenvelope" href="javascript:;" data-token="29-6ea9ab1baa0efb9e19094440c317e21b">
  72 + <h1>红包按钮</h1>
  73 + </a>
  74 + ```
  75 +
  76 +7. 分享相关:
66 如果需要定制分享参数时,通过<input type="hidden">方式自定义 77 如果需要定制分享参数时,通过<input type="hidden">方式自定义
67 78
68 示例: 79 示例:
@@ -74,9 +85,9 @@ @@ -74,9 +85,9 @@
74 <input id="shareTitle" type="hidden" value="【YOHO!BUY有货】12月28日潮集会员日"> 85 <input id="shareTitle" type="hidden" value="【YOHO!BUY有货】12月28日潮集会员日">
75 ``` 86 ```
76 87
77 -7. 个性化推荐: 88 +8. 个性化推荐:
78 89
79 - 7.1. 定义商品模版 90 + 8.1. 定义商品模版
80 91
81 示例: 92 示例:
82 93
@@ -106,7 +117,7 @@ @@ -106,7 +117,7 @@
106 </div> 117 </div>
107 ``` 118 ```
108 119
109 - 7.2. 详细说明 120 + 8.2. 详细说明
110 121
111 以下属性class/id 需要固定不变,引入的 jssdk 会通过class名 来做动态替换 122 以下属性class/id 需要固定不变,引入的 jssdk 会通过class名 来做动态替换
112 123
@@ -123,7 +134,7 @@ @@ -123,7 +134,7 @@
123 .sale-price | 销售价格 134 .sale-price | 销售价格
124 .market-price | 市场价格 135 .market-price | 市场价格
125 136
126 - 7.3. condition 说明 137 + 8.3. condition 说明
127 138
128 参数名称 | 说明 | 示范 139 参数名称 | 说明 | 示范
129 ------- | ---- | ---- 140 ------- | ---- | ----
@@ -136,6 +136,55 @@ let _getCoupon = function(data){ @@ -136,6 +136,55 @@ let _getCoupon = function(data){
136 }); 136 });
137 }; 137 };
138 138
  139 +let isSendRedEnevlope = false;
  140 +let _getRedEnevlope = function(data){
  141 + data.app = utils.queryString();
  142 +
  143 + data.app.uid = data.app.uid || cookies.cookie('app_uid');
  144 + data.app.app_version = data.app.app_version || cookies.cookie('app_version');
  145 + data.app.client_type = data.app.client_type || cookies.cookie('app_client_type');
  146 + data.app.session_key = data.app.session_key || cookies.cookie('app_session_key');
  147 +
  148 + if (isSendRedEnevlope) {
  149 + return;
  150 + }
  151 +
  152 + isSendRedEnevlope = true;
  153 + jsonp({
  154 + url: '//m.yohobuy.com/activity/feature/redenvelope?callback=?',
  155 + timeout: 5000, // 5s
  156 + data: data
  157 + }).then(function(res) {
  158 + isSendRedEnevlope = false;
  159 + if (res.code === 200) {
  160 + utils.showTip({
  161 + title: '领取成功',
  162 + content: '恭喜您,领取成功',
  163 + close: true
  164 + });
  165 + } else if (res.code === 401) {
  166 + utils.showTip({
  167 + title: '已经领取',
  168 + content: '快去分享给更多<br>喜爱<span class="highlight">潮流</span>的小伙伴吧!',
  169 + close: true
  170 + });
  171 + } else if (res.message) {
  172 + utils.showTip({
  173 + title: '领取失败<br>请刷新重新领取',
  174 + content: res.message + '<br>如多次领取失败,请联系客服人员<br>带来不便敬请谅解',
  175 + close: false
  176 + });
  177 + }
  178 + }, function(){
  179 + isSendRedEnevlope = false;
  180 + utils.showTip({
  181 + title: '领取失败<br>请刷新重新领取',
  182 + content: '如多次领取失败,请联系客服人员<br>带来不便敬请谅解',
  183 + close: false
  184 + });
  185 + });
  186 +}
  187 +
139 let _initCoin = function(uid){ 188 let _initCoin = function(uid){
140 if (uid) { 189 if (uid) {
141 let cointoken = cookies.cookie('yoho-coin-token'); 190 let cointoken = cookies.cookie('yoho-coin-token');
@@ -215,7 +264,42 @@ let _initCoupon = function(uid) { @@ -215,7 +264,42 @@ let _initCoupon = function(uid) {
215 }; 264 };
216 265
217 let _initRedEnvelope = function(uid) { 266 let _initRedEnvelope = function(uid) {
  267 + if (uid) {
  268 + let redevenlopetoken = cookies.cookie('yoho-redenvelope-token');
  269 + if (redevenlopetoken) {
  270 + _getRedEnevlope({
  271 + token: redevenlopetoken,
  272 + uid: uid
  273 + });
  274 +
  275 + cookies.setCookie('yoho-redenvelope-token', '');
  276 + }
  277 + }
  278 +
  279 + $('body').on('click', '.yoho-redenvelope', function() {
  280 + let token = $(this).data('token');
  281 + if (user.uid) {
  282 + _getRedEnevlope({
  283 + token: token,
  284 + uid: user.uid
  285 + });
  286 + } else {
  287 + cookies.setCookie('yoho-redenvelope-token', token);
218 288
  289 + if (window.__wxjs_environment === 'miniprogram' && typeof wx !== 'undefined' && wx.miniProgram) {
  290 + wx.miniProgram.navigateTo({
  291 + url: `../bindPhoneNumber/bindPhoneNumber?h5back=${location.href}`
  292 + });
  293 + return;
  294 + }
  295 +
  296 + if ($('#intimacy-link').length <= 0) {
  297 + $('body').append('<a href=\'' + user.noLoginUrl() + '\' style="display:none;" id="intimacy-link"><span class="intimacy-link"></span></a>');
  298 + }
  299 + $('.intimacy-link').click();
  300 + return;
  301 + }
  302 + });
219 } 303 }
220 304
221 export default { 305 export default {