PageSourceSearch

https://www.dongfeng-nissan.com.cn/Areas/Nissan/Content/static/src/script/common.js

js dongfeng-nissan.com.cn collected 2026-10-02 07:34:03 UTC 262,128 bytes, 5,399 lines download raw bytes

1"use strict";
2
3var _window$$config;
4
5function _defineProperty(obj, key, value) {
6  if (key in obj) {
7    Object.defineProperty(obj, key, {
8      value: value,
9      enumerable: true,
10      configurable: true,
11      writable: true,
12    });
13  } else {
14    obj[key] = value;
15  }
16  return obj;
17}
18
19window.$Json = {};
20$Json.car_cid = [
21  {
22    ID: "592528f38a404881b7aaf1bbdd2fc134",
23    CID: "51",
24    Name: "第七代天籁",
25    Title: "altima",
26  },
27  {
28    ID: "507cf5b433174992ac49d1827b625b85",
29    CID: "13",
30    Name: "第14代轩逸",
31    Title: "sylphy",
32  },
33  {
34    ID: "79e3eccbf96b4c699306b6febeb55373",
35    CID: "14",
36    Name: "蓝鸟",
37    Title: "lannia",
38  },
39  {
40    ID: "1a7b0a1f7b4b4e0fb0c2ece727ca4bad",
41    CID: "16",
42    Name: "新轩逸·经典",
43    Title: "sylphy-classic",
44  },
45  {
46    ID: "f33ac8dbc32d451fa8b239b168cfcbee",
47    CID: "49",
48    Name: "轩逸·纯电",
49    Title: "sylphy-zero-emission",
50  },
51  {
52    ID: "8d06ccf2dc874602bb66c54c1ee4dd3b",
53    CID: "6",
54    Name: "骐达TIIDA",
55    Title: "tiida",
56  },
57  {
58    ID: "1c865562c71f4029ad313d337cb6c9f2",
59    CID: "17",
60    Name: "阳光",
61    Title: "sunny",
62  },
63  {
64    ID: "94de110fdcd4437fb907332b631fad21",
65    CID: "40",
66    Name: "全新劲客",
67    Title: "kicks",
68  },
69  {
70    ID: "b553f708396448cab53896b315eec950",
71    CID: "21",
72    Name: "全新奇骏",
73    Title: "x-trail",
74  },
75  {
76    ID: "65c7fff0e135495ba3b3eb85116cdc60",
77    CID: "22",
78    Name: "全新逍客",
79    Title: "qashqai",
80  },
81  {
82    ID: "1c0415e7d41648c4ad8105af26367c7f",
83    CID: "23",
84    Name: "新楼兰",
85    Title: "new-murano",
86  },
87  {
88    ID: "5059b0c2b39f4fa6a9f62ab06d9d4569",
89    CID: "48",
90    Name: "全新途达",
91    Title: "terra",
92  },
93];
94
95$Json.price = [
96  { key: "3-5万", value: "30000,50000" },
97  { key: "5-8万", value: "50000,80000" },
98  { key: "8-15万", value: "80000,150000" },
99  { key: "15-25万", value: "150000,250000" },
100];
101$Json.mileage = [
102  { key: "1万公里以内", value: "0,1" },
103  { key: "3万公里以内", value: "0,3" },
104  { key: "5万公里以内", value: "0,5" },
105];
106$Json.displacement = [
107  { key: "小于1.5", value: "0,1.5" },
108  { key: "1.5-2", value: "1.5,2" },
109  { key: "2-2.5", value: "2,2.5" },
110];
111$Json.year = [
112  { key: "1年内", value: "0,1" },
113  { key: "2年内", value: "1,2" },
114  { key: "3年内", value: "2,3" },
115];
116$Json.gerabox = [
117  { key: "手动", value: "手动" },
118  { key: "自动", value: "自动" },
119];
120
121$Json.province = [
122  { id: 1, name: "北京" },
123  { id: 2, name: "天津" },
124  { id: 3, name: "河北" },
125  { id: 4, name: "山西" },
126  { id: 5, name: "内蒙古" },
127  { id: 6, name: "辽宁" },
128  { id: 7, name: "吉林" },
129  { id: 8, name: "黑龙江" },
130  { id: 9, name: "上海" },
131  { id: 10, name: "江苏" },
132  { id: 11, name: "浙江" },
133  { id: 12, name: "安徽" },
134  { id: 13, name: "福建" },
135  { id: 14, name: "江西" },
136  { id: 15, name: "山东" },
137  { id: 16, name: "河南" },
138  { id: 17, name: "湖北" },
139  { id: 18, name: "湖南" },
140  { id: 19, name: "广东" },
141  { id: 20, name: "广西" },
142  { id: 21, name: "海南" },
143  { id: 22, name: "重庆" },
144  { id: 23, name: "四川" },
145  { id: 24, name: "贵州" },
146  { id: 25, name: "云南" },
147  { id: 26, name: "西藏" },
148  { id: 27, name: "陕西" },
149  { id: 28, name: "甘肃" },
150  { id: 29, name: "青海" },
151  { id: 30, name: "宁夏" },
152  { id: 31, name: "新疆" },
153];
154
155$Json.carseries = [
156  {
157    catalog: "三厢车",
158    carseries: [
159      { ID: "1", Name: "西玛" },
160      { ID: "2", Name: "全新轩逸" },
161      { ID: "3", Name: "轩逸" },
162      { ID: "4", Name: "阳光" },
163      { ID: "5", Name: "天籁" },
164      { ID: "6", Name: "新蓝鸟" },
165      { ID: "7", Name: "老蓝鸟" },
166    ],
167  },
168  {
169    catalog: "两厢车",
170    carseries: [
171      { ID: "7", Name: "颐达/骐达" },
172      { ID: "8", Name: "骊威" },
173      { ID: "9", Name: "玛驰" },
174    ],
175  },
176];
177
178$Json.carstyle = {
179  西玛: ["西玛2.5L"],
180  全新轩逸: ["全新轩逸1.6/1.8L"],
181  轩逸: ["新轩逸1.6/1.8L", "轩逸1.6/2.0L"],
182  阳光: ["新阳光1.5L", "阳光2.0L"],
183  天籁: [
184    "全新天籁LWB",
185    "全新天籁",
186    "新世代天籁2.0/2.5L",
187    "新世代天籁公爵2.0/2.5L",
188    "天籁2.3/3.5L",
189    "天籁2.0L",
190    "新一代天籁2.0L",
191    "新一代天籁2.5/3.5L",
192  ],
193  新蓝鸟: ["新蓝鸟1.6L"],
194  老蓝鸟: ["蓝鸟2.0L"],
195  "颐达/骐达": ["新骐达1.6L/T", "老颐达、骐达1.6L", "新生代骐达1.6L"],
196  骊威: ["骊威1.6L", "新生代骊威1.6L"],
197  玛驰: ["玛驰1.5L"],
198  全新途达: ["途达2.5L"],
199  全新劲客: ["劲客1.5L"],
200  全新逍客: ["新逍客2.0L", "新逍客1.2T"],
201  逍客: ["逍客1.6/2.0L"],
202  奇骏: ["新奇骏2.0/2.5L", "奇骏2.0/2.5L"],
203  全新奇骏: ["全新奇骏2.0/2.5L"],
204  楼兰: ["楼兰3.5L"],
205  新楼兰: ["新楼兰2.5L", "新楼兰HEV"],
206  "370Z": ["370Z3.7L"],
207  途乐: ["途乐5.6L"],
208  贵士: ["贵士3.5L"],
209  俊逸: ["骏逸1.8L"],
210};
211
212$Json.carSeriesWithInterestRate = {
213  // 全新天籁
214  "592528f38a404881b7aaf1bbdd2fc134": [
215    {
216      // 天籁2.0L
217      18: {
218        // 0息
219        UpperLimit: 80000, // 贴息额度上限
220        BillingRates: 0.0894, // 结算利率
221      },
222      24: {
223        UpperLimit: 60000,
224        BillingRates: 0.0894,
225      },
226      36: {
227        UpperLimit: 40000,
228        BillingRates: 0.0894,
229      },
230      "36Up": {
231        // 增益贷
232        Rate: 0.0799, // 利率
233      },
234      48: {
235        Rate: 0.0896,
236      },
237      60: {
238        Rate: 0.0913,
239      },
240    },
241    {
242      // 天籁2.0T
243      18: {
244        UpperLimit: 100000,
245        BillingRates: 0.0894,
246      },
247      24: {
248        UpperLimit: 80000,
249        BillingRates: 0.0894,
250      },
251      36: {
252        UpperLimit: 55000,
253        BillingRates: 0.0894,
254      },
255      "36Up": {
256        Rate: 0.0799,
257      },
258      48: {
259        Rate: 0.0896,
260      },
261      60: {
262        Rate: 0.0913,
263      },
264    },
265  ],
266
267  // 新楼兰
268  "1c0415e7d41648c4ad8105af26367c7f": [
269    {
270      18: {
271        UpperLimit: 80000,
272        BillingRates: 0.0894,
273      },
274      24: {
275        UpperLimit: 60000,
276        BillingRates: 0.0894,
277      },
278      36: {
279        UpperLimit: 40000,
280        BillingRates: 0.0894,
281      },
282      "36Up": {
283        Rate: 0.0799,
284      },
285      48: {
286        Rate: 0.0896,
287      },
288      60: {
289        Rate: 0.0913,
290      },
291    },
292  ],
293
294  // 轩逸经典
295  "1a7b0a1f7b4b4e0fb0c2ece727ca4bad": [
296    {
297      18: {
298        UpperLimit: 55000,
299        BillingRates: 0.0894,
300      },
301      24: {
302        UpperLimit: 40000,
303        BillingRates: 0.0894,
304      },
305      36: {
306        UpperLimit: 30000,
307        BillingRates: 0.0894,
308      },
309      "36Up": {
310        Rate: 0.0799,
311      },
312      48: {
313        Rate: 0.0896,
314      },
315      60: {
316        Rate: 0.0913,
317      },
318    },
319  ],
320
321  // 全新轩逸
322  "507cf5b433174992ac49d1827b625b85": [
323    {
324      18: {
325        UpperLimit: 80000,
326        BillingRates: 0.0894,
327      },
328      24: {
329        UpperLimit: 70000,
330        BillingRates: 0.0799,
331      },
332      36: {
333        UpperLimit: 40000,
334        BillingRates: 0.0894,
335      },
336      "36Up": {
337        Rate: 0.0799,
338      },
339      48: {
340        Rate: 0.0896,
341      },
342      60: {
343        Rate: 0.0913,
344      },
345    },
346  ],
347
348  // 蓝鸟
349  "79e3eccbf96b4c699306b6febeb55373": [
350    {
351      18: {
352        UpperLimit: 55000,
353        BillingRates: 0.0894,
354      },
355      24: {
356        UpperLimit: 40000,
357        BillingRates: 0.0894,
358      },
359      36: {
360        UpperLimit: 30000,
361        BillingRates: 0.0894,
362      },
363      "36Up": {
364        Rate: 0.0799,
365      },
366      48: {
367        Rate: 0.0896,
368      },
369      60: {
370        Rate: 0.0913,
371      },
372    },
373  ],
374
375  // 轩逸·纯电
376  //"f33ac8dbc32d451fa8b239b168cfcbee": [{
377  //    "18": {
378  //        "UpperLimit": 100000,
379  //        "BillingRates": 0.092
380  //    },
381  //    "24": {
382  //        "UpperLimit": 80000,
383  //        "BillingRates": 0.092
384  //    },
385  //    "36": {
386  //        "UpperLimit": 55000,
387  //        "BillingRates": 0.092
388  //    },
389  //    "36Up": {
390  //        "Rate": 0.0799
391  //    },
392  //    "48": {
393  //        "Rate": 0.08942
394  //    },
395  //    "60": {
396  //        "Rate": 0.0921
397  //    }
398  //}],
399
400  // TIIDA骐达
401  "8d06ccf2dc874602bb66c54c1ee4dd3b": [
402    {
403      18: {
404        UpperLimit: 55000,
405        BillingRates: 0.0894,
406      },
407      24: {
408        UpperLimit: 40000,
409        BillingRates: 0.0894,
410      },
411      36: {
412        UpperLimit: 30000,
413        BillingRates: 0.0894,
414      },
415      "36Up": {
416        Rate: 0.0799,
417      },
418      48: {
419        Rate: 0.0896,
420      },
421      60: {
422        Rate: 0.0913,
423      },
424    },
425  ],
426
427  // 全新劲客
428  "94de110fdcd4437fb907332b631fad21": [
429    {
430      18: {
431        UpperLimit: 55000,
432        BillingRates: 0.0894,
433      },
434      24: {
435        UpperLimit: 40000,
436        BillingRates: 0.0894,
437      },
438      36: {
439        UpperLimit: 30000,
440        BillingRates: 0.0894,
441      },
442      "36Up": {
443        Rate: 0.0799,
444      },
445      48: {
446        Rate: 0.0896,
447      },
448      60: {
449        Rate: 0.0913,
450      },
451    },
452  ],
453
454  // 全新奇骏
455  b553f708396448cab53896b315eec950: [
456    {
457      18: {
458        UpperLimit: 80000,
459        BillingRates: 0.0894,
460      },
461      24: {
462        UpperLimit: 60000,
463        BillingRates: 0.0894,
464      },
465      36: {
466        UpperLimit: 40000,
467        BillingRates: 0.0894,
468      },
469      "36Up": {
470        Rate: 0.0658,
471      },
472      48: {
473        Rate: 0.0794,
474      },
475      60: {
476        Rate: 0.0832,
477      },
478    },
479  ],
480
481  // 全新逍客
482  "65c7fff0e135495ba3b3eb85116cdc60": [
483    {
484      18: {
485        UpperLimit: 70000,
486        BillingRates: 0.0894,
487      },
488      24: {
489        UpperLimit: 50000,
490        BillingRates: 0.0894,
491      },
492      36: {
493        UpperLimit: 35000,
494        BillingRates: 0.0894,
495      },
496      "36Up": {
497        Rate: 0.0799,
498      },
499      48: {
500        Rate: 0.0896,
501      },
502      60: {
503        Rate: 0.0913,
504      },
505    },
506  ],
507
508  // 全新途达
509  "5059b0c2b39f4fa6a9f62ab06d9d4569": [
510    {
511      18: {
512        UpperLimit: 130000,
513        BillingRates: 0.0894,
514      },
515      24: {
516        UpperLimit: 110000,
517        BillingRates: 0.0894,
518      },
519      36: {
520        UpperLimit: 80000,
521        BillingRates: 0.0894,
522      },
523      "36Up": {
524        Rate: 0.0799,
525      },
526      48: {
527        Rate: 0.0896,
528      },
529      60: {
530        Rate: 0.0913,
531      },
532    },
533  ],
534  // 全新一代奇骏 新增
535  "315565a4e6d34fd3840f97fc62bb4b4f": [
536    {
537      18: {
538        UpperLimit: 130000,
539        BillingRates: 0.0911,
540      },
541      24: {
542        UpperLimit: 100000,
543        BillingRates: 0.0799,
544      },
545      36: {
546        UpperLimit: 70000,
547        BillingRates: 0.0911,
548      },
549      "36Up": {
550        Rate: 0.0799,
551      },
552      48: {
553        Rate: 0.0911,
554      },
555      60: {
556        Rate: 0.097,
557      },
558    },
559  ],
560};
561
562$Json.NatureList = [
563  { id: "01", value: "政府单位" },
564  { id: "02", value: "NGO/公益机构" },
565  { id: "03", value: "企事业单位" },
566  { id: "04", value: "旅行团" },
567  { id: "05", value: "其他" },
568];
569$Json.IndustryList = [
570  { id: "01", value: "IT|通信|电子|互联网" },
571  { id: "02", value: "金融业" },
572  { id: "03", value: "房地产|建筑业" },
573  { id: "04", value: "商业服务" },
574  { id: "05", value: "贸易|批发|零售|租赁业" },
575  { id: "06", value: "文体教育|工艺美术" },
576  { id: "07", value: "生产|加工|制造" },
577  { id: "08", value: "交通|运输|物流|仓储" },
578  { id: "09", value: "服务业|旅游业" },
579  { id: "10", value: "文化|传媒|娱乐|体育" },
580  { id: "11", value: "能源|矿产|环保" },
581  { id: "12", value: "政府|非盈利机构" },
582  { id: "13", value: "农|林|牧|渔|其他" },
583];
584$Json.CertificateTypeList = [
585  { id: "01", value: "身份证" },
586  { id: "02", value: "军官证" },
587  { id: "03", value: "护照" },
588  { id: "04", value: "港澳居民来往内地通行证" },
589  { id: "05", value: "台湾居民来往内地通行证" },
590];
591
592$Json.protection =
593  '\n<p style="text-align:center; "><strong><span style="color:#000000; "><span\n          style="background-color:#ffffff; ">\u9690\u79C1\u653F\u7B56</span></span></strong></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u5982\u679C\u60A8\uFF08\u7528\u6237\uFF09\u5BF9\u672C\u300A\u9690\u79C1\u653F\u7B56\u300B\uFF08\u4E0B\u79F0\u201C\u672C\u653F\u7B56\uFF09\u6709\u4EFB\u4F55\u7591\u95EE\u3001\u610F\u89C1\u6216\u5EFA\u8BAE\uFF0C\u8BF7\u901A\u8FC7\u62E8\u6253\u6211\u4EEC\u7684\u5BA2\u670D\u7535\u8BDD95027\u4E0E\u6211\u4EEC\u8054\u7CFB\u3002</span></span></p>\n  <p><strong><span style="color:#000000; "><span style="background-color:#ffffff; ">\u63D0\u793A\u6761\u6B3E</span></span></strong></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u60A8\u7684\u4FE1\u4EFB\u5BF9\u6211\u4EEC\u975E\u5E38\u91CD\u8981\uFF0C\u6211\u4EEC\u6DF1\u77E5\u4E2A\u4EBA\u4FE1\u606F\u5BF9\u60A8\u7684\u91CD\u8981\u6027\uFF0C\u6211\u4EEC\u5C06\u6309\u
5936CD5\u5F8B\u6CD5\u89C4\u8981\u6C42\uFF0C\u91C7\u53D6\u76F8\u5E94\u5B89\u5168\u4FDD\u62A4\u63AA\u65BD\uFF0C\u5C3D\u529B\u4FDD\u62A4\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u5B89\u5168\u53EF\u63A7\u3002\u9274\u4E8E\u6B64\uFF0C<strong><u style="color:#000000; ">\u4E1C\u98CE\u65E5\u4EA7\u6C7D\u8F66\u9500\u552E\u6709\u9650\u516C\u53F8</u></strong>\uFF08\u7B80\u79F0\u201C\u6211\u4EEC\u201D\u6216\u201C\u4E1C\u98CE\u65E5\u4EA7\u201D\uFF09\u5236\u5B9A\u672C\u653F\u7B56\u5E76\u63D0\u9192\u60A8\uFF1A</span></span>\n  </p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u672C\u653F\u7B56\u9002\u7528\u4E8E<strong><u style="color:#000000; ">\u4E1C\u98CE\u65E5\u4EA7\u5B98\u65B9\u7F51\u7AD9</u></strong>\u63D0\u4F9B\u7684\u6240\u6709\u4EA7\u54C1\u548C/\u6216\u670D\u52A1(\u7B80\u79F0\u201C\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u201D)\u3002\u5982\u6211\u4EEC\u7684\u5173\u8054\u516C\u53F8\uFF08\u8303\u56F4\u8BE6\u89C1\u5B9A\u4E49\u90E8\u5206\uFF09\u7684\u4EA7\u54C1\u6216\u670D\u52A1\u4E2D\u4F7F\u7528\u4E86\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u4F46\u672A\u8BBE\u72EC\u7ACB\u9690\u79C1\u653F\u7B56\u7684\uFF0C\u5219\u672C\u653F\u7B56\u540C\u6837\u9002\u7528\u4E8E\u8BE5\u90E8\u5206\u4EA7\u54C1\u6216\u670D\u52A1\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u9700\u8981\u7279\u522B\u8BF4\u660E\u7684\u662F\uFF0C\u672C\u653F\u7B56\u4E0D\u9002\u7528\u4E8E\u5176\u4ED6\u4E1C\u98CE\u65E5\u4EA7\u5916\u7B2C\u4E09\u65B9\u5411\u60A8\u63D0\u4F9B\u7684\u670D\u52A1\uFF0C\u4E5F\u4E0D\u9002\u7528\u4E8E\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u4E2D\u5DF2\u53E6\u884C\u72EC\u7ACB\u8BBE\u7F6E\u6CD5\u5F8B\u58F0\u660E\u53CA\u9690\u79C1\u653F\u7B56\u7684\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u3002\n      </span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u5728\u4F7F\u7528\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u524D\uFF0C\u8BF7\u60A8\u52A1\u5FC5\u4ED4\u7EC6\u9605\u8BFB\u5E76\u900F\u5F7B\u7406\u89E3\u672C\u653F\u7B56\uFF0C\u5728\u786E\u8BA4\u5145\u5206\u7406\u89E3\u5E76\u540C\u610F\u540E\u4F7F\u7528\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u3002\u5728\u60A8\u4F7F\u7528\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u4E4B\u524D\uFF0C\u60A8\u52FE\u9009\u201C\u9605\u8BFB\u5E76\u540C\u610F\u300A\u9690\u79C1\u653F\u7B56\u300B\u201D\u65F6\uFF0C\u5373\u8868\u793A\u60A8\u5DF2\u5145\u5206\u7406\u89E3\u5E76\u540C\u610F\u672C\u653F\u7B56\u3002</span></span>\n  </p>\n  <p><strong><span style="color:#000000; "><span style="background-color:#ffffff; ">\u7B2C\u4E00\u90E8\u5206 \u5B9A\u4E49</span></span></strong></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; "><strong><span style="color:#000000; ">\u4E2A\u4EBA\u4FE1\u606F\uFF1A</span></strong>\u662F\u6307\u4EE5\u7535\u5B50\u6216\u8005\u5176\u4ED6\u65B9\u5F0F\u8BB0\u5F55\u7684\u80FD\u591F\u5355\u72EC\u6216\u8005\u4E0E\u5176\u4ED6\u4FE1\u606F\u7ED3\u5408\u8BC6\u522B\u7279\u5B9A\u81EA\u7136\u4EBA\u8EAB\u4EFD\u6216\u8005\u53CD\u6620\u7279\u5B9A\u81EA\u7136\u4EBA\u6D3B\u52A8\u60C5\u51B5\u7684\u5404\u79CD\u4FE1\u606F\u3002\u672C\u653F\u7B56\u4E2D\u53EF\u80FD\u6D89\u53CA\u7684\u4E2A\u4EBA\u4FE1\u606F\u5305\u62EC\uFF1A\u8D26\u6237\u4FE1\u606F\uFF08\u5305\u62EC\u60A8\u81EA\u884C\u586B\u5199\u60A8\u7684\u5934\u50CF\uFF0C\u6635\u79F0\u3001<strong><span style="color:#000000; ">\u6536\u4EF6\u5730\u5740</span></strong>\uFF09\uFF0C\u8D26\u53F7\u4FE1\u606F\uFF08\u624B\u673A\u53F7\u7801\u548C\u7ED1\u5B9A\u7684\u7B2C\u4E09\u65B9\u8D26\u53F7\uFF09\uFF0C<strong><span style="color:#000000; ">\u4F4D\u7F6E\u4FE1\u606F\u3001\u4EA4\u6613\u548C\u8BA2\u5355\u4FE1\u606F</span></strong>\uFF0C\u8F66\u8F86\u4FE1\u606F\uFF08\u8F66\u8F86\u884C\u9A76\u4FE1\u606F\u3001VIN\u3001\u54C1\u724C\u3001\u8F66\u7CFB\u3001\u8F66\u578B\u3001\u53D1\u52A8\u673A\u53F7\uFF09\u3001\u4E2A\u4EBA\u5E38\u7528\u8BBE\u5907\u4FE1\u606F\uFF08\u5305\u62EC\u786C\u4EF6\u578B\u53F7\u3001\u8BBE\u5907MAC\u5730\u5740\u3001\u64CD\u4F5C\u7CFB\u7EDF\u7C7B\u578B\u3001\u8F6F\u4EF6\u5217\u8868\u552F\u4E00\u8BBE\u5907\u8BC6\u522B\u7801\uFF08\u5982IMEI/android\n        ID/IDFA/OPENUDID/GUID\u4FE1\u606F\u7B49\u5
593728\u5185\u7684\u63CF\u8FF0\u4E2A\u4EBA\u5E38\u7528\u8BBE\u5907\u57FA\u672C\u60C5\u51B5\u7684\u4FE1\u606F\uFF09\u3001\u64CD\u4F5C\u4FE1\u606F\uFF08\u70B9\u51FB\u3001\u6D4F\u89C8\u3001\u66DD\u5149\uFF09\u3001\u65E5\u5FD7\u4FE1\u606F\uFF08IP\u5730\u5740\u3001\u4F7F\u7528\u65F6\u95F4\u3001\u64CD\u4F5C\u8BB0\u5F55\uFF09\u3002</span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; "><strong><span style="color:#000000; ">\u4E2A\u4EBA\u654F\u611F\u4FE1\u606F\uFF1A</span></strong>\u662F\u6307\u4E00\u65E6\u6CC4\u9732\u3001\u975E\u6CD5\u63D0\u4F9B\u6216\u6EE5\u7528\u53EF\u80FD\u5371\u5BB3\u4EBA\u8EAB\u548C\u8D22\u4EA7\u5B89\u5168\uFF0C\u6781\u6613\u5BFC\u81F4\u4E2A\u4EBA\u540D\u8A89\u3001\u8EAB\u5FC3\u5065\u5EB7\u53D7\u5230\u635F\u5BB3\u6216\u6B67\u89C6\u6027\u5F85\u9047\u7B49\u7684\u4E2A\u4EBA\u4FE1\u606F\u3002\u672C\u653F\u7B56\u4E2D\u53EF\u80FD\u6D89\u53CA\u7684\u4E2A\u4EBA\u654F\u611F\u4FE1\u606F\u5305\u62EC\uFF1A<strong><span style="color:#000000; ">\u60A8\u7684\u4EA4\u6613\u548C\u8BA2\u5355\u4FE1\u606F\u3001\u5176\u4ED6\u4FE1\u606F\uFF08\u5305\u62EC\u4F4D\u7F6E\u4FE1\u606F\u7B49\uFF09\u3002</span></strong></span></span>\n  </p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; "><strong><span style="color:#000000; ">\u5173\u8054\u516C\u53F8\uFF1A</span></strong>\u6307\u73B0\u5728\u6216\u5C06\u6765\u63A7\u5236\u6211\u4EEC\u3001\u53D7\u6211\u4EEC\u63A7\u5236\u6216\u4E0E\u6211\u4EEC\u5904\u4E8E\u5171\u540C\u63A7\u5236\u4E0B\u7684\u4EFB\u4F55\u516C\u53F8\u3002\u201C\u63A7\u5236\u201D\u662F\u6307\u76F4\u63A5\u6216\u95F4\u63A5\u5730\u62E5\u6709\u5F71\u54CD\u6240\u63D0\u53CA\u516C\u53F8\u7BA1\u7406\u7684\u80FD\u529B\uFF0C\u65E0\u8BBA\u662F\u901A\u8FC7\u6240\u6709\u6743\u3001\u6709\u6295\u7968\u6743\u7684\u80A1\u4EFD\u3001\u5408\u540C\u6216\u5176\u4ED6\u88AB\u4EBA\u6C11\u6CD5\u9662\u8BA4\u5B9A\u7684\u65B9\u5F0F\u3002</span></span>\n  </p>\n  <p><strong><span style="color:#000000; "><span style="background-color:#ffffff; ">\u7B2C\u4E8C\u90E8\u5206 \u9690\u79C1\u653F\u7B56\u5185\u5BB9</span></span></strong>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff;">\u672C\u653F\u7B56\u5C06\u5E2E\u52A9\u60A8\u4E86\u89E3\u4EE5\u4E0B\u5185\u5BB9\uFF1A</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u4E00.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u6211\u4EEC\u5982\u4F55\u6536\u96C6\u548C\u4F7F\u7528\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F</strong></span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u4E8C.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u6211\u4EEC\u5982\u4F55\u4F7F\u7528 Cookie\n          \u548C\u540C\u7C7B\u6280\u672F</strong></span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u4E09.</strong></span></span> <span\n      style="color:#000000; "><span\n        style="background-color:#ffffff; "><strong style="color:#000000; ">\u6211\u4EEC\u5982\u4F55\u5171\u4EAB\u3001\u8F6C\u8BA9\u3001\u516C\u5F00\u62AB\u9732\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F</strong></span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u56DB.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u6211\u4EEC\u5982\u4F55\u4FDD\u62A4\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F</strong></span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u4E94.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u60A8\u7684\u6743\u5229</strong></span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u516D.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u6211\u4EEC\u5982\u4F55\u5904\u7406\u672A\u6210\u5E74\u4EBA\u7684\u4E2A\u4EBA\u4FE1\u606F</strong></span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u4E03.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u5982\u4F55\u5728\u5168\u7403\u8303\u56F4\u8F6C\u79FB</strong></span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u516B.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u672C\u653F\u7B56\u5982\u4F55\u66F4\u65B0</strong></span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u4E5D.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u5982\u4F55\u8054\u7CFB\u6211\u4EEC</strong></span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u4E00.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u6211\u4EEC\u5982\u4F55\u6536\u96C6\u548C\u4F7F\u7528\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F</strong></span></span>\n  </p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u5728\u60A8\u4F7F\u7528\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u65F6\uFF0C\u6211\u4EEC\u9700\u8981\u6536\u96C6\u548C\u4F7F\u7528\u7684\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u6709\u4EE5\u4E0B\u4E24\u79CD\uFF1A</span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">
593\uFF081\uFF09\u4E3A\u5B9E\u73B0\u6211\u4EEC\u5411\u60A8\u63D0\u4F9B\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7684\u57FA\u672C\u4E1A\u52A1\u529F\u80FD\uFF0C\u60A8\u987B\u6388\u6743\u6211\u4EEC\u6536\u96C6\u3001\u4F7F\u7528\u7684\u5FC5\u8981\u4FE1\u606F\u3002</span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\uFF082\uFF09\u4E3A\u5B9E\u73B0\u6211\u4EEC\u5411\u60A8\u63D0\u4F9B\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7684\u6269\u5C55\u4E1A\u52A1\u529F\u80FD\uFF0C\u60A8\u53EF\u4EE5\u6388\u6743\u6211\u4EEC\u6536\u96C6\u3001\u4F7F\u7528\u7684\u4FE1\u606F\u3002\u8FD9\u4E9B\u4FE1\u606F\u5E76\u975E\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u8FD0\u884C\u6240\u5FC5\u9700\uFF0C\u4F46\u8FD9\u4E9B\u4FE1\u606F\u5C06\u7528\u4E8E\u6211\u4EEC\u6539\u5584\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u8D28\u91CF\u3001\u63D0\u5347\u7528\u6237\u4F53\u9A8C\u3001\u5F00\u53D1\u65B0\u7684\u4E1A\u52A1\u529F\u80FD\u7B49\u7528\u9014\u3002\u5982\u60A8\u4E0D\u613F\u63D0\u4F9B\uFF0C\u60A8\u5C06\u65E0\u6CD5\u6B63\u5E38\u4F7F\u7528\u76F8\u5173\u6269\u5C55\u529F\u80FD\u53CA/\u6216\u65E0\u6CD5\u8FBE\u5230\u8BE5\u670D\u52A1\u7684\u6700\u4F73\u6548\u679C\u3002</span></span>\n  </p>\n  <p><strong><span style="color:#000000; "><span\n          style="background-color:#ffffff; ">\u6211\u4EEC\u4EC5\u4F1A\u51FA\u4E8E\u4EE5\u4E0B\u76EE\u7684\uFF0C\u6536\u96C6\u548C\u4F7F\u7528\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\uFF1A</span></span></strong></p>\n  <p><strong><span style="color:#000000; "><span\n          style="background-color:#ffffff; ">\uFF08\u4E00\uFF09\u5E2E\u52A9\u60A8\u6210\u4E3A\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7528\u6237</span></span></strong></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">1.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u7528\u6237\u6CE8\u518C</strong></span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u60A8\u9996\u5148\u9700\u8981\u6CE8\u518C\u4E00\u4E2A\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u8D26\u53F7\uFF0C\u5F53\u60A8\u6CE8\u518C\u65F6\uFF0C\u60A8\u81F3\u5C11\u9700\u8981\u5411\u6211\u4EEC\u63D0\u4F9B\u60A8\u7684\u624B\u673A\u53F7\uFF08\u7528\u6237\u9A8C\u8BC1\u624B\u673A\uFF09\uFF0C\u6211\u4EEC\u5C06\u901A\u8FC7\u53D1\u77ED\u4FE1\u9A8C\u8BC1\u7801\u7684\u65B9\u5F0F\u6765\u9A8C\u8BC1\u60A8\u7684\u8EAB\u4EFD\u662F\u5426\u6709\u6548\u3002\u540C\u65F6\u60A8\u53EF\u4EE5\u9009\u62E9\u63D0\u4F9B\u4EE5\u4E0B\u989D\u5916\u4FE1\u606F:\u4E2A\u4EBA\u5934\u50CF\u3001\u6635\u79F0\u3001\u6536\u4EF6\u5730\u5740,\u8FD9\u5C06\u6709\u52A9\u4E8E\u6211\u4EEC\u7ED9\u60A8\u63D0\u4F9B\u66F4\u597D\u7684\u670D\u52A1\u548C\u4F53\u9A8C\u3002\u5982\u679C\u60A8\u4E0D\u63D0\u4F9B\u8FD9\u4E9B\u989D\u5916\u4FE1\u606F\uFF0C\u4E0D\u4F1A\u5F71\u54CD\u5230\u60A8\u7684\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u57FA\u672C\u529F\u80FD\u3002</span></span>\n  </p>\n  <p><strong><span style="color:#000000; "><span\n          style="background-color:#ffffff; ">\uFF08\u4E8C\uFF09\u60A8\u4F7F\u7528\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1</span></span></strong></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">NO.\u4EA7\u54C1/\u670D\u52A1\u7C7B\u578B\u6536\u96C6\u76EE\u7684\u6536\u96C6\u7684\u4FE1\u606F\u662F\u5426\u5FC5\u987B\u63D0\u4F9B1\u8F66\u8F86\u4FE1\u606F\u663E\u793A\u5728\u7CFB\u7EDF\u4E2D\u663E\u793A\u8F66\u8F86\u76F8\u5173\u4FE1\u606F\u8F66\u8F86\u884C\u9A76\u91CC\u7A0B\u3001\u5269\u4F59\u91CC\u7A0B\u3001\u603B\u5E73\u5747\u6CB9\u8017\u3001<strong style="color:#000000; ">\u8F66\u8F86\u4F4D\u7F6E\u4FE1\u606F</strong>\u3001\u8F66\u8F86\u8BCA\u65AD\u72B6\u6001\uFF09\u5982\u60A8\u4E0D\u63D0\u4F9B\u8F66\u8F86\u4FE1\u606F\uFF0C\u60A8\u53EF\u4EE5\u53D6\u6D88\u8F66\u8F86\u7ED1\u5B9A\u4E0E\u5B9E\u540D\u8BA4\u8BC1\uFF0C\u4F46\u662F\u8FD9\u5C06\u4F1A\u4F7F\u60A8\u65E0\u6CD5\u6B63\u5E38\u4F7F\u7528\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u30022\u7EF4\u4FEE\u4FDD\u517B\u63D0\u4F9B\u8F66\u8F86\u7EF4\u4FEE\u4FDD\u517B\u529F\u80FD\u8F66\u8F86\u91CC\u7A0B\u4FE1\u606F\u5982\u60A8\u4E0D\u63D0\u4F9B\u76F8\u5173\u4FE1\u606F\uFF0C\u60A8\u9700\u8981\u89E3\u9664\u8F66\u8F86\u7ED1\u5B9A\u4E0E\u5B9E\u540D\u8BA4\u8BC1\uFF0C\u5C06\u65E0\u6CD5\u4F7F\u7528\u7EF4\u4FEE\u4FDD\u517B\u7684\u76F8\u5173\u670D\u52A13\u5BFC\u822A\u670D\u52A1\u63D0\u524D\u53D1\u9001\u76EE\u7684\u5730\u5230\u6C7D\u8F66\u4E2D\u63A7\u5927\u5C4F\uFF0C\u4E0A\u8F66\u540E\u5373\u53EF\u4E00\u952E\u5BFC\u822A\u5230\u76EE\u7684\u5730<strong style="color:#000000; ">\u8F66\u8F86\u4F4D\u7F6E\u4FE1\u606F\u3001\u76EE\u7684\u5730\u4FE1\u606F</strong>\u5982\u60A8\u4E0D\u63D0\u4F9B\u76F8\u5173\u4FE1\u606F\uFF0C\u60A8\u9700\u8981\u89E3\u9664\u8F66\u8F86\u7ED1\u5B9A\u4E0E\u5B9E\u540D\u8BA4\u8BC1\uFF0C\u5C06\u65E0\u6CD5\u4F7F\u7528\u7EF4\u4FEE\u4FDD\u517B\u7684\u76F8\u5173\u670D\u52A14\u884C\u7A0B\u5B89\u6392\u5B89\u6392\u51FA\u884C\u7684\u884C\u7A0B\uFF0C\u5E76\u5728\u51FA\u884C\u524D\u63D0\u9192\u60A8\uFF0C\u60A8\u53EF\u4EE5\u901A\u8FC7\u5728\u4E3B\u9875\u6A21\u5757\u7684\u3010\u65E0\u884C\u7A0B\u5B89\u6392\u3011\u5185\u586
593B\u5199\u8BBE\u7F6E\uFF0C\u4E5F\u53EF\u4EE5\u5728\u3010\u884C\u7A0B\u7BA1\u7406\u3011\u5185\u8FDB\u884C\u8BBE\u7F6E<strong style="color:#000000; ">\u884C\u7A0B\u4FE1\u606F</strong>\uFF08\u76EE\u7684\u5730\uFF0C\u51FA\u53D1\u65F6\u95F4\u3001\u63D0\u9192\u65F6\u95F4\u3001\u5907\u6CE8\u4FE1\u606F\uFF09\u60A8\u53EF\u4EE5\u9009\u62E9\u4E0D\u586B\u5199\u60A8\u7684\u884C\u7A0B\u4FE1\u606F\uFF0C\u4F46\u60A8\u5C06\u65E0\u6CD5\u4EAB\u53D7\u884C\u7A0B\u5B89\u6392\u7684\u76F8\u5173\u670D\u52A15\u4EA7\u54C1\u8D2D\u4E70\u63D0\u4F9B\u4EA7\u54C1\u670D\u52A1\u4EE5\u53CA\u4EA7\u54C1\u90AE\u5BC4\u7528\u6237\u59D3\u540D\u3001\u6635\u79F0\u3001\u8D2D\u7269\u6E05\u5355\u3001\u5730\u5740\u3001\u8054\u7CFB\u65B9\u5F0F\u3001\u8F66\u8F86\u4FE1\u606F\u60A8\u53EF\u4EE5\u9009\u62E9\u4E0D\u586B\u5199\u60A8\u7684\u76F8\u5173\u4FE1\u606F\uFF0C\u53EF\u8FDB\u884C\u5546\u54C1\u6D4F\u89C8\uFF0C\u4F46\u60A8\u5C06\u65E0\u6CD5\u4EAB\u53D7\u76F8\u5173\u670D\u52A16\u6D3B\u52A8\u670D\u52A1\u8FDB\u884C\u66F4\u4F18\u8D28\u7684\u6D3B\u52A8\u8DDF\u8FDB\u4EE5\u53CA\u63D0\u4F9B\u66F4\u826F\u597D\u7684\u4F53\u9A8C\u7528\u6237\u59D3\u540D\u3001\u6635\u79F0\u3001\u8054\u7CFB\u65B9\u5F0F\u3001\u9886\u5238\u5185\u5BB9\u3001\u8F66\u8F86\u4FE1\u606F\u3001\u6D3B\u52A8\u4FE1\u606F\u3001\u884C\u7A0B\u4FE1\u606F\u60A8\u53EF\u4EE5\u9009\u62E9\u4E0D\u586B\u5199\u60A8\u7684\u76F8\u5173\u4FE1\u606F\uFF0C\u53EF\u8FDB\u884C\u6D3B\u52A8\u6D4F\u89C8\uFF0C\u4F46\u60A8\u5C06\u65E0\u6CD5\u4EAB\u53D7\u76F8\u5173\u670D\u52A17\u91D1\u878D\u670D\u52A1\u63D0\u4F9B\u66F4\u8BE6\u7EC6\u7684\u8D37\u6B3E\u4FE1\u606F\u7528\u6237\u59D3\u540D\u3001\u6635\u79F0\u3001\u8054\u7CFB\u65B9\u5F0F\u3001\u5E74\u9F84\u3001\u5B66\u5386\u3001\u5F81\u4FE1\u60C5\u51B5\u3001\u8D37\u6B3E\u4FE1\u606F\u3001\u8EAB\u4EFD\u8BC1\u4EF6\u3001\u7B7E\u5B57\u6388\u6743\u60A8\u53EF\u4EE5\u9009\u62E9\u4E0D\u586B\u5199\u60A8\u7684\u76F8\u5173\u4FE1\u606F\uFF0C\u53EF\u8FDB\u884C\u91D1\u878D\u65B9\u6848\u6D4F\u89C8\uFF0C\u4F46\u60A8\u5C06\u65E0\u6CD5\u4EAB\u53D7\u76F8\u5173\u670D\u52A18\u7ECF\u9500\u5546\u670D\u52A1\u4E3A\u60A8\u63D0\u4F9B\u5404\u5730\u7ECF\u9500\u5546\u7684\u6D3B\u52A8\u4FE1\u606F\u6216\u8005\u662F\u4F18\u8D28\u670D\u52A1\u7528\u6237\u59D3\u540D\u3001\u6635\u79F0\u3001\u8054\u7CFB\u65B9\u5F0F\u60A8\u53EF\u4EE5\u9009\u62E9\u4E0D\u586B\u5199\u60A8\u7684\u76F8\u5173\u4FE1\u606F\uFF0C\u7ECF\u9500\u5546\u5C06\u65E0\u6CD5\u8054\u7CFB\u5230\u60A8\u8FDB\u884C\u76F8\u5173\u7684\u4ECB\u7ECD</span></span>\n  </p>\n  <p><strong><span style="color:#000000; "><span\n          style="background-color:#ffffff; ">\uFF08\u4E09\uFF09\u6539\u8FDB\u6216\u63D0\u5347\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1</span></span></strong></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u4E3A\u6539\u5584\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\uFF0C\u5411\u60A8\u63D0\u4F9B\u4E2A\u6027\u5316\u7684\u5C55\u793A\u3001\u63A8\u9001\u3001\u63A8\u8350\u4EA7\u54C1\u3001\u670D\u52A1\u3002\u6211\u4EEC\u4F1A\u6839\u636E\u60A8\u64CD\u4F5C\u4FE1\u606F\uFF08\u70B9\u51FB\u91CF\u3001\u8BBE\u7F6E\u3001<strong style="color:#000000; ">\u6D4F\u89C8\u3001\u641C\u7D22\u8BB0\u5F55\uFF09</strong>\u3001\u65E5\u5FD7\u4FE1\u606F\uFF08IP\u5730\u5740\u3001\u4F7F\u7528\u65F6\u95F4\u3001\u64CD\u4F5C\u8BB0\u5F55\uFF09\u3001\u8F66\u8F86\u4FE1\u606F\u3001\u8BBE\u5907\u4FE1\u606F\u3001<strong style="color:#000000; ">\u4F4D\u7F6E\u4FE1\u606F</strong>\uFF0C\u63D0\u53D6\u60A8\u7684\u6D4F\u89C8\u3001\u641C\u7D22\u504F\u597D\u3001\u884C\u4E3A\u4E60\u60EF\u3001<strong style="color:#000000; ">\u4F4D\u7F6E\u4FE1\u606F</strong>\u7B49\u7279\u5F81\uFF0C\u57FA\u4E8E\u7279\u5F81\u6807\u7B7E\u8FDB\u884C\u95F4\u63A5\u4EBA\u7FA4\u753B\u50CF\u5E76\u5C55\u793A\u3001\u63A8\u9001\u4EA7\u54C1\u6216\u670D\u52A1\u4FE1\u606F\u3002</span></span>\n  </p>\n  <p><strong><span style="color:#000000; "><span style="background-color:#ffffff; ">\uFF08\u56DB\uFF09\u4FDD\u969C\u4FE1\u606F\u5B89\u5168</span></span></strong>\n  </p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u4E3A\u63D0\u9AD8\u60A8\u4F7F\u7528\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u65F6\u7CFB\u7EDF\u7684\u5B89\u5168\u6027\uFF0C\u66F4\u51C6\u786E\u5730\u9884\u9632\u9493\u9C7C\u7F51\u7AD9\u6B3A\u8BC8\u548C\u4FDD\u62A4\u8D26\u6237\u5B89\u5168\uFF0C\u6211\u4EEC\u53EF\u80FD\u4F1A\u901A\u8FC7\u4E86\u89E3\u60A8\u7684\u8D26\u6237\u4FE1\u606F\u3001\u8F66\u8F86\u4FE1\u606F\u3001\u8BBE\u5907\u4FE1\u606F\u7B49\u624B\u6BB5\u6765\u5224\u65AD\u60A8\u7684\u8D26\u53F7\u98CE\u9669\uFF0C\u5E76\u53EF\u80FD\u4F1A\u8BB0\u5F55\u4E00\u4E9B\u6211\u4EEC\u8BA4\u4E3A\u6709\u98CE\u9669\uFF1B\u6211\u4EEC\u4E5F\u4F1A\u
5936536\u96C6\u60A8\u7684\u8BBE\u5907\u4FE1\u606F\u5BF9\u4E8E\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7CFB\u7EDF\u95EE\u9898\u8FDB\u884C\u5206\u6790\u3001\u7EDF\u8BA1\u6D41\u91CF\u5E76\u6392\u67E5\u53EF\u80FD\u5B58\u5728\u7684\u98CE\u9669\u3001\u5728\u60A8\u9009\u62E9\u5411\u6211\u4EEC\u53D1\u9001\u5F02\u5E38\u4FE1\u606F\u65F6\u4E88\u4EE5\u6392\u67E5\u3002</span></span>\n  </p>\n  <p><strong><span style="color:#000000; "><span\n          style="background-color:#ffffff; ">\uFF08\u4E94\uFF09\u6211\u4EEC\u4ECE\u7B2C\u4E09\u65B9\u6216\u5173\u8054\u516C\u53F8\u83B7\u5F97\u60A8\u4E2A\u4EBA\u4FE1\u606F\u7684\u60C5\u5F62</span></span></strong></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u4E3A\u65B9\u4FBF\u60A8\u4F7F\u7528\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\uFF0C\u63D0\u5347\u60A8\u7684\u7528\u6237\u4F53\u9A8C\uFF0C\u6211\u4EEC\u53EF\u80FD\u4F1A\u4ECE\u7B2C\u4E09\u65B9\u6216\u5173\u8054\u516C\u53F8\u5904\u6536\u96C6\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\uFF0C\u6211\u4EEC\u5C06\u4F9D\u636E\u4E0E\u7B2C\u4E09\u65B9\u6216\u5173\u8054\u516C\u53F8\u7684\u7EA6\u5B9A\u3001\u5BF9\u4E2A\u4EBA\u4FE1\u606F\u6765\u6E90\u7684\u5408\u6CD5\u6027\u8FDB\u884C\u786E\u8BA4\u540E\uFF0C\u5728\u7B26\u5408\u76F8\u5173\u6CD5\u5F8B\u548C\u6CD5\u89C4\u89C4\u5B9A\u7684\u524D\u63D0\u4E0B\uFF0C\u4F7F\u7528\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">1.\n        \u5728\u60A8\u8D2D\u4E70\u3001\u79DF\u8D41\u3001\u4F7F\u7528\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7684\u8F66\u8F86\u65F6\uFF0C\u6211\u4EEC\u5C06\u901A\u8FC7\u9500\u552E\u8F66\u8F86\u7684\u7ECF\u9500\u5546\u3001\u79DF\u8D41\u5546\u7B49\u591A\u79CD\u6E20\u9053\u6536\u96C6\u76F8\u5173\u4FE1\u606F\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">2.\n        \u4E3A\u4E86\u63D0\u9AD8\u4E1C\u98CE\u65E5\u4EA7\u670D\u52A1\u8D28\u91CF\u3001\u6EE1\u8DB3\u7528\u6237\u9700\u6C42\uFF0C\u6211\u4EEC\u901A\u8FC7\u60A8\u4E0E\u4E1C\u98CE\u65E5\u4EA7\u6216\u4E1C\u98CE\u65E5\u4EA7\u6388\u6743\u7684\u4EFB\u4F55\u7B2C\u4E09\u65B9\u4E4B\u95F4\u7684\u7535\u8BDD\u6216\u7535\u5B50\u90AE\u4EF6\u6C9F\u901A\u6536\u96C6\u4FE1\u606F\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">3.\n        \u901A\u8FC7\u7B2C\u4E09\u65B9\u670D\u52A1\u63D0\u4F9B\u5546\u6216\u5176\u5B83\u4E1A\u52A1\u5408\u4F5C\u65B9\uFF08\u5982\u65E0\u7EBF\u670D\u52A1\u63D0\u4F9B\u5546\uFF09\u6536\u96C6\u4FE1\u606F\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">4.\n        \u901A\u8FC7\u5D4C\u5165\u6388\u6743\u5408\u4F5C\u4F19\u4F34\u7684SDK\u6216\u5176\u4ED6\u7C7B\u4F3C\u7684\u5E94\u7528\u7A0B\u5E8F\u6536\u96C6\u76F8\u5173\u4FE1\u606F\u3002</span></span></p>\n        <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\uFF08\u4E3A\u4E86\u6570\u636E\u7EDF\u8BA1\u548C\u5206\u6790\u7684\u76EE\u7684\uFF0C\u6211\u4EEC\u7684\u5E73\u53F0\u96C6\u6210\u5408\u4F5C\u65B9\u7684\u79D2\u9488\u5206\u6790 SDK\u3002\u79D2\u9488\u5206\u6790 SDK \u5C06\u83B7\u53D6\u60A8\u7684\u9875\u9762\u6D4F\u89C8\u884C\u4E3A\u6570\u636E\u3002\u82E5\u60A8\u60F3\u8FDB\u4E00\u6B65\u4E86\u89E3\u79D2\u9488\u7684\u4E2A\u4EBA\u4FE1\u606F\u4FDD\u62A4\u653F\u7B56\uFF0C\u60A8\u53EF\u4EE5\u524D\u5F80 https://miaozhen.com/cn/privacy \u8FDB\u884C\u67E5\u770B\u3002\uFF09</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u4E8C.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u6211\u4EEC\u5982\u4F55\u4F7F\u7528\n          Cookie\u548C\u540C\u7C7B\u6280\u672F</strong></span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u8FD9\u4EFDCookie\u58F0\u660E\u89E3\u91CA\u4E86\u5F53\u60A8\u8BBF\u95EE\u6211\u4EEC\u7684\u7F51\u7AD9\u53CA\u76F8\u5173\u5E94\u7528\u7684\u65F6\u5019\uFF0C\u6211\u4EEC\u5982\u4F55\u4F7F\u7528cookies\u548C\u7C7B\u4F3C\u6280\u672F\u6765\u8BC6\u522B\u60A8,\u4E5F\u89E3\u91CA\u4E86\u8FD9\u4E9B\u5E94\u7528\u7684\u6280\u672F\u662F\u4
593EC0\u4E48\u548C\u6211\u4EEC\u4E3A\u4EC0\u4E48\u4F7F\u7528\u8FD9\u4E9B\u6280\u672F\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">\u6211\u4EEC\u4F7F\u7528 Cookie \u548C\u5176\u4ED6\u6280\u672F\uFF0C\u4EE5\u786E\u4FDD\u6700\u4F73\u7684\u7528\u6237\u4F53\u9A8C\u3002Cookie\n        \u53EF\u5E2E\u52A9\u6211\u4EEC\u4FDD\u62A4\u60A8\u7684\u8D26\u53F7\u5B89\u5168\u3002\u7EE7\u7EED\u4F7F\u7528\u6211\u4EEC\u7684\u670D\u52A1\uFF0C\u5373\u8868\u793A\u60A8\u540C\u610F\u51FA\u4E8E\u672C\u653F\u7B56\u6240\u8FF0\u7684\u76EE\u7684\uFF0C\u4F7F\u7528 Cookie \u53CA\u76F8\u5173\u6280\u672F\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(\u4E00)Cookie \u7684\u7528\u9014</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">Cookie\n        \u7684\u7528\u9014\u5F88\u5E7F\u6CDB\uFF0C\u6BD4\u5982\u5728\u7528\u6237\u4F7F\u7528\u6211\u4EEC\u7684\u7F51\u7AD9\u53CA\u76F8\u5173\u5E94\u7528\u65F6\u8BC6\u522B\u7528\u6237\u8EAB\u4EFD\u3001\u4FDD\u5B58\u504F\u597D\u8BBE\u7F6E\u53CA\u63D0\u4F9B\u4E2A\u6027\u5316\u7528\u6237\u4F53\u9A8C\u7B49\u3002\u7528\u6237\u4E0E\u4E1C\u98CE\u65E5\u4EA7\u7F51\u7AD9\u4E92\u52A8\u65F6\uFF0CCookie \u53EF\u63D0\u9AD8\u5B89\u5168\u6027\u548C\u901F\u5EA6\u3002\u53E6\u5916\uFF0C\u6211\u4EEC\u53EF\u901A\u8FC7 Cookie\n        \u5728\u7AD9\u5185\u548C\u7AD9\u5916\u5411\u60A8\u663E\u793A\u5E7F\u544A\uFF0C\u540C\u65F6\u63D0\u4F9B\u591A\u79CD\u81EA\u5B9A\u4E49\u529F\u80FD\uFF0C\u5305\u62EC\u201C\u5206\u4EAB\u201D\u6309\u94AE\u5728\u5185\u7684\u76F8\u5173\u63D2\u4EF6\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">1. \u6388\u6743\uFF1A\u60A8\u767B\u5F55\u4E1C\u98CE\u65E5\u4EA7\u7684\u76F8\u5173\u5E94\u7528\u65F6\uFF0C\u6211\u4EEC\u53EF\u901A\u8FC7 Cookie\n        \u63D0\u4F9B\u6B63\u786E\u4FE1\u606F\uFF0C\u4E3A\u60A8\u6253\u9020\u4E2A\u6027\u5316\u7684\u4F53\u9A8C\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">2. \u5B89\u5168\u63AA\u65BD\uFF1A\u6211\u4EEC\u901A\u8FC7 Cookie\n        \u542F\u7528\u53CA\u652F\u6301\u5B89\u5168\u529F\u80FD\uFF0C\u5E76\u534F\u52A9\u68C0\u6D4B\u7F51\u4
593E0A\u6076\u610F\u884C\u4E3A\u548C\u8FDD\u53CD\u300A\u7528\u6237\u670D\u52A1\u534F\u8BAE\u300B\u7684\u884C\u4E3A\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">3. \u504F\u597D\u3001\u529F\u80FD\u548C\u670D\u52A1\uFF1ACookie\n        \u53EF\u8BB0\u5F55\u60A8\u7684\u8BED\u8A00\u8BBE\u7F6E\u548C\u4EA4\u6D41\u504F\u597D\uFF0C\u4E5F\u53EF\u5E2E\u60A8\u81EA\u52A8\u586B\u5199\u4E1C\u98CE\u65E5\u4EA7\u7F51\u7AD9\u7684\u8868\u683C\u3002\u63D2\u4EF6\u63D0\u4F9B\u7684\u529F\u80FD\u3001\u7EDF\u8BA1\u548C\u81EA\u5B9A\u4E49\u5185\u5BB9\uFF0C\u4E5F\u90FD\u7531 Cookie \u63D0\u4F9B\u4FE1\u606F\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">4. \u5E7F\u544A\uFF1A\u4E1C\u98CE\u65E5\u4EA7\u53EF\u80FD\u4F7F\u7528 Cookie\n        \u5411\u60A8\u5C55\u793A\u4E1C\u98CE\u65E5\u4EA7\u7F51\u7AD9\u5185\u5916\u7684\u76F8\u5173\u5E7F\u544A\u3002\u6211\u4EEC\u4E5F\u4F1A\u4F7F\u7528 Cookie \u4E86\u89E3\u4F1A\u5458\u662F\u5426\u4F1A\u518D\u6B21\u8BBF\u95EE\u4E1C\u98CE\u65E5\u4EA7\u4E0A\u7684\u5E7F\u544A\u5E76\u5728\u5E7F\u544A\u4E3B\u7F51\u7AD9\u4E0A\u6709\u6240\u64CD\u4F5C (\u4F8B\u5982: \u4E0B\u8F7D\u767D\u76AE\u4E66\u6216\u8FDB\u884C\u8D2D\u4E70)\u3002\u5E7F\u544A\u4E3B\u4E5F\u53EF\u80FD\u901A\u8FC7 Cookie\n        \u68C0\u6D4B\u4E1C\u98CE\u65E5\u4EA7\u662F\u5426\u5411\u60A8\u5C55\u793A\u5E7F\u544A\u3001\u8BC4\u4F30\u5E7F\u544A\u5C55\u793A\u6548\u679C\uFF0C\u5E76\u5411\u6211\u4EEC\u63D0\u4F9B\u60A8\u4E0E\u5E7F\u544A\u7684\u4E92\u52A8\u4FE1\u606F\u3002\u6211\u4EEC\u8FD8\u4E0E\u5176\u4ED6\u7F51\u7AD9\u5408\u4F5C\uFF0C\u5411\u60A8\u5728\u4E1C\u98CE\u65E5\u4EA7\u7AD9\u5916\u5C55\u793A\u5E7F\u544A\u3002\u8FD9\u6837\uFF0C\u5728\u60A8\u4F7F\u7528\u5408\u4F5C\u7F51\u7AD9\u6216\u7A0B\u5E8F\u540E\uFF0C\u4E5F\u80FD\u770B\u5230\u6211\u4EEC\u7684\u5E7F\u544A\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">5. \u7F51\u7AD9\u6027\u80FD\u3001\u5206\u6790\u548C\u7814\u7A76\uFF1ACookie\n        \u53EF\u5E2E\u52A9\u6211\u4EEC\u4E86\u89E3\u7F51\u7AD9\u548C\u63D2\u4EF6\u5728\u4E0D\u540C\u5730\u70B9\u7684\u6027\u80FD\u3002\u60A8\u4ECE\u5176\u4ED6\u7F51\u7AD9\u3001\u5E94\u7528\u3001\u6216\u7535\u8111\u3001\u79FB\u52A8\u8BBE\u5907\u7B49\u767B\u5F55\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7CFB\u7EDF\u53CA\u76F8\u5173\u5E94\u7528\u65F6\uFF0C\u6211\u4EEC\u80FD\u901A\u8FC7 Cookie \u5BF9\u4EA7\u54C1\u3001\u529F\u80FD\u548C\u670D\u52A1\u8FDB\u884C\u4E86\u89E3\u3001\u6539\u5584\u548C\u7814\u7A76\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(\u4E8C)\u66F4\u65B0Cookie\u58F0\u660E\u7684\u9891\u6B21</span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u6211\u4EEC\u53EF\u80FD\u4F1A\u4E0D\u65F6\u66F4\u65B0\u672CCookie\u58F0\u660E\u4EE5\u9002\u5E94\u4E00\u4E9B\u60C5\u51B5\u7684\u53D8\u5316\uFF0C\u4F8B\u5982\uFF0C\u6211\u4EEC\u4F7F\u7528\u7684cookies\u7684\u53D8\u5316\u6216\u5176\u4ED6\u8FD0\u8425\u3001\u6CD5\u5F8B\u6216\u76D1\u7BA1\u539F\u56E0\u3002\u56E0\u6B64\uFF0C\u8BF7\u5B9A\u671F\u518D\u6B21\u8BBF\u95EE\u672CCookie\u58F0\u660E\u4EE5\u4E86\u89E3\u6211\u4EEC\u4F7F\u7528cookies\u548C\u76F8\u5173\u6280\u672F\u7684\u60C5\u51B5\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(\u4E09)\u6211\u4EEC\u4E0D\u4F1A\u5C06 Cookies\n        \u7528\u4E8E\u672C\u9690\u79C1\u653F\u7B56\u6240\u8FF0\u76EE\u7684\u4E4B\u5916\u7684\u4EFB\u4F55\u7528\u9014</span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u60A8\u53EF\u6839\u636E\u81EA\u5DF1\u7684\u504F\u597D\u7BA1\u7406\u6216\u5220\u9664Cookies\u3002\u60A8\u53EF\u4EE5\u901A\u8FC7\u4FEE\u6539\u7F51\u7AD9\u53CA\u76F8\u5173\u5E94\u7528\u7684\u8BBE\u7F6E\u6E05\u9664\u4F7F\u7528\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7684\u7F51\u7AD9\u53CA\u76F8\u5173\u5E94\u7528\u65F6\u4FDD\u5B58\u7684\u6240\u6709Cookies\uFF1B\u53E6\u5916\uFF0C\u60A8\u4E5F\u53EF\u4EE5\u6E05\u9664\u7F51\u7AD9\u6216\u76F8\u5173\u5E94\u7528\u4FDD\u5B58\u7684\u6240\u6709Cookies\u3002\u4F46\u5982\u679C\u60A8\u8FD9\u4E48\u505A\uFF0C\u60A8\u53EF\u80FD\u9700\u8981\u5728\u6BCF\u4E00\u6B21\u8BBF\u95EE\u7F51\u7AD9\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7CFB\u7EDF\u53CA\u76F8\u5173\u5E94\u7528\u65F6\u4EB2\u81EA\u
59366F4\u6539\u7528\u6237\u8BBE\u7F6E\uFF0C\u800C\u4E14\u60A8\u4E4B\u524D\u6240\u8BB0\u5F55\u7684\u76F8\u5E94\u4FE1\u606F\u4E5F\u5747\u4F1A\u88AB\u5220\u9664\uFF0C\u5E76\u4E14\u53EF\u80FD\u4F1A\u5BF9\u60A8\u6240\u4F7F\u7528\u670D\u52A1\u7684\u5B89\u5168\u6027\u6709\u4E00\u5B9A\u5F71\u54CD\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u4E09.</strong></span></span> <span\n      style="color:#000000; "><span\n        style="background-color:#ffffff; "><strong style="color:#000000; ">\u6211\u4EEC\u5982\u4F55\u5171\u4EAB\u3001\u8F6C\u8BA9\u3001\u516C\u5F00\u62AB\u9732\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F</strong></span></span></p>\n  <p><strong><span style="color:#000000; "><span style="background-color:#ffffff; ">\uFF08\u4E00\uFF09\u4FE1\u606F\u5171\u4EAB</span></span></strong></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">1.\n        \u5BF9\u6211\u4EEC\u4E0E\u4E4B\u5171\u4EAB\u4E2A\u4EBA\u4FE1\u606F\u7684\u516C\u53F8\u3001\u7EC4\u7EC7\u548C\u4E2A\u4EBA\uFF0C\u6211\u4EEC\u4F1A\u4E0E\u5176\u7B7E\u7F72\u4E25\u683C\u7684\u4FDD\u5BC6\u534F\u5B9A\uFF0C\u8981\u6C42\u4ED6\u4EEC\u6309\u7167\u6211\u4EEC\u7684\u8BF4\u660E\u3001\u672C\u9690\u79C1\u653F\u7B56\u4EE5\u53CA\u5176\u4ED6\u4EFB\u4F55\u76F8\u5173\u7684\u4FDD\u5BC6\u548C\u5B89\u5168\u63AA\u65BD\u6765\u5904\u7406\u4E2A\u4EBA\u4FE1\u606F\u3002\u6211\u4EEC\u4E0D\u4F1A\u4E0E\u672C\u9690\u79C1\u653F\u7B56\u4EE5\u5916\u7684\u4EFB\u4F55\u516C\u53F8\u3001\u7EC4\u7EC7\u548C\u4E2A\u4EBA\u5171\u4EAB\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\uFF0C\u4F46\u4EE5\u4E0B\u60C5\u51B5\u9664\u5916\uFF1A</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(1) \u4E8B\u5148\u83B7\u5F97\u60A8\u660E\u786E\u7684\u540C\u610F\u6216\u6388\u6743\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(2)\n        \u6839\u636E\u9002\u7528\u7684\u6CD5\u5F8B\u6CD5\u89C4\u3001\u6CD5\u5F8B\u7A0B\u5E8F\u7684\u8981\u6C42\u3001\u5F3A\u5236\u6027\u7684\u884C\u653F\u6216\u53F8\u6CD5\u8981\u6C42\u6240\u5FC5\u987B\u7684\u60C5\u51B5\u4E0B\u8FDB\u884C\u63D0\u4F9B\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(3)\n        \u5728\u6CD5\u5F8B\u6CD5\u89C4\u5141\u8BB8\u7684\u8303\u56F4\u5185\uFF0C\u4E3A\u7EF4\u62A4\u4E1C\u98CE\u65E5\u4EA7\u3001\u4E1C\u98CE\u65E5\u4EA7\u7684\u5173\u8054\u65B9\u6216\u5408\u4F5C\u4F19\u4F34\u3001\u60A8\u6216\u5176\u4ED6\u4E1C\u98CE\u65E5\u4EA7\u7528\u6237\u6216\u793E\u4F1A\u516C\u4F17\u5229\u76CA\u3001\u8D22\u4EA7\u6216\u5B89\u5168\u514D\u906D\u635F\u5BB3\u800C\u6709\u5FC5\u8981\u63D0\u4F9B\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(4)\n        \u53EA\u6709\u5171\u4EAB\u60A8\u7684\u4FE1\u606F\uFF0C\u624D\u80FD\u5B9E\u73B0\u6211\u4EEC\u7684\u4EA7\u54C1\u4E0E/\u6216\u670D\u52A1\u7684\u6838\u5FC3\u529F\u80FD\u6216\u63D0\u4F9B\u60A8\u9700\u8981\u7684\u670D\u52A1\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(5) \u5E94\u60A8\u9700\u6C42\u4E3A\u60A8\u5904\u7406\u60A8\u4E0E\u4ED6\u4EBA\u7684\u7EA0\u7EB7\u6216\u4E89\u8BAE\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(6)\n        \u7B26\u5408\u4E0E\u60A8\u7B7E\u7F72\u7684\u76F8\u5173\u534F\u8BAE\uFF08\u5305\u62EC\u5728\u7EBF\u7B7E\u7F72\u7684\u7535\u5B50\u534F\u8BAE\u4EE5\u53CA\u76F8\u5E94\u7684\u5E73\u53F0\u89C4\u5219\uFF09\u6216\u5176\u4ED6\u7684\u6CD5\u5F8B\u6587\u4EF6\u7EA6\u5B9A\u6240\u63D0\u4F9B\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(7) \u57FA\u4E8E\u7B26\u5408\u6CD5\u5F8B\u6CD5\u89C4\u7684\u793E\u4F1A\u516C\u5171\u5229\u76CA\u800C\u4F7F\u7528\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">2.\n        \u6211\u4EEC\u53EF\u80FD\u4F1A\u5C06\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u4E0E\u6211\u4EEC\u7684\u5173\u8054\u65B9\u5171\u4EAB\u3002\u4F46\u6211\u4EEC\u53EA\u4F1A\u5171\u4EAB\u5FC5\u8981\u7684\u4E2A\u4EBA\u4FE1\u606F\uFF0C\u4E14\u53D7\u672C\u9690\u79C1\u653F\u7B56\u4E2D\u6240\u58F0\u660E\u76EE\u7684\u7684\u7EA6\u675F\u3002\u6211\u4EEC\u7684\u5173\u8054\u65B9\u5982\u8981\u6539\u53D8\u4E2A\u4EBA\u4FE1\u606F\u7684\u5904\u7406\u76EE\u7684\uFF0C\u5C06\u518D\u6B21\u5F81\u6C42\u60A8\u7684\u6388\u6743\u540C\u610F\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">3.\n        \u6211\u4EEC\u53EF\u80FD\u4F1A\u4EE5\u4E0B\u60C5\u51B5\u5171\u4EAB\u60A8\u7684\u8D26\u6237\u4FE1\u606F\u3001\u8BBE\u5907\u4FE1\u606F\u4EE5\u53CA\u4F4D\u7F6E\u4FE1\u606F\u6216\u5176\u4ED6\u4E2A\u4EBA\u4FE1\u606F\uFF0C\u4EE5\u4FDD\u969C\u4E3A\u60A8\u63D0\u4F9B\u7684\u670D\u52A1\u987A\u5229\u5B8C\u6210\u3002\u4F46\u6211\u4EEC\u4EC5\u4F1A\u51FA\u4E8E\u5408\u6CD5\u3001\u6B63\u5F53\u3001\u5FC5\u8981\u3001\u7279\u5B9A\u3001\u660E\u786E\u7684\u76EE\u7684\u5171\u4EAB\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\uFF0C\u5E76\u4E14\u53EA\u4F1A\u5171\u4EAB\u63D0\u4F9B\u670D\u52A1\u6240\u5FC5\u8981\u7684\u4E2A\u4EBA\u4FE1\u606F\u3002\u6211\u4EEC\u7684\u5408\u4F5C\u4F19\u4F34\u65E0\u6743\u5C06\u5171\u4EAB\u7684\u4E2A\u4EBA\u4FE1\u606F\u7528\u4E8E\u4EFB\u4F55\u5176\u4ED6\u7528\u9014\u3002\u53EF\u80FD\u5206\u4EAB\u7684\u4FE1\u606F\u5305\u62EC\u4EE5\u4E0B\u60C5\u5F62\uFF1A</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(1)\n        \u76F8\u5173\u670D\u52A1\u63D0\u4F9B\u5546\uFF0C\u5982\u4EE3\u8868\u6211\u4EEC\u50A8\u5B58\u6216\u5904\u7406\u4FE1\u606F\u3001\u5E2E\u52A9\u6211\u4EEC\u63D0\u4F9B\u6216\u63D0\u9AD8\u4E1C\u98CE\u65E5\u4EA7\u670D\u52A1\u6216\u8FD0\u8425\u62
59311\u4EEC\u4E1A\u52A1\u7684\u516C\u53F8\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(2)\n        \u6F5C\u5728\u6216\u5B9E\u9645\u8D2D\u4E70\u6216\u6536\u8D2D\u4E1C\u98CE\u65E5\u4EA7\u4E1A\u52A1\u548C/\u6216\u4E1C\u98CE\u65E5\u4EA7\u76F4\u63A5\u6216\u95F4\u63A5\u7684\u80A1\u4E1C\u548C/\u6216\u5173\u8054\u516C\u53F8\uFF0C\u4EE5\u4F7F\u5176\u4E3A\u60A8\u63D0\u4F9B\u4E1C\u98CE\u65E5\u4EA7\u670D\u52A1\u6216\u7ECF\u8425\u4E1A\u52A1\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(3)\n        \u6839\u636E\u6CD5\u5F8B\u8981\u6C42\u6216\u4E3A\u4FDD\u62A4\u60A8\u6216\u4ED6\u4EBA\u7684\u5B89\u5168\u6216\u6743\u5229\u4E4B\u76EE\u7684\u7684\u76F8\u5173\u7B2C\u4E09\u65B9\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(4)\n        \u5C06\u7ECF\u8FC7\u7EDF\u8BA1\u5904\u7406\u800C\u65E0\u6CD5\u8BC6\u522B\u7528\u6237\u4E2A\u4EBA\u7684\u884C\u9A76\u4FE1\u606F\u7B49\u63D0\u4F9B\u7ED9\u6211\u4EEC\u8BA4\u53EF\u7684\u7B2C\u4E09\u65B9\uFF0C\u76EE\u7684\u662F\u7528\u4E8E\u5206\u6790\u9053\u8DEF\u60C5\u51B5\u6216\u8005\u5411\u7B2C\u4E09\u65B9\u63D0\u4F9B\u4FE1\u606F\u670D\u52A1\u7B49\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(5)\n        \u4E1C\u98CE\u65E5\u4EA7\u7ECF\u9500\u5546\u534F\u52A9\u5BF9\u60A8\u7684\u8F66\u8F86\u8FDB\u884C\u7EF4\u62A4\uFF0C\u8FDB\u884C\u8425\u9500\u6216\u63D0\u4F9B\u7ECF\u9500\u5546\u7EF4\u62A4\u4FDD\u517B\u901A\u77E5\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(6)\n        \u65E0\u7EBF\u7535\u4FE1\u548C\u6570\u636E\u670D\u52A1\u63D0\u4F9B\u5546\uFF0C\u4EE5\u4FBF\u4E0E\u60A8\u8054\u7CFB\u5E76\u5411\u60A8\u63D0\u4F9B\u60A8\u7684\u65E0\u7EBF\u901A\u8BAF\u6216\u6570\u636E\u670D\u52A1\u4FE1\u606F\u6216\u8FDB\u884C\u5E02\u573A\u8425\u9500\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(7)\n        \u7B2C\u4E09\u65B9\u5E7F\u544A\u516C\u53F8\uFF0C\u53EF\u968F\u65F6\u901A\u8FC7\u4E0D\u540C\u7F51\u7AD9\u81EA\u52A8\u83B7\u53D6\u6216\u63A5\u6536\u6709\u5173\u60A8\u4E0A\u7F51\u884C\u4E3A\u7684\u4FE1\u606F\uFF08\u66F4\u591A\u4FE1\u606F\u8BF7\u53C2\u89C1Cookies\u548C\u5176\u5B83\u8DDF\u8E2A\u6280\u672F\uFF09\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(8)\n        \u60A8\u540C\u610F\u6211\u4EEC\u4E0E\u5176\u5171\u4EAB\u8BE5\u7B49\u4FE1\u606F\u7684\u5176\u5B83\u7B2C\u4E09\u65B9\uFF0C\u4F8B\u5982\u9700\u8981\u83B7\u5F97\u4FE1\u606F\u4EE5\u5411\u60A8\u63D0\u4F9B\u60A8\u4E13\u95E8\u8981\u6C42\u6216\u8BA2\u8D2D\u7684\u670D\u52A1\u7684\u7B2C\u4E09\u65B9\uFF08\u5982\u60A8\u7684\u4FDD\u9669\u516C\u53F8\u6216\u8D37\u6B3E\u4EBA\uFF09\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(9)\n        \u4E0E\u6211\u4EEC\u7B7E\u8BA2\u5408\u4F5C\u534F\u8BAE\u4EE5\u4FC3\u8FDB\u3001\u52A0\u5F3A\u3001\u6539\u5584\u3001\u6216\u6269\u5C55\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u76EE\u7684\u7684\u7B2C\u4E09\u65B9\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(10)\n        \u5C31\u60A8\u7684\u652F\u4ED8\u4FE1\u606F\uFF0C\u6211\u4EEC\u4EC5\u4E0E\u5904\u7406\u3001\u50A8\u5B58\u6216\u7BA1\u7406\u652F\u4ED8\u4FE1\u606F\u6240\u5FC5\u9700\u7684\u65E0\u7EBF\u670D\u52A1\u63D0\u4F9B\u5546\u3001\u4ED8\u6B3E\u4FE1\u606F\u5904\u7406\u516C\u53F8\u3001\u652F\u4ED8\u5E73\u53F0\u6216\u7CFB\u7EDF\u63D0\u4F9B\u5546\u5206\u4EAB\u6216\u4E0E\u6F5C\u5728\u6216\u5B9E\u9645\u8D2D\u4E70\u6216\u6536\u8D2D\u6211\u4EEC\u4E1A\u52A1\u548C\u95F4\u63A5\u7684\u80A1\u4E1C\u548C\u6216\u5173\u8054\u65B9\u5206\u4EAB\u60A8\u7684\u652F\u4ED8\u4FE1\u606F\uFF0C\u4EE5\u4F7F\u5176\u80FD\u591F\u63D0\u4F9B\u670D\u52A1\u3001\u8FD0\u8425\u4E1A\u52A1\uFF1B\u6216\u4E3A\u4E86\u9075\u5B88\u6CD5\u5B9A\u4E49\u52A1\uFF0C\u4E0E\u6070\u5F53\u7684\u7B2C\u4E09\u65B9\u5206\u4EAB\uFF1B</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(11)\n        \u63A5\u53D7\u7528\u6237\u670D\u52A1\u7533\u8BF7\u7684\u4E1C\u98CE\u65E5\u4EA7\u6388\u6743\u7ECF\u9500\u5546\u3001\u6211\u4EEC\u7684\u5173\u8054\u516C\u53F8\u53CA\u670D\u52A1\u63D0\u4F9B\u65B9\u5728\u51FA\u4E8E\u4FC3\u9500\u76EE\u7684\u800C\u9700\u8981\u5411\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7528\u6237\u53D1\u9001\u6709\u5173\u5546\u54C1\u3001\u670D\u52A1\u6216\u8005\u6D3B\u52A8\u7B49\u7684\u90AE\u4EF6\u3001\u7535\u90AE\u65F6\uFF0C\u6211\u4EEC\u5411\u4E0A\u8FF0\u5355\u4F4D\u5171\u4EAB\u4E2A\u4EBA\u4FE1\u606F\u7684\u573A\u5408\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(12)\n        \u670D\u52A1\u63D0\u4F9B\u65B9\u9700\u8981\u901A\u8FC7\u90AE\u4EF6\u6216\u8005\u7535\u90AE\u5411\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7528\u6237\u53D1\u9001\u6709\u5173\u589E\u503C\u670D\u52A1\u9879\u76EE\u7684\u8BF4\u660E\u3001\u8054\u7CFB\u65B9\u5F0F\u65F6\uFF0C\u6211\u4EEC\u5411\u8BE5\u670D\u52A1\u5171\u4EAB\u4E2A\u4EBA\u4FE1\u606F\u7684\u573A\u5408\uFF1B</span></span></p>\n  <p><strong><span style="color:#000000; "><span style="background-color:#ffffff; ">\uFF08\u4E8C\uFF09\u8F6C\u8BA9</span></span></strong></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u4E8B\u5148\u672A\u83B7\u5F97\u60A8\u7684\u660E\u786E\u540C\u610F\uFF0C\u6211\u4EEC\u4E0D\u4F1A\u5C06\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u8F6C\u8BA9\u7ED9\u672C\u9690\u79C1\u653F\u7B56\u4EE5\u5916\u7684\u4EFB\u4F55\u516C\u53F8\u3001\u7EC4\u7EC7\u548C\u4E2A\u4EBA\uFF0C\u4F46\u4EE5\u4E0B\u60C5\u51B5\u9664\u5916\uFF1A</span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u5728\u6D89\u53CA\u5408\u5E76\u3001\u6536\u8D2D\u3001\u8D44\u4EA7\u8F6C\u8BA9\u6216\u7C7B\u4F3C\u7684\u4EA4\u6613\u65F6\uFF0C\u5982\u6D89\u53CA\u5230\u4E2A\u4EBA\u4FE1\u606F\u8F6C\u8BA9\uFF0C\u6211\u4EEC\u4F1A\u8981\u6C42\u65B0\u7684\u6301\u6709\u60A8\u4E2A\u4EBA\u4FE1\u606F\u7684\u516C\u53F8\u3001\u7EC4\u7EC7\u7EE7\u7EED\u53D7\u672C\u9690\u79C1\u653F\u7B56\u7684\u7EA6\u675F\uFF0C\u5426\u5219,\u6211\u4EEC\u5C06\u8981\u6C42\u8BE5\u516C\u53F8\u3001\u7EC4\u7EC7\u91CD\u65B0\u5411\u60A8\u5F81\u6C42\u6388\u6743\u540C\u610F\u3002</span></span>\n  </p>\n  <p><strong><span style="color:#000000; "><span style="background-color:#ffffff; ">\uFF08\u4E09\uFF09\u516C\u5F00\u62AB\u9732</span></span></strong></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">
593\u6211\u4EEC\u4EC5\u4F1A\u5728\u4EE5\u4E0B\u60C5\u51B5\u4E0B\uFF0C\u4E14\u91C7\u53D6\u7B26\u5408\u4E1A\u754C\u6807\u51C6\u7684\u5B89\u5168\u9632\u62A4\u63AA\u65BD\u7684\u524D\u63D0\u4E0B\uFF0C\u624D\u4F1A\u516C\u5F00\u62AB\u9732\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\uFF1A</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">1.\n        \u6839\u636E\u60A8\u7684\u9700\u6C42\uFF0C\u5728\u60A8\u660E\u786E\u540C\u610F\u7684\u62AB\u9732\u65B9\u5F0F\u4E0B\u62AB\u9732\u60A8\u6240\u6307\u5B9A\u7684\u4E2A\u4EBA\u4FE1\u606F\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">2.\n        \u6839\u636E\u6CD5\u5F8B\u3001\u6CD5\u89C4\u7684\u8981\u6C42\u3001\u5F3A\u5236\u6027\u7684\u884C\u653F\u6267\u6CD5\u6216\u53F8\u6CD5\u8981\u6C42\u6240\u5FC5\u987B\u63D0\u4F9B\u60A8\u4E2A\u4EBA\u4FE1\u606F\u7684\u60C5\u51B5\u4E0B\uFF0C\u6211\u4EEC\u53EF\u80FD\u4F1A\u4F9D\u636E\u6240\u8981\u6C42\u7684\u4E2A\u4EBA\u4FE1\u606F\u7C7B\u578B\u548C\u62AB\u9732\u65B9\u5F0F\u516C\u5F00\u62AB\u9732\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u3002\u5728\u7B26\u5408\u6CD5\u5F8B\u6CD5\u89C4\u7684\u524D\u63D0\u4E0B\uFF0C\u5F53\u6211\u4EEC\u6536\u5230\u4E0A\u8FF0\u62AB\u9732\u4FE1\u606F\u7684\u8BF7\u6C42\u65F6\uFF0C\u6211\u4EEC\u4F1A\u8981\u6C42\u5FC5\u987B\u51FA\u5177\u4E0E\u4E4B\u76F8\u5E94\u7684\u6CD5\u5F8B\u6587\u4EF6\uFF0C\u5982\u4F20\u7968\u6216\u8C03\u67E5\u51FD\u3002\u6211\u4EEC\u575A\u4FE1\uFF0C\u5BF9\u4E8E\u8981\u6C42\u6211\u4EEC\u63D0\u4F9B\u7684\u4FE1\u606F\uFF0C\u5E94\u8BE5\u5728\u6CD5\u5F8B\u5141\u8BB8\u7684\u8303\u56F4\u5185\u5C3D\u53EF\u80FD\u4FDD\u6301\u900F\u660E\u3002\u6211\u4EEC\u5BF9\u6240\u6709\u7684\u8BF7\u6C42\u90FD\u8FDB\u884C\u4E86\u614E\u91CD\u7684\u5BA1\u67E5\uFF0C\u4EE5\u786E\u4FDD\u5176\u5177\u5907\u5408\u6CD5\u4F9D\u636E\uFF0C\u4E14\u4EC5\u9650\u4E8E\u6267\u6CD5\u90E8\u95E8\u56E0\u7279\u5B9A\u8C03\u67E5\u76EE\u7684\u4E14\u6709\u5408\u6CD5\u6743\u5229\u83B7\u53D6\u7684\u6570\u636E\u3002\u5728\u6CD5\u5F8B\u6CD5\u89C4\u8BB8\u53EF\u7684\u524D\u63D0\u4E0B\uFF0C\u6211\u4EEC\u62AB\u9732\u7684\u6587\u4EF6\u5747\u5728\u52A0\u5BC6\u5BC6\u94A5\u7684\u4FDD\u62A4\u4E4B\u4E0B\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u56DB.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u6211\u4EEC\u5982\u4F55\u4FDD\u62A4\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F</strong></span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(\u4E00)\u6570\u636E\u5B89\u5168\u6280\u672F\u63AA\u65BD</span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u6211\u4EEC\u4F1A\u91C7\u7528\u7B26\u5408\u4E1A\u754C\u6807\u51C6\u7684\u5B89\u5168\u9632\u62A4\u63AA\u65BD\uFF0C\u5305\u62EC\u5EFA\u7ACB\u5408\u7406\u7684\u5236\u5EA6\u89C4\u8303\u3001\u5B89\u5168\u6280\u672F\u6765\u9632\u6B62\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u906D\u5230\u672A\u7ECF\u6388\u6743\u7684\u8BBF\u95EE\u4F7F\u7528\u3001\u4FEE\u6539\u3001\u907F\u514D\u6570\u636E\u7684\u635F\u5931\u6216\u4E22\u5931\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(\u4E8C)\u5B89\u5168\u4FDD\u969C\u80FD\u529B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">1.\n        \u6211\u4EEC\u4F1A\u5B9A\u671F\u4E3E\u529E\u5B89\u5168\u548C\u9690\u79C1\u4FDD\u62A4\u57F9\u8BAD\u8BFE\u7A0B\uFF0C\u52A0\u5F3A\u5458\u5DE5\u5BF9\u4FDD\u62A4\u4E2A\u4EBA\u4FE1\u606F\u91CD\u8981\u6027\u7684\u8BA4\u8BC6\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(\u4E09)\u5B89\u5168\u4E8B\u4EF6\u5904\u7F6E</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">1.\n        \u4E3A\u5E94\u5BF9\u4E2A\u4EBA\u4FE1\u606F\u6CC4\u6F0F\u3001\u635F\u6BC1\u548C\u4E22\u5931\u7B49\u53EF\u80FD\u51FA\u73B0\u7684\u98CE\u9669\uFF0C\u6211\u4EEC\u5236\u5B9A\u4E86\u591A\u9879\u5236\u5EA6\uFF0C\u660E\u786E\u5B89\u5168\u4E8B\u4EF6\u3001\u5B89\u5168\u6F0F\u6D1E\u7684\u5206\u7C7B\u5206\u7EA7\u6807\u51C6\u53CA\u76F8\u5E94\u7684\u5904\u7406\u6D41\u7A0B\u3002\u6211\u4EEC\u4E5F\u4E3A\u5B89\u5168\u4E8B\u4EF6\u5EFA\u7ACB\u4E86\u4E13\u95E8\u7684\u5E94\u6025\u54CD\u5E94\u5C0F\u7EC4\uFF0C\u6309\u7167\u5B89\u5168\u4E8B\u4EF6\u5904\u7F6E\u89C4\u8303\u8981\u6C42\uFF0C\u9488\u5BF9\u4E0D\u540C\u5B89\u5168\u4E8B\u4EF6\u542F\u52A8\u5B89\u5168\u9884\u6848\uFF0C\u8FDB\u884C\u6B62\u635F\u3001\u5206\u6790\u3001\u5B9A\u4F4D\u3001\u5236\u5B9A\u8865\u6551\u63AA\u65BD\u3001\u8054\u5408\u76F8\u5173\u90E8\u95E8\u8FDB\u884C\u6EAF\u6E90\u548C\u6253\u51FB\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">2.\n        \u5728\u4E0D\u5E78\u53D1\u751F\u4E2A\u4EBA\u4FE1\u606F\u5B89\u5168\u4E8B\u4EF6\u540E\uFF0C\u6211\u4EEC\u5C06\u6309\u7167\u6CD5\u5F8B\u6CD5\u89C4\u7684\u8981\u6C42\uFF0C\u53CA\u65F6\u5411\u60A8\u544A\u77E5\uFF1A\u5B89\u5168\u4E8B\u4EF6\u7684\u57FA\u672C\u60C5\u51B5\u548C\u53EF\u80FD\u7684\u5F71\u54CD\u3001\u6211\u4EEC\u5DF2\u91C7\u53D6\u6216\u5C06\u8981\u91C7\u53D6\u7684\u5904\u7F6E\u63AA\u65BD\u3001\u60A8\u53EF\u81EA\u4E3B\u9632\u8303\u548C\u964D\u4F4E\u98CE\u9669\u7684\u5EFA\u8BAE\u3001\u5BF9\u60A8\u7684\u8865\u6551\u63AA\u65BD\u7B49\u3002\u6211\u4EEC\u540C\u65F6\u5C06\u53CA\u65F6\u5C06\u4E8B\u4EF6\u76F8\u5173\u60C5\u51B5\u4EE5\u90AE\u4EF6\u3001\u4FE1\u51FD\u3001\u7535\u8BDD\u3001\u63A8\u9001\u901A\u77E5\u7B49\u65B9\u5F0F\u544A\u77E5\u60A8\uFF0C\u96BE\u4EE5\u9010\u4E00\u544A\u77E5\u4E2A\u4EBA\u4FE1\u606F\u4E3B\u4F53\u65F6\uFF0C\u6211\u4EEC\u4F1A\u91C7\u53D6\u5408\u7406\u3001\u6709\u6548\u7684\u65B9\u5F0F\u53D1\u5E03\u516C\u544A\u3002\u540C\u65F6\uFF0C\u6211\u4EEC\u8FD8\u5C06\u6309\u7167\u76D1\u7BA1\u90E8\u95E8\u8981\u6C42\uFF0C\u4E3B\u52A8\u4E0A\u62A5\u4E2A\u4EBA\u4FE1\u606F\u5B89\u5168\u4E8B\u4EF6\u7684\u5904\u7F6E\u60C5\u51B5\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(\u56DB)\u4FE1\u606F\u4FDD\u5B58\u671F\u9650</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">1.\n        \u5728\u7528\u6237\u4F7F\u7528\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u671F\u95F4\uFF0C\u6211\u4EEC\u4F1A\u
5936301\u7EED\u4FDD\u5B58\u7528\u6237\u7684\u4E2A\u4EBA\u4FE1\u606F\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">2.\n        \u5F53\u60A8\u81EA\u4E3B\u5220\u9664\u4E2A\u4EBA\u4FE1\u606F\u6216\u6CE8\u9500\u8D26\u6237\uFF0C\u5F53\u60A8\u6210\u529F\u7533\u8BF7\u6CE8\u9500\u8D26\u6237\u540E\uFF0C\u6211\u4EEC\u5C06\u5728\u60A8\u63D0\u51FA\u7533\u8BF7\u76842\u4E2A\u5DE5\u4F5C\u65E5\u5185\u5B8C\u6210\u5BF9\u60A8\u7684\u8D26\u6237\u6CE8\u9500\u5BA1\u6838\uFF0C\u5BA1\u6838\u901A\u8FC7\u540E\uFF0C\u6211\u4EEC\u5C06\u5BF9\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u8FDB\u884C\u5220\u9664\u6216\u533F\u540D\u5316\u5904\u7406\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">3.\n        \u6211\u4EEC\u53EA\u4F1A\u5728\u8FBE\u6210\u672C\u653F\u7B56\u6240\u8FF0\u76EE\u7684\u6240\u9700\u7684\u671F\u9650\u5185\u4FDD\u7559\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\uFF0C\u9664\u975E\u9700\u8981\u5EF6\u957F\u4FDD\u7559\u671F\u6216\u53D7\u5230\u6CD5\u5F8B\u7684\u5141\u8BB8\u3002\u5F53\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u8D85\u51FA\u4E0A\u8FF0\u4FDD\u5B58\u671F\u9650\uFF0C\u6211\u4EEC\u5C06\u4F1A\u5BF9\u5176\u8FDB\u884C\u533F\u540D\u5316\u5904\u7406\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">4.\n        \u5F53\u60A8\u5B58\u5728\u4E0B\u8FF0\u60C5\u51B5\u65F6\uFF0C\u6211\u4EEC\u5C06\u4F1A\u4F9D\u6CD5\u5BF9\u60A8\u7684\u4FE1\u606F\u8FDB\u884C\u6C38\u4E45\u4FDD\u5B58\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(1)\n        \u4E3A\u914D\u5408\u4EBA\u6C11\u68C0\u5BDF\u9662\u3001\u516C\u5B89\u673A\u5173\u3001\u56FD\u5BB6\u5B89\u5168\u673A\u5173\u4FA6\u67E5\u7528\u6237\u4F7F\u7528\u4E1C\u98CE\u65E5\u4EA7\u667A\u80FD\u7F51\u8054\u670D\u52A1\u8FC7\u7A0B\u4E2D\u4EA7\u751F\u7684\u72AF\u7F6A\u884C\u4E3A\u3001\u66F4\u597D\u4FDD\u62A4\u5176\u4ED6\u7528\u6237\u751F\u547D\u8D22\u4EA7\u5B89\u5168\uFF0C\u5F53\u7528\u6237\u81EA\u4E3B\u5220\u9664\u4E2A\u4EBA\u4FE1\u606F\u6216\u6CE8\u9500\u8D26\u6237\uFF0C\u6211\u4EEC\u5C06\u5728\u5211\u6CD5\u89C4\u5B9A\u7684\u72AF\u7F6A\u8FFD\u8BC9\u65F6\u6548\u671F\u95F4\u5185\uFF0C\u52A0\u5BC6\u9694\u79BB\u5B58\u6863\u7528\u6237\u4E2A\u4EBA\u4FE1\u606F\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(2)\n        \u5982\u60A8\u4F7F\u7528\u4E1C\u98CE\u65E5\u4EA7\u667A\u80FD\u7F51\u8054\u670D\u52A1\u7684\u8FC7\u7A0B\u4E2D\uFF0C\u5B58\u5728\u4E25\u91CD\u8FDD\u53CD\u6CD5\u5F8B\u6CD5\u89C4\u3001\u5E73\u53F0\u534F\u8BAE\u3001\u5E73\u53F0\u89C4\u5219\u7B49\u60C5\u5F62\uFF0C\u60A8\u7684\u8FDD\u6CD5\u3001\u8FDD\u7EA6\u8BB0\u5F55\u53CA\u76F8\u5E94\u7684\u5E73\u53F0\u4FE1\u7528\u8BB0\u5F55\uFF0C\u5C06\u88AB\u6C38\u4E45\u4FDD\u5B58\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(\u4E94)\u505C\u6B62\u8FD0\u8425</span></span></p>\n  <p style="text-align:left; "><span style="color:#000000; "><span style="background-color:#ffffff; ">1.\n        \u5982\u4E1C\u98CE\u65E5\u4EA7\u54C1\u724C\u5B98\u65B9\u7F51\u7AD9\u505C\u6B62\u8FD0\u8425\uFF0C\u6211\u4EEC\u5C06\u81F3\u5C11\u63D0\u524D30\u65E5\u5728\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7CFB\u7EDF\u4EE5\u53CA\u76F8\u5173\u5A92\u4ECB\u53D1\u5E03\u516C\u544A\uFF0C\u5E76\u53CA\u65F6\u505C\u6B62\u6536\u96C6\u4E2A\u4EBA\u4FE1\u606F\u3002\u505C\u6B62\u8FD0\u8425\u540E\uFF0C\u6211\u4EEC\u5C06\u505C\u6B62\u5BF9\u4E2A\u4EBA\u4FE1\u606F\u7684\u5546\u4E1A\u5316\u4F7F\u7528\uFF0C\u5E76\u5728\u6EE1\u8DB3\u6CD5\u5F8B\u6CD5\u89C4\u89C4\u5B9A\u7684\u6700\u77ED\u4FDD\u5B58\u671F\u540E\uFF0C\u5BF9\u6536\u96C6\u7684\u4E2A\u4EBA\u4FE1\u606F\u8FDB\u884C\u533F\u540D\u5316\u5904\u7406\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">2.\n        \u6211\u4EEC\u5728\u57FA\u4E8E\u524D\u9879\u89C4\u5B9A\u800C\u8BA9\u670D\u52A1\u63D0\u4F9B\u65B9\u4F7F\u7528\u4E2A\u4EBA\u4FE1\u606F\u65F6\uFF0C\u5E94\u52AA\u529B\u9632\u6B62\u88AB\u670D\u52A1\u63D0\u4F9B\u65B9\u53D1\u751F\u4E2A\u4EBA\u4FE1\u606F\u7684\u9057\u5931\u3001\u7834\u574F\u3001\u7BE1\u6539\u3001\u9057\u6F0F\u7B49\u95EE\u9898\uFF0C\u540C\u65F6\u8981\u6C42\u670D\u52A1\u63D0\u4F9B\u65B9\u9075\u5B88\u4E0E\u4E2A\u4EBA\u4FE1\u606F\u4FDD\u62A4\u6709\u5173\u7684\u6CD5\u5F8B\u3001\u6CD5\u89C4\u4EE5\u53CA\u5176\u5B83\u653F\u7B56\u3002</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u4E94.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u60A8\u7684\u6743\u5229</strong></span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u6309\u7167\u4E2D\u56FD\u76F8\u5173\u7684\u6CD5\u5F8B\u3001\u6CD5\u89C4\u3001\u6807\u51C6\uFF0C\u4EE5\u53CA\u5176\u4ED6\u56FD\u5BB6\u3001\u5730\u533A\u7684\u901A\u884C\u505A\u6CD5\uFF0C\u6211\u4EEC\u4FDD\u969C\u60A8\u5BF9\u81EA\u5DF1\u7684\u4E2A\u4EBA\u4FE1\u606F\u884C\u4F7F\u4EE5\u4E0B\u6743\u5229\uFF1A</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(\u4E00)\u66F4\u6B63\u4E2A\u4EBA\u4FE1\u606F</span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u5F53\u60A8\u9700\u8981\u66F4\u65B0\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u3001\u8F66\u8F86\u4FE1\u606F\u3001\u8F66\u724C\u4FE1\u606F\u3001\u5B9E\u540D\u8BA4\u8BC1\u4FE1\u606F\u3001\u8D26\u53F7\u4FE1\u606F\u65F6\uFF0C\u60A8\u6709\u6743\u505A\u51FA\u66F4\u65B0\u6216\u66F4\u6B63\u3002\u60A8\u53EF\u4EE5\u8054\u7CFB\u4E1C\u98CE\u65E5\u4EA7\u5BA2\u670D\u56E2\u961F\u6216\u8005\u5728\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7CFB\u7EDF\u81EA\u884C\u8FDB\u884C\u66F4\u6B63\u6216\u4FEE\u6539\u4E2A\u4EBA\u4FE1\u606F\uFF1B</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(\u4E8C)\u5220\u9664\u4E2A\u4EBA\u4FE1\u606F</span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u5982\u60A8\u5E0C\u671B\u5220\u9664\u4E2A\u4EBA\u4FE1\u606F\uFF0C\u53EF\u4EE5\u901A\u8FC7\u7EBF\u4E0A\u89E3\u9664\u7ED1\u5B9A\u6216\u81EA\u884C\u5220\u9664\u4FE1\u606F\u3002\u5728\u6EE1\u8DB3\u6CD5\u5F8B\u6CD5\u89C4\u8981\u6C42\u7684\u6700\u77ED\u4FDD\u5B58\u671F\u9650\u8981\u6C42\u7684\u60C5\u51B5\u4E0B\uFF0C\u6211\u4EEC\u5C06\u5BF9\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u8FDB\u884C\u5220\u9664\u6216\u533F\u540D\u5316\u5904\u7406\u3002\u5728\u4E0A\u8FF0\u6CD5\u5F8B\u6CD5\u89C4\u8981\u6C42\u7684\u6700\u77ED\u4FDD\u5B58\u671F\u9650\u5185\uFF0C\u6211\u4EEC\u5C06\u4E0D\u518D\u5BF9\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u8FDB\u884C\u5546\u4E1A\u5316\u4F7F\u7528\uFF1B</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(\u4E09)\u64A4\u56DE\u540C\u610F</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">
593\u6211\u4EEC\u5C06\u901A\u8FC7\u4EE5\u4E0B\u65B9\u5F0F\u4FDD\u969C\u7528\u6237\u64A4\u56DE\u540C\u610F\u7684\u6743\u5229\uFF1A</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">1. \u60A8\u8FD8\u53EF\u4EE5\u901A\u8FC7\u89E3\u9664\u7ED1\u5B9A\u3001\u5220\u9664\u4FE1\u606F\u7B49\u65B9\u5F0F\u64A4\u56DE\u90E8\u5206\u6388\u6743\uFF1B</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">2.\n        \u5F53\u60A8\u64A4\u56DE\u540C\u610F\u6216\u6388\u6743\u540E\uFF0C\u53EF\u80FD\u5BFC\u81F4\u6211\u4EEC\u65E0\u6CD5\u4E3A\u60A8\u7EE7\u7EED\u63D0\u4F9B\u64A4\u56DE\u6388\u6743\u90E8\u5206\u5BF9\u5E94\u7684\u670D\u52A1\u3002\u4F46\u60A8\u64A4\u56DE\u540C\u610F\u6216\u6388\u6743\uFF0C\u4E0D\u5F71\u54CD\u64A4\u56DE\u524D\u57FA\u4E8E\u60A8\u7684\u540C\u610F\u5F00\u5C55\u7684\u4E2A\u4EBA\u4FE1\u606F\u5904\u7406\uFF1B</span></span></p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(\u56DB)\u6CE8\u9500\u8D26\u53F7</span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u60A8\u53EF\u4EE5\u901A\u8FC7\u6587\u672B\u7684\u5BA2\u670D\u8054\u7CFB\u65B9\u5F0F\u6216\u8005\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7CFB\u7EDF\u7684\u5728\u7EBF\u5BA2\u670D\u8FDB\u884C\u8D26\u53F7\u6CE8\u9500\u7533\u8BF7\u3002\u9664\u6CD5\u5F8B\u6CD5\u89C4\u53E6\u6709\u89C4\u5B9A\u5916\uFF0C\u6CE8\u9500\u8D26\u53F7\u4E4B\u540E\u6211\u4EEC\u5C06\u505C\u6B62\u4E3A\u60A8\u63D0\u4F9B\u670D\u52A1\uFF0C\u5E76\u53CA\u65F6\u5220\u9664\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u6216\u8FDB\u884C\u533F\u540D\u5316\u5904\u7406\uFF1B</span></span>\n  </p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">(\u4E94)\u5982\u60A8\u65E0\u6CD5\u901A\u8FC7\u4E0A\u8FF0\u65B9\u5F0F\u8BBF\u95EE\u3001\u66F4\u6B63\u3001\u5220\u9664\u4E2A\u4EBA\u4FE1\u606F\uFF0C\u64A4\u56DE\u540C\u610F\u6216\u6CE8\u9500\u8D26\u53F7\uFF0C\u60A8\u53EF\u4EE5\u901A\u8FC7\u624B\u673A\u5BA2\u6237\u7AEF\u7684\u201C\u5BA2\u670D\u201D\u529F\u80FD\u5728\u7EBF\u6216\u8005\u7535\u8BDD\u4E0E\u6211\u4EEC\u7684\u5BA2\u670D\u56E2\u961F\u53D6\u5F97\u8054\u7CFB\u3002\u6211\u4EEC\u7684\u5BA2\u670D\u56E2\u961F\u53EF\u80FD\u9700\u8981\u9A8C\u8BC1\u60A8\u7684\u8EAB\u4EFD\uFF0C\u5E76\u5728\u9A8C\u8BC1\u60A8\u7684\u8EAB\u4EFD\u540E\u4F5C\u51FA\u7B54\u590D\u6216\u5904\u7406\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u516D.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u6211\u4EEC\u5982\u4F55\u5904\u7406\u672A\u6210\u5E74\u4EBA\u7684\u4E2A\u4EBA\u4FE1\u606F</strong></span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; ">(\u4E00)\u6211\u4EEC\u975E\u5E38\u91CD\u89C6\u5BF9\u672A\u6210\u5E74\u4EBA\u4E2A\u4EBA\u4FE1\u606F\u7684\u4FDD\u62A4\u3002\u4E3A\u5B89\u5168\u8D77\u89C1\uFF0C\u6211\u4EEC\u5C06\u62D2\u7EDD18\u5468\u5C81\u4EE5\u4E0B\n        \u7684\u672A\u6210\u5E74\u4EBA\u8BA4\u8BC1\u53CA\u4F7F\u7528\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7CFB\u7EDF\u3002</span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">(\u4E8C)\u5BF9\u4E8E\u7ECF\u7236\u6BCD\u6216\u6CD5\u5B9A\u76D1\u62A4\u4EBA\u540C\u610F\u800C\u6536\u96C6\u672A\u6210\u5E74\u4EBA\u4E2A\u4EBA\u4FE1\u606F\u7684\u60C5\u51B5\uFF0C\u6211\u4EEC\u53EA\u4F1A\u5728\u53D7\u5230\u6CD5\u5F8B\u5141\u8BB8\u3001\u7236\u6BCD\u6216\u76D1\u62A4\u4EBA\u660E\u786E\u540C\u610F\u6216\u8005\u4FDD\u62A4\u672A\u6210\u5E74\u4EBA\u6240\u5FC5\u8981\u7684\u60C5\u51B5\u4E0B\u4F7F\u7528\u6216\u516C\u5F00\u62AB\u9732\u6B64\u4FE1\u606F\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">(\u4E09)\u6211\u4EEC\u5C06\u6839\u636E\u56FD\u5BB6\u76F8\u5173\u6CD5\u5F8B\u6CD5\u89C4\u7684\u89C4\u5B9A\u4FDD\u62A4\u672A\u6210\u5E74\u4EBA\u7684\u4E2A\u4EBA\u4FE1\u606F\u3002\u5982\u679C\u6211\u4EEC\u53D1\u73B0\u81EA\u5DF1\u5728\u672A\u4E8B\u5148\u83B7\u5F97\u53EF\u8BC1\u5B9E\u7684\u7236\u6BCD\u6216\u6CD5\u5B9A\u76D1\u62A4\u4EBA\u540C\u610F\u7684\u60C5\u51B5\u4E0B\u6536\u96C6\u4E86\u672A\u6210\u5E74\u4EBA\u7684\u4E2A\u4EBA\u4FE1\u606F\uFF0C\u5219\u4F1A\u8BBE\u6CD5\u5C3D\u5FEB\u5220\u9664\u76F8\u5173\u6570\u636E\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u4E03.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\u5982\u4F55\u5728\u5168\u7403\u8303\u56F4\u8F6C\u79FB</strong></span></span>\n  </p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">
593\u6211\u4EEC\u6536\u96C6\u7684\u60A8\u7684\u4E2A\u4EBA\u4FE1\u606F\uFF0C\u4EC5\u5728\u4E2D\u56FD\u5185\u5730\u5B58\u50A8\u548C\u4F7F\u7528\u3002\u76EE\u524D\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u4E0D\u5B58\u5728\u5411\u5883\u5916\u63D0\u4F9B\u4E2A\u4EBA\u4FE1\u606F\u7684\u573A\u666F\u3002\u5982\u5C06\u6765\u6D89\u53CA\u5411\u5883\u5916\u4F20\u8F93\u4E2A\u4EBA\u4FE1\u606F\uFF0C\u6211\u4EEC\u5C06\u660E\u786E\u5411\u60A8\u544A\u77E5\u4E2A\u4EBA\u4FE1\u606F\u51FA\u5883\u7684\u76EE\u7684\u3001\u63A5\u6536\u65B9\u3001\u5B89\u5168\u4FDD\u969C\u63AA\u65BD\u7B49\u60C5\u51B5\uFF0C\u5E76\u53E6\u884C\u5F81\u5F97\u60A8\u7684\u540C\u610F\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u516B.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u672C\u653F\u7B56\u5982\u4F55\u66F4\u65B0</strong></span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u968F\u7740\u6211\u4EEC\u670D\u52A1\u6269\u5C55\u6216\u53D8\u66F4\uFF0C\u6216\u6839\u636E\u6CD5\u5F8B\u7684\u8981\u6C42\uFF0C\u6211\u4EEC\u53EF\u80FD\u9700\u8981\u4E0D\u65F6\u5BF9\u9690\u79C1\u653F\u7B56\u8FDB\u884C\u66F4\u65B0\uFF0C\u5728\u672C\u4EA7\u54C1\u548C/\u6216\u670D\u52A1\u7CFB\u7EDF\u4E0A\u516C\u5E03\u6700\u65B0\u66F4\u65B0\u7248\u672C\u5E76\u901A\u8FC7\u6D88\u606F\u63A8\u9001\u6216\u5F39\u7A97\u7B49\u65B9\u5F0F\u544A\u77E5\u8BE5\u7B49\u65B9\u5F0F\u5C06\u662F\u6211\u4EEC\u4F7F\u60A8\u4E86\u89E3\u8BE5\u7B49\u53D8\u66F4\u7684\u5408\u7406\u548C\u6709\u6548\u7684\u65B9\u5F0F\u3002\u60A8\u5E94\u5B9A\u671F\u67E5\u770B\u672C\u653F\u7B56\u662F\u5426\u5DF2\u505A\u51FA\u66F4\u65B0\u3002\u5982\u60A8\u6709\u4EFB\u4F55\u7591\u95EE\u6216\u4E0D\u540C\u610F\u6211\u4EEC\u4FEE\u6539\uFF0C\u8BF7\u4E0E\u6211\u4EEC\u8054\u7CFB\u3002\u60A8\u62D2\u7EDD\u63A5\u53D7\u6211\u4EEC\u7684\u4FEE\u6539\u53EF\u80FD\u5BFC\u81F4\u4E1C\u98CE\u65E5\u4EA7\u5B98\u65B9\u54C1\u724C\u7F51\u7AD9\u65E0\u6CD5\u63D0\u4F9B\u90E8\u5206\u6216\u5168\u90E8\u670D\u52A1\u3002</span></span>\n  </p>\n  <p><span style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u4E5D.</strong></span></span> <span\n      style="color:#000000; "><span style="background-color:#ffffff; "><strong style="color:#000000; ">\u5982\u4F55\u8054\u7CFB\u6211\u4EEC</strong></span></span></p>\n  <p><strong><span style="color:#000000; "><span\n          style="background-color:#ffffff; ">\u516C\u53F8\u540D\u79F0\uFF1A\u4E1C\u98CE\u65E5\u4EA7\u6C7D\u8F66\u9500\u552E\u6709\u9650\u516C\u53F8</span></span></strong></p>\n  <p><strong><span style="color:#000000; "><span\n          style="background-color:#ffffff; ">\u516C\u53F8\u5730\u5740\uFF1A\u5E7F\u4E1C\u7701\u5E7F\u5DDE\u5E02\u82B1\u90FD\u533A\u98CE\u795E\u5927\u90538\u53F7</span></span></strong></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u5982\u60A8\u5BF9\u672C\u9690\u79C1\u653F\u7B56\u6216\u60A8\u4E2A\u4EBA\u4FE1\u606F\u7684\u76F8\u5173\u4E8B\u5B9C\u6709\u4EFB\u4F55\u95EE\u9898\u3001\u610F\u89C1\u6216\u5EFA\u8BAE\uFF0C\u8BF7\u901A\u8FC7\u4EE5\u4E0B\u4E24\u79CD\u65B9\u5F0F\u4E0E\u6211\u4EEC\u8054\u7CFB\u3002</span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u5BA2\u670D\u7535\u8BDD\uFF1A95027</span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u4E2A\u4EBA\u4FE1\u606F\u4FDD\u62A4\u8D23\u4EFB\u4EBA\u90AE\u7BB1\uFF1A [email protected]</span></span></p>\n  <p><span style="color:#000000; "><span\n        style="background-color:#ffffff; ">\u4E00\u822C\u60C5\u51B5\u4E0B\uFF0C\u6211\u4EEC\u5C06\u5728\u5341\u4E94\u5929\u5185\u56DE\u590D\u3002\u5982\u679C\u60A8\u5BF9\u6211\u4EEC\u7684\u56DE\u590D\u4E0D\u6EE1\u610F\uFF0C\u7279\u522B\u662F\u60A8\u8BA4\u4E3A\u6211\u4EEC\u7684\u4E2A\u4EBA\u4FE1\u606F\u5904\u7406\u884C\u4E3A\u635F\u5BB3\u4E86\u60A8\u7684\u5408\u6CD5\u6743\u76CA\uFF0C\u60A8\u8FD8\u53EF\u4EE5\u5411\u7535\u4FE1\u3001\u7F51\u4FE1\u3001\u516C\u5B89\u53CA\u5E02\u573A\u76D1\u7763\u7BA1\u7406\u5C40\u7B49\u76D1\u7BA1\u90E8\u95E8\u8FDB\u884C\u6295\u8BC9\u6216\u4E3E\u62A5\u3002</span></span>\n  </p>\n  ';
594
595$Json.activityDetail =
596  "\n  <p><strong>\u4E00\u3001\u6D3B\u52A8\u8BE6\u60C5\uFF1A</strong></p>\n  <p>\u5373\u65E5\u8D77\u5728\u6D3B\u52A8\u9875\u9762\u9884\u7EA6\u8BD5\u9A7E\u6307\u5B9A\u8F66\u578B\uFF08\u7B2C14\u4EE3\u8F69\u9038\u3001\u7B2C\u4E03\u4EE3\u5929\u7C41\u3001\u65B0\u5947\u9A8F\uFF09\uFF0C\u6CE8\u518C\u52A0\u5165\u3010\u4E1C\u98CE\u65E5\u4EA7\u8F66\u4E3B\u4FF1\u4E50\u90E8\u3011\u5E76\u5B8C\u6210\u201C\u5230\u5E97\u8BD5\u9A7E\u201D\u53CA\u201C\u670D\u52A1\u70B9\u8BC4\u201D\u540E\uFF0C\u5373\u53EF\u83B7\u8D60\u4E1C\u98CE\u65E5\u4EA7\u4F1A\u54581000\u79EF\u5206\u793C\uFF0810\u79EF\u5206=1\u5143\uFF09\u3002</p>\n  <p><strong>\u4E8C\u3001\u6D3B\u52A8\u89C4\u5219</strong></p>\n  <ul>\n      <li>1.\u6D3B\u52A8\u5373\u65E5\u8D77\u6709\u6548\uFF0C\u53C2\u52A0\u6D3B\u52A8\u5B8C\u6210\u6307\u5B9A\u4EFB\u52A1\u5373\u53EF\u83B7\u8D601000\u79EF\u5206\uFF0C\u79EF\u5206\u53EF\u7528\u4E8E\u8D2D\u8F66\u7B49\u5E97\u5185\u6D88\u8D39\uFF0C\u6216\u5728\u3010\u4E1C\u98CE\u65E5\u4EA7\u8F66\u4E3B\u4FF1\u4E50\u90E8\u3011\u5FAE\u4FE1\u670D\u52A1\u53F7-\u4F1A\u5458\u5546\u57CE\u5151\u6362\u79EF\u5206\u793C\u54C1\uFF0C\u6D3B\u52A8\u540D\u989D\u6709\u9650\uFF0C\u9001\u5B8C\u5373\u6B62\u3002</li>\n      <li>2.\u5173\u6CE8\u3010\u4E1C\u98CE\u65E5\u4EA7\u8F66\u4E3B\u4FF1\u4E50\u90E8\u3011\u5FAE\u4FE1\u670D\u52A1\u53F7\u5E76\u6CE8\u518C\u6210\u4E3A\u4F1A\u5458\uFF0C\u5230\u5E97\u5B8C\u6210\u6307\u5B9A\u8F66\u578B\u7684\u8BD5\u9A7E\uFF0C\u53C2\u4E0E\u670D\u52A1\u53F7\u63A8\u9001\u7684\u8BD5\u9A7E\u670D\u52A1\u70B9\u8BC4\uFF0C\u63D0\u4EA4\u70B9\u8BC4\u540E\u5373\u53EF\u83B7\u8D60\u79EF\u5206\uFF0C\u53EF\u5230\u670D\u52A1\u53F7\u4E2A\u4EBA\u4E2D\u5FC3\u67E5\u770B\u79EF\u5206\u53D8\u52A8\u60C5\u51B5\u3002</li>\n      <li>3.\u5BA2\u6237\u5230\u5E97\u8BD5\u9A7E\u65F6\u987B\u7531\u4E13\u8425\u5E97\u9500\u552E\u5458\u534F\u52A9\u6838\u5B9E\u9884\u7EA6\u8BD5\u9A7E\u7684\u7528\u6237\u8EAB\u4EFD\u4FE1\u606F\uFF0C\u7CFB\u7EDF\u4E2D\u8BB0\u5F55\u7684\u5230\u5E97\u8BD5\u9A7E\u4EBA\u5458\u9700\u4E0E\u6CE8\u518C\u5165\u4F1A\u5E76\u9884\u7EA6\u8BD5\u9A7E\u7684\u624B\u673A\u53F7\u4E00\u81F4\u65B9\u53EF\u83B7\u8D60\u79EF\u5206\uFF1B\u6BCF\u4F4D\u7528\u6237\u9650\u83B7\u8D60\u4E00\u6B21\u79EF\u5206\uFF0C\u540C\u4E00\u5FAE\u4FE1\u8D26\u53F7\u3001\u7535\u8BDD\u53F7\u7801\u89C6\u4E3A\u540C\u4E00\u7528\u6237\u3002</li>\n      <li>4.\u672C\u6B21\u6D3B\u52A8\u4EC5\u9650\u6307\u5B9A\u6D3B\u52A8\u5165\u53E3\uFF08\u89C1\u5B98\u65B9\u9875\u9762\u63D0\u793A\uFF09\u7684\u9884\u7EA6\u8BD5\u9A7E\u7528\u6237\u53C2\u4E0E\uFF0C\u5176\u4F59\u5230\u5E97\u8BD5\u9A7E\u7528\u6237\u4E0D\u53C2\u4E0E\u3002</li>\n      <li>5.\u53C2\u4E0E\u6D3B\u52A8\u524D\u8BF7\u8BE6\u7EC6\u9605\u8BFB\u6D3B\u52A8\u89C4\u5219\u53CA\u6761\u6B3E\uFF0C\u51E1\u53C2\u4E0E\u6D3B\u52A8\uFF0C\u5219\u89C6\u4E3A\u540C\u610F\u6D3B\u52A8\u89C4\u5219\u53CA\u6761\u6B3E\u3002</li>\n      <li>6.\u672C\u6D3B\u52A8\u7981\u6B62\u4EFB\u4F55\u4E0D\u6B63\u5F53\u624B\u6BB5\u53CA\u821E\u5F0A\u884C\u4E3A\uFF0C\u4E00\u7ECF\u53D1\u73B0\u6709\u6743\u53D6\u6D88\u8BE5\u7528\u6237\u7684\u83B7\u5956\u8D44\u683C\u3002</li>\n      <li>7.\u5982\u4E0D\u53EF\u6297\u529B\uFF0C\u7528\u6237\u4E2A\u4EBA\u539F\u56E0\u7B49\u60C5\u51B5\u5BFC\u81F4\u65E0\u6CD5\u5151\u5956\uFF0C\u4E3B\u529E\u65B9\u5C06\u4E0D\u4E88\u4EE5\u8D54\u507F\u3002</li>\n      <li>8.\u4E1C\u98CE\u65E5\u4EA7\u53EF\u6839\u636E\u6D3B\u52A8\u5B9E\u9645\u60C5\u51B5\uFF0C\u5728\u6CD5\u5F8B\u5141\u8BB8\u7684\u8303\u56F4\u5185\uFF0C\u5BF9\u6D3B\u52A8\u89C4\u5219\u8FDB\u884C\u53D8\u52A8\u6216\u8C03\u6574\uFF0C\u76F8\u5173\u53D8\u52A8\u6216\u8C03\u6574\u5C06\u516C\u5E03\u5728\u6D3B\u52A8\u89C4\u5219\u9875\u9762\u4E0A\u3002</li>\n      <li>\u5728\u6CD5\u5F8B\u5141\u8BB8\u7684\u8303\u56F4\u5185\uFF0C\u4E1C\u98CE\u65E5\u4EA7\u4E58\u7528\u8F66\u516C\u53F8\u
59662E5\u6709\u672C\u6D3B\u52A8\u89E3\u91CA\u6743\u3002</li>\n  </ul>\n";
597
598window.$config =
599  ((_window$$config = {
600    hosts: [
601      "m2.dongfeng-nissan.com.cn",
602      "www2.dongfeng-nissan.com.cn",
603      "feat-nissan201126-uat-dndcfenge-node-site.nissan-website.dev.dndc.cloud",
604      "feat-nissan201126-dndcfenge-node-site.nissan-website.dev.dndc.cloud",
605      "node-site.nissan-website.dev.dndc.cloud",
606      "nissan.edndc.com",
607      "nic.edndc.com",
608      "media.edndc.com",
609      "nic.cigtest.com.cn",
610      "nissan.cigtest.com.cn",
611      "m.dongfeng-nissan.com.cn",
612      "media.cigtest.com.cn",
613      "210.21.81.138",
614      "www.uat.dongfeng-nissan.com.cn",
615      "www.dongfeng-nissan.com.cn",
616      "nic.dongfeng-nissan.com.cn",
617      "media.dongfeng-nissan.com.cn",
618    ],
619    //判断当前环境
620    Debug: function Debug() {
621      var _this = this,
622        boole = false;
623      for (var i = 0; i < _this.hosts.length; i++) {
624        if (location.hostname == _this.hosts[i]) {
625          boole = true;
626        }
627      }
628      return boole ? "" : "/Debug";
629    },
630    // 其他非本域名 地址对象
631    HostUrls: {
632      api: "https://api.dongfeng-nissan.com.cn",
633      // api: 'http://202.96.191.190'
634    },
635    //其他非本域名的host
636    Host: function Host(url) {
637      if (this.Debug()) {
638        return "";
639      } else {
640        return url;
641      }
642    },
643    //静态文件配置url
644    staticHost: function staticHost() {
645      var list = [
646        {
647          hostname: "m2.dongfeng-nissan.com.cn",
648          url: "https://img.dongfeng-nissan.com.cn/content/",
649        },
650        {
651          hostname: "www2.dongfeng-nissan.com.cn",
652          url: "https://img.dongfeng-nissan.com.cn/content/",
653        },
654        {
655          hostname:
656            "feat-nissan201126-uat-dndcfenge-node-site.nissan-website.dev.dndc.cloud",
657          url: "https://img.dongfeng-nissan.com.cn/content/",
658        },
659        {
660          hostname:
661            "feat-nissan201126-dndcfenge-node-site.nissan-website.dev.dndc.cloud",
662          url: "https://img.dongfeng-nissan.com.cn/content/",
663        },
664        {
665          hostname: "node-site.nissan-website.dev.dndc.cloud",
666          url: "https://img.dongfeng-nissan.com.cn/content/",
667        },
668        {
669          hostname: "nissan.edndc.com",
670          url: "https://img.dongfeng-nissan.com.cn/content/",
671        },
672        {
673          hostname: "nic.edndc.com",
674          url: "https://img.dongfeng-nissan.com.cn/content/",
675        },
676        {
677          hostname: "media.edndc.com",
678          url: "https://img.dongfeng-nissan.com.cn/content/",
679        },
680        {
681          hostname: "localhost",
682          url: "../../../NissanFile/",
683        },
684        {
685          hostname: "10.0.0.18",
686          url: "../../../NissanFile/",
687        },
688        {
689          hostname: "nissan.cigtest.com.cn",
690          url: "/content/",
691        },
692        {
693          hostname: "210.21.81.138",
694          url: "/content/",
695        },
696        {
697          hostname: "www.uat.dongfeng-nissan.com.cn",
698          url: "https://img.dongfeng-nissan.com.cn/content/",
699        },
700        {
701          hostname: "www.dongfeng-nissan.com.cn",
702          url: "https://img.dongfeng-nissan.com.cn/content/",
703        },
704        {
705          hostname: "nic.dongfeng-nissan.com.cn",
706          url: "https://img.dongfeng-nissan.com.cn/content/",
707        },
708        {
709          hostname: "media.dongfeng-nissan.com.cn",
710          url: "https://img.dongfeng-nissan.com.cn/content/",
711        },
712        {
713          hostname: "m.dongfeng-nissan.com.cn",
714          url: "https://img.dongfeng-nissan.com.cn/content/",
715        },
716      ];
717      for (var i = 0; i < list.length; i++) {
718        if (location.hostname == list[i].hostname) {
719          return list[i].url;
720        }
721      }
722    },
723    screen: {
724      xs: 480,
725      sm: 768,
726      md: 1024,
727      lg: 1200,
728      slg: 1920,
729    },
730    //校验
731    rex: {
732      //手机号
733      mobile: /^1[3|4|5|6|7|8|9]\d{9}$/,
734      email: /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/,
735      username: /^[A-Za-z0-9\u4e00-\u9fa5]+$/,
736    },
737    // JS获取浏览器滚动条的宽度
738    getScrollbarWidth: function getScrollbarWidth() {
739      var odiv = document.createElement("div"),
740        //创建一个div
741        styles = {
742          width: "100px",
743          height: "100px",
744          overflowY: "scroll", //让他有滚动条
745        },
746        i,
747        scrollbarWidth;
748      for (i in styles) {
749        odiv.style[i] = styles[i];
750      }
751      document.body.appendChild(odiv); //把div添加到body中
752      scrollbarWidth = odiv.offsetWidth - odiv.clientWidth; //相减
753      $(odiv).remove(); //移除创建的div
754      return scrollbarWidth; //返回滚动条宽度
755    },
756
757    //百度api
758    Maps: function Maps() {
759      return {
760        getCity: function getCity(fuc) {
761          if ($("#allmap").length <= 0) {
762            $("body").append('<div id="allmap" style="display: none;"></div>');
763          }
764
765          try {
766            var map = new BMap.Map("allmap");
767            var point = new BMap.Point(116.331398, 39.897445);
768            map.centerAndZoom(point, 12);
769
770            var geolocation = new BMap.Geolocation();
771            geolocation.getCurrentPosition(function (r) {
772              if (this.getStatus() == BMAP_STATUS_SUCCESS) {
773                var mk = new BMap.Marker(r.point);
774                map.addOverlay(mk);
775                map.panTo(r.point);
776                // 创建地理编码实例
777                var myGeo = new BMap.Geocoder();
778                // 根据坐标得到地址描述
779                myGeo.getLocation(
780                  new BMap.Point(r.point.lng, r.point.lat),
781                  function (result) {
782                    if (result) {
783                      fuc(result.addressComponents, result.point);
784                    }
785                  }
786                );
787              } else {
788              }
789            });
790          } catch (e) {}
791        },
792      };
793    },
794
795    //去除最后一个字符串
796    lastSringOut: function lastSringOut(value) {
797      return value.substr(0, value.length - 1);
798    },
799    //图片加载
800    ImgLoad: function ImgLoad(src, fuc) {
801      var img = new Image();
802      img.src = src;
803      img.onload = fuc(img);
804    },
805
806    getCookie: function getCookie(c_name) {
807      if (document.cookie.length > 0) {
808        var c_start = document.cookie.indexOf(c_name + "=");
809        if (c_start != -1) {
810          c_start = c_start + c_name.length + 1;
811          var c_end = document.cookie.indexOf(";", c_start);
812          if (c_end == -1) c_end = document.cookie.length;
813          return decodeURIComponent(document.cookie.substring(c_start, c_end));
814        }
815      }
816      return "";
817    },
818    //设置cookie
819    setCookie: function setCookie(name, value, hours) {
820      var Days = 1;
821      var base = Days * 24 * 60 * 60 * 1000;
822      if (hours) {
823        base = hours * 60 * 60 * 1000;
824      }
825      var exp = new Date();
826      exp.setTime(exp.getTime() + base);
827      document.cookie =
828        name +
829        "=" +
830        encodeURIComponent(value) +
831        ";expires=" +
832        exp +
833        ";path=/" +
834        (location.protocol == "https:" ? ";secure=true" : "");
835    },
836    GetQueryString: function GetQueryString(name) {
837      var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
838      var r = window.location.search.substr(1).match(reg);
839      if (r != null) return decodeURI(r[2]);
840      return "";
841    },
842    dataURLtoBlob: function dataURLtoBlob(base64Data) {
843      var byteString;
844      if (base64Data.split(",")[0].indexOf("base64") >= 0)
845        byteString = atob(base64Data.split(",")[1]);
846      else byteString = unescape(base64Data.split(",")[1]);
847      var mimeString = base64Data.split(",")[0].split(":")[1].split(";")[0];
848      var ia = new Uint8Array(byteString.length);
849      for (var i = 0; i < byteString.length; i++) {
850        ia[i] = byteString.charCodeAt(i);
851      }
852      return new Blob([ia], { type: mimeString });
853    },
854    audioAutoPlay: function audioAutoPlay() {
855      var audio = document.getElementById("bgmusic");
856      if ($config.IsPC()) {
857        audio.play();
858      }
859
860      document.addEventListener(
861        "WeixinJSBridgeReady",
862        function () {
863          audio.play();
864        },
865        false
866      );
867      document.addEventListener(
868        "YixinJSBridgeReady",
869        function () {
870          audio.play();
871        },
872        false
873      );
874
875      $(".music").click(function () {
876        if (audio !== null) {
877          if (audio.paused) {
878            audio.play();
879            $(".music").addClass("on");
880          } else {
881            audio.pause();
882            $(".music").removeClass("on");
883          }
884        }
885      });
886    },
887    loadScript: function loadScript(src, callback) {
888      var script = document.createElement("script"),
889        head = document.getElementsByTagName("head")[0];
890      script.type = "text/javascript";
891      script.charset = "UTF-8";
892      script.src = src;
893      if (script.addEventListener) {
894        script.addEventListener(
895          "load",
896          function () {
897            callback();
898          },
899          false
900        );
901      } else if (script.attachEvent) {
902        script.attachEvent("onreadystatechange", function () {
903          var target = window.event.srcElement;
904          if (target.readyState == "loaded") {
905            callback();
906          }
907        });
908      }
909      head.appendChild(script);
910    },
911
912    // 滚动页面到指定位置
913    toScrollElement: function toScrollElement(ele, hTop) {
914      $("html,body").animate(
915        { scrollTop: $(ele).offset().top + (hTop ? hTop : 0) },
916        300
917      );
918    },
919
920    //自定义滚动目标
921    toScrollTarget: function toScrollTarget() {
922      var _this = this;
923      $("[data-totarget]").on("click", function () {
924        var target = $(this).data("totarget"),
925          hTop = $(this).data("htop");
926        _this.toScrollElement(target, hTop ? hTop : 0);
927      });
928    },
929
930    IsPC: function IsPC() {
931      var userAgentInfo = navigator.userAgent;
932      var Agents = [
933        "Android",
934        "iPhone",
935        "SymbianOS",
936        "Windows Phone",
937        "iPad",
938        "iPod",
939      ];
940      var flag = true;
941      for (var v = 0; v < Agents.length; v++) {
942        if (userAgentInfo.indexOf(Agents[v]) > 0) {
943          flag = false;
944          break;
945        }
946      }
947      return flag;
948    },
949    //判断是否IE
950    isIE: function isIE(version) {
951      //判断ie
952      if (!!window.ActiveXObject || "ActiveXObject" in window) {
953        //IE浏览器
954        if (version) {
955          //低于对应IE版本
956          if ($config.IEVersion() <= version) {
957            return true;
958          } else {
959            return false;
960          }
961        } else {
962          return true;
963        }
964      } else {
965        return false;
966      }
967    },
968
969    //IE版本
970    IEVersion: function IEVersion() {
971      var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
972      var isIE =
973        userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
974      var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
975      var isIE11 =
976        userAgent.indexOf("Trident") > -1 && userAgent.indexOf("rv:11.0") > -1;
977      if (isIE) {
978        var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
979        reIE.test(userAgent);
980        var fIEVersion = parseFloat(RegExp["$1"]);
981        if (fIEVersion == 7) {
982          return 7;
983        } else if (fIEVersion == 8) {
984          return 8;
985        } else if (fIEVersion == 9) {
986          return 9;
987        } else if (fIEVersion == 10) {
988          return 10;
989        } else {
990          return 6; //IE版本<=7
991        }
992      } else if (isEdge) {
993        return "edge"; //edge
994      } else if (isIE11) {
995        return 11; //IE11
996      } else {
997        return -1; //不是ie浏览器
998      }
999    },
1000
1001    iswx: function iswx() {
1002      var ua = window.navigator.userAgent.toLowerCase();
1003      if (ua.match(/MicroMessenger/i) == "micromessenger") {
1004        return true;
1005      } else {
1006        return false;
1007      }
1008    },
1009    //layer二次封装
1010    layer: {
1011      //loading
1012      load: function load() {
1013        var layerIndex = layer.load(2, {
1014          shade: [0.1, "#fff"], //0.1透明度的白色背景
1015        });
1016        return layerIndex;
1017      },
1018    },
1019    wxConfig: function wxConfig(config) {
1020      wx.config({
1021        debug: false,
1022        appId: config.appId,
1023        timestamp: config.timestamp,
1024        nonceStr: config.nonceStr,
1025        signature: config.signature,
1026        jsApiList: [
1027          "chooseImage",
1028          "uploadImage",
1029          "previewImage",
1030          "onMenuShareAppMessage",
1031          "onMenuShareTimeline",
1032          "onMenuShareQQ",
1033          "onMenuShareWeibo",
1034        ],
1035      });
1036    },
1037    wxShare: function wxShare(Option) {
1038      if (!this.iswx()) return;
1039      var _this = this,
1040        initWxShare = function initWxShare(wxConfig) {
1041          _this.wxConfig(wxConfig);
1042          //初始化
1043          if (!Option) Option = {};
1044          var title = Option.title ? Option.title : "东风日产官网",
1045            summary = Option.cont
1046              ? Option.cont
1047              : "最新车型优惠,最新车型动态,最新活动资讯,快来关注吧!",
1048            link = Option.url ? Option.url : location.href,
1049            thumb = Option.logo
1050              ? Option.logo
1051              : "https://www.dongfeng-nissan.com.cn/-/media/Images/Nissan/Icon/WechatShare.jpg",
1052            content = {
1053              title: title,
1054              desc: summary,
1055              link: link,
1056              imgUrl: thumb,
1057              /*type: '',
1058        dataUrl: '',*/
1059              success: function success() {
1060                if (Option.success) {
1061                  Option.success();
1062                }
1063              },
1064              cancel: function cancel() {},
1065            };
1066          wx.ready(function () {
1067            wx.onMenuShareTimeline(content);
1068            wx.onMenuShareAppMessage(content);
1069            wx.onMenuShareQQ(content);
1070            wx.onMenuShareWeibo(content);
1071            // alert(JSON.stringify(content))
1072          });
1073        };
1074
1075      _this.loadScript("//res.wx.qq.com/open/js/jweixin-1.2.0.js", function () {
1076        $.ajax({
1077          url: "//weixin.dongfeng-nissan.com.cn/lyapi.php?a=CommonApi&m=jssdk",
1078          data: {
1079            key: "0AE6BFEBDEBFC9D955F450954AEAD8E3",
1080          },
1081          dataType: "jsonp",
1082          success: function success(json) {
1083            initWxShare(json);
1084          },
1085        });
1086      });
1087    },
1088    wechatShare: function wechatShare() {
1089      var _this = this;
1090      if ($PageJson.wechatShareInfo) {
1091        _this.wxShare({
1092          title: $PageJson.wechatShareInfo.title,
1093          cont: $PageJson.wechatShareInfo.description,
1094          logo: $PageJson.wechatShareInfo.icon,
1095        });
1096      }
1097    },
1098    //侧边栏
1099    sidebar: function sidebar() {
1100      //侧边栏
1101      var _this = this,
1102        timer,
1103        //定时器
1104        first = true; //判断是否是第一次出现
1105
1106      //点击展开按钮
1107      $(".sidebar .option").on("click", function () {
1108        var sidebar = $(".sidebar");
1109        if (sidebar.hasClass("lock")) {
1110          sidebar.removeClass("lock");
1111        } else {
1112          sidebar.addClass("lock");
1113        }
1114        sidebar.css("opacity", "1");
1115        if (timer) {
1116          clearTimeout(timer);
1117        }
1118        //手机端
1119        if (!_this.IsPC()) {
1120          timer = setTimeout(function () {
1121            if (!sidebar.hasClass("lock")) {
1122              sidebar.addClass("lock");
1123            }
1124            sidebar.css("opacity", "0.3");
1125          }, 3000);
1126        }
1127      });
1128
1129      //回到顶部
1130      $(".to-top").on("click", function () {
1131        _this.toScrollElement("body,html");
1132      });
1133
1134      //在线客服
1135      $(
1136        "[data-ad=onlinemall-nav-cs],[data-ad=sidemenu-kefu],[data-ad=nissanfooter-cs],[data-ad=mediafooter-cs]"
1137      ).on("click", function () {
1138        if ($config.IsPC()) {
1139          AICCFunc.showChatDialog({ showOrHide: "show" });
1140        } else {
1141          var kf_url =
1142            "https://xiaoiqd.dongfeng-nissan.com.cn/static/html-richanNew/nissan-h5-human.html";
1143          var getUserInfo = window.localStorage.getItem("aiccCustomInfo");
1144          if (getUserInfo) {
1145            getloginInfo = "aiccCustomInfo=" + encodeURIComponent(getUserInfo);
1146            location.href = kf_url + "?" + getloginInfo;
1147          } else {
1148            location.href = kf_url;
1149          }
1150          // location.href = 'https://xiaoiqd.dongfeng-nissan.com.cn/static/html-richan/nissan-h5-human.html';
1151        }
1152      });
1153
1154      //display
1155      $(window).scroll(function () {
1156        var sidebar = $(".sidebar"),
1157          scrollTop = $(document).scrollTop(),
1158          winH = $(window).height(),
1159          docH = $(document).height();
1160
1161        //页面滚动过三分之二的时候
1162        if (scrollTop - (winH * 2) / 3 > 0) {
1163          //第一次出现的时候
1164          if (first) {
1165            first = false;
1166            if (_this.IsPC()) {
1167              first = false;
1168              sidebar.removeClass("lock");
1169              timer = setTimeout(function () {
1170                sidebar.addClass("lock");
1171              }, 5000);
1172            } else {
1173              timer = setTimeout(function () {
1174                sidebar.css("opacity", "0.3");
1175              }, 5000);
1176            }
1177          }
1178          sidebar.show();
1179        } else {
1180          sidebar.hide();
1181        }
1182        if (docH - scrollTop - winH < (winH * 2) / 5) {
1183          sidebar.hide();
1184        }
1185      });
1186    },
1187
1188    //底部
1189    footer: function footer() {
1190      var _this = this;
1191
1192      function footOption() {
1193        var winW = $(window).width();
1194        if (winW > _this.screen.sm) {
1195          $(".footer .column-list").removeClass("n-open");
1196        }
1197      }
1198
1199      $(window).resize(function () {
1200        footOption();
1201        setTimeout(function () {
1202          _this.getOffset();
1203        }, 300);
1204      });
1205
1206      // $('[data-toggle="popover"]').popover({ html: true });
1207      try {
1208        $('[data-toggle="popover"]').popover({ html: true });
1209      } catch (error) {
1210        console.log("popover初始化失败,但不影响其他功能");
1211      }
1212
1213      $(".footer .column-list .btn-open").on("click", function () {
1214        var ele = $(this).closest(".column-list");
1215        if (!ele.hasClass("n-open")) {
1216          $(".column-list").removeClass("n-open");
1217          ele.addClass("n-open");
1218        } else {
1219          $(".column-list").removeClass("n-open");
1220        }
1221      });
1222    },
1223
1224    //超过黑色导航条就固定在顶部
1225    topbar: function topbar() {
1226      var _this = this;
1227      if ($("body .purchase-link").length != 0) {
1228        //$('body .nbig-h1') 全部都固定
1229        var hasDes = $(".nbig-h1").hasClass("des");
1230        $(window).scroll(function () {
1231          var scrollTop = $(window).scrollTop();
1232          var h1_height = $(".nbig-h1").outerHeight();
1233          if (scrollTop > $(".nbig-h1").offset().top + h1_height) {
1234            $(".nbig-h1").addClass("fixed");
1235            $(".nbig-h1").css({ height: h1_height });
1236            if (hasDes) {
1237              $(".nbig-h1").removeClass("des");
1238            }
1239          } else {
1240            $(".nbig-h1").removeClass("fixed");
1241            $(".nbig-h1").css({ height: "auto" });
1242            if (hasDes) {
1243              $(".nbig-h1").addClass("des");
1244            }
1245          }
1246          for (var i = $(".skip-sec").length - 1; i >= 0; i--) {
1247            if (
1248              scrollTop >=
1249              parseInt($(".skip-sec").eq(i).offset().top) -
1250                $(".nbig-h1 .tit").outerHeight()
1251            ) {
1252              $(".hbig-link li")
1253                .eq(i)
1254                .addClass("active")
1255                .siblings()
1256                .removeClass("active");
1257              return;
1258            } else {
1259              $(".hbig-link li").removeClass("active");
1260            }
1261          }
1262        });
1263      }
1264    },
1265
1266    //点击黑色导航条跳到对应板块
1267    setSkip: function setSkip() {
1268      $(document).on("click", ".hbig-link li", function () {
1269        var _th = $(this),
1270          fsOffset = 0;
1271        _th.blur();
1272        var index = $(".hbig-link li").index(this);
1273        // if (index > 0) {
1274        fsOffset = $(".nbig-h1 .tit").outerHeight();
1275        // }else{
1276        //   fsOffset = 0;
1277        // }
1278        if ($config.IsPC() && index == 0) {
1279          fsOffset = 0;
1280        }
1281        var hh = $config.offset[index];
1282        $("html,body")
1283          .stop()
1284          .animate(
1285            {
1286              scrollTop: hh - fsOffset + "px",
1287            },
1288            300
1289          );
1290        if ($(this).parents(".skip-h1").hasClass("open")) {
1291          $(this).parents(".skip-h1").removeClass("open");
1292          $(this).parents(".skip-h1").find("ul").stop().slideUp(0);
1293        }
1294      });
1295
1296      $(document).on("click", ".skip-h1 .tit", function () {
1297        if ($(window).width() > $config.screen.md) {
1298          return;
1299        }
1300        if ($(this).parents(".skip-h1").hasClass("open")) {
1301          $(this).parents(".skip-h1").removeClass("open");
1302          $(this).parents(".skip-h1").find("ul").stop().slideUp();
1303        } else {
1304          $(this).parents(".skip-h1").addClass("open");
1305          $(this).parents(".skip-h1").find("ul").stop().slideDown();
1306        }
1307      });
1308    },
1309
1310    offset: [],
1311    //黑色导航条获取每个模块对应的offset.top
1312    getOffset: function getOffset() {
1313      $(function () {
1314        var imgdefereds = [];
1315        var offset = [];
1316        jQuery.each(jQuery(".skip-wrap img"), function (i, item) {
1317          var dfd = $.Deferred();
1318          $(this)
1319            .bind("load", function () {
1320              dfd.resolve();
1321            })
1322            .bind("error", function () {
1323              //图片加载错误,加入错误处理
1324              // dfd.resolve();
1325            });
1326          if (this.complete)
1327            setTimeout(function () {
1328              dfd.resolve();
1329            }, 1000);
1330          imgdefereds.push(dfd);
1331        });
1332        $.when.apply(null, imgdefereds).done(function () {
1333          for (var i = 0; i < $(".skip-sec").length; i++) {
1334            offset.push(parseInt($(".skip-sec").eq(i).offset().top) + 5);
1335          }
1336          $config.offset = offset;
1337        });
1338      });
1339    },
1340
1341    //文字内容弹窗
1342    baseLayer: function baseLayer(obj) {
1343      var box = layer.open({
1344        type: 1,
1345        title: false,
1346        closeBtn: 0,
1347        shade: 0.7,
1348        area: ["100%", "100%"],
1349        skin: "layui-layer-nobg",
1350        shadeClose: true,
1351        content: obj,
1352      });
1353
1354      obj.find(".layer-close-btn").click(function () {
1355        layer.close(box);
1356        setTimeout(function () {
1357          $(".privacy_layer").css("cssText", "display: none!important;");
1358          $(".base_layer").css("cssText", "display: none!important;");
1359        }, 100);
1360        $(".one-pic img").remove();
1361      });
1362    },
1363
1364    //预约试驾组件-隐私条款弹窗
1365    privateLayer: function privateLayer(Fun) {
1366      var html = "";
1367
1368      if (Fun) {
1369        // 表单只剩隐私条款没勾选
1370        html =
1371          '\n      <div class="base_layer protection_layer">\n        <div class="tit">\u9690\u79C1\u6761\u6B3E</div>\n        <div class="txt">\n           <div class="wrap">' +
1372          $Json.protection +
1373          '</div>\n        </div>\n        <div class="btn btn-primary btn-submit" data-ad="private-layer-agree">\u540C\u610F\u5E76\u7ACB\u5373\u9884\u7EA6<i class="icon icon-arrow-right"></i></div>\n        <div class="btn btn-close" data-ad="private-layer-close">\u53D6\u6D88\u9884\u7EA6</div>\n      </div>\n      ';
1374      } else {
1375        // 点击隐私条款
1376        html =
1377          '\n      <div class="base_layer protection_layer">\n        <div class="tit">\u9690\u79C1\u6761\u6B3E</div>\n        <div class="txt">\n           <div class="wrap">' +
1378          $Json.protection +
1379          '</div>\n        </div>\n          <div class="layer-close-btn icon icon-close"></div>\n      </div>\n      ';
1380      }
1381
1382      var box = layer.open({
1383        type: 1,
1384        title: false,
1385        closeBtn: 0,
1386        shade: 0.7,
1387        area: ["100%", "100%"],
1388        skin: "layui-layer-nobg",
1389        shadeClose: true,
1390        content: html,
1391      });
1392
1393      //提交预约试驾表单
1394
1395      $(document).on("click", ".protection_layer .btn-submit", function () {
1396        Fun();
1397
1398        layer.close(box);
1399      });
1400
1401      //关闭当前弹窗
1402      $(document).on("click", ".layer-close-btn,.btn-close", function () {
1403        layer.close(box);
1404      });
1405    },
1406
1407    //视频弹窗
1408
1409    videoLayer: function videoLayer(link, obj) {
1410      var box = layer.open({
1411        type: 1,
1412        title: false,
1413        closeBtn: 0,
1414        shade: 0.7,
1415        area: ["100%", "100%"],
1416        skin: "layui-layer-nobg",
1417        shadeClose: true,
1418        content:
1419          '<div class="video-play-box"> <i class="icon icon-close1 close-btn"></i> <div class="video-wrap"> <video controls autoplay x-webkit-airplay="true" webkit-playsinline="true" playsinline> <source src="' +
1420          link +
1421          '" type="video/mp4" /> </video> </div> </div>',
1422      });
1423      if (obj) {
1424        var num = 5;
1425        var incidentClassify = window.location.pathname.split("/").pop();
1426        var newIncidentClassify = incidentClassify.replace(/-/g, "");
1427        var movementClassify = obj.attr("data-ad");
1428
1429        var realTimeClData = setInterval(function () {
1430          stm_clicki(
1431            "send",
1432            "event",
1433            newIncidentClassify,
1434            movementClassify + "##" + num + "s"
1435          );
1436          num += 5;
1437        }, 5000);
1438
1439        $(".video-play-box").click(function () {
1440          num = 5;
1441          clearInterval(realTimeClData);
1442          layer.close(box);
1443        });
1444
1445        $(".video-play-box video").click(function (e) {
1446          e.stopPropagation();
1447        });
1448        $(".video-play-box video")[0].onpause = function () {
1449          clearInterval(realTimeClData);
1450        };
1451
1452        $(".video-play-box video")[0].onplay = function () {
1453          clearInterval(realTimeClData);
1454          realTimeClData = setInterval(function () {
1455            stm_clicki(
1456              "send",
1457              "event",
1458              newIncidentClassify,
1459              movementClassify + "##" + num + "s"
1460            );
1461            num += 5;
1462          }, 5000);
1463        };
1464      } else {
1465        $(".video-play-box video").click(function (e) {
1466          e.stopPropagation();
1467        });
1468        $(".video-play-box").click(function () {
1469          layer.close(box);
1470        });
1471      }
1472    },
1473    followUpDialog: function followUpDialog() {
1474      var box = layer.open({
1475        type: 1,
1476        title: false,
1477        closeBtn: 0,
1478        shade: 0.7,
1479        area: ["100%", "100%"],
1480        skin: "layui-layer-nobg",
1481        shadeClose: true,
1482        content:
1483          '\n        <div class="follow-up-wrap">\n          <i class="icon icon-close1 close-btn"></i>\n          <div class="tit"><i class="icon icon-gantan"></i><span>\u5F88\u62B1\u6B49\uFF01</span></div>\n          <div class="txt">\u8BE5\u7ECF\u9500\u5546\u6682\u672A\u5F00\u901A\u6B64\u9879\u529F\u80FD\uFF0C\u8BF7\u9009\u62E9<br>\u5176\u4ED6\u4E1C\u98CE\u65E5\u4EA7\u7ECF\u9500\u5546</div>\n          <div class="sure-btn">\u77E5\u9053\u4E86</div>\n        </div>',
1484      });
1485      $(".follow-up-wrap .sure-btn,.follow-up-wrap .close-btn").click(
1486        function () {
1487          layer.close(box);
1488        }
1489      );
1490    },
1491
1492    //获取图片路径
1493    getURL: function getURL(img_src) {
1494      var src = img_src.split("/");
1495      var real_src = "";
1496      for (var i = 0; i < src.length - 1; i++) {
1497        real_src += src[i] + "/";
1498      }
1499      return real_src;
1500    },
1501
1502    //设置隐私条款
1503    setPrivacyEle: function setPrivacyEle() {
1504      var _this = this;
1505      if (!_this.getCookie("isShowPrivacy")) {
1506        var html =
1507          '<div class="top-privacy">' +
1508          '    <div class="container-lg">' +
1509          '        <p>我们将使用cookie优化您的浏览体验(包括使用您的浏览历史及兴趣偏好进行相关内容推荐),如果您使用此站点,即表示您同意使用Cookie和<span class="privacy1" >《<a style="text-decoration: underline;color: #fff;" href="https://www.dongfeng-nissan.com.cn/about/privacy" target="_blank">东风日产隐私政策</a>》</span>。</p> <div class="btn btn-primary white small">我同意</div>' +
1510          "    </div>" +
1511          "</div>" +
1512          '<div class="privacy_layer">' +
1513          '    <div class="tit">东风日产隐私政策</div>' +
1514          '    <div class="txt">' +
1515          '        <div class="wrap"></div>' +
1516          "    </div>" +
1517          '    <div class="layer-close-btn icon icon-close"></div>' +
1518          "</div>";
1519        $("body").prepend(html);
1520        $(".top-privacy .btn").click(function () {
1521          $(".top-privacy").slideUp(300);
1522          _this.setCookie("isShowPrivacy", false, 168);
1523        });
1524        $(".top-privacy .privacy").click(function () {
1525          $config.baseLayer($(".privacy_layer"));
1526        });
1527        $(".privacy_layer .wrap").html($Json.protection);
1528      }
1529    },
1530
1531    //媒体中心
1532    media: {
1533      //退出登录
1534      LoginOut: function LoginOut() {
1535        if ($("#mediaLoginOut").length > 0) {
1536          $("#mediaLoginOut").on("click", function () {
1537            var loadIndex = $config.layer.load();
1538            $.ajax({
1539              url: $config.Debug() + "/MediaCenter/ajax/Account/LoginOut",
1540              type: "post",
1541              dataType: "json",
1542              success: function success(res) {
1543                layer.close(loadIndex);
1544                if (res.success) {
1545                  location.href = "/";
1546                }
1547              },
1548            });
1549          });
1550        }
1551      },
1552    },
1553    // 页面弹出框,禁止主内容滚动
1554    pagePopupTop: "",
1555    pagePopup: function pagePopup() {
1556      var _this = this;
1557      return {
1558        allow: function allow(ele) {
1559          if (_this.IsPC()) {
1560            $("body,html").css("overflow", "auto");
1561          } else {
1562            if (ele) {
1563              $(ele).unbind("touchmove", function (e) {
1564                e.preventDefault();
1565              });
1566            } else {
1567              $(window).scrollTop(_this.pagePopupTop);
1568            }
1569          }
1570        },
1571        forbid: function forbid(ele) {
1572          if (_this.IsPC()) {
1573            $("body,html").css("overflow", "hidden");
1574          } else {
1575            if (ele) {
1576              $(ele).bind("touchmove", function (e) {
1577                e.preventDefault();
1578              });
1579            } else {
1580              _this.pagePopupTop = $(window).scrollTop();
1581            }
1582          }
1583        },
1584      };
1585    },
1586
1587    //导航栏
1588    navbar: function navbar() {
1589      var distanceTop = 0;
1590
1591      // 导航栏展开、关闭
1592      $(".navbar .open-btn").click(function () {
1593        var navbar = $(".navbar"),
1594          content = $(".navbar-content");
1595
1596        // 展开
1597        if (!navbar.hasClass("open")) {
1598          // 记录打开导航时距离顶部的距离
1599          distanceTop = $(window).scrollTop();
1600
1601          // 主导航打开
1602          navbar.addClass("open");
1603
1604          // 导航展开内容打开
1605          if (content.hasClass("open-more")) {
1606            content.fadeIn(300);
1607          } else {
1608            content.show(0, function () {
1609              content.addClass("open");
1610            });
1611          }
1612        }
1613        // 关闭
1614        else {
1615          // 设置距离顶部的距离
1616          $(window).scrollTop(distanceTop);
1617
1618          // 主导航关闭
1619          navbar.removeClass("open");
1620
1621          // 导航展开内容关闭
1622          content.removeClass("open");
1623          if (content.hasClass("open-more")) {
1624            content.hide();
1625          } else {
1626            setTimeout(function () {
1627              content.hide();
1628            }, 300);
1629          }
1630        }
1631      });
1632
1633      // 子导航
1634      $(".navbar-content .menu .menu-btn").click(function (e) {
1635        var content = $(".navbar-content");
1636        var parent = $(this).parent();
1637        var menuCont = parent.find("> .menu-content");
1638
1639        if ($(this).hasClass("active")) {
1640          // 手机端点击第二次隐藏
1641          if ($(window).width() < $config.screen.sm) {
1642            menuCont.hide();
1643            $(this).removeClass("active");
1644          }
1645        } else {
1646          // 存在二级导航时
1647          if (menuCont.length > 0) {
1648            e.preventDefault();
1649            // 扩大二级导航到全屏状态
1650            content.addClass("open-more");
1651            // 移除所有高亮状态
1652            parent.parent().find("> li > .menu-btn").removeClass("active");
1653            parent
1654              .parent()
1655              .siblings()
1656              .find("> li > .menu-btn")
1657              .removeClass("active");
1658            // 给选中的按钮添加高亮状态
1659            $(this).addClass("active");
1660            // 隐藏所有子内容
1661            parent.parent().find("> li > .menu-content").hide();
1662            parent.parent().siblings().find("> li > .menu-content").hide();
1663            // 显示选中的栏目下的子内容
1664            menuCont.show();
1665          }
1666        }
1667      });
1668
1669      // 固定导航栏变化
1670      (function () {
1671        var defaultDis = $(window).scrollTop(),
1672          smallTop = void 0;
1673
1674        function InitResize() {
1675          var winTop = $(window).scrollTop();
1676          // 固定导航栏效果
1677          if ($(".navbar").hasClass("fixed")) {
1678            smallTop = Math.abs($(".navbar-body").innerHeight());
1679            if (winTop > smallTop) {
1680              $(".navbar-body").addClass("deep");
1681            } else {
1682              $(".navbar-body").removeClass("deep");
1683            }
1684          } else {
1685            smallTop = Math.abs($(".navbar").innerHeight());
1686          }
1687          // 缩小导航条
1688          if (
1689            !$(".navbar").hasClass("absolute") &&
1690            !$(".navbar").hasClass("no-deep") &&
1691            !$(".navbar").hasClass("open")
1692          ) {
1693            if (defaultDis > smallTop && $(window).scrollTop() > 0) {
1694              $(".navbar").addClass("small");
1695            } else {
1696              $(".navbar").removeClass("small");
1697            }
1698            if (defaultDis >= winTop || defaultDis <= smallTop) {
1699              $(".navbar").addClass("show");
1700            } else {
1701              $(".navbar").removeClass("show");
1702            }
1703            defaultDis = winTop;
1704          }
1705        }
1706
1707        // 初始化
1708        InitResize();
1709        $(window).scroll(function () {
1710          InitResize();
1711        });
1712      })();
1713
1714      // // 移动车型栏 (2025-02-13修改)
1715      // (function () {
1716      //   $(".menu-content-car .tab-column li").click(function () {
1717      //     var index = $(this).index();
1718      //     // 标识高亮状态
1719      //     $(this).addClass("active").siblings().removeClass("active");
1720      //     // 展示对应的内容
1721      //     $(".menu-content-car .cont-column li").eq(index).addClass("active").siblings().removeClass("active");
1722      //   });
1723      // })();
1724      // 移动车型栏 (2025-02-13修改)
1725      (function () {
1726        $(".navbar-content .menu-content-car .tab-column li").click(
1727          function () {
1728            const index = $(this).index();
1729            // 标识高亮状态
1730            $(this).addClass("active").siblings().removeClass("active");
1731            // 展示对应的内容
1732            $(".navbar-content .menu-content-car .cont-column li")
1733              .eq(index)
1734              .addClass("active")
1735              .siblings()
1736              .removeClass("active");
1737          }
1738        );
1739      })();
1740
1741      // pc车型栏 (2025-02-13修改)
1742      (function () {
1743        $("#carList .menu-content-car .tab-column li").click(function () {
1744          const index = $(this).index();
1745          // 标识高亮状态
1746          $(this).addClass("active").siblings().removeClass("active");
1747          // 展示对应的内容
1748          $("#carList .menu-content-car .cont-column li")
1749            .eq(index)
1750            .addClass("active")
1751            .siblings()
1752            .removeClass("active");
1753        });
1754      })();
1755
1756      //搜索
1757      $(".search-box").submit(function () {
1758        var val = $(this).find("input").val();
1759        // smq埋码
1760        try {
1761          _smq.push([
1762            "custom",
1763            "nissan-searchresult",
1764            "searchresult-searchword",
1765            val,
1766          ]);
1767        } catch (e) {}
1768
1769        if ($(".navbar-nav > li.think").hasClass("media-think")) {
1770          //媒体中心搜索的话
1771          if (isVerifyt(true)) {
1772            window.open($PageJson.SearchPageURL + "?kw=" + val);
1773          }
1774          return;
1775        }
1776        if (isVerifyt(true)) {
1777          window.open($PageJson.SearchPageURL + "?kw=" + val);
1778        }
1779      });
1780
1781      $(".search-box input").blur(function () {
1782        isVerifyt();
1783      });
1784
1785      //判断是否为空
1786      function isVerifyt(type) {
1787        var val = $(".search-box input").val();
1788        if (val == "") {
1789          if (type) {
1790            $(".search-box .error").show();
1791          }
1792          return false;
1793        } else {
1794          $(".search-box .error").hide();
1795          return true;
1796        }
1797      }
1798    },
1799  }),
1800  _defineProperty(
1801    _window$$config,
1802    "getScrollbarWidth",
1803    function getScrollbarWidth() {
1804      var oP = document.createElement("p"),
1805        styles = {
1806          width: "100px",
1807          height: "100px",
1808        },
1809        i,
1810        clientWidth1,
1811        clientWidth2,
1812        scrollbarWidth;
1813      for (i in styles) {
1814        oP.style[i] = styles[i];
1815      }
1816      document.body.appendChild(oP);
1817      clientWidth1 = oP.clientWidth;
1818      oP.style.overflowY = "scroll";
1819      clientWidth2 = oP.clientWidth;
1820      scrollbarWidth = clientWidth1 - clientWidth2;
1821      oP.parentNode.removeChild(oP);
1822      return scrollbarWidth;
1823    }
1824  ),
1825  _defineProperty(_window$$config, "secondNav", function secondNav() {
1826    //没有二级就return
1827    var second = $(".second-nav");
1828    if (second.length <= 0) return;
1829    var _this = this;
1830
1831    $(".second-ul > li").hover(
1832      function () {
1833        if (!_this.IsPC()) return;
1834        var nav = $(this).closest(".second-nav"),
1835          thr = $(this).find(".thr-nav");
1836        if (!nav.hasClass("open") && thr.length > 0) {
1837          nav.find(".thr-bg").show();
1838        }
1839
1840        if (thr.length > 0) {
1841          $(this).siblings().addClass("none");
1842        }
1843      },
1844      function () {
1845        if (!_this.IsPC()) return;
1846        var nav = $(this).closest(".second-nav");
1847        //没有open的情况
1848        if (!nav.hasClass("open")) {
1849          nav.find(".thr-bg").hide();
1850        }
1851        $(".second-ul > li").removeClass("none");
1852      }
1853    );
1854
1855    //pad,phone
1856    $(".fold-nav").on("click", function () {
1857      if (second.hasClass("phone")) {
1858        second.removeClass("phone");
1859      } else {
1860        second.addClass("phone");
1861      }
1862    });
1863
1864    //计算导航状态
1865    /*function countNav() {
1866    const winW = $(window).width();
1867    if (winW <= _this.screen.md) {
1868      second.find('.fold-nav').addClass('collapsed')
1869      second.find('.second-bg').removeClass('in')
1870    }else{
1871      second.find('.fold-nav').removeClass('collapsed')
1872      second.find('.second-bg').addClass('in')
1873    }
1874  }
1875   $(window).resize(function () {
1876    countNav()
1877  })
1878   countNav()*/
1879  }),
1880  _defineProperty(_window$$config, "IsCanVoice", function IsCanVoice() {
1881    if (!this.IsPC()) {
1882      var a =
1883        navigator.getUserMedia ||
1884        navigator.webkitGetUserMedia ||
1885        navigator.mozGetUserMedia ||
1886        navigator.msGetUserMedia;
1887      if (a && location.protocol == "https:") {
1888        var ele =
1889          '<a class="btn btn-voice" href="' +
1890          $PageJson.SearchPageURL +
1891          '?type=voice">语音搜索</a>';
1892        $(".nav .think").addClass("voice").prepend(ele);
1893      }
1894    }
1895  }),
1896  _defineProperty(_window$$config, "setSmartcode", function setSmartcode() {
1897    var _this = this;
1898    if ($config.GetQueryString("SMARTCODE")) {
1899      _this.setCookie("SMARTCODE", $config.GetQueryString("SMARTCODE"), 8);
1900    }
1901  }),
1902  _defineProperty(
1903    _window$$config,
1904    "setLinkSmartCode",
1905    function setLinkSmartCode() {
1906      var smartcode = void 0;
1907      if ($config.getCookie("SMARTCODE")) {
1908        smartcode = $config.getCookie("SMARTCODE");
1909      } else {
1910        smartcode = "A2019-1909-6882-743-166869";
1911      }
1912      // 匹配链接 如果带有chebaba/mall.dongfeng-nissan.com都带上SC和from=nissan
1913      $("a").each(function () {
1914        var url = $(this).attr("href");
1915        if (!url) {
1916          return;
1917        }
1918        if (
1919          url.indexOf("chebaba.com") != -1 ||
1920          url.indexOf("mall.dongfeng-nissan.com.cn") != -1
1921        ) {
1922          if (url.indexOf("?") != -1) {
1923            //如果链接带有参数
1924            $(this).attr(
1925              "href",
1926              url + "&SMARTCODE=" + smartcode + "&from=nissan"
1927            );
1928          } else {
1929            //如果链接不带参数
1930            $(this).attr(
1931              "href",
1932              url + "?SMARTCODE=" + smartcode + "&from=nissan"
1933            );
1934          }
1935        }
1936      });
1937    }
1938  ),
1939  _defineProperty(_window$$config, "setLinkABTest", function setLinkABTest() {
1940    // 针对轩逸车型站 AB-Test
1941    $("a[href='/car/sylphy']").each(function () {
1942      var random = Math.random();
1943      if (random <= 0.7) {
1944      } else if (random <= 0.8) {
1945        $(this).attr({ href: "/activity/sylphy/a" });
1946      } else if (random <= 0.9) {
1947        $(this).attr({ href: "/activity/sylphy/b" });
1948      } else {
1949        $(this).attr({ href: "/activity/sylphy/c" });
1950      }
1951    });
1952  }),
1953  _defineProperty(_window$$config, "getClueURL", function getClueURL() {
1954    var clueURL = document.referrer ? document.referrer : window.location.href;
1955    var clueArr = clueURL.split("?");
1956    // 链接如果没有"?"
1957    if (clueArr.length <= 1) {
1958      var wellNum = window.location.hash.split("#");
1959      if (wellNum.length <= 1) {
1960        return clueURL.replace("#", "%23");
1961      } else {
1962        var urlHref = window.location.href;
1963        urlHref = urlHref.split("#");
1964        return urlHref[0] + "%23" + encodeURIComponent(urlHref[1]);
1965      }
1966    } else {
1967      //参数"?"前面有"#"要编码
1968      return (
1969        clueArr[0].replace("#", "%23") + "?" + encodeURIComponent(clueArr[1])
1970      );
1971    }
1972  }),
1973  _defineProperty(_window$$config, "getTime", function getTime() {
1974    var date = new Date();
1975    var year = date.getFullYear();
1976    var month = date.getMonth() + 1;
1977    var day = date.getDate();
1978    var hour = date.getHours();
1979    var minute = date.getMinutes();
1980    var second = date.getSeconds();
1981
1982    if (hour < 10) {
1983      hour = "0" + hour;
1984    }
1985    if (minute < 10) {
1986      minute = "0" + minute;
1987    }
1988    if (second < 10) {
1989      second = "0" + second;
1990    }
1991
1992    var x = date.getDay(); //获取星期
1993    return (
1994      year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second
1995    );
1996  }),
1997  _defineProperty(_window$$config, "setFooterText", function setFooterText() {
1998    var _this = this;
1999    $(".footer [data-ad=nissanfooter-visit2]").click(function () {
2000      var date = new Date(),
2001        day_num = date.getDate(),
2002        day = date.getDay(),
2003        year = date.getFullYear(),
2004        month = date.getMonth() + 1,
2005        time = _this.getTime().split(" ")[1];
2006      var number = time.replace(/:/g, "");
2007      var link = $(this).attr("href");
2008      layer.alert("工作日7:30~19:30开启预约!", function (index) {
2009        layer.close(index);
2010        if (month === 10 && day_num < 8) {
2011          // 国庆假期
2012        } else if (
2013          (month === 12 && day_num === 31) ||
2014          (month === 1 && day_num === 1)
2015        ) {
2016          // 元旦假期
2017        } else if (day > 0 && day < 6 && number >= 73000 && number <= 193000) {
2018          // 正常工作日
2019          window.open(link);
2020        } else if (
2021          (month === 10 && day_num === 10) ||
2022          (month === 12 && day_num === 19)
2023        ) {
2024          // 国庆节|12月周末工作日
2025          window.open(link);
2026        }
2027      });
2028      return false;
2029    });
2030  }),
2031  _defineProperty(_window$$config, "init", function init() {
2032    this.navbar();
2033    this.getOffset();
2034    this.topbar();
2035    this.setSkip();
2036    this.sidebar();
2037    this.secondNav();
2038    this.footer();
2039    this.setPrivacyEle();
2040    this.IsCanVoice();
2041    this.setSmartcode();
2042    this.setLinkSmartCode();
2043    // this.setLinkABTest()
2044    this.media.LoginOut();
2045    this.wechatShare();
2046    // this.setFooterText()
2047  }),
2048  _window$$config);
2049
2050$config.init();
2051
2052angular
2053  .module("ngDirective", [])
2054  .directive("inputs", [
2055    "$compile",
2056    function ($compile) {
2057      return {
2058        restrict: "ECMA",
2059        scope: {},
2060        link: function link(scope, ele, attr) {
2061          var input = document.createElement("input");
2062          var isSupportPlaceholder = "placeholder" in input;
2063          if (!isSupportPlaceholder) {
2064            var fakePlaceholder = angular.element(
2065              '<span style="position:absolute;margin:8px 0 0 12px;color:#666;font-size: 14px;padding:0;right:auto;">' +
2066                attr["placeholder"] +
2067                "</span>"
2068            );
2069            fakePlaceholder.on("click", function (e) {
2070              e.stopPropagation();
2071              ele.focus();
2072            });
2073            ele.before(fakePlaceholder);
2074            scope.hasValue = function () {
2075              return ele.val();
2076            };
2077            scope.$watch(scope.hasValue, function () {
2078              if (ele.val()) {
2079                fakePlaceholder.hide();
2080              }
2081            });
2082            $compile(fakePlaceholder)(scope);
2083            ele
2084              .on("focus", function () {
2085                fakePlaceholder.hide();
2086              })
2087              .on("blur", function () {
2088                if (ele.val() === "") {
2089                  fakePlaceholder.show();
2090                }
2091              });
2092          }
2093        },
2094      };
2095    },
2096  ])
2097  .directive("ngFocus", [
2098    function () {
2099      var FOCUS_CLASS = "ng-focused";
2100      return {
2101        restrict: "A",
2102        require: "ngModel",
2103        link: function link(scope, element, attrs, ctrl) {
2104          ctrl.$focused = false;
2105          element
2106            .bind("focus", function (evt) {
2107              element.addClass(FOCUS_CLASS);
2108              scope.$apply(function () {
2109                ctrl.$focused = true;
2110              });
2111            })
2112            .bind("blur", function (evt) {
2113              element.removeClass(FOCUS_CLASS);
2114              scope.$apply(function () {
2115                ctrl.$focused = false;
2116              });
2117            });
2118        },
2119      };
2120    },
2121  ])
2122
2123  //活动
2124  .directive("myActivity", [
2125    "https",
2126    function (https) {
2127      return {
2128        scope: {
2129          dTitle: "@",
2130          dParam: "@",
2131          dUrl: "@",
2132        },
2133        restrict: "E",
2134        replace: true,
2135        template:
2136          '<div class="active-list-box" ng-show="lists">' +
2137          '<h3 class="text-center">{{dTitle}}</h3>' +
2138          '<div class="active-list clearfix">' +
2139          '       <div class="col-lg-6 col-md-6 col-sm-6" ng-repeat="item in lists">' +
2140          "            <div class=\"list\" ng-class=\"{'-1':'finish', '1':'nostart'}[item.Status.Status]\">" +
2141          '                <a class="pic" ng-href="{{item.DetailLink}}" rel="noopener" target="_blank">' +
2142          '                    <img ng-src="{{item.Thumbnail.URL | ImgHost}}">' +
2143          '                    <label class="btn-sm">{{item.Status.Status | AcStatus}}</label>' +
2144          "                </a>" +
2145          '                <div class="cont-box">' +
2146          '                    <div class="tit"><a ng-href="{{item.DetailLink}}" rel="noopener" target="_blank">{{item.Title}}</a></div>' +
2147          '                    <div class="time">' +
2148          '                        <i class="icon icon-time"></i>活动时间:{{item.StartDate}} - {{item.EndDate}}' +
2149          // '                        <span><i class="icon icon-local"></i>{{item.Location}}</span>' +
2150          "                    </div>" +
2151          "                </div>" +
2152          "            </div>" +
2153          "        </div>" +
2154          "    </div>" +
2155          "</div>",
2156        link: function link(scope, element, attrs) {
2157          scope.lists = false;
2158          scope.dParam = JSON.parse(scope.dParam);
2159          scope.dParam.ajaxCallSiteInfo = $PageJson.ajaxCallSiteInfo;
2160          https.Asyn(https.api[scope.dUrl], scope.dParam).then(function (res) {
2161            scope.lists = [];
2162            for (var i = 0; i < 2; i++) {
2163              scope.lists.push(res.data[i]);
2164            }
2165          });
2166        },
2167      };
2168    },
2169  ])
2170
2171  //媒体评测
2172  .directive("myMedia", [
2173    "https",
2174    function (https) {
2175      return {
2176        scope: {
2177          dTitle: "@",
2178          dParam: "@",
2179          dUrl: "@",
2180        },
2181        restrict: "E",
2182        replace: true,
2183        template:
2184          '<div class="active-list-box" ng-show="lists">' +
2185          '<h3 class="text-center">{{dTitle}}</h3>' +
2186          '<div class="active-list clearfix">' +
2187          '       <div class="col-lg-4 col-md-4 col-sm-6" ng-repeat="item in lists">' +
2188          '                <div class="list">' +
2189          '                    <a class="pic" ng-href="{{item.Link}}" rel="noopener" target="_blank">' +
2190          '                        <img ng-src="{{item.Image.URL | ImgHost}}">' +
2191          "                    </a>" +
2192          '                    <div class="cont-box">' +
2193          '                        <div class="tit"><a ng-href="{{item.Link}}" rel="noopener" target="_blank">{{item.Title}}</a></div>' +
2194          '                        <div class="time">' +
2195          '                             <img ng-src="{{item.Icon.URL | ImgHost}}"></i> 内容来源:{{item.MediaSources}}' +
2196          '                               <span><i class="icon icon-time"></i>{{item.PublishDate}}</span>' +
2197          "                        </div>" +
2198          '                        <div class="des">{{item.Abstract}}</div>' +
2199          "                    </div>" +
2200          "                </div>" +
2201          "            </div> " +
2202          "    </div>" +
2203          "</div>",
2204        link: function link(scope, element, attrs) {
2205          scope.lists = false;
2206          scope.dParam = JSON.parse(scope.dParam);
2207          scope.dParam.ajaxCallSiteInfo = $PageJson.ajaxCallSiteInfo;
2208          https.Asyn(https.api[scope.dUrl], scope.dParam).then(function (res) {
2209            scope.lists = [];
2210            for (var i = 0; i < 3; i++) {
2211              scope.lists.push(res.data[i]);
2212            }
2213          });
2214        },
2215      };
2216    },
2217  ])
2218
2219  //品牌资讯
2220  .directive("myNews", [
2221    "https",
2222    function (https) {
2223      return {
2224        scope: {
2225          dTitle: "@",
2226          dParam: "@",
2227          dUrl: "@",
2228        },
2229        restrict: "E",
2230        replace: true,
2231        template:
2232          '<div class="active-list-box" ng-show="lists">' +
2233          '<h3 class="text-center">{{dTitle}}</h3>' +
2234          '<div class="active-list clearfix">' +
2235          '       <div class="col-lg-4 col-md-4 col-sm-6" ng-repeat="item in lists">' +
2236          '                <div class="list">' +
2237          '                    <a class="pic" ng-href="{{item.DetailLink}}" rel="noopener" target="_blank">' +
2238          '                        <img ng-src="{{item.Thumbnail.URL | ImgHost}}">' +
2239          "                    </a>" +
2240          '                    <div class="cont-box">' +
2241          '                        <div class="tit"><a ng-href="{{item.DetailLink}}" rel="noopener" target="_blank">{{item.Title}}</a></div>' +
2242          '                        <div class="time">' +
2243          '                            <i class="icon icon-time"></i>{{item.PublishDate}}' +
2244          "                        </div>" +
2245          '                        <div class="des">{{item.Abstract}}</div>' +
2246          "                    </div>" +
2247          "                </div>" +
2248          "            </div>" +
2249          "    </div>" +
2250          "</div>",
2251        link: function link(scope, element, attrs) {
2252          scope.lists = false;
2253          scope.dParam = JSON.parse(scope.dParam);
2254          scope.dParam.ajaxCallSiteInfo = $PageJson.ajaxCallSiteInfo;
2255          https.Asyn(https.api[scope.dUrl], scope.dParam).then(function (res) {
2256            scope.lists = [];
2257            for (var i = 0; i < 3; i++) {
2258              scope.lists.push(res.data[i]);
2259            }
2260          });
2261        },
2262      };
2263    },
2264  ])
2265
2266  //滑动按钮
2267  .directive("mySwitch", [
2268    "https",
2269    function (https) {
2270      return {
2271        scope: {
2272          dStatu: "=",
2273          setSwith: "&",
2274        },
2275        restrict: "E",
2276        replace: true,
2277        template:
2278          '<div class="switch" ng-class="{off:!dStatu}" ng-click="setSwith()"></div>',
2279        link: function link(scope, element, attrs) {},
2280      };
2281    },
2282  ])
2283
2284  //选择省市,定位城市
2285  .directive("choiceCity", [
2286    "https",
2287    "$timeout",
2288    function (https, $timeout) {
2289      return {
2290        scope: {
2291          params: "=",
2292          place: "=",
2293        },
2294        restrict: "E",
2295        replace: true,
2296        template:
2297          '<div class="choice-city">' +
2298          '                <div class="area province"><i class="icon icon-local"></i>{{place.city}}</div>' +
2299          '                <div class="change-city">' +
2300          '                    <a class="a" ng-click="cutCity()" data-ad="btn-city">切换城市</a>' +
2301          '                    <div class="city-box">' +
2302          '                        <div class="li">' +
2303          '                            <a ng-repeat="(index,item) in PList" ng-click="cutP(index,item.id)">{{item.name}}</a>' +
2304          "                        </div>" +
2305          '                        <div class="li city">' +
2306          '                            <a ng-repeat="(index,item) in CList" ng-click="cutC(index)">{{item.Name}}</a>' +
2307          "                        </div>" +
2308          "                    </div>" +
2309          "                </div>" +
2310          '                <a class="address" ng-click="cutLocal()" ng-if="place.localCity" data-ad="btn-city">定位到当前城市 <!--{{place.localCity?place.localCity:\'-&#45;&#45;\'}} --><i class="icon icon-dingwei"></i></a>' +
2311          "            </div>",
2312        link: function link(scope, element, attrs) {
2313          //本地数据
2314          scope.place = {
2315            localProvince: "",
2316            localCity: "",
2317            province: "",
2318            city: "",
2319            point: "",
2320            //赋值省份列表
2321          };
2322          scope.PList = $Json.province;
2323
2324          //cookie中有地理位置就保存
2325          if ($config.getCookie("Place")) {
2326            var Place = JSON.parse($config.getCookie("Place"));
2327            scope.place.province = Place.province;
2328            scope.place.city = Place.city;
2329            scope.place.localProvince = Place.localProvince;
2330          }
2331
2332          //获取当前地理位置
2333          //如果是车型页
2334          scope.$watch("params", function () {
2335            if (scope.params) {
2336              if ($PageJson.carSeriesID && $PageJson.carSeriesName) {
2337                var res = scope.params.pos,
2338                  point = scope.params.point;
2339                scope.place.localProvince = res.province;
2340                scope.place.localCity = res.city;
2341                scope.place.point = point;
2342                scope.place.province = res.province;
2343                scope.place.city = res.city;
2344
2345                if (!$config.getCookie("Place")) {
2346                  scope.place.province = res.province;
2347                  scope.place.city = res.city;
2348                  //保存到cookie
2349                  var Place = {
2350                    localProvince: res.province,
2351                    province: res.province,
2352                    city: res.city,
2353                  };
2354                  $config.setCookie("Place", JSON.stringify(Place));
2355                } else {
2356                  var cookiePlace = JSON.parse($config.getCookie("Place"));
2357                  cookiePlace.localProvince = res.province;
2358
2359                  $config.setCookie("Place", JSON.stringify(cookiePlace));
2360                }
2361              }
2362            }
2363          });
2364          if ($PageJson.carSeriesID && $PageJson.carSeriesName) {
2365          } else {
2366            // 如果不是车型页
2367            $config.Maps().getCity(function (res, point) {
2368              scope.$apply(function () {
2369                scope.place.localProvince = res.province;
2370                scope.place.localCity = res.city;
2371                scope.place.point = point;
2372
2373                if (!$config.getCookie("Place")) {
2374                  scope.place.province = res.province;
2375                  scope.place.city = res.city;
2376                  //保存到cookie
2377                  var Place = {
2378                    localProvince: res.province,
2379                    province: res.province,
2380                    city: res.city,
2381                  };
2382                  $config.setCookie("Place", JSON.stringify(Place));
2383                } else {
2384                  var cookiePlace = JSON.parse($config.getCookie("Place"));
2385                  cookiePlace.localProvince = res.province;
2386
2387                  $config.setCookie("Place", JSON.stringify(cookiePlace));
2388                }
2389              });
2390            });
2391          }
2392
2393          //定位到当前城市
2394          scope.cutLocal = function () {
2395            scope.place.province = scope.place.localProvince;
2396            scope.place.city = scope.place.localCity;
2397            //保存到cookie
2398            if ($config.getCookie("Place")) {
2399              var cookiePlace = JSON.parse($config.getCookie("Place"));
2400              cookiePlace.province = scope.place.province;
2401              cookiePlace.city = scope.place.city;
2402              $config.setCookie("Place", JSON.stringify(cookiePlace));
2403            } else {
2404              var Place = {
2405                province: scope.place.province,
2406                city: scope.place.city,
2407              };
2408              $config.setCookie("Place", JSON.stringify(Place));
2409            }
2410          };
2411
2412          //关闭弹出框
2413          $(document).on("click", function (event) {
2414            if ($(event.target).closest(".change-city").length <= 0) {
2415              element.find(".city-box").hide();
2416            }
2417          });
2418
2419          //切换城市
2420          scope.cutCity = function () {
2421            element.find(".city-box").show();
2422          };
2423
2424          //选择省
2425          scope.cutP = function (index, id) {
2426            if (scope.PListValue == scope.PList[index].name) {
2427              return false;
2428            }
2429            //选择市的列表
2430            https
2431              .Asyn(
2432                https.api.GetDistributorCity,
2433                { provinceId: id },
2434                "get",
2435                $config.HostUrls.api
2436              )
2437              .then(function (result) {
2438                scope.CList = result.data.CityInfoList;
2439                scope.PListValue = scope.PList[index].name;
2440              });
2441          };
2442
2443          //选择市
2444          scope.cutC = function (index) {
2445            scope.CListValue = scope.CList[index].Name;
2446            //保存到cookie
2447            if ($config.getCookie("Place")) {
2448              var cookiePlace = JSON.parse($config.getCookie("Place"));
2449              cookiePlace.province = scope.PListValue;
2450              cookiePlace.city = scope.CListValue;
2451              $config.setCookie("Place", JSON.stringify(cookiePlace));
2452            } else {
2453              var Place = {
2454                province: scope.PListValue,
2455                city: scope.CListValue,
2456              };
2457              $config.setCookie("Place", JSON.stringify(Place));
2458            }
2459
2460            //赋值到页面
2461            scope.place.province = scope.PListValue;
2462            scope.place.city = scope.CListValue;
2463            //关闭选择器
2464            element.find(".city-box").hide();
2465          };
2466        },
2467      };
2468    },
2469  ])
2470
2471  //推荐车型
2472  .directive("myRecommend", [
2473    "https",
2474    "$filter",
2475    function (https, $filter) {
2476      return {
2477        scope: {
2478          dTitle: "@",
2479          dCarid: "@",
2480          dPrice: "=",
2481          dParam: "@",
2482        },
2483        restrict: "E",
2484        replace: true,
2485        template:
2486          '<div class="car-recommend">' +
2487          '    <div class="container-lg">' +
2488          '        <div class="rec-tit">{{dTitle}}</div>' +
2489          '        <div class="rec-bg">' +
2490          '            <div class="swiper-container config-swiper">' +
2491          '                <div class="swiper-wrapper">' +
2492          '                    <div class="swiper-slide" ng-repeat="item in lists">' +
2493          '                        <div class="wrap">' +
2494          '                            <div class="tit">{{item.carTypeName}}</div>' +
2495          '                            <div class="key">在售 <b>{{item.carTypeNum}}</b> 辆</div>' +
2496          '                            <div class="pic">' +
2497          '                                <img ng-src="{{item.pictureBigPath | ImgHost }}">' +
2498          "                            </div>" +
2499          '                            <div class="info clearfix">' +
2500          '                                <span class="price">{{ item.sellPrice | currency :"ï¿¥":0}}èµ·</span>' +
2501          "                            </div>" +
2502          '                            <a rel="noopener" target="_blank" href="{{item.link}}" class="btn more">查看详情<i class="icon icon-arrow-right"></i></a>' +
2503          '                            <a rel="noopener" target="_blank" href="{{item.testUrl}}" class="btn">预约看车<i class="icon icon-arrow-right"></i></a>' +
2504          "                        </div>" +
2505          "                    </div>" +
2506          "                </div>" +
2507          "            </div>" +
2508          '            <div class="pagination config-pagination"></div>' +
2509          '            <a class="arrow arrow-left"><i class="icon icon-arrow-left"></i></a>' +
2510          '            <a class="arrow arrow-right"><i class="icon icon-arrow-right"></i></a>' +
2511          "        </div>" +
2512          "    </div>" +
2513          "</div>",
2514        link: function link(scope, element, attrs) {
2515          scope.$watch(
2516            "dPrice",
2517            function () {
2518              if (scope.dPrice != "") {
2519                var paramList = JSON.parse(scope.dParam);
2520                paramList.carId = scope.dCarid;
2521                paramList.carPrice = scope.dPrice;
2522                https
2523                  .Asyn(https.api.CarsByPrice, paramList)
2524                  .then(function (res) {
2525                    scope.lists = [];
2526                    var json = res.data;
2527                    for (var i = 0; i < res.data.length; i++) {
2528                      scope.lists.push(json[i]);
2529                      //在线选车详情
2530                      scope.lists[i].link =
2531                        $PageJson.carDetailURL + "?carId=" + json[i].ID;
2532                      //预约看车详情
2533                      scope.lists[i].testUrl =
2534                        $PageJson.testDriveURL +
2535                        "?carId=" +
2536                        json[i].ID +
2537                        "&carStore=" +
2538                        json[i].carStoreId;
2539                    }
2540                    setTimeout(function () {
2541                      homeJs.setSwiper();
2542                    }, 100);
2543                  });
2544              }
2545            },
2546            true
2547          );
2548        },
2549      };
2550    },
2551  ])
2552
2553  //预约看车
2554  /*params参数:
2555cid 车巴巴id
2556carSeries 车型id
2557carId 车系id
2558username 提交表单后名字
2559gender 提交表单后性别
2560d-success 车型下拉提交成功
2561success 提交成功
2562province 省份id
2563city 城市id
2564dealer 专营店id
2565store 专营店查询页面true
2566cityName 城市名字
2567storeName 专营店名字
2568qrUrl 生成二维码
2569*/
2570  .directive("myDrive", [
2571    "https",
2572    "$filter",
2573    "$timeout",
2574    function (https, $filter, $timeout) {
2575      return {
2576        scope: {
2577          carList: "@",
2578          params: "=",
2579          moveCenter: "=",
2580        },
2581        restrict: "E",
2582        replace: true,
2583        template:
2584          '<div class="drive_content clearfix">' +
2585          '    <div class="drive-base" data-gray="/Areas/Nissan/Content/static/src/views/support/img/pos-gray.png">' +
2586          '        <div class="box">' +
2587          '            <label class="title">您的详细信息</label>' +
2588          '            <div class="group clearfix">' +
2589          '                <div class="w50" code-send-action="name1">' +
2590          '                    <input id="{{adType}}_name" class="inputs form-control" type="text" ng-model="forms.userName" placeholder="姓名">' +
2591          "                </div>" +
2592          '                <div class="w50">' +
2593          "                    <label code-send-action=\"gender1\" class=\"radio-inline {{forms.gender == 1 ? 'active' : ''}}\">" +
2594          '                        <input id="{{adType}}_male" type="radio" name="sex" ng-model="forms.gender" value="1">先生' +
2595          "                    </label>" +
2596          "                    <label code-send-action=\"gender2\" class=\"radio-inline {{forms.gender == 2 ? 'active' : ''}}\">" +
2597          '                        <input id="{{adType}}_female" type="radio" name="sex" ng-model="forms.gender" value="2">女士' +
2598          "                    </label>" +
2599          "                </div>" +
2600          "            </div>" +
2601          '            <div class="group" code-send-action="phone1">' +
2602          '                <input id="{{adType}}_telphone" class="inputs form-control" type="text" ng-model="forms.phoneNbr" required placeholder="电话">' +
2603          "            </div>" +
2604          "        </div>" +
2605          '        <div class="box">' +
2606          '            <label class="title">试驾预约</label>' +
2607          '            <div class="sort-list" ng-if="isTestDrive">' +
2608          "               <span>排序形式:</span>" +
2609          '               <div class="btn" id="{{adType}}_default" code-send-action="default" ng-class="{\'active\': sortDefault}" ng-click="sortDistance(true,1)">默认</div>' +
2610          '               <div class="btn" id="{{adType}}_near" code-send-action="near" ng-class="{\'active\': !sortDefault}" ng-show="pos.showDisBtn" ng-click="sortDistance(false,1)">距离最近</div>' +
2611          "            </div>" +
2612          '            <div class="group clearfix">' +
2613          '                <div class="w50" code-send-action="province1">' +
2614          '                    <select id="{{adType}}_province" selectpicker class="selectpicker selectProvince" my-watch="globalProvince" ng-model="forms.province" ng-change="choiceProvince()" code-select-action="province">' +
2615          '                        <option value="" disabled>省份</option>' +
2616          '                        <option ng-value="item.id" ng-repeat="item in globalProvince">{{item.name}}</option>' +
2617          "                    </select>" +
2618          "                </div>" +
2619          '                <div class="w50" code-send-action="city1">' +
2620          '                    <select id="{{adType}}_city" selectpicker class="selectpicker selectCity" my-watch="globalCity" ng-model="forms.city" ng-change="choiceCity()" code-select-action="city">' +
2621          '                        <option value="" disabled="">城市</option>' +
2622          '                        <option ng-value="item.ID" ng-repeat="item in globalCity">{{item.Name}}</option>' +
2623          "                    </select>" +
2624          "                </div>" +
2625          "            </div>" +
2626          "            <div class=\"group select_store {{isTestDrive ? 'drive_select_store' : ''}}\" code-send-action=\"dealer1\">" +
2627          '                <select id="{{adType}}_dealer" selectpicker class="selectpicker selectDealer" my-watch="globalDealer" ng-model="forms.dealer" ng-change="choiceDealer(\'\', \'dialog\')" code-select-action="dealer">' +
2628          '                    <option value="" disabled>选择专营店</option>' +
2629          '                    <option ng-value="item.StoreID" class="{{item.WarnType == 1 ? \'gray ng-binding ng-scope\' : \'ng-binding ng-scope\'}}" ng-repeat="item in globalDealer">{{item.StoreName}}</option>' +
2630          "                </select>" +
2631          "            </div>" +
2632          "            <div class=\"group address {{address ? 'show' : 'hide'}}\">" +
2633          '                <p><i class="icon icon-local"></i>{{address}}</p>' +
2634          "            </div>" +
2635          "        </div>" +
2636          '        <div class="group protocol">' +
2637          '            <div class="checkbox">' +
2638          "                <label class=\"radio-inline checkbox-inline {{protocol == 1 ? 'active' : ''}}\" code-send-action=\"agree1\">" +
2639          '                    <input id="{{adType}}_agree" ng-click="protectionCheck()" type="checkbox" ng-model="protocol" value="true" checked> 我仔细阅读了并接受所附的' +
2640          "                </label>" +
2641          '                <span id="{{adType}}_PrivacyPolicy" code-send-action="privacy1" ng-click="alertProtection()">隐私条款</span>' +
2642          "            </div>" +
2643          "        </div>" +
2644          '        <div class="group button">' +
2645          '            <div class="btn btn-primary" data-p="cardrive-btn" data-c="cardrive-btn" ng-click="submitBtn()"><span class="pull-left">立即预约</span><i class="icon icon-arrow-right"></i></div>' +
2646          "        </div>" +
2647          "    </div>" +
2648          '    <div class="drive-map"></div>' +
2649          "</div>",
2650        link: function link(scope, element, attrs) {
2651          //页面json数据
2652          scope.globalProvince = $Json.province;
2653          scope.globalCity = null;
2654          scope.globalDealer = null;
2655          scope.address = ""; // 选中后的专营店地址
2656          scope.protocol = false;
2657          scope.map = "";
2658          scope.toPoint = "";
2659          scope.city_name = "";
2660          scope.SaveCarSeriesClue = false; // 非车型页
2661
2662          // 第二套AD: jice埋码
2663          scope.adType = $PageJson.adcatalog;
2664          if ($(element).parents(".car-book").length > 0) {
2665            scope.adType = $PageJson.adcatalog + "_yysj_part";
2666          }
2667          if ($(element).parents(".buy-drive").length > 0) {
2668            scope.adType = $PageJson.adcatalog + "_yysj_bar";
2669          }
2670          jiceTrackform(scope.adType);
2671
2672          scope.isTestDrive =
2673            $PageJson.adcatalog == "nissan-testdrive" ? true : false; // 预约试驾页面
2674          scope.sortDefault = true; // 默认排序
2675          scope.pos = {
2676            point: "", // 当前定位
2677            showDisBtn: false, // 是否显示距离按钮
2678
2679            // 提交表单参数
2680          };
2681          scope.forms = {
2682            province: "",
2683            city: "",
2684            dealer: "",
2685            gender: $config.GetQueryString("gender")
2686              ? $config.GetQueryString("gender")
2687              : 1,
2688            userName: decodeURIComponent($config.GetQueryString("userName")),
2689            phoneNbr: $config.GetQueryString("phoneNbr"),
2690            carSeries: "",
2691            carModel: "",
2692            smartCode: $config.getCookie("SMARTCODE")
2693              ? $config.getCookie("SMARTCODE")
2694              : $config.GetQueryString("SMARTCODE"),
2695            terminalCode: $config.IsPC() ? 0 : 1,
2696            clueURL: $config.getClueURL(),
2697
2698            // 设置隐私条款 Start
2699          };
2700          scope.protectionCheck = function () {
2701            setProtectionCode(1, scope.forms.carSeries);
2702          };
2703          scope.alertProtection = function () {
2704            $config.privateLayer();
2705            setProtectionCode(2, scope.forms.carSeries);
2706          };
2707          // 设置隐私条款 End
2708
2709          // 获取专营店参数
2710          scope.storeData = {
2711            Name: "",
2712            storeName: "",
2713            province: "",
2714            city: "",
2715            cbbIds: "",
2716            storeId: "",
2717            carSeriesId: "",
2718            terminal: $config.IsPC() ? 0 : 1,
2719
2720            //专营店排序
2721          };
2722          scope.sortDefault = true;
2723          scope.copyLists = "";
2724          scope.sortLists = "";
2725          scope.sortDistance = function (status, clear) {
2726            scope.sortDefault = status;
2727            if (!scope.forms.city) {
2728              return;
2729            }
2730            if (clear == 1) {
2731              scope.forms.dealer = "";
2732              scope.address = "";
2733            }
2734            var lists = [];
2735
2736            if (status) {
2737              lists = scope.copyLists;
2738            } else {
2739              lists = scope.copyLists.slice(0);
2740              //升序
2741              lists.sort(function (a, b) {
2742                return a.distance - b.distance;
2743              });
2744            }
2745
2746            $timeout(function () {
2747              scope.globalDealer = lists;
2748              var dealer = scope.forms.dealer;
2749              scope.forms.dealer = "";
2750              scope.choiceDealer(dealer);
2751              scope.setLists(lists);
2752            });
2753          };
2754
2755          //专营店hover显示详情信息
2756          scope.hoverDealer = function (obj, eq) {
2757            for (var i in scope.globalDealer) {
2758              if (
2759                scope.globalDealer[i].StoreID ==
2760                obj.find(".selectpicker option").eq(eq).val()
2761              ) {
2762                //评价显示半心/全心
2763                var setHeart = function setHeart(params) {
2764                  var per = params.score / 5;
2765                  scope.globalDealer[i][params.type] = parseInt(per * 100);
2766                };
2767                //销售SSI
2768
2769                scope.storeDetail.name = scope.globalDealer[i].StoreName;
2770                scope.storeDetail.address = scope.globalDealer[i].Address;
2771                scope.storeDetail.tel = scope.globalDealer[i].ServiceTel;
2772                var num = parseInt(i) + 1;
2773                var ServiceTel = scope.globalDealer[i].ServiceTel;
2774                if (scope.globalDealer[i].StoreID == "2923") {
2775                  //"平顶山威泰"的话显示SaleTel
2776                  ServiceTel = scope.globalDealer[i].SaleTel;
2777                }
2778                setHeart({
2779                  type: "StarSSI",
2780                  score: scope.globalDealer[i].StarSSIScore,
2781                });
2782                //售后CSI
2783                setHeart({
2784                  type: "StarCSI",
2785                  score: scope.globalDealer[i].StarCSIScore,
2786                });
2787                var html =
2788                  '<div class="storeDetail"><div class="sbox ' +
2789                  (scope.globalDealer[i].WarnType == 1
2790                    ? "slow-follow-up"
2791                    : "") +
2792                  '">';
2793                html +=
2794                  '<div class="follow-up-tips"><i class="icon icon-gantan"></i>\u8BE5\u7ECF\u9500\u5546\u6682\u672A\u5F00\u901A\u6B64\u9879\u529F\u80FD\uFF0C\u8BF7\u9009\u62E9\u5176\u4ED6\u4E1C\u98CE\u65E5\u4EA7\u7ECF\u9500\u5546</div>';
2795                html +=
2796                  '<div class="sname"><div class="txt"><span class="icon icon-local"><b>' +
2797                  parseInt(num) +
2798                  "</b></span>" +
2799                  scope.globalDealer[i].StoreName +
2800                  "</div>";
2801                if (scope.isTestDrive) {
2802                  html +=
2803                    '<div class="district"><span>' +
2804                    scope.globalDealer[i].District +
2805                    "</span></div>";
2806                }
2807                html += "</div>";
2808                //如果是郑州日产不显示心级
2809                if (scope.globalDealer[i].IsZZNissan != 1) {
2810                  html +=
2811                    '<div class="rate-p">
2811\n                    <span>\u9500\u552E\u5FC3\u7EA7\uFF1A</span>\n                    <p class="point"><span class="heart-box"><b style="width:' +
2812                    scope.globalDealer[i].StarSSI +
2813                    '%"><i></i></b></span>' +
2814                    scope.globalDealer[i].StarSSIScore +
2815                    '</p>\n                    <span class="gray">\uFF08' +
2816                    scope.globalDealer[i].StarSSICommentCount +
2817                    '\u4EBA\u70B9\u8BC4\uFF09</span>\n                   </div>\n                   <div class="rate-p">\n                    <span>\u552E\u540E\u5FC3\u7EA7\uFF1A</span>\n                    <p class="point"><span class="heart-box"><b style="width:' +
2818                    scope.globalDealer[i].StarCSI +
2819                    '%"><i></i></b></span>' +
2820                    scope.globalDealer[i].StarCSIScore +
2821                    '</p>\n                    <span class="gray">\uFF08' +
2822                    scope.globalDealer[i].StarCSICommentCount +
2823                    "\u4EBA\u70B9\u8BC4\uFF09</span>\n                   </div>";
2824                  if (scope.globalDealer[i].StarLabels.length > 0) {
2825                    html += '<div class="rate-key">';
2826                    scope.globalDealer[i].StarLabels.forEach(function (
2827                      item,
2828                      index
2829                    ) {
2830                      html += "<span>" + item + "</span>";
2831                    });
2832                    html += "</div>";
2833                  }
2834                }
2835
2836                html +=
2837                  '<div class="stitle">\u7535\u8BDD\uFF1A' +
2838                  ServiceTel +
2839                  '</div><div class="stitle">\u5730\u5740\uFF1A' +
2840                  scope.globalDealer[i].Address +
2841                  "</div></div></div>";
2842                if (obj.find("div.dropdown-menu .storeWrap").length <= 0) {
2843                  obj
2844                    .find("div.dropdown-menu")
2845                    .append('<div class="storeWrap">' + html + "</div>");
2846                } else {
2847                  obj.find("div.dropdown-menu .storeWrap").html(html);
2848                }
2849              }
2850            }
2851          };
2852
2853          scope.getNumberLabel = function (number) {
2854            var offsetSize = new BMap.Size(0, 0);
2855            var labelStyle = {
2856              color: "#fff",
2857              backgroundColor: "0.05",
2858              border: "0",
2859            };
2860
2861            //不同数字长度需要设置不同的样式。
2862            switch ((number + "").length) {
2863              case 1:
2864                labelStyle.fontSize = "14px";
2865                offsetSize = new BMap.Size(4, 2);
2866                break;
2867              case 2:
2868                labelStyle.fontSize = "12px";
2869                offsetSize = new BMap.Size(2, 4);
2870                break;
2871              case 3:
2872                labelStyle.fontSize = "10px";
2873                offsetSize = new BMap.Size(-2, 4);
2874                break;
2875              default:
2876                break;
2877            }
2878
2879            var label = new BMap.Label(number, {
2880              offset: offsetSize,
2881            });
2882            label.setStyle(labelStyle);
2883            return label;
2884          };
2885
2886          //遍历列表,地图
2887          scope.setLists = function (lists) {
2888            //把专营店标记到地图上
2889            if (scope.map) {
2890              //清空标记
2891              scope.map.clearOverlays();
2892
2893              var toPoint = void 0;
2894              angular.forEach(lists, function (item, key) {
2895                var point = new BMap.Point(item.Longitude, item.Latitude);
2896                if (key === 0) {
2897                  toPoint = point;
2898                }
2899
2900                if (item.WarnType == 1) {
2901                  var myIcon = new BMap.Icon(
2902                    $(".drive-base").data("gray"),
2903                    new BMap.Size(19, 25)
2904                  );
2905                  var mk = new BMap.Marker(point, { icon: myIcon });
2906                } else {
2907                  var mk = new BMap.Marker(point);
2908                }
2909                //增加
2910                mk.addEventListener("click", function () {
2911                  scope.choiceDealer(item.StoreID, "dialog");
2912                  scope.hoverDealer($(element).find(".select_store"), key + 1);
2913                });
2914                mk.setLabel(scope.getNumberLabel(key + 1));
2915
2916                scope.map.addOverlay(mk);
2917              });
2918              scope.toPoint = toPoint;
2919              scope.map.panTo(toPoint);
2920            }
2921          };
2922
2923          scope.getStore = function (dealer_id) {
2924            //dealer_id为链接带有的专营店id
2925            if (!scope.storeData.province || !scope.storeData.city) {
2926              if (!dealer_id) {
2927                return;
2928              }
2929            }
2930            var storeData = scope.storeData;
2931            scope.globalDealer = "";
2932            var dealer = void 0;
2933            if (dealer_id) {
2934              dealer = dealer_id;
2935              scope.storeData.city = "-1";
2936              scope.storeData.storeId = dealer_id;
2937            } else {
2938              dealer = scope.forms.dealer;
2939              scope.storeData.storeId = "";
2940            }
2941            scope.forms.dealer = "";
2942            scope.address = "";
2943            $(".select_store").find("div.dropdown-menu .storeWrap").html("");
2944            https
2945              .Asyn(
2946                https.api.storeSearch,
2947                storeData,
2948                "get",
2949                $config.HostUrls.api
2950              )
2951              .then(function (res) {
2952                if (res.success) {
2953                  var data = res.data.DealerInfos;
2954                  if (scope.isTestDrive) {
2955                    data.forEach(function (item, index) {
2956                      var point = new BMap.Point(item.Longitude, item.Latitude);
2957                      //获取当前定位与专营店距离
2958                      var nowPoint = void 0,
2959                        distance = void 0;
2960                      if (scope.pos.point) {
2961                        nowPoint = new BMap.Point(
2962                          scope.pos.point.lng,
2963                          scope.pos.point.lat
2964                        );
2965                        distance = (
2966                          scope.map.getDistance(nowPoint, point) / 1000
2967                        ).toFixed(2);
2968                        item.distance = distance;
2969                      }
2970
2971                      if (item.StoreID == dealer) {
2972                        //读取链接专营店id信息
2973                        var ProvinceID = item.ProvinceID,
2974                          CityID = item.CityID;
2975                        $timeout(function () {
2976                          if (dealer_id) {
2977                            for (var k in scope.globalProvince) {
2978                              if (scope.globalProvince[k].id == ProvinceID) {
2979                                scope.forms.province = ProvinceID;
2980                                scope.choiceProvince(CityID);
2981                              }
2982                            }
2983                          } else {
2984                            scope.forms.dealer = dealer;
2985                            scope.choiceDealer();
2986                          }
2987                        }, 0);
2988                      }
2989                    });
2990                    scope.globalDealer = data;
2991                    scope.copyLists = data;
2992                  } else {
2993                    data.forEach(function (item, index) {
2994                      if (item.StoreID == dealer) {
2995                        //读取链接专营店id信息
2996                        var ProvinceID = item.ProvinceID,
2997                          CityID = item.CityID;
2998                        $timeout(function () {
2999                          if (dealer_id) {
3000                            for (var k in scope.globalProvince) {
3001                              if (scope.globalProvince[k].id == ProvinceID) {
3002                                scope.forms.province = ProvinceID;
3003                                scope.choiceProvince(CityID);
3004                              }
3005                            }
3006                          } else {
3007                            scope.forms.dealer = dealer;
3008                            scope.choiceDealer();
3009                          }
3010                        }, 0);
3011                      }
3012                    });
3013                    scope.globalDealer = data;
3014                  }
3015
3016                  //遍历列表
3017                  $timeout(function () {
3018                    if (scope.isTestDrive) {
3019                      var isSort = false;
3020                      scope.sortDistance(scope.sortDefault);
3021                    } else {
3022                      scope.setLists(data);
3023                    }
3024                  }, 0);
3025                }
3026              });
3027          };
3028
3029          scope.storeDetail = {
3030            name: null,
3031            address: null,
3032            tel: null,
3033          };
3034
3035          $("body .drive-map").each(function (index, value) {
3036            $(this).attr({ id: "drive_map" + index });
3037          });
3038
3039          //获取当前定位与专营店距离
3040          scope.$watch("pos.point", function (newVal) {
3041            if (newVal && scope.globalDealer && scope.isTestDrive) {
3042              angular.forEach(scope.globalDealer, function (item, key) {
3043                var point = new BMap.Point(item.Longitude, item.Latitude),
3044                  nowPoint = void 0,
3045                  distance = void 0;
3046                nowPoint = new BMap.Point(newVal.lng, newVal.lat);
3047                distance = (
3048                  scope.map.getDistance(nowPoint, point) / 1000
3049                ).toFixed(2);
3050                scope.globalDealer[key].distance = distance;
3051              });
3052            }
3053          });
3054
3055          //获取所在地区
3056          scope.getLocal = function () {
3057            //创建地图
3058            var _setMap = function _setMap(city) {
3059              if (scope.params.storeId != undefined) {
3060                return;
3061              }
3062              var driveMap = new BMap.Map(
3063                $(element).find(".drive-map").attr("id")
3064              ); // 创建Map实例
3065              scope.map = driveMap;
3066              var point = new BMap.Point(116.331398, 39.897445);
3067              driveMap.centerAndZoom(point, 10);
3068              // 允许缩放
3069              driveMap.enableScrollWheelZoom(true);
3070              if (city) {
3071                driveMap.centerAndZoom(city, 10);
3072                scope.city_name = city;
3073              }
3074            };
3075
3076            //读取链接专营店
3077            if ($config.GetQueryString("dealer")) {
3078              scope.getStore($config.GetQueryString("dealer"));
3079              _setMap();
3080              if (scope.isTestDrive) {
3081                $config.Maps().getCity(function (res, point) {
3082                  $timeout(function () {
3083                    scope.pos.point = point;
3084                    scope.pos.showDisBtn = true;
3085                  });
3086                });
3087              }
3088            }
3089            //选择当前地址
3090            else {
3091              var _getPlace = function _getPlace(res) {
3092                //选择省
3093                angular.forEach(scope.globalProvince, function (item) {
3094                  //匹配省
3095                  if (res.province.indexOf(item.name) != -1) {
3096                    $timeout(function () {
3097                      scope.forms.province = item.id;
3098                      //选择市的列表
3099                      https
3100                        .Asyn(
3101                          https.api.GetDistributorCity,
3102                          { provinceId: item.id },
3103                          "get",
3104                          $config.HostUrls.api
3105                        )
3106                        .then(function (result) {
3107                          var data = result.data;
3108                          scope.globalCity = data.CityInfoList;
3109                          //选择市
3110                          angular.forEach(scope.globalCity, function (item) {
3111                            //匹配市
3112                            if (res.city.indexOf(item.Name) != -1) {
3113                              $timeout(function () {
3114                                scope.forms.city = item.ID;
3115                                //选择城市下面的专营店
3116                                scope.storeData.province = res.province;
3117                                scope.storeData.city = res.city;
3118                                scope.getStore();
3119                              }, 0);
3120                            } else if (!res.city) {
3121                              $timeout(function () {
3122                                //选择城市下面的专营店
3123                                scope.storeData.province = res.province;
3124                                scope.map.centerAndZoom(res.province, 10);
3125                              }, 0);
3126                            }
3127                          });
3128                        });
3129                    }, 0);
3130                  }
3131                });
3132                _setMap(res.city);
3133              };
3134
3135              //读取cookie中的省市
3136              if ($config.getCookie("Place")) {
3137                var Place = JSON.parse($config.getCookie("Place"));
3138                _getPlace(Place);
3139
3140                if (scope.isTestDrive) {
3141                  $config.Maps().getCity(function (res, point) {
3142                    $timeout(function () {
3143                      scope.pos.point = point;
3144                      scope.pos.showDisBtn = true;
3145                    });
3146                  });
3147                }
3148              } else {
3149                //cookie没有省市就重新获取并存储
3150                if ($PageJson.carSeriesID && $PageJson.carSeriesName) {
3151                  scope.$watch("params.baseLocation", function () {
3152                    var res = scope.params.baseLocation.pos;
3153                    if (scope.params.baseLocation) {
3154                      // 百度地图
3155                      _getPlace(res);
3156                      //保存到cookie
3157                      var Place = {
3158                        localProvince: res.province,
3159                        province: res.province,
3160                        city: res.city,
3161                      };
3162                      $config.setCookie("Place", JSON.stringify(Place));
3163                    }
3164                  });
3165                } else {
3166                  $config.Maps().getCity(function (res, point) {
3167                    if (scope.isTestDrive) {
3168                      $timeout(function () {
3169                        scope.pos.point = point;
3170                        scope.pos.showDisBtn = true;
3171                      });
3172                    }
3173                    // 百度地图
3174                    _getPlace(res);
3175                    //保存到cookie
3176                    var Place = {
3177                      localProvince: res.province,
3178                      province: res.province,
3179                      city: res.city,
3180                    };
3181                    $config.setCookie("Place", JSON.stringify(Place));
3182                  });
3183                }
3184              }
3185            }
3186          };
3187
3188          if (!scope.params.store) {
3189            scope.getLocal();
3190          }
3191
3192          // 车型下拉点击地图切换到中心
3193          scope.moveCenter = function () {
3194            if (element.hasClass("panTo")) {
3195              return;
3196            }
3197            if (scope.toPoint) {
3198              scope.map.centerAndZoom(scope.city_name);
3199              $timeout(function () {
3200                scope.map.panTo(scope.toPoint);
3201              }, 500);
3202            }
3203            element.addClass("panTo");
3204          };
3205
3206          scope.down = false;
3207          scope.$watch(
3208            "params",
3209            function (newValue) {
3210              var carCID_pram = [];
3211              if (newValue.carSeries === "0") {
3212                //车型页-模块
3213                scope.SaveCarSeriesClue = true;
3214                carCID_pram.push($PageJson.cID);
3215                scope.storeData.cbbIds =
3216                  carCID_pram.length > 0 ? JSON.stringify(carCID_pram) : "";
3217                scope.getStore();
3218                return;
3219              }
3220              if (newValue.carSeries === "-1") {
3221                //车型页-导航下拉
3222                scope.down = true;
3223                scope.SaveCarSeriesClue = true;
3224                carCID_pram.push($PageJson.cID);
3225                scope.storeData.cbbIds =
3226                  carCID_pram.length > 0 ? JSON.stringify(carCID_pram) : "";
3227                scope.getStore();
3228                return;
3229              }
3230              //非车型页-预约试驾
3231              scope.forms.carSeries = scope.params.carSeries;
3232              if (newValue.carSeries !== "") {
3233                carCID_pram.push(scope.params.cid);
3234                scope.storeData.cbbIds =
3235                  carCID_pram.length > 0 ? JSON.stringify(carCID_pram) : "";
3236                scope.getStore();
3237              }
3238            },
3239            true
3240          );
3241
3242          scope.$watch(
3243            "params.carId",
3244            function () {
3245              scope.forms.carModel = scope.params.carId;
3246            },
3247            true
3248          );
3249
3250          scope.$watch(
3251            "params.dealer",
3252            function () {
3253              scope.forms.province = scope.params.province;
3254              scope.forms.city = scope.params.city;
3255              scope.forms.dealer = scope.params.dealer;
3256            },
3257            true
3258          );
3259
3260          //选择省份
3261          scope.choiceProvince = function (CityID) {
3262            scope.forms.city = "";
3263            scope.forms.dealer = "";
3264            scope.address = "";
3265            https
3266              .Asyn(
3267                https.api.GetDistributorCity,
3268                { provinceId: scope.forms.province },
3269                "get",
3270                $config.HostUrls.api
3271              )
3272              .then(function (res) {
3273                scope.globalCity = res.data.CityInfoList;
3274                if (CityID) {
3275                  $timeout(function () {
3276                    scope.forms.city = CityID;
3277                    scope.choiceCity(scope.storeData.storeId);
3278                  }, 0);
3279                }
3280                scope.globalDealer = "";
3281                for (var i in scope.globalProvince) {
3282                  if (scope.globalProvince[i].id == scope.forms.province) {
3283                    scope.storeData.province = scope.globalProvince[i].name;
3284                  }
3285                }
3286                $(".select_store")
3287                  .find("div.dropdown-menu .storeWrap")
3288                  .html("");
3289              });
3290          };
3291
3292          //选择城市
3293          scope.choiceCity = function (dealer) {
3294            if (!dealer) {
3295              scope.forms.dealer = "";
3296              scope.address = "";
3297            } else {
3298              scope.forms.dealer = dealer;
3299            }
3300
3301            for (var i in scope.globalCity) {
3302              if (scope.globalCity[i].ID == scope.forms.city) {
3303                scope.storeData.city = scope.globalCity[i].Name;
3304                scope.getStore();
3305              }
3306            }
3307          };
3308
3309          //选择专营店
3310          scope.choiceDealer = function (dealer_id, dialog) {
3311            var dealer = scope.forms.dealer;
3312            //点击地图标识显示对应专营店
3313            if (dealer_id) {
3314              dealer = dealer_id;
3315              $timeout(function () {
3316                scope.forms.dealer = dealer_id;
3317              }, 0);
3318            }
3319
3320            for (var i in scope.globalDealer) {
3321              if (scope.globalDealer[i].StoreID == dealer) {
3322                scope.storeData.Name = scope.globalDealer[i].StoreName;
3323                scope.address = scope.globalDealer[i].Address;
3324                if (dialog && scope.globalDealer[i].WarnType == 1)
3325                  $config.followUpDialog();
3326              }
3327            }
3328          };
3329
3330          //选择专营店
3331          $(document).on(
3332            "mouseenter",
3333            ".select_store .dropdown-menu ul li",
3334            function () {
3335              if (
3336                $(window).width() <=
3337                $config.screen.lg - $config.getScrollbarWidth()
3338              ) {
3339                return;
3340              }
3341              var eq = $(this).index();
3342              $(this).parents("ul").find("li").removeClass("hover");
3343              if (eq === 0) {
3344                $(this)
3345                  .parents(".select_store")
3346                  .find("div.dropdown-menu .storeWrap")
3347                  .html("");
3348                return;
3349              }
3350              $(this).addClass("hover");
3351
3352              scope.hoverDealer($(this).parents(".select_store"), eq);
3353            }
3354          );
3355
3356          //提交表单
3357          var loading = false;
3358          scope.submitBtn = function () {
3359            if (loading) {
3360              return;
3361            }
3362            scope.forms.smartCode = $config.getCookie("SMARTCODE")
3363              ? $config.getCookie("SMARTCODE")
3364              : $config.GetQueryString("SMARTCODE");
3365            var forms = scope.forms;
3366            if (scope.params.carSeries === "0") {
3367              //车型模块
3368              scope.SaveCarSeriesClue = true;
3369            } else if (scope.params.carSeries === "-1") {
3370              //车型导航下拉
3371              scope.down = true;
3372              scope.SaveCarSeriesClue = true;
3373            }
3374
3375            var pattern = new RegExp("[\u4E00-\u9FA5]+");
3376            if (pattern.test(forms.dealer)) {
3377              scope.globalDealer.forEach(function (item) {
3378                if (item.StoreName === forms.dealer)
3379                  forms.dealer = item.StoreID;
3380              });
3381            }
3382
3383            var dealerInfo = void 0;
3384            if (scope.globalDealer) {
3385              scope.globalDealer.forEach(function (item) {
3386                if (item.StoreID === forms.dealer) dealerInfo = item;
3387              });
3388            }
3389
3390            var msg = "";
3391            if (!forms.carSeries && !scope.SaveCarSeriesClue) {
3392              msg = "请选择车系!";
3393            } else if (!forms.userName) {
3394              msg = "请输入名字!";
3395            } else if (!$config.rex.username.test(forms.userName)) {
3396              msg = "姓名只能输入中文、字母和数字!";
3397            } else if (!forms.phoneNbr) {
3398              msg = "请输入电话号码!";
3399            } else if (!$config.rex.mobile.test(forms.phoneNbr)) {
3400              msg = "请输入正确的电话号码!";
3401            } else if (!forms.province || !forms.city || !forms.dealer) {
3402              msg = "请选择专营店!";
3403            } else if (forms.dealer && dealerInfo && dealerInfo.WarnType == 1) {
3404              msg = "该经销商暂未开通此项功能,请选择其他东风日产经销商!";
3405            } else if (!scope.protocol) {
3406              $config.privateLayer(function () {
3407                scope.protocol = true;
3408                scope.submitBtn();
3409              });
3410            }
3411            var empty = [];
3412            if (!forms.carSeries && !scope.SaveCarSeriesClue) {
3413              empty.push("type");
3414            }
3415            if (!forms.userName) {
3416              empty.push("name");
3417            }
3418            if (!forms.phoneNbr) {
3419              empty.push("telphone");
3420            }
3421            if (!forms.province) {
3422              empty.push("province");
3423            }
3424            if (!forms.city) {
3425              empty.push("city");
3426            }
3427            if (!forms.dealer) {
3428              empty.push("dealer");
3429            }
3430            if (!scope.protocol) {
3431              empty.push("agree");
3432            }
3433
3434            // 监测代码需要的数据
3435            var code_data = carDriveData(scope, element);
3436            code_data.empty = empty;
3437            /*预约试驾按钮点击-监测代码*/
3438            carDriveClick(code_data);
3439
3440            // 表单验证
3441            if (msg) {
3442              layer.alert(msg, { move: false });
3443
3444              /*预约试驾失败-监测代码*/
3445              carDriveFail(code_data);
3446              return;
3447            }
3448            if (!scope.protocol) {
3449              /*预约试驾失败-监测代码*/
3450              carDriveFail(code_data);
3451              return;
3452            }
3453
3454            loading = true;
3455
3456            scope.params.success = false;
3457            scope.params.dSuccess = false;
3458            scope.localProvince = null;
3459
3460            //车型页提交
3461            if (scope.SaveCarSeriesClue) {
3462              var isForWXQRCode = $(".suc-qrcode-txt").length >= 1 ? 1 : 0; // 如果页面有配置二维码信息
3463              var newForms = {
3464                province: forms.province,
3465                city: forms.city,
3466                dealer: forms.dealer,
3467                gender: forms.gender,
3468                userName: forms.userName,
3469                phoneNbr: forms.phoneNbr,
3470                smartCode: forms.smartCode,
3471                terminalCode: forms.terminalCode,
3472                isForWXQRCode: isForWXQRCode,
3473              };
3474              scope.dforms = newForms;
3475              var postData = {
3476                campaignId: $config.GetQueryString("campaignId"),
3477                ajaxCallSiteInfo: $PageJson.ajaxCallSiteInfo,
3478                param: JSON.stringify(newForms),
3479              };
3480
3481              var another = $PageJson.isCommonAPI == "True" ? true : false,
3482                // $PageJson.isCommonAPI true调用api的留资接口  false
3482调用公共留资接口
3483                api = "",
3484                data = [],
3485                host = "";
3486
3487              if (another) {
3488                api = https.api.ActivitySaveClue;
3489                host = $config.HostUrls.api;
3490                var cookieID = "";
3491                if ($config.getCookie("sc_ext_contact")) {
3492                  var GLOBAL_COOKIE = $config.getCookie("sc_ext_contact");
3493                  var cookieArr = GLOBAL_COOKIE.split("|");
3494                  cookieID = cookieArr[0];
3495                }
3496                data = {
3497                  campaignID: $config.GetQueryString("campaignId"),
3498                  province: forms.province,
3499                  city: forms.city,
3500                  dealer: forms.dealer,
3501                  gender: forms.gender,
3502                  userName: forms.userName,
3503                  phoneNbr: forms.phoneNbr,
3504                  smartCode: forms.smartCode,
3505                  terminalCode: forms.terminalCode,
3506                  clueURL: forms.clueURL,
3507                  cookieID: cookieID,
3508                  clueType: "2",
3509                  cluePageID: "1",
3510                  siteName: "nissan",
3511                  CarSeries: $PageJson["cID"],
3512                  clueName:
3513                    "东风日产官网" + $PageJson["carSeriesName"] + "车型站",
3514                  departmentID: $PageJson["departmentID"],
3515                  departmentName: $PageJson["departmentName"],
3516                  subDepartmentName: $PageJson["subDepartmentName"],
3517                  Duration: 6,
3518                };
3519              } else {
3520                api = https.api.SaveCarSeriesClue;
3521                data = postData;
3522              }
3523
3524              https.Asyn(api, data, "", host).then(function (res) {
3525                var data = res;
3526                if (data.success == true) {
3527                  // 如果页面有配置二维码信息
3528                  if ($(".suc-qrcode-txt").length >= 1) {
3529                    var qrCode_CarSeries = $PageJson.carSeriesID;
3530                    if (
3531                      qrCode_CarSeries == "df9bb0693ad043c99916bf83deaf2e15" ||
3532                      qrCode_CarSeries == "f0ac09959b744c80854d722db47bbc23" ||
3533                      qrCode_CarSeries == "642eb20815ba4e28b72e024de23268ce"
3534                    ) {
3535                      qrCode_CarSeries = "507cf5b433174992ac49d1827b625b85";
3536                    }
3537                    var cbb_data = {
3538                      Name: forms.userName,
3539                      Phone: forms.phoneNbr,
3540                      SentTime: $config.getTime(),
3541                      ClueID: res.uniqueID,
3542                      CarSeries: qrCode_CarSeries,
3543                    };
3544                    https
3545                      .Asyn(
3546                        https.api.GetQRCode,
3547                        cbb_data,
3548                        "",
3549                        $config.HostUrls.api
3550                      )
3551                      .then(function (res) {
3552                        if (res.success) {
3553                          scope.params.qrUrl = res.data.qrcUrl;
3554                        } else {
3555                          scope.params.qrUrl = "-1";
3556                          scope.params.qrData = cbb_data;
3557                        }
3558                      })
3559                      .catch(function () {
3560                        scope.params.qrUrl = "-1";
3561                        scope.params.qrData = cbb_data;
3562                      });
3563                  }
3564
3565                  if (scope.down) {
3566                    //车型导航下拉
3567                    scope.params.username = scope.forms.userName;
3568                    scope.params.gender = scope.forms.gender;
3569                    scope.dforms.username = scope.forms.userName;
3570                    scope.dforms.gender = scope.forms.gender;
3571                    scope.params.dSuccess = true;
3572                  } else {
3573                    scope.params.username = scope.forms.userName;
3574                    scope.params.gender = scope.forms.gender;
3575                    scope.params.success = true;
3576                  }
3577
3578                  code_data.clueID = data.clueID;
3579                  carDriveSuc(code_data);
3580
3581                  setTimeout(function () {
3582                    loading = false;
3583                  }, 3000);
3584                } else {
3585                  layer.alert(res.msg, { move: false });
3586                  loading = false;
3587
3588                  /*预约试驾失败-监测代码*/
3589                  carDriveFail(code_data);
3590                }
3591              });
3592            } else {
3593              //非车型页提交
3594              // 贷款计算器获取当前地理位置 Start
3595              if (forms.carModel) {
3596                $config.Maps().getCity(function (res) {
3597                  scope.$apply(function () {
3598                    if (!$config.getCookie("Place")) {
3599                      scope.localProvince = res.province;
3600
3601                      //保存到cookie
3602                      var Place = {
3603                        localProvince: res.province,
3604                        province: res.province,
3605                        city: res.city,
3606                      };
3607                      $config.setCookie("Place", JSON.stringify(Place));
3608                    }
3609                  });
3610                });
3611              }
3612              // 贷款计算器获取当前地理位置 End
3613
3614              // 预约接口更新-增加clueType、clueDetails Start
3615              if (scope.params.download) {
3616                forms.clueType = 2;
3617              } // 车型手册下载:传多一个字段clueType=2
3618              if (scope.params.dType) {
3619                forms.clueType = 8;
3620                forms.clueDetails = code_data.limitType + ";";
3621              } //1. 限时购车方案:传多一个字段clueType=8,clueDetails=限时购车方案名字;(末尾要带英文的分号)
3622              if (forms.carModel) {
3623                forms.clueType = 8;
3624                forms.clueDetails =
3625                  scope.params.calType + ";" + scope.params.calPercent + ";";
3626              } //2. 贷款计算器:传多一个字段clueType=8,clueDetails=贷款方案;首付比例;(用英文分号隔开,且末尾要带英文的分号)
3627              // 预约接口更新-增加clueType、clueDetails End
3628
3629              var _postData = {
3630                campaignId: $config.GetQueryString("campaignId"),
3631                ajaxCallSiteInfo: $PageJson.ajaxCallSiteInfo,
3632                param: JSON.stringify(forms),
3633              };
3634              var layerIndex = layer.load(2, { shade: [0.1, "#fff"] });
3635              https
3636                .Asyn(https.api.SaveClue, _postData, "")
3637                .then(function (res) {
3638                  var data = res;
3639                  if (data.success) {
3640                    //车型手册下载
3641                    if (scope.params.download || scope.params.store) {
3642                      scope.params.username = scope.forms.userName;
3643                      scope.params.gender = scope.forms.gender;
3644                      scope.params.success = true;
3645                      //关闭loading
3646                      layer.close(layerIndex);
3647                    } else {
3648                      //正常留资
3649
3650                      // 定义跳转链接 Start
3651                      var uri = "";
3652                      if (location.search) {
3653                        uri += location.search;
3654                      }
3655                      if (!uri) {
3656                        uri +=
3657                          "?username=" +
3658                          encodeURI(encodeURI(forms.userName)) +
3659                          "&gender=" +
3660                          encodeURI(encodeURI(forms.gender));
3661                      } else {
3662                        uri +=
3663                          "&username=" +
3664                          encodeURI(encodeURI(forms.userName)) +
3665                          "&gender=" +
3666                          encodeURI(encodeURI(forms.gender));
3667                      }
3668                      // 定义跳转链接 End
3669
3670                      // 留资成功后跳转预约成功页面 Start
3671                      if (forms.carModel) {
3672                        // 贷款计算器等事件分析成功后再跳转
3673                        var timer = setInterval(function () {
3674                          // 如果cookie中有地理位置就保存 Start
3675                          if ($config.getCookie("Place")) {
3676                            var Place = JSON.parse($config.getCookie("Place"));
3677                            if (!Place.localProvince) {
3678                              $config.Maps().getCity(function (res) {
3679                                scope.$apply(function () {
3680                                  scope.localProvince = res.province;
3681                                  //保存到cookie
3682                                  var Place = {
3683                                    localProvince: res.province,
3684                                    province: res.province,
3685                                    city: res.city,
3686                                  };
3687                                  $config.setCookie(
3688                                    "Place",
3689                                    JSON.stringify(Place)
3690                                  );
3691                                });
3692                              });
3693                            } else {
3694                              scope.localProvince = Place.localProvince;
3695                            }
3696                          }
3697                          // 如果cookie中有地理位置就保存 End
3698                          // 事件分析 Start
3699                          if (scope.localProvince) {
3700                            var EventModel = {
3701                              Event: "2", //贷款计算器页面
3702                              CarSeries: forms.carSeries,
3703                              Province: scope.localProvince,
3704                              TerminalCode: $config.IsPC() ? "0" : "1",
3705                            };
3706                            https
3707                              .Asyn(
3708                                https.api.EventAnalysis,
3709                                EventModel,
3710                                "",
3711                                $config.HostUrls.api
3712                              )
3713                              .then(function (res) {
3714                                var data = res;
3715                                if (data.success == true) {
3716                                }
3717                                window.location.href =
3718                                  $PageJson.testDriveSuccessURL + uri;
3719                              });
3720                            clearInterval(timer);
3721                          }
3722                          // 事件分析 End
3723                        }, 100);
3724                      } else {
3725                        window.location.href =
3726                          $PageJson.testDriveSuccessURL + uri;
3727                      }
3728                      // 留资成功后跳转预约成功页面 End
3729                    }
3730
3731                    code_data.clueID = data.clueID;
3732                    carDriveSuc(code_data);
3733
3734                    setTimeout(function () {
3735                      loading = false;
3736                    }, 3000);
3737                  } else {
3738                    layer.close(layerIndex);
3739                    layer.alert(res.msg, { move: false });
3740                    loading = false;
3741
3742                    /*预约试驾失败-监测代码*/
3743                    carDriveFail(code_data);
3744                  }
3745                });
3746            }
3747          };
3748        },
3749      };
3750    },
3751  ])
3752
3753  //预约成功
3754  .directive("successText", [
3755    "https",
3756    "$filter",
3757    "$timeout",
3758    function (https, $filter, $timeout) {
3759      return {
3760        scope: {
3761          username: "=",
3762          gender: "=",
3763          qrUrl: "=",
3764          qrData: "=",
3765          picture: "@",
3766        },
3767        restrict: "E",
3768        replace: true,
3769        template:
3770          "<div class=\"suc-wrap clearfix\" ng-class=\"showQRcode ? 'qrcode-bg' : ''\">" +
3771          '    <i class="full_bg hidden-xs" style="background-image: url({{pc_bg}})" ng-if="showQRcode"></i><i style="background-image: url({{web_bg}})" ng-show="showQRcode" class="full_bg visible-xs-block" ng-if="showQRcode"></i>' +
3772          "    <div ng-show=\"!showQRcode\" ng-class=\"picture ? 'suc-content col-lg-5 col-md-5 col-sm-6 pull-left' : 'suc-content'\">" +
3773          '        <div class="tit">谢谢!您的信息已提交成功</div>' +
3774          '        <div class="txt" ng-show="IsTestDrive">尊敬的 <span>{{username}}</span> {{gender == "1" || gender == 1 ? "先生": "女士"}},您的试驾预约已成功提交,<br>我们将会在24小时内安排客服人员与您联系。</div>' +
3775          '        <div class="txt" ng-show="!IsTestDrive">尊敬的 <span>{{username}}</span> 先生/女士,您的试驾预约已成功提交,<br>我们将会在24小时内安排客服人员与您联系。</div>' +
3776          "    </div>" +
3777          '    <div ng-show="picture && !showQRcode" class="col-lg-7 col-md-7 col-sm-6 pull-right car-pic">' +
3778          '        <img ng-src="{{picture}}">' +
3779          "    </div>" +
3780          '    <div class="suc-qrcode" ng-show="showQRcode">' +
3781          '        <div class="qr_title" ng-bind-html="qr_title | to_trusted"></div>' +
3782          '        <div class="qr_text" ng-bind-html="qr_text | to_trusted"></div>' +
3783          '        <div class="qr_btn"><span ng-click="showLayer()">活动详情 》</span></div>' +
3784          '        <div class="qr_ewm">' +
3785          "            <div class=\"qr_ewm_wrap\" ng-class=\"{'loading' : qrUrl == '','reload' : qrUrl == '-1'}\" ng-click=\"getQrcode()\">" +
3786          '             <i class="icon icon-loading"></i>' +
3787          '             <img ng-src="{{qrUrl}}">' +
3788          "            </div>" +
3789          "            <p>东风日产车主俱乐部</p>" +
3790          "        </div>" +
3791          "    </div>" +
3792          "</div>",
3793        link: function link(scope, element, attrs) {
3794          if ($(".suc-qrcode-txt").length >= 1) {
3795            // 需要显示二维码的车型 - 在后台车型重点配置对应背景图和文案
3796            scope.showQRcode = "loading";
3797            scope.qr_title = $(".suc-qrcode-txt .qr_title").html();
3798            scope.qr_text = $(".suc-qrcode-txt .qr_text").html();
3799            scope.pc_bg = $(".suc-qrcode-txt .suc-qrcode-bg").attr("src");
3800            scope.web_bg = $(".suc-qrcode-txt .suc-qrcode-webbg").attr("src");
3801          }
3802          if ($PageJson.IsTestDrive == "False") {
3803            scope.IsTestDrive = false;
3804          } else {
3805            scope.IsTestDrive = true;
3806          }
3807
3808          //公共js
3809          $(".activity_detail_layer .wrap").html($Json.activityDetail);
3810          scope.showLayer = function () {
3811            $config.baseLayer($(".activity_detail_layer"));
3812          };
3813
3814          scope.getQrcode = function () {
3815            if (scope.qrUrl == "-1") {
3816              scope.qrUrl = "";
3817              https
3818                .Asyn(
3819                  https.api.GetQRCode,
3820                  scope.qrData,
3821                  "",
3822                  $config.HostUrls.api
3823                )
3824                .then(function (res) {
3825                  if (res.success) {
3826                    scope.qrUrl = res.data.qrcUrl;
3827                  } else {
3828                    scope.qrUrl = "-1";
3829                  }
3830                })
3831                .catch(function () {
3832                  scope.qrUrl = "-1";
3833                });
3834            }
3835          };
3836        },
3837      };
3838    },
3839  ])
3840
3841  //专题页预约试驾
3842  .directive("activityDrive", [
3843    "https",
3844    "$filter",
3845    "$timeout",
3846    function (https, $filter, $timeout) {
3847      return {
3848        scope: {
3849          parameter: "@",
3850          showGender: "@",
3851          sucFun: "=",
3852        },
3853        restrict: "E",
3854        replace: true,
3855        template:
3856          '<div class="activity-wrap">' +
3857          '<div class="drive-base drive-activity">' +
3858          '            <div class="group clearfix">' +
3859          '              <div class="w50" code-send-action="province1">' +
3860          '                <select id="{{adType}}_province" selectpicker class="selectpicker selectProvince" my-watch="globalProvince" ng-model="forms.province" ng-change="choiceProvince()" code-select-action="province">' +
3861          '                  <option value="" disabled>省份</option>' +
3862          '                  <option ng-value="item.id" ng-repeat="item in globalProvince">{{item.name}}</option>' +
3863          "                </select>" +
3864          "              </div>" +
3865          '              <div class="w50" code-send-action="city1">' +
3866          '                <select id="{{adType}}_city" selectpicker class="selectpicker selectCity" my-watch="globalCity" ng-model="forms.city" ng-change="choiceCity()" code-select-action="city">' +
3867          '                  <option value="" disabled="">城市</option>' +
3868          '                  <option ng-value="item.ID" ng-repeat="item in globalCity">{{item.Name}}</option>' +
3869          "                </select>" +
3870          "              </div>" +
3871          "            </div>" +
3872          '            <div class="group select_store" code-send-action="dealer1">' +
3873          '              <select id="{{adType}}_dealer" selectpicker class="selectpicker selectDealer" my-watch="globalDealer" ng-model="forms.dealer" ng-click="getStore()" ng-change="choiceDealer()" code-select-action="dealer">' +
3874          '                <option value="" disabled>选择专营店</option>' +
3875          '                <option ng-value="item.StoreID" class="{{(item.WarnType == 0 || item.WarnType == 1) ? \'gray ng-binding ng-scope\' : \'ng-binding ng-scope\'}}"  ng-repeat="item in globalDealer">{{item.StoreName}}</option>' +
3876          "              </select>" +
3877          "            </div>" +
3878          '            <div class="group clearfix" code-send-action="name1">' +
3879          '              <input id="{{adType}}_name" class="inputs form-control" type="text" ng-model="forms.userName" placeholder="姓名">' +
3880          "            </div>" +
3881          '            <div class="group gender-box clearfix" ng-show="showGender">' +
3882          "               <label class=\"radio-inline {{forms.gender == 1 ? 'active' : ''}}\" code-send-action=\"gender1\">" +
3883          '                   <input id="{{adType}}_male" type="radio" name="sex" ng-model="forms.gender" value="1">先生' +
3884          "               </label>" +
3885          "               <label class=\"radio-inline {{forms.gender == 2 ? 'active' : ''}}\" code-send-action=\"gender2\">" +
3886          '                   <input id="{{adType}}_female" type="radio" name="sex" ng-model="forms.gender" value="2">女士' +
3887          "               </label>" +
3888          "            </div>" +
3889          '            <div class="group" code-send-action="phone1">' +
3890          '              <input id="{{adType}}_telphone" class="inputs form-control" type="text" ng-model="forms.phoneNbr" required placeholder="电话">' +
3891          "            </div>" +
3892          '          <div class="group protocol">' +
3893          '            <div class="checkbox">' +
3894          "              <label class=\"radio-inline checkbox-inline {{protocol == 1 ? 'active' : ''}}\" code-send-action=\"agree1\">" +
3895          '                <input id="{{adType}}_agree" ng-click="protectionCheck()" type="checkbox" ng-model="protocol" value="true"> 我已阅读并同意' +
3896          "              </label>" +
3897          '              <span id="{{adType}}_PrivacyPolicy" ng-click="alertProtection()" code-send-action="privacy1">《东风日产个人信息保护声明》</span>' +
3898          "            </div>" +
3899          "          </div>" +
3900          '          <div class="group button">' +
3901          '            <div class="btn btn-primary" ng-click="submitBtn()">提交</div>' +
3902          "          </div>" +
3903          "        </div>" +
3904          "   </div>",
3905        link: function link(scope, element, attrs) {
3906          //页面json数据
3907          scope.globalProvince = $Json.province;
3908          scope.globalCity = "";
3909          scope.dealer = null;
3910          scope.address = null; //选中后的专营店地址
3911          scope.protocol = false;
3912          scope.adType = $PageJson.adcatalog;
3913          jiceTrackform(scope.adType);
3914
3915          var cookieID = "";
3916          if ($config.getCookie("sc_ext_contact")) {
3917            var GLOBAL_COOKIE = $config.getCookie("sc_ext_contact");
3918            var cookieArr = GLOBAL_COOKIE.split("|");
3919            cookieID = cookieArr[0];
3920          }
3921
3922          //页面表单参数
3923          var base_forms = {
3924            userName: "",
3925            phoneNbr: "",
3926            gender: "",
3927            dealer: "",
3928            clueType: "3",
3929            siteName: "nissan",
3930            cluePageID: "1",
3931            smartCode: $config.getCookie("SMARTCODE")
3932              ? $config.getCookie("SMARTCODE")
3933              : $config.GetQueryString("SMARTCODE"),
3934            clueURL: $config.getClueURL(),
3935            terminalCode: $config.IsPC() ? 0 : 1,
3936            cookieID: cookieID,
3937          };
3938
3939          var paraArr = $.parseJSON(scope.parameter);
3940          scope.forms = $.extend(base_forms, paraArr);
3941
3942          // 设置隐私条款 Start
3943          scope.protectionCheck = function () {
3944            setProtectionCode(1, "", scope.forms.CarSeries);
3945          };
3946          scope.alertProtection = function () {
3947            $config.privateLayer();
3948            setProtectionCode(2, "", scope.forms.CarSeries);
3949          };
3950          // 设置隐私条款 End
3951
3952          if (scope.showGender) {
3953            scope.forms.gender = 1;
3954          }
3955
3956          scope.storeData = {
3957            storeName: "",
3958            province: "",
3959            city: "",
3960            cbbIds: "['" + scope.forms.CarSeries + "']",
3961            storeId: "",
3962            carSeriesId: "",
3963            terminal: $config.IsPC() ? 0 : 1,
3964
3965            //获取所在地区
3966          };
3967          scope.getLocal = function () {
3968            var _getPlace = function _getPlace(res) {
3969              //选择省
3970              angular.forEach(scope.globalProvince, function (item) {
3971                //匹配省
3972                if (res.province.indexOf(item.name) !== -1) {
3973                  $timeout(function () {
3974                    scope.forms.province = item.id;
3975                    //选择市的列表
3976                    https
3977                      .Asyn(
3978                        https.api.GetDistributorCity,
3979                        { provinceId: item.id },
3980                        "get",
3981                        $config.HostUrls.api
3982                      )
3983                      .then(function (result) {
3984                        var data = result.data;
3985                        scope.globalCity = data.CityInfoList;
3986                        //选择市
3987                        angular.forEach(scope.globalCity, function (item) {
3988                          //匹配市
3989                          if (res.city.indexOf(item.Name) !== -1) {
3990                            $timeout(function () {
3991                              scope.forms.city = item.ID;
3992                              //选择城市下面的专营店
3993                              scope.storeData.province = res.province;
3994                              scope.storeData.city = res.city;
3995                            }, 0);
3996                          } else if (!res.city) {
3997                            $timeout(function () {
3998                              //选择城市下面的专营店
3999                              scope.storeData.province = res.province;
4000                            }, 0);
4001                          }
4002                        });
4003                      });
4004                  }, 0);
4005                }
4006              });
4007            };
4008
4009            //读取cookie中的省市
4010            if ($config.getCookie("Place")) {
4011              var Place = JSON.parse($config.getCookie("Place"));
4012              _getPlace(Place);
4013            } else {
4014              //cookie没有省市就重新获取并存储
4015              $config.Maps().getCity(function (res, point) {
4016                // 百度地图
4017                _getPlace(res);
4018                //保存到cookie
4019                var Place = {
4020                  localProvince: res.province,
4021                  province: res.province,
4022                  city: res.city,
4023                };
4024                $config.setCookie("Place", JSON.stringify(Place));
4025              });
4026            }
4027          };
4028
4029          scope.getLocal();
4030
4031          //选择省份
4032          scope.choiceProvince = function () {
4033            scope.forms.city = "";
4034            scope.forms.dealer = "";
4035            scope.address = "";
4036            https
4037              .Asyn(
4038                https.api.GetDistributorCity,
4039                { provinceId: scope.forms.province },
4040                "get",
4041                $config.HostUrls.api
4042              )
4043              .then(function (res) {
4044                scope.globalCity = res.data.CityInfoList;
4045                scope.globalDealer = "";
4046                for (var i in scope.globalProvince) {
4047                  if (scope.globalProvince[i].id == scope.forms.province) {
4048                    scope.storeData.province = scope.globalProvince[i].name;
4049                  }
4050                }
4051                $(".select_store")
4052                  .find("div.dropdown-menu .storeWrap")
4053                  .html("");
4054              });
4055          };
4056
4057          //选择城市
4058          scope.choiceCity = function () {
4059            scope.forms.dealer = "";
4060            for (var i in scope.globalCity) {
4061              if (scope.globalCity[i].ID == scope.forms.city) {
4062                scope.storeData.city = scope.globalCity[i].Name;
4063                // scope.getStore()
4064              }
4065            }
4066          };
4067
4068          //选择经销商
4069          scope.choiceDealer = function () {
4070            for (var i in scope.globalDealer) {
4071              if (scope.globalDealer[i].StoreID == scope.forms.dealer) {
4072                if (
4073                  scope.globalDealer[i].WarnType == 1 ||
4074                  scope.globalDealer[i].WarnType == 0
4075                )
4076                  $config.followUpDialog();
4077              }
4078            }
4079          };
4080
4081          scope.storeDetail = {
4082            name: null,
4083            address: null,
4084            tel: null,
4085
4086            //选择专营店
4087          };
4088          $(document).on(
4089            "mouseenter",
4090            ".select_store .dropdown-menu ul li",
4091            function () {
4092              if (
4093                $(window).width() <=
4094                $config.screen.lg - $config.getScrollbarWidth()
4095              ) {
4096                return;
4097              }
4098              var eq = $(this).index();
4099              $(this).parents("ul").find("li").removeClass("hover");
4100              if (eq == 0) {
4101                $(this)
4102                  .parents(".select_store")
4103                  .find("div.dropdown-menu .storeWrap")
4104                  .html("");
4105                return;
4106              }
4107              $(this).addClass("hover");
4108
4109              for (var i in scope.dealer) {
4110                if (
4111                  scope.dealer[i].StoreID ==
4112                  $(this)
4113                    .parents(".select_store")
4114                    .find(".selectpicker option")
4115                    .eq(eq)
4116                    .val()
4117                ) {
4118                  scope.storeDetail.name = scope.dealer[i].StoreName;
4119                  scope.storeDetail.address = scope.dealer[i].Address;
4120                  scope.storeDetail.tel = scope.dealer[i].ServiceTel;
4121                  var num = parseInt(i) + 1;
4122                  var ServiceTel = scope.dealer[i].ServiceTel;
4123                  if (scope.dealer[i].StoreID == "2923") {
4124                    //"平顶山威泰"的话显示SaleTel
4125                    ServiceTel = scope.dealer[i].SaleTel;
4126                  }
4127                  var html =
4128                    '<div class="storeDetail">\n                  <div class="sbox ' +
4129                    (scope.globalDealer[i].WarnType == 1 ||
4130                    scope.globalDealer[i].WarnType == 0
4131                      ? "slow-follow-up"
4132                      : "") +
4133                    ('">\n                    <div class="follow-up-tips"><i class="icon icon-gantan"></i>\u8BE5\u7ECF\u9500\u5546\u6682\u672A\u5F00\u901A\u6B64\u9879\u529F\u80FD\uFF0C\u8BF7\u9009\u62E9\u5176\u4ED6\u4E1C\u98CE\u65E5\u4EA7\u7ECF\u9500\u5546</div>\n                    <div class="sname"><div class="txt"><span class="icon icon-local"><b>' +
4134                      parseInt(num) +
4135                      "</b></span>" +
4136                      scope.dealer[i].StoreName +
4137                      '</div></div>\n                    <div class="stitle">\u7535\u8BDD\uFF1A</div>\n                    <div class="stit">' +
4138                      ServiceTel +
4139                      '</div>\n                    <div class="stitle">\u5730\u5740\uFF1A</div>\n                    <div class="stit">' +
4140                      scope.dealer[i].Address +
4141                      "</div>\n                  </div>\n                 </div>");
4142                  if (
4143                    $(this)
4144                      .parents(".select_store")
4145                      .find("div.dropdown-menu .storeWrap").length <= 0
4146                  ) {
4147                    $(this)
4148                      .parents(".select_store")
4149                      .find("div.dropdown-menu")
4150                      .append('<div class="storeWrap">' + html + "</div>");
4151                  } else {
4152                    $(this)
4153                      .parents(".select_store")
4154                      .find("div.dropdown-menu .storeWrap")
4155                      .html(html);
4156                  }
4157                }
4158              }
4159            }
4160          );
4161
4162          scope.getStore = function () {
4163            //点击获取专营店,如果下拉展开不重复获取
4164            if (
4165              $(".select_store .dropdown-toggle").attr("aria-expanded") ==
4166              "true"
4167            ) {
4168              return;
4169            }
4170            if (!scope.forms.province && !scope.forms.city) {
4171              return;
4172            }
4173            var storeData = scope.storeData;
4174            scope.globalDealer = "";
4175            var dealer = scope.forms.dealer;
4176            scope.storeData.storeId = "";
4177            scope.forms.dealer = "";
4178            scope.address = "";
4179            $(".select_store").find("div.dropdown-menu .storeWrap").html("");
4180            https
4181              .Asyn(
4182                https.api.storeSearch,
4183                storeData,
4184                "get",
4185                $config.HostUrls.api
4186              )
4187              .then(function (res) {
4188                if (res.success) {
4189                  var data = res.data.DealerInfos;
4190                  scope.globalDealer = data;
4191                  scope.dealer = data;
4192                }
4193              });
4194          };
4195
4196          var loading = false;
4197          scope.submitBtn = function () {
4198            if (loading) {
4199              return;
4200            }
4201            scope.forms.smartCode = $config.getCookie("SMARTCODE")
4202              ? $config.getCookie("SMARTCODE")
4203              : $config.GetQueryString("SMARTCODE");
4204            var forms = scope.forms;
4205            var paraArr = $.parseJSON(scope.parameter);
4206            scope.forms.CarSeries = paraArr.CarSeries;
4207
4208            var pattern = new RegExp("[\u4E00-\u9FA5]+");
4209            if (pattern.test(forms.dealer)) {
4210              scope.globalDealer.forEach(function (item) {
4211                if (item.StoreName === forms.dealer)
4212                  forms.dealer = item.StoreID;
4213              });
4214            }
4215
4216            var dealerInfo = void 0;
4217            if (scope.globalDealer) {
4218              scope.globalDealer.forEach(function (item) {
4219                if (item.StoreID === forms.dealer) dealerInfo = item;
4220              });
4221            }
4222
4223            var msg = "";
4224            if (!forms.CarSeries) {
4225              msg = "请选择车系!";
4226            } else if (!forms.userName) {
4227              msg = "请输入名字!";
4228            } else if (!$config.rex.username.test(forms.userName)) {
4229              msg = "姓名只能输入中文、字母和数字!";
4230            } else if (forms.phoneNbr == null) {
4231              msg = "请输入电话号码!";
4232            } else if (!$config.rex.mobile.test(forms.phoneNbr)) {
4233              msg = "请输入正确的电话号码!";
4234            } else if (!forms.province || !forms.city || !forms.dealer) {
4235              msg = "请选择专营店!";
4236            } else if (
4237              forms.dealer &&
4238              dealerInfo &&
4239              (dealerInfo.WarnType == 1 || dealerInfo.WarnType == 0)
4240            ) {
4241              msg = "该经销商暂未开通此项功能,请选择其他东风日产经销商!";
4242            } else if (!scope.protocol) {
4243              $config.privateLayer(function () {
4244                scope.protocol = true;
4245                scope.submitBtn();
4246              });
4247            }
4248            var empty = [];
4249            if (!forms.userName) {
4250              empty.push("name");
4251            }
4252            if (!forms.phoneNbr) {
4253              empty.push("telphone");
4254            }
4255            if (!forms.province) {
4256              empty.push("province");
4257            }
4258            if (!forms.city) {
4259              empty.push("city");
4260            }
4261            if (!forms.dealer) {
4262              empty.push("dealer");
4263            }
4264            if (!scope.protocol) {
4265              empty.push("agree");
4266            }
4267
4268            // 监测代码需要的数据
4269            var carSeries = void 0,
4270              username = forms.userName,
4271              gender = forms.gender == 1 ? "男" : "女",
4272              phone = forms.phoneNbr,
4273              province = void 0,
4274              city = void 0,
4275              agency = void 0;
4276            if (forms.CarSeries) {
4277              for (var _i in $Json.car_cid) {
4278                if ($Json.car_cid[_i].CID === forms.CarSeries) {
4279                  carSeries = $Json.car_cid[_i].Name;
4280                }
4281              }
4282            }
4283            if (forms.province) {
4284              for (var i in scope.globalProvince) {
4285                if (scope.globalProvince[i].id == forms.province) {
4286                  province = scope.globalProvince[i].name;
4287                }
4288              }
4289            }
4290            if (forms.city) {
4291              for (var i in scope.globalCity) {
4292                if (scope.globalCity[i].ID == forms.city) {
4293                  city = scope.globalCity[i].Name;
4294                }
4295              }
4296            }
4297            if (forms.dealer) {
4298              for (var i in scope.globalDealer) {
4299                if (scope.globalDealer[i].StoreID == forms.dealer) {
4300                  agency = scope.globalDealer[i].StoreName;
4301                }
4302              }
4303            }
4304            var code_data = {
4305              actionId: forms.actionId,
4306              carSeries: carSeries,
4307              car_cid: forms.CarSeries,
4308              username: username,
4309              gender: gender,
4310              phone: phone,
4311              province: province,
4312              city: city,
4313              agency: agency,
4314              empty: empty,
4315              /*专题页预约试驾按钮点击-监测代码*/
4316            };
4317            activityClick(code_data);
4318
4319            // 表单验证
4320            if (msg) {
4321              layer.alert(msg, { move: false });
4322              /*专题页预约试驾失败-监测代码*/
4323              activityFail(code_data);
4324              return;
4325            }
4326            if (!scope.protocol) {
4327              return;
4328            }
4329
4330            loading = true;
4331
4332            https
4333              .Asyn(https.api.ActivitySaveClue, forms, "", $config.HostUrls.api)
4334              .then(function (res) {
4335                if (res.success) {
4336                  layer.alert("预约成功!", function (index) {
4337                    layer.close(index);
4338
4339                    $timeout(function () {
4340                      scope.forms.userName = "";
4341                      scope.forms.phoneNbr = "";
4342                      scope.forms.dealer = "";
4343                    }, 0);
4344
4345                    //成功后调用方法
4346                    if (scope.sucFun) {
4347                      scope.sucFun();
4348                    }
4349                  });
4350                  loading = false;
4351                  /*专题页预约试驾成功-监测代码*/
4352                  code_data.clueID = res.data.clueID;
4353                  activitySuc(code_data);
4354                } else {
4355                  layer.alert(res.msg, {
4356                    move: false,
4357                  });
4358                  loading = false;
4359                  /*专题页预约试驾失败-监测代码*/
4360                  activityFail(code_data);
4361                }
4362              });
4363          };
4364        },
4365      };
4366    },
4367  ])
4368
4369  //了解更多
4370  .directive("learnMore", [
4371    "https",
4372    function (https) {
4373      return {
4374        scope: {
4375          dTitle: "@",
4376        },
4377        restrict: "E",
4378        replace: true,
4379        template:
4380          '<div class="learnMore" ng-if="linkList">' +
4381          '    <div class="container-lg">' +
4382          '        <div class="tit">{{dTitle}}</div>' +
4383          '        <div class="link-list">' +
4384          '            <a href="{{item.Url}}" rel="noopener" target="_blank" ng-repeat="item in linkList" data-ad="{{item.ItemName}}"><span>{{item.Text}}</span><i class="icon icon-arrow-right"></i></a>' +
4385          "        </div>" +
4386          "    </div>" +
4387          "</div>",
4388        link: function link(scope, element, attrs) {
4389          var postData = {
4390            ajaxCallSiteInfo: $PageJson.ajaxCallSiteInfo,
4391            dataSourceID: $PageJson.NextStep.dataSourceID,
4392          };
4393
4394          https
4395            .Asyn(https.api.NextStepInfo, postData, "post")
4396            .then(function (res) {
4397              var data = res;
4398              scope.linkList = data.data;
4399            });
4400        },
4401      };
4402    },
4403  ])
4404
4405  //促销活动详情
4406  .directive("lifeActivity", [
4407    "https",
4408    function (https) {
4409      return {
4410        scope: {
4411          dTitle: "@",
4412          dParam: "@",
4413          dUrl: "@",
4414        },
4415        restrict: "E",
4416        replace: true,
4417        template:
4418          '<div class="active-list-box" ng-show="lists">' +
4419          '    <h3 class="text-center ng-binding">{{dTitle}}</h3>' +
4420          '    <div class="active-list clearfix">' +
4421          '        <div class="col-lg-4 col-md-4 col-sm-6" ng-repeat="item in lists">' +
4422          "            <div class=\"list\" ng-class=\"{'-1':'finish', '1':'nostart', '2':'recruit'}[item.Status.Status]\">" +
4423          '                <a class="pic" ng-href="{{item.DetailLink}}" rel="noopener" target="_blank">' +
4424          '                    <img ng-src="{{item.Thumbnail.URL | ImgHost}}">' +
4425          '                    <label class="btn-sm" ng-if="item.Status.Status">{{item.Status.Status | AcStatus}}</label>' +
4426          '                    <label class="btn-sm" ng-if="item.IsRecruitment == 1">招募中</label>' +
4427          "                </a>" +
4428          '                <div class="cont-box">' +
4429          '                    <div class="tit"><a ng-href="{{item.DetailLink}}" rel="noopener" target="_blank">{{item.Title}}</a></div>' +
4430          '                    <div class="time">' +
4431          '                        <i class="icon icon-time"></i>活动时间:{{item.StartDate}}' +
4432          '                        <span><i class="icon icon-local"></i>{{item.Location}}</span>' +
4433          "                    </div>" +
4434          '                    <div class="txt">{{item.Description}}</div>' +
4435          "                </div>" +
4436          "            </div>" +
4437          "        </div>" +
4438          "    </div>" +
4439          "</div>",
4440        link: function link(scope, element, attrs) {
4441          scope.lists = false;
4442          scope.dParam = JSON.parse(scope.dParam);
4443          scope.dParam.ajaxCallSiteInfo = $PageJson.ajaxCallSiteInfo;
4444          https.Asyn(https.api[scope.dUrl], scope.dParam).then(function (res) {
4445            if (res.data.length != 0) {
4446              scope.lists = [];
4447              for (var i = 0; i < res.data.length; i++) {
4448                scope.lists.push(res.data[i]);
4449              }
4450            }
4451          });
4452        },
4453      };
4454    },
4455  ])
4456
4457  //车主分享-推荐更多
4458  .directive("myShare", [
4459    "https",
4460    function (https) {
4461      return {
4462        scope: {
4463          dTitle: "@",
4464          dParam: "@",
4465          dUrl: "@",
4466        },
4467        restrict: "E",
4468        replace: true,
4469        template:
4470          '<div class="active-list-box car-share-list" ng-show="lists">' +
4471          '    <h3 class="text-center">{{dTitle}}</h3>' +
4472          '    <div class="active-list clearfix">' +
4473          '        <div class="col-lg-4 col-md-4 col-sm-6" ng-repeat="item in lists">' +
4474          '            <div class="wrap">' +
4475          '                <a ng-href="{{item.DetailLink}}" rel="noopener" target="_blank">' +
4476          '                    <div class="pic"><img ng-src="{{item.ImageUrl | ImgHost}}"></div>' +
4477          '                    <div class="text">' +
4478          '                        <div class="tit">{{item.Title}}</div>' +
4479          '                        <div class="txt">{{item.Abstract}}</div>' +
4480          '                        <div class="more">查看详情</div>' +
4481          "                    </div>" +
4482          "                </a>" +
4483          "            </div>" +
4484          "        </div>" +
4485          "    </div>" +
4486          "</div>",
4487        link: function link(scope, element, attrs) {
4488          scope.lists = false;
4489          scope.dParam = JSON.parse(scope.dParam);
4490          scope.dParam.ajaxCallSiteInfo = $PageJson.ajaxCallSiteInfo;
4491          https.Asyn(https.api[scope.dUrl], scope.dParam).then(function (res) {
4492            scope.lists = [];
4493            for (var i = 0; i < 3; i++) {
4494              scope.lists.push(res.data[i]);
4495            }
4496          });
4497        },
4498      };
4499    },
4500  ])
4501
4502  //验证码
4503  /*  code -- 验证码
4504  error -- 是否为空
4505  callback -- 调用下载接口
4506  popup -- 是否弹窗
4507  show -- 显示弹窗*/
4508  .directive("myVerify", [
4509    "https",
4510    function (https) {
4511      return {
4512        scope: {
4513          params: "=",
4514        },
4515        restrict: "E",
4516        replace: true,
4517        template:
4518          '<div class="base-verify verify-bg" ng-class="{\'popup-true\': params.popup}" ng-show="params.show">' +
4519          '    <div class="verify-wrap">' +
4520          '        <i class="close icon icon-close1" ng-click="hideVerify()"></i>' +
4521          '        <div class="verify-title">验证下载</div>' +
4522          '        <div class="form-group clearfix">' +
4523          '            <input class="inputs form-control" type="text" maxlength="6" name="code" ng-model="params.code" placeholder="请输入验证码" required>' +
4524          '            <span class="refresh" ng-click="getVerityCode()">刷新</span>' +
4525          '            <div class="verify-pic" ng-click="getVerityCode()">' +
4526          '                <img ng-src="{{Verify}}" ng-show="Verify">' +
4527          "            </div>" +
4528          '            <div class="warn-span" ng-show="params.error">' +
4529          '                <span class="warn">请输入正确的验证码</span>' +
4530          "            </div>" +
4531          "        </div>" +
4532          '        <div class="btn btn-primary btn-download" ng-click="downloadFile()">立即下载</div>' +
4533          "    </div>" +
4534          "</div>",
4535        link: function link(scope, element, attrs) {
4536          scope.Verify = "";
4537
4538          scope.hideVerify = function () {
4539            scope.params.show = false;
4540            scope.params.code = "";
4541            scope.params.error = false;
4542          };
4543
4544          scope.downloadFile = function () {
4545            scope.params.callback = true;
4546          };
4547
4548          scope.$watch("params.show", function () {
4549            if (scope.params.show && scope.params.popup) {
4550              scope.getVerityCode();
4551            }
4552          });
4553
4554          scope.getVerityCode = function (error) {
4555            https
4556              .Asyn(https.api.GetVerifyCode, "", "post")
4557              .then(function (res) {
4558                if (res.success) {
4559                  scope.Verify = res.Verify;
4560                } else {
4561                  layer.alert(res.msg);
4562                }
4563              });
4564          };
4565          if (scope.params.show) {
4566            scope.getVerityCode();
4567          }
4568        },
4569      };
4570    },
4571  ])
4572
4573  //配置表
4574  .directive("carConfiguration", [
4575    "https",
4576    "$timeout",
4577    function (https, $timeout) {
4578      return {
4579        scope: {
4580          carId: "=",
4581        },
4582        restrict: "E",
4583        replace: true,
4584        template:
4585          '\n        <div class="deploy">\n          <div class="deploy-top">\n            <div class="container-lg">\n              <div class="in-title">\n                <div class="tit">\u53C2\u6570\u914D\u7F6E</div>\n                <div class="txt" ng-if="carTypeName">\u5173\u4E8E{{carTypeName}}\u7684\u6240\u6709\u914D\u7F6E\u4FE1\u606F\uFF0C\u4F9B\u60A8\u53C2\u8003</div>\n              </div>\n              <div class="top-table {{showElectric ? \'top-electric\' : \'\'}}" ng-show="carType">\n                <div class="fixed-wrap">\n                  <div class="container-lg">\n                    <div class="table clearfix" id="table" ui-sortable="sortableOptions" ng-model="carType">\n                      <div class="th title">\n                        {{carTypeName}}\n                        <i>{{showElectric ? \'\u5B98\u65B9\u6307\u5BFC\u4EF7\' : \'\u4EBA\u6C11\u5E01\u4EF7\u683C\'}}</i>\n                        <i class="electricTitle" ng-show="showElectric">\u8865\u8D34\u540E\u552E\u4EF7</i>\n                      </div>\n                      <div ng-class="{\'cur\': CarTypeId == item.CarTypeId}" class="th drag" ng-repeat="item in carType" data-id="{{item.CarTypeId}}">\n                        {{item.Displacement}}<br>\n                        {{item.Edition}}<br><br>\n                        <div class="price basePrice"><em>{{item.Price}}</em>
4585\u4E07</div>\n                        <div class="price electricPrice" ng-show="showElectric"><em>{{item.ElectricPrice}}</em>\u4E07</div>\n                        <i class="close icon icon-close1" ng-click="deleteTh($event)"></i>\n                        <b ng-show="item.IsHot" class="hot-type">NEW</b>\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              </div>\n\n              <div class="top-tag {{showElectric ? \'top-electric\' : \'\'}}" ng-show="carType">\n                <div class="top-wrap">\n                  <dl class="deploy-tag">\n                    <dt><div class="p_span"></div><span ng-click="mobileSelect($event)"><i class="icon icon-arrow-down"></i></span></dt>\n                    <dd>\n                      <!--\u8865\u8D34\u4EF7\u683C-->\n                      <a ng-if="showElectric" ng-repeat="item in carType" data-id="{{item.CarTypeId}}" ng-click="selectType($event)">\n                          <div>{{item.Displacement}} {{item.Edition}} <b ng-show="item.IsHot" class="hot-type">NEW</b></div>\n                          <em class="price"><i>\u5B98\u65B9\u6307\u5BFC\u4EF7\uFF1A</i>{{item.Price}}\u4E07</em>\n                          <em class="electric-price"><i>\u8865\u8D34\u540E\u552E\u4EF7\uFF1A</i>{{item.ElectricPrice}}\u4E07</em>\n                      </a>\n                      <!--\u6307\u5BFC\u4EF7-->\n                      <a ng-if="!showElectric" ng-repeat="item in carType" data-id="{{item.CarTypeId}}" ng-click="selectType($event)">{{item.Displacement}} {{item.Edition}} <b ng-show="item.IsHot" class="hot-type">NEW</b><em>{{item.Price}}\u4E07</em></a>\n                    </dd>\n                  </dl>\n                </div>\n              </div>\n            </div>\n          </div>\n          <div class="container-lg deploy-cont">\n              <div class="tips">\n                  <span class="hidden-xs">\u62D6\u62FD\u8F66\u6B3E\u53EF\u8C03\u987A\u5E8F\uFF0CX\u53EF\u4EE5\u9690\u85CF\u6574\u5217\u53C2\u6570</span>\n                  <span><em>\u25CF</em> \u6807\u51C6\u914D\u7F6E</span>\n                  <span><em>\u25CB</em> \u9009\u88C5\u914D\u7F6E</span>\n                  <span>\uFF0D \u65E0\u6B64\u914D\u7F6E</span>\n                  <label class="hidden-xs radio-inline sameList {{showSame == 1 ? \'active\' : \'\'}}" for="sameList"><input type="checkbox" id="sameList" ng-model="showSame">\u9690\u85CF\u76F8\u540C\u9879</label>\n              </div>\n              <div class="deploy-wrap" ng-show="carType">\n                  <dl class="deploy-dl" ng-repeat="(index, item) in carJson" my-watch="typeId">\n                      <dt data-ad="{{ \'configuration-\' + CID + \'-\' + index }}" ng-click="showDetail($event)">{{item.name}}<i class="icon icon-plus"></i></dt>\n                      <dd>\n                          <table class="table">\n                              <tr ng-repeat="row in item.val">\n                                  <td ng-bind-html="row.name | to_trusted"></td>\n                                  <td class="item {{CarTypeId == key ? \'cur\' : \'\'}}" ng-repeat="key in typeId" data-id="{{row.val[$index].id}}">\n                                      <span ng-repeat="tdCont in row.val" ng-if="key == row.val[$index].id" ng-bind-html="row.val[$index].val | to_trusted"></span>\n                                  </td>\n                              </tr>\n                          </table>\n                      </dd>\n                  </dl>\n              </div>\n              <div class="statement" ng-bind-html="Configurations | to_trusted"></div>\n          </div>\n      </div>\n      ',
4586        link: function link(scope, element, attrs) {
4587          scope.showSame = false;
4588          scope.$watch("showSame", function (newValue, oldValue) {
4589            if (newValue != oldValue) {
4590              scope.sameList(newValue);
4591            }
4592          });
4593          var postData = {
4594            ajaxCallSiteInfo: $PageJson.ajaxCallSiteInfo,
4595            carSeriesId: scope.carId,
4596          };
4597
4598          scope.carType = [];
4599          scope.carTypeName = "";
4600          scope.CID = "";
4601          scope.typeId = [];
4602          scope.CarTypeId = $config.GetQueryString("CarTypeId");
4603          scope.showElectric = false; //显不显示补贴后售价
4604
4605          //loading
4606          var layerIndex = layer.load(2, {
4607            shade: [0.1, "#fff"], //0.1透明度的白色背景
4608          });
4609
4610          //获取车系列表
4611          https
4612            .Asyn(https.api.GetJsonCarSeries, postData, "post")
4613            .then(function (res) {
4614              var data = res.data;
4615
4616              // 大客户版本需要显示下架的车系,因此不使用接口数据,前端直接写死
4617              data = [
4618                {
4619                  ID: "592528f38a404881b7aaf1bbdd2fc134",
4620                  CID: "51",
4621                  Name: "第七代天籁",
4622                  Image:
4623                    "/-/media/Images/Nissan/Cars/car-navigation/altima-red.png",
4624                  CarStyleName: "三厢车",
4625                },
4626                {
4627                  ID: "507cf5b433174992ac49d1827b625b85",
4628                  CID: "13",
4629                  Name: "第14代轩逸",
4630                  Image: "/-/media/Images/Nissan/Cars/slyphy/slyphy.png",
4631                  CarStyleName: "三厢车",
4632                },
4633                {
4634                  ID: "79e3eccbf96b4c699306b6febeb55373",
4635                  CID: "14",
4636                  Name: "蓝鸟",
4637                  Image:
4638                    "/-/media/Images/Nissan/Cars/car-navigation/lannia.png",
4639                  CarStyleName: "三厢车",
4640                },
4641                {
4642                  ID: "1a7b0a1f7b4b4e0fb0c2ece727ca4bad",
4643                  CID: "16",
4644                  Name: "新轩逸·经典",
4645                  Image:
4646                    "/-/media/Images/Nissan/Cars/sylphy-classic/Model/newslyphy-class.png",
4647                  CarStyleName: "三厢车",
4648                },
4649                {
4650                  ID: "8d06ccf2dc874602bb66c54c1ee4dd3b",
4651                  CID: "6",
4652                  Name: "骐达",
4653                  Image:
4654                    "/-/media/Images/Nissan/Cars/car-navigation/tiida-red.png",
4655                  CarStyleName: "两厢车",
4656                },
4657                {
4658                  ID: "315565a4e6d34fd3840f97fc62bb4b4f",
4659                  CID: "73",
4660                  Name: "全新一代奇骏",
4661                  Image:
4662                    "/-/media/Images/Nissan/Cars/car-navigation/new-x-trail.png",
4663                  CarStyleName: "SUV",
4664                },
4665                {
4666                  ID: "1c0415e7d41648c4ad8105af26367c7f",
4667                  CID: "23",
4668                  Name: "新楼兰",
4669                  Image:
4670                    "/-/media/Images/Nissan/Cars/car-navigation/new-murano.png",
4671                  CarStyleName: "SUV",
4672                },
4673                {
4674                  ID: "b553f708396448cab53896b315eec950",
4675                  CID: "21",
4676                  Name: "奇骏",
4677                  Image:
4678                    "/-/media/Images/Nissan/Cars/car-navigation/x-trail.png",
4679                  CarStyleName: "SUV",
4680                },
4681                {
4682                  ID: "5059b0c2b39f4fa6a9f62ab06d9d4569",
4683                  CID: "48",
4684                  Name: "全新途达",
4685                  Image:
4686                    "/-/media/Images/Nissan/Cars/car-navigation/terra-red.png",
4687                  CarStyleName: "SUV",
4688                },
4689                {
4690                  ID: "65c7fff0e135495ba3b3eb85116cdc60",
4691                  CID: "22",
4692                  Name: "新逍客",
4693                  Image:
4694                    "/-/media/Images/Nissan/Cars/car-navigation/qashqai-red.png",
4695                  CarStyleName: "SUV",
4696                },
4697                {
4698                  ID: "94de110fdcd4437fb907332b631fad21",
4699                  CID: "40",
4700                  Name: "全新劲客",
4701                  Image:
4702                    "/-/media/Images/Nissan/Cars/car-navigation/kciks-r.png",
4703                  CarStyleName: "SUV",
4704                },
4705                {
4706                  ID: "f33ac8dbc32d451fa8b239b168cfcbee",
4707                  CID: "49",
4708                  Name: "轩逸·纯电",
4709                  Image:
4710                    "/-/media/Images/Nissan/Cars/car-navigation/sylphy-zero-emission.png",
4711                  CarStyleName: "新能源车",
4712                },
4713              ];
4714
4715              var carSeriesId = scope.carId
4716                .replace(/-/g, "")
4717                .toLocaleUpperCase();
4718              var CID = "";
4719              for (var i in data) {
4720                if (carSeriesId == data[i].ID.toLocaleUpperCase()) {
4721                  scope.carTypeName =
4722                    data[i].Name === "新逍客" ? "2021款逍客" : data[i].Name;
4723                  scope.carTypeName =
4724                    data[i].Name === "第七代天籁" ? "天籁2021款" : data[i].Name;
4725                  CID = data[i].CID;
4726                }
4727              }
4728              // 原车型站
4729              if (CID) {
4730                scope.carJson = $Json["car_" + CID];
4731                scope.CID = CID;
4732              } else {
4733                // 车型站abTest
4734                scope.carTypeName = $Json["car_" + carSeriesId].name;
4735                scope.carJson = $Json["car_" + carSeriesId].json;
4736                scope.CID = carSeriesId;
4737              }
4738              $timeout(function () {
4739                $(".deploy-wrap .deploy-dl")
4740                  .eq(0)
4741                  .find("dt")
4742                  .addClass("open")
4743                  .next("dd")
4744                  .slideDown();
4745              }, 0);
4746            });
4747
4748          //获取车型列表
4749          https
4750            .Asyn(https.api.GetCarType, postData, "post")
4751            .then(function (res) {
4752              //关闭loading
4753              layer.close(layerIndex);
4754              var data = res.data.CarTypes;
4755              if (!scope.CarTypeId && data.length !== 0 && !$config.IsPC()) {
4756                scope.CarTypeId = data[0].CarTypeId;
4757              }
4758              scope.carType = data;
4759              for (var i in data) {
4760                if (
4761                  data[i].ElectricPrice &&
4762                  data[i].IsElectronic == 1 &&
4763                  !scope.showElectric
4764                ) {
4765                  scope.showElectric = true;
4766                }
4767              }
4768              scope.Configurations = res.data.Configurations;
4769
4770              var typeId = [];
4771              for (var i in data) {
4772                typeId.push(data[i].CarTypeId);
4773              }
4774              scope.typeId = typeId;
4775
4776              //拖拽
4777              var oldIndex, newIndex;
4778              scope.sortableOptions = {
4779                start: function start(e, ui) {
4780                  oldIndex = $(ui.item).index() - 1;
4781                },
4782                stop: function stop(e, ui) {
4783                  newIndex = $(ui.item).index() - 1;
4784                  $.each($(".deploy-cont .table tr"), function (index, value) {
4785                    var oldCont = $(this).find("td.item").eq(oldIndex);
4786                    var newCont = $(this).find("td.item").eq(newIndex);
4787                    if (oldIndex < newIndex) {
4788                      //前换后
4789                      newCont.after(oldCont);
4790                    } else {
4791                      //后换前
4792                      newCont.before(oldCont);
4793                    }
4794                  });
4795                },
4796                axis: "x",
4797              };
4798
4799              $timeout(function () {
4800                $(".deploy-tag dt .p_span").html(
4801                  $(".deploy-tag dd a")
4802                    .eq($(".top-table .th.cur").index() - 1)
4803                    .html()
4804                );
4805                //超过9列配置表全屏
4806                if ($(".fixed-wrap").find(".th").length > 9) {
4807                  $(".nt-deploy").addClass("full-deploy");
4808                } else {
4809                  $(".nt-deploy").removeClass("full-deploy");
4810                }
4811                checkHeight();
4812                checkFixed();
4813              }, 0);
4814            });
4815
4816          // 删除一列
4817          scope.deleteTh = function (event, name) {
4818            var typeId = $(event.target).parents(".th").data("id");
4819            for (var i in scope.carType) {
4820              if (scope.carType[i].CarTypeId == typeId) {
4821                scope.carType.splice(i, 1);
4822              }
4823            }
4824            var eq;
4825            for (var i in scope.carJson) {
4826              for (var k in scope.carJson[i].val) {
4827                for (var x in scope.carJson[i].val[k].val) {
4828                  if (scope.carJson[i].val[k].val[x].id == typeId) {
4829                    scope.carJson[i].val[k].val.splice(x, 1);
4830                  }
4831                }
4832              }
4833            }
4834
4835            $timeout(function () {
4836              $.each($(".deploy-cont .table tr"), function (index, value) {
4837                $(this)
4838                  .find("td.item")
4839                  .each(function () {
4840                    if ($(this).find("span").length === 0) {
4841                      $(this).remove();
4842                    }
4843                  });
4844              });
4845              $(".fixed-wrap .th").css({
4846                width:
4847                  $(".fixed-wrap .table").width() / $(".fixed-wrap .th").length,
4848              });
4849              if ($(".fixed-wrap .close").length === 1) {
4850                $(".fixed-wrap .close").hide();
4851              }
4852              if (scope.showSame) {
4853                scope.sameList(true);
4854              }
4855            }, 0);
4856          };
4857
4858          //true的时候隐藏相同项
4859          scope.sameList = function (boolean) {
4860            $(".deploy-cont .table tr").removeClass("same");
4861            if (boolean) {
4862              $.each($(".deploy-cont .table tr"), function (index, value) {
4863                var _arr = [];
4864                $.each($(this).find("td"), function (eq, val) {
4865                  if (eq != 0) {
4866                    _arr.push($(this).text());
4867                  }
4868                });
4869                var _res = [];
4870                _arr.sort();
4871                for (var i = 0; i < _arr.length; ) {
4872                  var count = 0;
4873                  for (var j = i; j < _arr.length; j++) {
4874                    if (_arr[i] == _arr[j]) {
4875                      count++;
4876                    }
4877                  }
4878                  if (count == $(".fixed-wrap .th").length - 1) {
4879                    $(".deploy-cont .table tr").eq(index).addClass("same");
4880                  }
4881                  i += count;
4882                }
4883              });
4884            }
4885          };
4886
4887          scope.showDetail = function ($event) {
4888            var dt = $($event.target);
4889            var isOpen = dt.hasClass("open");
4890            if (isOpen) {
4891              dt.removeClass("open").next("dd").slideUp();
4892            } else {
4893              dt.addClass("open").next("dd").slideDown();
4894            }
4895          };
4896
4897          scope.mobileSelect = function ($event) {
4898            $event.stopPropagation();
4899            if ($(".deploy-tag dt").hasClass("open")) {
4900              $(".deploy-tag dd").slideUp();
4901              $(".deploy-tag dt").removeClass("open");
4902            } else {
4903              $(".deploy-tag dd").slideDown();
4904              $(".deploy-tag dt").addClass("open");
4905            }
4906          };
4907
4908          scope.selectType = function ($event) {
4909            var target = $($event.target),
4910              deployIndex = target.index() + 1;
4911            $(".deploy-tag dt .p_span").html(target.html());
4912            $(".deploy-tag dd").slideUp();
4913            $(".deploy-tag dt").removeClass("open");
4914
4915            $(".nt-deploy .table th, .nt-deploy .table td").removeClass("cur");
4916            $.each($(".deploy-top .table"), function (index, value) {
4917              $(this).find("th").eq(deployIndex).addClass("cur");
4918            });
4919            $.each($(".deploy-cont .table tr"), function (index, value) {
4920              $(this).find("td").eq(deployIndex).addClass("cur");
4921            });
4922          };
4923
4924          //关闭弹出框
4925          $(document).on("click", function (event) {
4926            if (
4927              $(event.target).closest(".top-tag .deploy-tag dt span").length <=
4928                0 &&
4929              !$config.IsPC()
4930            ) {
4931              $(".deploy-tag dt").removeClass("open");
4932              $(".deploy-tag dd").slideUp();
4933            }
4934          });
4935
4936          function checkFixed() {
4937            if ($(".deploy").length === 0) {
4938              return;
4939            }
4940            if (
4941              $(window).scrollTop() >= $(".deploy-top .top-table").offset().top
4942            ) {
4943              $(".deploy-top").addClass("fixed");
4944            } else {
4945              $(".deploy-top").removeClass("fixed");
4946            }
4947            if (
4948              $(window).scrollTop() >= $(".deploy-top .top-tag").offset().top &&
4949              $(window).scrollTop() <=
4950                $(".footer").offset().top - $(".deploy-top .top-tag").height()
4951            ) {
4952              $(".top-tag").addClass("fixed");
4953              $(".top-tag").css({ height: $(".top-wrap").outerHeight() });
4954            } else {
4955              $(".top-tag").removeClass("fixed");
4956              $(".top-tag").css({ height: "auto" });
4957            }
4958          }
4959          function checkHeight() {
4960            $(".deploy-top").removeClass("fixed");
4961            $(
4962              ".deploy-top .top-table,.deploy-top .fixed-wrap,.deploy-top .fixed-wrap .th"
4963            ).css({ height: "auto" });
4964            if ($(window).width() < $config.screen.sm) {
4965              $(".deploy-top .top-tag").css({ height: "auto" });
4966            } else {
4967              $(".deploy-top .th").css({
4968                width: 100 / $(".deploy-top .th").length + "%",
4969              });
4970              var maxHeight = 0;
4971              $(".deploy-top .top-table .drag").each(function () {
4972                if ($(this).outerHeight() > maxHeight) {
4973                  maxHeight = $(this).outerHeight() + 1;
4974                }
4975              });
4976              $(
4977                ".deploy-top .top-table,.deploy-top .fixed-wrap,.deploy-top .fixed-wrap .th"
4978              ).css({ height: maxHeight });
4979            }
4980          }
4981          $(window).resize(function () {
4982            checkHeight();
4983          });
4984          $(window).scroll(function () {
4985            checkFixed();
4986          });
4987        },
4988      };
4989    },
4990  ]);
4991
4992angular
4993  .module("ngFilter", [])
4994
4995  //转html
4996  .filter("to_trusted", [
4997    "$sce",
4998    function ($sce) {
4999      return function (text) {
5000        return text ? $sce.trustAsHtml(text) : "";
5001      };
5002    },
5003  ])
5004
5005  //换行符转br
5006  .filter("nToBr", [
5007    "$sce",
5008    function ($sce) {
5009      return function (text) {
5010        return text ? text.replace(/(\r\n){1,3}/g, "<br/>") : "";
5011      };
5012    },
5013  ])
5014  .filter("reverse", [
5015    function () {
5016      //可以注入依赖
5017      return function (text) {
5018        return text.split("").reverse().join("");
5019      };
5020    },
5021  ])
5022
5023  //图片前缀
5024  .filter("ImgHost", [
5025    function () {
5026      return function (value) {
5027        if (value) {
5028          return $config.Debug() + value;
5029        }
5030      };
5031    },
5032  ])
5033
5034  //活动状态对应
5035  .filter("AcStatus", [
5036    function () {
5037      return function (value) {
5038        if (value === -1) {
5039          return "已结束";
5040        } else if (value === 0) {
5041          return "进行中";
5042        } else if (value === 1) {
5043          return "未开始";
5044        } else if (value === 2) {
5045          return "活动招募";
5046        }
5047      };
5048    },
5049  ])
5050
5051  //价格转成万元两位小数
5052  .filter("priceMillion", [
5053    function () {
5054      return function (value) {
5055        return (value / 10000).toFixed(2) + "万";
5056      };
5057    },
5058  ])
5059
5060  //日期转时间戳
5061  .filter("timestamp", [
5062    function () {
5063      return function (value) {
5064        var d = new Date(value);
5065        return d.valueOf();
5066      };
5067    },
5068  ])
5069
5070  //时间戳转日期
5071  .filter("timestampToDate", [
5072    function () {
5073      return function (value) {
5074        function appendZero(obj) {
5075          if (obj < 10) {
5076            return "0" + obj;
5077          } else {
5078            return obj;
5079          }
5080        }
5081
5082        var date = new Date(parseInt(value));
5083        var year = date.getFullYear();
5084        var mon = date.getMonth() + 1;
5085        var day = date.getDate();
5086        var hours = date.getHours();
5087        var minu = date.getMinutes();
5088        var sec = date.getSeconds();
5089
5090        return (
5091          year +
5092          "-" +
5093          appendZero(mon) +
5094          "-" +
5095          appendZero(day) +
5096          " " +
5097          appendZero(hours) +
5098          ":" +
5099          appendZero(minu) +
5100          ":" +
5101          appendZero(sec)
5102        );
5103      };
5104    },
5105  ])
5106
5107  //判断真假
5108  .filter("tOrf", [
5109    function () {
5110      return function (value) {
5111        if (value) {
5112          return "●";
5113        } else {
5114          return "-";
5115        }
5116      };
5117    },
5118  ])
5119
5120  //判断真假
5121  .filter("gender", [
5122    function () {
5123      return function (value) {
5124        if (value == 1) {
5125          return "先生";
5126        } else {
5127          return "女士";
5128        }
5129      };
5130    },
5131  ])
5132
5133  //返回数字
5134  .filter("changeNumber", [
5135    function () {
5136      return function (value) {
5137        return value
5138          .toString()
5139          .replace(/[^\d^\.]+/g, "")
5140          .replace(".", "$#$")
5141          .replace(/\./g, "")
5142          .replace("$#$", ".");
5143      };
5144    },
5145  ])
5146
5147  //返回整数
5148  .filter("changeInt", [
5149    function () {
5150      return function (value) {
5151        return value.toFixed(0);
5152      };
5153    },
5154  ])
5155
5156  //返回/前的第一个电话号码
5157  .filter("getPhone", [
5158    function () {
5159      return function (value) {
5160        return value.split("/")[0];
5161      };
5162    },
5163  ]);
5164
5165angular
5166  .module("ngService", [])
5167  //公共函数
5168  .factory("common", [
5169    "$q",
5170    function ($q) {
5171      return {
5172        toPage: function toPage(uri, param) {
5173          return $PageJson[uri] + (param ? param : "");
5174        },
5175      };
5176    },
5177  ])
5178
5179  //分页
5180  .factory("Paginator", function ($rootScope) {
5181    return function (Val) {
5182      var paginator = {
5183        num: 1, // 当前页码
5184        count: Val.count || 6,
5185        loading: false, //正在加载数据
5186        hasNum: false, // 是否有下一页
5187        isBottom: false, //是否是最底部加载
5188        _load: function _load() {
5189          var self = this;
5190          Val.fetch(function (items) {
5191            self.loading = false;
5192            self.hasNum = items.length === paginator.count;
5193          });
5194        },
5195        next: function next() {
5196          this.loading = true;
5197          if (this.hasNum) {
5198            this.num++;
5199            this._load();
5200          }
5201        },
5202      };
5203      //滚动固定输入框到头部和评论加载
5204      window.onscroll = function () {
5205        var Height, listBox;
5206        if (paginator.isBottom) {
5207          Height = $(document).height() - $(window).height();
5208        } else {
5209          if ($(".active-list").length > 0) {
5210            listBox = $(".active-list");
5211          } else {
5212            listBox = $(".read-list");
5213          }
5214          Height = listBox.offset().top + listBox.height();
5215        }
5216        if (
5217          Height <=
5218          (document.documentElement.scrollTop || document.body.scrollTop) +
5219            $(window).height()
5220        ) {
5221          if (!paginator.loading && paginator.hasNum) {
5222            paginator.next();
5223          }
5224        }
5225      };
5226      paginator._load();
5227      return paginator;
5228    };
5229  })
5230
5231  //接口请求
5232  .factory("https", [
5233    "$q",
5234    function ($q) {
5235      return {
5236        Asyn: function Asyn(url, data, type, host) {
5237          var defer = $q.defer(); //创建1个defer对象
5238          var data = {
5239            url: (host ? $config.Host(host) : $config.Debug()) + url,
5240            type: "get",
5241            data: data,
5242            dataType: "json",
5243            success: function success(result) {
5244              defer.resolve(result);
5245            },
5246            error: function error(err) {
5247              defer.reject(err);
5248            },
5249          };
5250          if (type == "jsonp") {
5251            data.jsonp = "jsonpCallback";
5252          } else if (type) {
5253            data.type = type;
5254          } else {
5255            data.type = "post";
5256          }
5257
5258          $.ajax(data);
5259
5260          return defer.promise;
5261        },
5262        api: {
5263          //促销活动列表
5264          CampaignPromotions: "/Nissan/ajax/Campaign/CampaignPromotions",
5265          //非车型页预约看车
5266          SaveClue: "/Nissan/ajax/Clue/SaveClue",
5267          //详情页预约看车
5268          SaveCampaignClue: "/Nissan/ajax/Clue/SaveCampaignClue",
5269          //车型页预约看车
5270          SaveCarSeriesClue: "/Nissan/ajax/Clue/SaveCarSeriesClue",
5271          //专营店省份
5272          // GetDistributorProvince: '/Nissan/ajax/Distributor/GetDistributorProvince',
5273          GetDistributorProvince: "/api/Nissan/GetNissanProvince",
5274          //专营店城市
5275          // GetDistributorCity: '/Nissan/ajax/Distributor/GetDistributorCity',
5276          GetDistributorCity: "/api/Nissan/GetNissanCity",
5277          //专营店查询接口
5278          storeSearch: "/api/Nissan/GetNissanDealers",
5279          //专营店页面查询接口
5280          GetJsonDistributorList:
5281            "/Nissan/ajax/Distributor/GetJsonDistributorList",
5282          //发现周边接口
5283          findRim: "/Nissan/ajax/Campaign/GetPeripheralActivities",
5284          //车系详细信息接口
5285          GetCarModelsAndSeries:
5286            "/Nissan/ajax/NissanCars/GetCarModelsAndSeries",
5287          //车系信息接口
5288          GetJsonCarSeries: "/Nissan/ajax/NissanCars/GetJsonCarSeries",
5289          //车型信息接口
5290          GetJsonCars: "/Nissan/ajax/NissanCars/GetJsonCars",
5291          //售后活动列表
5292          AfterSaleCampaigns: "/Nissan/ajax/Campaign/AfterSaleCampaigns",
5293          //召回通知列表
5294          RecallNewsList: "/Nissan/ajax/CarsRecallNews/GetCarsRecallNewsList",
5295          // 活动报名
5296          activeApply: "/Nissan/ajax/Clue/SaveSimpleCampaignClue",
5297          //你可能还想了解
5298          NextStepInfo: "/Nissan/ajax/NextStep/NextStepInfo",
5299          // 车主讲堂接口
5300          schoolList:
5301            "/Nissan/ajax/CarOwnerLectureRoom/GetJsonCarOwnerLectureRoomList",
5302          // 人车生活列表接口
5303          HighFunList: "/Nissan/ajax/HighFun/HighFunList",
5304          //Vin码查询接口
5305          VimSearch: "/Nissan/ajax/CarsRecallNews/isRecall",
5306          //参观访问留资接口
5307          OfflineAccessBooking: "/Nissan/ajax/Visit/OfflineAccessBooking",
5308          //参观访问上传图片
5309          UploadImg: "/api/UploadImage/UploadImg",
5310          //品牌资讯
5311          BrandAdviceList: "/Nissan/ajax/News/BrandAdviceList",
5312          //媒体评测
5313          MediaEvaluations: "/Nissan/ajax/MediaEvaluation/MediaEvaluations",
5314          //杂志阅读
5315          GetMagazineList: "/Nissan/ajax/Magazine/GetMagazineList",
5316          //媒体视频
5317          GetBrandVideoList: "/Nissan/ajax/News/GetBrandVideoList",
5318          //车型配置信息接口
5319          GetCarType: "/nissan/ajax/NissanCars/GetCarType",
5320          //搜索获取类别接口
5321          GetSearched: "/nissan/ajax/search/GetSearchedNewsCampaignsTop5",
5322          //搜索不同类别加载更多接口
5323          GetSearchedType: "/Nissan/ajax/Search/GetSearchedNewsCampaigns",
5324          //搜索结果页面接口
5325          QuickLinks: "/Nissan/ajax/Search/GetSearchQuickLinks",
5326          //媒体中心搜索结果
5327          SearchResultList: "/MediaCenter/ajax/MediaSearch/SearchResultList",
5328
5329          //媒体中心-登录
5330          MediaLogin: "/MediaCenter/ajax/Account/Login",
5331          //快捷登录
5332          QuickLogin: "/MediaCenter/ajax/Account/QuickLogin",
5333          //获取验证码
5334          SendCaptcha: "/MediaCenter/ajax/Account/SendCaptcha",
5335          //用户注册
5336          CreateAccount: "/MediaCenter/ajax/Account/CreateAccount",
5337          //获取用户信息
5338          GetAccount: "/MediaCenter/ajax/Account/GetAccount",
5339          //媒体中心媒体专区接口
5340          GetArea: "/MediaCenter/ajax/MediaCenter/GetArea",
5341          //媒体中心收藏接口
5342          Favorite: "/MediaCenter/ajax/Account/Favorite",
5343          //媒体中心取消收藏接口
5344          UNFavorite: "/MediaCenter/ajax/Account/UNFavorite",
5345          //媒体中心资源下载接口
5346          Download: "/MediaCenter/ajax/Download/Download",
5347          //媒体中心获取专区的接口
5348          GetNewsSpecial: "/MediaCenter/ajax/MediaCenter/GetNewsSpecial",
5349
5350          //招聘列表
5351          GetJobList: "/api/NissanXBeisenAPI/GetJobList",
5352          //招聘详情
5353          GetJobDetail: "/api/NissanXBeisenAPI/GetJobDetail",
5354          //最新招聘
5355          GetLatestJobList: "/api/NissanXBeisenAPI/GetLatestJobList",
5356          //招聘资讯列表
5357          GetBeisenNewsList: "/Nissan/ajax/BeisenJob/GetBeisenNewsList",
5358
5359          //充电服务
5360          GetEVChargeStations:
5361            "/Nissan/ajax/EVChargeStation/GetEVChargeStations",
5362          //优惠方案
5363          GetJsonDealerCount: "/Nissan/ajax/Distributor/GetJsonDealerCount",
5364          //车主分享
5365          GetJsonCarOwnerSharingList:
5366            "/Nissan/ajax/CarOwnerSharing/GetJsonCarOwnerSharingList",
5367          //车型手册下载
5368          DownloadCarTypeManual:
5369            "/nissan/ajax/NissanCars/DownloadCarTypeManual",
5370          //事件分析接口
5371          EventAnalysis: "/api/Nissan/EventAnalysis",
5372
5373          //专题页活动预约试驾提交留资
5374          ActivitySaveClue: "/api/Nissan/SaveClue",
5375
5376          //客户服务纯正精品
5377          GetOwnerAccessoryList: "/Nissan/ajax/Accessory/GetOwnerAccessoryList",
5378
5379          //媒体中心获取图片验证码
5380          GetVerifyCode: "/MediaCenter/ajax/Account/GetPictureVerifyCode",
5381          //媒体中心修改密码
5382          UpdateAccount: "/MediaCenter/ajax/Account/UpdateAccount",
5383          //媒体中心收藏列表
5384          GetFavoriteItemsById:
5385            "/MediaCenter/ajax/Account/GetFavoriteItemsById",
5386          //客户服务三包下载
5387          ValidateCaptcha: "/MediaCenter/ajax/Account/ValidateCaptcha",
5388
5389          //车型页预约试驾留资成功二维码
5390          GetQRCode: "/api/NissanXCbbWXAPI/GetQRCode",
5391          //专营店页面获取留资列表
5392          GetDealerComments: "/api/Nissan/GetDealerComments",
5393
5394          // 大客户专题
5395          SubmitSmart: "/api/smart/submit?auth=",
5396        },
5397      };
5398    },
5399  ]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.