From bcf85b14c530f785b2d3cc413260d7a0c96f36e4 Mon Sep 17 00:00:00 2001 From: zhangbin Date: Thu, 15 Nov 2018 12:46:15 +0800 Subject: [PATCH] feat: support shortcut configuration. --- README.md | 59 +- lib/RESTAPIMock.js | 5 + lib/createRes.js | 7 +- mock/RESTAPI.config.json | 58 +- mock/RESTAPI.json | 2390 +--- mock/filemap.json | 13 +- mock/raw.json | 507 - mock/sea1.2.debug.js | 19071 ----------------------------- mock/vip_cash1.0.css | 1 - test/RESTAPIMock.unittest.js | 1022 +- test/anyproxy.config.unittest.js | 10 +- test/createRes.unittest.js | 8 +- test/fileMock.unittest.js | 4 +- test/getParas.js | 6 +- 14 files changed, 136 insertions(+), 23025 deletions(-) delete mode 100644 mock/raw.json delete mode 100644 mock/sea1.2.debug.js delete mode 100644 mock/vip_cash1.0.css diff --git a/README.md b/README.md index 846c775..eb02cdc 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ mock service base on [Anyproxy](https://www.npmjs.com/package/anyproxy). [![npm package](https://img.shields.io/npm/v/@tiandatong/anymock.svg?style=flat-square)](https://www.npmjs.org/package/@tiandatong/anymock) [![NPM downloads](http://img.shields.io/npm/dm/@tiandatong/anymock.svg?style=flat-square)](http://npmjs.com/@tiandatong/anymock) [![Percentage of issues still open](http://isitmaintained.com/badge/open/temberature/anymock.svg)](http://isitmaintained.com/project/temberature/anymock "Percentage of issues still open") - +[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) English | [简体中文](./docs/README-zh_CN.md) @@ -38,6 +38,9 @@ create a directory contains RESTAPI.config.json and RESTAPI.json "URL": "//api.github.com/repos/temberature/anymock/branches", "OPTIONS": ["normal", "protected"], "choices": ["normal"] + },{ + "URL": "https://suggest.taobao.com/sug", + "choices": 1 }] } ``` @@ -74,17 +77,46 @@ create a directory contains RESTAPI.config.json and RESTAPI.json } } } +}, { + "url": "https://suggest.taobao.com/sug", + "default": { + "Content-Type": "text/html", + "fileHead": "", + "fileFooter": "", + "body": { + "result": [ + [ + "apple watch4", + "14770" + ], + [ + "apple pencil", + "12500" + ] + ], + "shop": "apple", + "tmall": "apple" + } + } }] ``` run command below in the root dir ```bash -anymock +λ anymock +[AnyProxy Log][2018-11-15 12:35:52]: throttle :10000kb/s +[AnyProxy Log][2018-11-15 12:35:52]: clearing cache file... +[AnyProxy Log][2018-11-15 12:35:52]: ==>>> clearing cache +[AnyProxy Log][2018-11-15 12:35:52]: closing webserver... +[AnyProxy Log][2018-11-15 12:35:52]: Http proxy started on port 8001 +[AnyProxy Log][2018-11-15 12:35:52]: Active rule is: a rule to hack response ``` -then you can request https://api.github.com/repos/temberature/anymock/branches?protected=0 -and see the corresponding result +configure chrome's proxy to http://127.0.0.1:8001 by [Proxy SwitchyOmega](https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif) + +then you can browse https://api.github.com/repos/temberature/anymock/branches?protected=0 or https://suggest.taobao.com/sug?code=utf-8&callback=KISSY.Suggest.callback&q=apple +and see the corresponding mock result ```json [{ @@ -96,6 +128,25 @@ and see the corresponding result }] ``` +```json +KISSY.Suggest.callback( +{ + "result": [ + [ + "apple watch4", + "14770" + ], + [ + "apple pencil", + "12500" + ] + ], + "shop": "apple", + "tmall": "apple" +} +) +``` + ## Running the tests Explain how to run the automated tests for this system diff --git a/lib/RESTAPIMock.js b/lib/RESTAPIMock.js index 1db48f7..7ae3074 100644 --- a/lib/RESTAPIMock.js +++ b/lib/RESTAPIMock.js @@ -44,6 +44,11 @@ function RESTAPIMock(myURL, searchParams, callbackName) { } } else { + const option = RESTAPI.default + if (option) { + response = createRes(callbackName, option) + return true + } if (!RESTAPI.needPars || searchParams.get(RESTAPI.needPars)) { response = createRes(callbackName, RESTAPI); return true; diff --git a/lib/createRes.js b/lib/createRes.js index 8cb7ac3..6e07798 100644 --- a/lib/createRes.js +++ b/lib/createRes.js @@ -3,12 +3,9 @@ function createRes(callbackName, mockMap) { type = mockMap["Content-Type"]; var rt, jsonp; if (callbackName) { - jsonp = callbackName + "(" + JSON.stringify(body) + ");"; + jsonp = callbackName + "(" + JSON.stringify(body) + ")"; if (type === "text/html") { - rt = - '"; + rt = mockMap.fileHead + jsonp + mockMap.fileFooter; } else { rt = jsonp; } diff --git a/mock/RESTAPI.config.json b/mock/RESTAPI.config.json index a67e6a4..05b0867 100644 --- a/mock/RESTAPI.config.json +++ b/mock/RESTAPI.config.json @@ -1,55 +1,11 @@ { "disabled": false, "configs": [{ - "URL": "//api.github.com/repos/temberature/anymock/branches", - "OPTIONS": ["normal", "protected"], - "choices": ["normal"] - }, { - "URL": "//ip.if.iqiyi.com/cityjson", - "OPTIONS": ["mainland", "international"], - "choices": 0 - }, - { - "URL": "//i.vip.iqiyi.com/client/store/pc/checkout.action", - "OPTIONS": ["gold", "diamondNotLogin", "diamond"], - "choices": ["gold", "diamondNotLogin", "diamond"] - }, - { - "URL": "//i.vip.iqiyi.com/order/queryOrderStat.action", - "OPTIONS": ["qrcode", "mobile"], - "choices": ["mobile"] - }, - { - "URL": "//i.vip.iqiyi.com/pay/dopay.action", - "choices": 0 - }, - { - "URL": "//i.vip.iqiyi.com/pay/mobile-pay-vd.action", - "choices": 0 - }, - { - "URL": "//i.vip.iqiyi.com/pc/payconfirm/confirmOrderStat.action", - "choices": 0 - }, - { - "URL": "//i.vip.iqiyi.com/pay/readQd.action", - "choices": 0 - }, - { - "URL": "//passport.iqiyi.com/apis/user/info/queryWithVerify.action", - "choices": 0 - }, - { - "URL": "//vip.iqiyi.com/security/info/get", - "choices": 1 - }, - { - "URL": "//vip.iqiyi.com/card/info.action", - "choices": 1 - }, - { - "URL": "//vip.iqiyi.com/card/verifyWalletPassword.action", - "choices": 1 - } - ] + "URL": "//api.github.com/repos/temberature/anymock/branches", + "OPTIONS": ["normal", "protected"], + "choices": ["normal"] + },{ + "URL": "https://suggest.taobao.com/sug", + "choices": 1 + }] } \ No newline at end of file diff --git a/mock/RESTAPI.json b/mock/RESTAPI.json index fea023f..db62a6b 100644 --- a/mock/RESTAPI.json +++ b/mock/RESTAPI.json @@ -1,2363 +1,51 @@ [{ - "url": "//api.github.com/repos/temberature/anymock/branches", - "options": { - "normal": { - "request": { - "queries": { - "protected": "0" - } - }, - "body": [{ - "name": "master1", - "commit": { - "sha": "51a0a39acfb1d029345e896cca6a6a2c3625816b", - "url": "https://api.github.com/repos/temberature/anymock/commits/51a0a39acfb1d029345e896cca6a6a2c3625816b" - } - }] - }, - "protected": { - "request": { - "queries": { - "protected": "1" - } - }, - "body": { - "message": "Not Found2", - "documentation_url": "https://developer.github.com/v3/repos/branches/#list-branches" - } - } - } - }, { - "url": "//i.vip.iqiyi.com/client/store/pc/checkout.action", - "options": { - "gold": { - "request": { - "queries": { - "vipType": "1", - "P00001": 1 - } - }, - "body": { - "code": "A00000", - "data": { - "msg": "成功", - "code": "A00000", - "data": { - "vipTypeName": "黄金VIP会员1", - "autoRenewSuits": [{ - "amount": 12, - "autorenewTip": "", - "originalPrice": 19800, - "payAutoRenew": "3", - "description": "12个月", - "pid": "a0226bd958843452", - "recommend": 1, - "sort": 1, - "privilege": 2000, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 2000, - "needPayFee": 17800, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 665, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 4000, - "needPayFee": 15800, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 667, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "买年卡首次绑卡立减20元" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 17800, - "price": 17800, - "id": 2774, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "送京东会员年卡", - "marketingPositionWords": "" - }, { - "amount": 3, - "autorenewTip": "", - "originalPrice": 5800, - "payAutoRenew": "3", - "description": "3个月", - "pid": "a0226bd958843452", - "recommend": 0, - "sort": 2, - "privilege": 1300, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 1300, - "needPayFee": 4500, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 661, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 2800, - "needPayFee": 3000, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 663, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "买季卡首次绑卡立减15元" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 4500, - "price": 4500, - "id": 2773, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": "" - }, { - "amount": 1, - "autorenewTip": "", - "originalPrice": 1980, - "payAutoRenew": "3", - "description": "1个月", - "pid": "a0226bd958843452", - "recommend": 0, - "sort": 3, - "privilege": 480, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 480, - "needPayFee": 1500, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 656, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 1480, - "needPayFee": 500, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 658, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "买月卡首次绑卡立减10元" - }, { - "supportType": "", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 480, - "needPayFee": 1500, - "payType": 70, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 660, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 3, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "手机话费", - "moneyUnit": "CNY", - "payChannel": 5, - "region": "cn", - "subPromotion": "", - "promotion": "不参与新用户首月6元活动" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 1500, - "price": 1500, - "id": 2772, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "新用户首月6元", - "marketingPositionWords": "" - }], - "userAutoRenew": 0, - "storeNodeLocations": { - "vipTypeCornerLocation": { - "icon": "http://www.iqiyipic.com/common/fix/vipcash/cash-icon-gold.png", - "text": "黄金VIP会员", - "url": "" - }, - "tabActivityLocation": { - "icon": "", - "text": "电脑、手机、iPad 均可使用~", - "url": "" - }, - "topActivityLocation": { - "icon": "", - "text": "特惠0.5元/天升级钻石会员,增加TV端超爽大屏特权", - "url": "" - } - }, - "vipType": 1, - "showAutoRenew": "1", - "suits": [{ - "amount": 12, - "autorenewTip": "", - "originalPrice": 19800, - "payAutoRenew": "0", - "description": "12个月", - "pid": "a0226bd958843452", - "recommend": 1, - "sort": 1, - "privilege": 0, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 0, - "needPayFee": 19800, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 666, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 2000, - "needPayFee": 17800, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 668, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "买年卡首次绑卡立减20元" - }, { - "supportType": "", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 19800, - "payType": 32, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 671, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 3, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "奇豆支付", - "moneyUnit": "CNY", - "payChannel": 6, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 19800, - "price": 19800, - "id": 2771, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "送京东会员年卡", - "marketingPositionWords": "" - }, { - "amount": 3, - "autorenewTip": "", - "originalPrice": 5800, - "payAutoRenew": "0", - "description": "3个月", - "pid": "a0226bd958843452", - "recommend": 0, - "sort": 2, - "privilege": 0, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 0, - "needPayFee": 5800, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 662, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 1500, - "needPayFee": 4300, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 664, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "买季卡首次绑卡立减15元" - }, { - "supportType": "", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 5800, - "payType": 32, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 670, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 3, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "奇豆支付", - "moneyUnit": "CNY", - "payChannel": 6, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 5800, - "price": 5800, - "id": 2770, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": "" - }, { - "amount": 1, - "autorenewTip": "", - "originalPrice": 1980, - "payAutoRenew": "0", - "description": "1个月", - "pid": "a0226bd958843452", - "recommend": 0, - "sort": 3, - "privilege": 0, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 0, - "needPayFee": 1980, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 657, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 1000, - "needPayFee": 980, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 659, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "买月卡首次绑卡立减10元" - }, { - "supportType": "", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 1980, - "payType": 32, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 669, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 3, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "奇豆支付", - "moneyUnit": "CNY", - "payChannel": 6, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 1980, - "price": 1980, - "id": 2769, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": "" - }], - "userInfo": { - "vipDeadline": "2099-12-11", - "isVipUser": true, - "vipSuperscript": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png" - } - } - } - } - }, - "diamondNotLogin": { - "request": { - "queries": { - "vipType": "4", - "P00001": 0 - } - }, - "body": { - "code": "A00000", - "data": { - "msg": "成功", - "code": "A00000", - "data": { - "vipTypeName": "钻石VIP会员3", - "autoRenewSuits": [{ - "amount": 12, - "autorenewTip": "到期后自动续费1年,可随时取消", - "originalPrice": 49800, - "payAutoRenew": "3", - "description": "连续包年", - "pid": "adb3376b039b970b", - "recommend": 1, - "sort": 1, - "privilege": 16800, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 16800, - "needPayFee": 33000, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 990, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 33000, - "price": 33000, - "id": 7840, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "推荐", - "marketingPositionWords": "" - }, { - "amount": 3, - "autorenewTip": "到期后自动续费3个月,可随时取消", - "originalPrice": 14800, - "payAutoRenew": "3", - "description": "连续包季", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 2, - "privilege": 6000, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 6000, - "needPayFee": 8800, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 989, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 8800, - "price": 8800, - "id": 7841, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": "" - }, { - "amount": 1, - "autorenewTip": "到期后自动续费1个月,可随时取消", - "originalPrice": 4980, - "payAutoRenew": "3", - "description": "连续包月", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 3, - "privilege": 1980, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 1980, - "needPayFee": 3000, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 988, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 3000, - "price": 3000, - "id": 7842, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "热销", - "marketingPositionWords": "" - }], - "userInfo": { - "vipSuperscript": "", - "isVipUser": false - }, - "userAutoRenew": 0, - "storeNodeLocations": { - "vipTypeCornerLocation": { - "icon": "http://www.iqiyipic.com/common/fix/vipcash/cash-icon-diamonds.png", - "text": "钻石VIP会员", - "url": "" - }, - "tabActivityLocation": { - "icon": "", - "text": "适用于电视/电脑/手机/iPad", - "url": "" - }, - "topActivityLocation": { - "icon": "", - "text": "特惠0.5元/天升级钻石会员,增加TV端超爽大屏特权", - "url": "" - } - }, - "vipType": 4, - "showAutoRenew": "1", - "suits": [{ - "amount": 12, - "autorenewTip": "", - "originalPrice": 26800, - "payAutoRenew": "0", - "description": "12个月", - "pid": "adb3376b039b970b", - "recommend": 1, - "sort": 1, - "privilege": 0, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 0, - "needPayFee": 36000, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 679, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 36000, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 680, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 36000, - "payType": 32, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 683, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 3, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "奇豆支付", - "moneyUnit": "CNY", - "payChannel": 6, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 36000, - "price": 36000, - "id": 7460, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "推荐", - "marketingPositionWords": "" - }, { - "amount": 3, - "autorenewTip": "", - "originalPrice": 14800, - "payAutoRenew": "0", - "description": "3个月", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 2, - "privilege": 2800, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 2800, - "needPayFee": 12000, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 677, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 2800, - "needPayFee": 12000, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 678, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 2800, - "needPayFee": 12000, - "payType": 32, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 682, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 3, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "奇豆支付", - "moneyUnit": "CNY", - "payChannel": 6, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 12000, - "price": 12000, - "id": 7459, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": "" - }, { - "amount": 1, - "autorenewTip": "", - "originalPrice": 4980, - "payAutoRenew": "0", - "description": "1个月", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 3, - "privilege": 0, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 0, - "needPayFee": 4980, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 675, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 4980, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 676, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 4980, - "payType": 32, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 681, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 3, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "奇豆支付", - "moneyUnit": "CNY", - "payChannel": 6, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 4980, - "price": 4980, - "id": 7458, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": "" - }] - } - } + "url": "//api.github.com/repos/temberature/anymock/branches", + "options": { + "normal": { + "request": { + "queries": { + "protected": "0" } }, - "diamond": { - "request": { - "queries": { - "vipType": "4", - "P00001": 1 - } - }, - "body": { - "code": "A00000", - "data": { - "msg": "成功", - "code": "A00000", - "data": { - "vipTypeName": "钻石VIP会员2", - "autoRenewSuits": [{ - "amount": 1, - "autorenewTip": "", - "originalPrice": 4980, - "payAutoRenew": "3", - "description": "连续包月", - "pid": "adb3376b039b970b", - "recommend": 1, - "sort": 1, - "privilege": 0, - "type": 1, - "payTypeOptions": [{ - "supportType": "", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 4980, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1427, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "银行卡支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "ALI,WECHAT,BAIDU", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 1, - "privilege": 0, - "needPayFee": 4980, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1018, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": null, - "needPayFee": 4980, - "price": 4980, - "id": 14653, - "marketingPositionUrl": null, - "supportCoupon": 1, - "giftMonths": 0, - "promotion": null, - "marketingPositionWords": null - }, { - "amount": 3, - "autorenewTip": "", - "originalPrice": 14800, - "payAutoRenew": "3", - "description": "连续包季", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 2, - "privilege": 0, - "type": 1, - "payTypeOptions": [{ - "supportType": "", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 14800, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1429, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "银行卡支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "ALI,WECHAT", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 1, - "privilege": 0, - "needPayFee": 14800, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1019, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": null, - "needPayFee": 14800, - "price": 14800, - "id": 14654, - "marketingPositionUrl": null, - "supportCoupon": 1, - "giftMonths": 0, - "promotion": null, - "marketingPositionWords": null - }, { - "amount": 12, - "autorenewTip": "", - "originalPrice": 49800, - "payAutoRenew": "3", - "description": "连续包年", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 3, - "privilege": 20000, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 1, - "privilege": 20000, - "needPayFee": 29800, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1426, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 0, - "privilege": 20000, - "needPayFee": 29800, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1431, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "银行卡支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": null, - "needPayFee": 29800, - "price": 29800, - "id": 14656, - "marketingPositionUrl": null, - "supportCoupon": 0, - "giftMonths": 0, - "promotion": null, - "marketingPositionWords": null - }], - "userInfo": { - "vipSuperscript": "", - "type": "1", - "vipDeadline": "2019-01-30 17:07:42", - "isVipUser": true - }, - "userAutoRenew": 1, - "storeNodeLocations": { - "vipTypeCornerLocation": { - "icon": "http://www.iqiyipic.com/common/fix/vipcash/cash-icon-diamonds.png", - "text": "钻石VIP会员", - "url": "" - }, - "tabActivityLocation": { - "icon": "", - "text": "适用于电视/电脑/手机/iPad", - "url": "" - } - }, - "vipType": 4, - "showAutoRenew": "2", - "suits": [{ - "amount": 1, - "autorenewTip": "", - "originalPrice": 49800, - "payAutoRenew": "0", - "description": "1个月", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 1, - "privilege": 49799, - "type": 1, - "payTypeOptions": [{ - "supportType": "", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 0, - "privilege": 49799, - "needPayFee": 1, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1425, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "ALI,WECHAT", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 49799, - "needPayFee": 1, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 978, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 1, - "price": 1, - "id": 15674, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "钻石月简体PCW", - "marketingPositionWords": "" - }, { - "amount": 3, - "autorenewTip": "", - "originalPrice": 49800, - "payAutoRenew": "0", - "description": "3个月", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 2, - "privilege": 49799, - "type": 1, - "payTypeOptions": [{ - "supportType": "", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 0, - "privilege": 49799, - "needPayFee": 1, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1428, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "ALI,WECHAT,BAIDU", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 1, - "privilege": 49799, - "needPayFee": 1, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1020, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 1, - "price": 1, - "id": 15675, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": "" - }, { - "amount": 12, - "autorenewTip": "", - "originalPrice": 49800, - "payAutoRenew": "0", - "description": "12个月", - "pid": "adb3376b039b970b", - "recommend": 1, - "sort": 3, - "privilege": 49799, - "type": 1, - "payTypeOptions": [{ - "supportType": "", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 0, - "privilege": 49799, - "needPayFee": 1, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1430, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "ALI,WECHAT", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 1, - "privilege": 49799, - "needPayFee": 1, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1021, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": null, - "needPayFee": 1, - "price": 1, - "id": 14657, - "marketingPositionUrl": null, - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": null - }] - } - } + "body": [{ + "name": "master1", + "commit": { + "sha": "51a0a39acfb1d029345e896cca6a6a2c3625816b", + "url": "https://api.github.com/repos/temberature/anymock/commits/51a0a39acfb1d029345e896cca6a6a2c3625816b" } - } - } - }, - { - "url": "//i.vip.iqiyi.com/pay/dopay.action", - "body": { - "code": "A00000", - "data": { - "data": { - "redirectUrl": "http://123.125.117.36/pay/gateway.action?charset=UTF-8&description=%E5%A5%87%E8%89%BA%E9%AB%98%E6%B8%85%E8%A7%86%E9%A2%91&expire_time=24h&extend_params=&fee=1&ip=10.1.222.210¬ify_url=http%3A%2F%2F10.10.131.149%3A8098%2Fpay%2Fnotify%2Fcommonpay.action&partner=qiyue&partner_order_no=201501101730208600301&pay_type=BFBDUT&pid=payParamPid&return_request=json&return_url=http%3A%2F%2Fi.vip.iqiyi.com%2Fpay%2Freturn%2Fcommonpay.action&service=pay_by_api&show_url=http%3A%2F%2Fvip.iqiyi.com&sign=6c9ec634fab4b73ab4290aa67de6fae1&subject=%E9%BB%84%E9%87%91%E5%A5%97%E9%A4%90&uid=1026396271&user_account=payParamUserAccount&version=1.0", - "orderCode": "01501101823361400601" - }, - "payType": 70, - "code": "A00000", - "msg": "成功" - } - } - }, - { - "url": "https://i.vip.iqiyi.com/order/queryOrderStat.action", - "options": { - "qrcode": { - "needPars": "orderSeq", - "body": { - "code": "A00000", - "data": { - "data": { - "amount": 1, - "status": 1, - "name": "奇艺高清", - "userName": "2e8c60c6c78f4e1c8b46b228d3907fc5UrdC", - "type": 0 - }, - "code": "A00000", - "msg": "成功" - } + }] + }, + "protected": { + "request": { + "queries": { + "protected": "1" } }, - "mobile": { - "needPars": "orderCode", - "body": { - "code": "A00000", - "data": { - "data": { - "amount": 1, - "status": 1, - "name": "奇艺高清", - "userName": "2e8c60c6c78f4e1c8b46b228d3907fc5UrdC", - "type": 0 - }, - "code": "A00000", - "msg": "成功" - } - } - } - } - - }, - { - "url": "//www.iqiyi.com/bank/activity/list", - "body": { - "code": "A00000", - "msg": "成功", - "data": { - "activities": [] - } - } - }, - { - "url": "http://www.iqiyi.com/security/info/get", - "body": { - "msg": "您的零钱已经升级为零钱Plus,请至爱奇艺最新版本APP使用", - "code": "SUC00000", - "data": { - "balance": 0, - "phone": "00000000000000000000000000000000000000000000000000000000000000001", - "cardId": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "real_name": "0000000000000000000000000000000000000000000000000000000000000000", - "is_withdraw": false, - "real_info": 1, - "is_debit_card": false, - "password_set": true - } - } - }, - { - "url": "http://vip.iqiyi.com/security/info/get", - "body": { - "msg": "您的零钱已经升级为零钱Plus,请至爱奇艺最新版本APP使用", - "code": "SUC00000", - "data": { - "balance": 0, - "phone": "00000000000000000000000000000000000000000000000000000000000000001", - "cardId": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "real_name": "0000000000000000000000000000000000000000000000000000000000000000", - "is_withdraw": false, - "real_info": 1, - "is_debit_card": false, - "password_set": true + "body": { + "message": "Not Found2", + "documentation_url": "https://developer.github.com/v3/repos/branches/#list-branches" } } - }, - { - "url": "http://www.iqiyi.com/card/info.action", - "body": { - "code": "A00000", - "data": { - "credit_link_url": "http://m.iqiyi.com/m5/pay/applyCard.html", - "uid": "2090103104", - "cards": [{ - "bank_code": "CMB", - "bank_name": "招商银行", - "bank_icon": "http://pay.iqiyi.com/image/cashier/CMB_3x.png", - "card_type_code": "CREDIT", - "pay_type": "cmbcredit", - "card_type": "信用卡", - "card_id": "1006496064", - "card_num_last": "0839" - }] - }, - "message": "获取银行卡信息成功" - } - }, - { - "url": "https://i.vip.iqiyi.com/client/store/coupon/searchUserCoupons.action", - "body": { - "code": "A00000", - "data": { - "data": { - "totalNum": 7, - "couponInfo": [{ - "key": "5B30-0052-4C4B-D944", - "fee": 5, - "name": "黄金5元", - "conditionDes": "*满5.0元可用", - "suitableAmount": "*限购买黄金会员3个月及以上套餐", - "startTime": "2018-07-24", - "deadline": "2019-07-31", - "deadlineTime": 1564556290000, - "status": 1, - "usable": "0" - }, - { - "key": "5B30-3F9F-A2B8-1148", - "fee": 5, - "name": "黄金5元", - "conditionDes": "*满5.0元可用", - "suitableAmount": "*限购买黄金会员3个月及以上套餐", - "startTime": "2018-07-24", - "deadline": "2019-07-31", - "deadlineTime": 1564556290000, - "status": 1, - "usable": "0" - }, - { - "key": "5B2F-1F4C-E969-0B49", - "fee": 2, - "name": "黄金2元", - "conditionDes": "*满2.0元可用", - "suitableAmount": "*限购买黄金会员非连续包套餐", - "startTime": "2018-07-24", - "deadline": "2019-07-31", - "deadlineTime": 1564556242000, - "status": 1, - "usable": "0" - }, - { - "key": "5B2F-212C-CC6D-7045", - "fee": 2, - "name": "黄金2元", - "conditionDes": "*满2.0元可用", - "suitableAmount": "*限购买黄金会员非连续包套餐", - "startTime": "2018-07-24", - "deadline": "2019-07-31", - "deadlineTime": 1564556242000, - "status": 1, - "usable": "0" - }, - { - "key": "5B2F-2E07-8961-4547", - "fee": 2, - "name": "黄金2元", - "conditionDes": "*满2.0元可用", - "suitableAmount": "*限购买黄金会员非连续包套餐", - "startTime": "2018-07-24", - "deadline": "2019-07-31", - "deadlineTime": 1564556242000, - "status": 1, - "usable": "0" - }, - { - "key": "5B2E-2281-AF9B-DA40", - "fee": 1, - "name": "黄金1元", - "conditionDes": "*满1.0元可用", - "suitableAmount": "*限购买黄金会员", - "startTime": "2018-07-24", - "deadline": "2019-07-31", - "deadlineTime": 1564556174000, - "status": 1, - "usable": "0" - }, - { - "key": "5B2E-8216-A81F-5244", - "fee": 1, - "name": "黄金1元", - "conditionDes": "*满1.0元可用", - "suitableAmount": "*限购买黄金会员", - "startTime": "2018-07-24", - "deadline": "2019-07-31", - "deadlineTime": 1564556174000, - "status": 1, - "usable": "0" - } - ], - "usableNum": 0 - }, - "code": "A00000", - "msg": "成功" - } - } - }, - { - "url": "https://i.vip.iqiyi.com/order/checkRealFee.action", - "body": { - "code": "A00000", - "data": { - "message": "2500", - "code": "A00000" - } - } - }, - { - "url": "https://i.vip.iqiyi.com/pay/readQd.action", - "body": { - "code": "A00000", - "data": { - "data": { - "qd": "99999999" - }, - "code": "A00000", - "msg": null - } - } - }, - { - "url": "http://www.iqiyi.com/pay-web-frontend/bank/route", - "body": { - "code": "A00000", - "msg": "成功", - "data": { - "uid": "1211464135", - "is_unionpay": "0", - "bank_code": "CMB", - "bank_name": "招商银行", - "card_type": "2", - "card_type_string": "信用卡", - "order_code": "2018080940566001455", - "id_card": "", - "user_name": "", - "bank_protocol_url": "http://www.iqiyi.com/common/MRXY.html", - "addition_protocol_name": null, - "addition_protocol_url": null, - "bank_protocol_name": "爱奇艺协议", - "is_wallet_pwd_set": "0", - "has_off": false, - "has_gift": false, - "subject": "爱奇艺VIP会员1个月自动续费", - "fee": 980, - "off_price": 0, - "gift_msg": null, - "needCvv": false, - "needExpireTime": true, - "card_num_last": "1418", - "id_card_display": true, - "mobile_phone": "18514616569" - } - } - }, - { - "url": "http://www.iqiyi.com/pay-web-frontend/bank/checkIdentity", - "body": { - "code": "A00000", - "msg": "成功", - "data": { - "channel_resp_code": "CMBMB99", - "channel_resp_msg": "验证通过。", - "trans_seq": "13020180712202320803", - "sms_key": "db4a4e67200004625109", - "cache_key": "15313982008052000046251", - "order_code": "2018071273382001171", - "fee": 17800 - } - } - }, - { - "url": "http://www.iqiyi.com/pay-web-frontend/bank/signAndPay", - "body": { - "code": "A00000", - "msg": "", - "data": { - "card_id": "3423525235252" - } - } - }, - { - "url": "https://i.vip.iqiyi.com/pay/mobile-pay-vd.action", - "body": { - "code": "A00000", - "data": { - "message": "处理成功", - "data": { - "fee": 2500, - "orderCode": "201807121145441619258" - }, - "serviceCode": "lyksc7aq36aedndk", - "payType": "70", - "code": "A00000", - "msg": "处理成功" - } - } - }, - { - "url": "http://www.iqiyi.com/card/verifyWalletPassword.action", - "body": { - "code": "ERR00013", - "message": "密码没有设置" - } - }, - { - "url": "//vip.iqiyi.com/card/verifyWalletPassword.action", - "body": { - "code": "A00000", - "message": "" - } - }, - { - "url": "http://www.iqiyi.com/security/key/getSecret", - "body": { - "msg": "成功", - "code": "SUC00000", - "data": { - "str": "LfZr4vfalkIW7Zys0y+NbFysCX9jc+53MDJWR7LqVJI=", - "key": "5n6hd8gmb0bpmjmm26lktt3abiiu8sx5" - } - } - }, - { - "url": "https://i.vip.iqiyi.com/pay/pc/productUpgradeInfo.action", - "body": { - "message": "成功", - "data": { - "topBanner": null, - "deadlineDays": 353, - "price": 50, - "suiteABTestGroupId": "A", - "selectMonthes": [{ - "price": 17650, - "dayAmount": 353 - }, - { - "price": 16500, - "dayAmount": 330 - }, - { - "price": 15000, - "dayAmount": 300 - }, - { - "price": 13500, - "dayAmount": 270 - }, - { - "price": 12000, - "dayAmount": 240 - }, - { - "price": 10500, - "dayAmount": 210 - }, - { - "price": 9000, - "dayAmount": 180 - }, - { - "price": 7500, - "dayAmount": 150 - }, - { - "price": 6000, - "dayAmount": 120 - }, - { - "price": 4500, - "dayAmount": 90 - }, - { - "price": 3000, - "dayAmount": 60 - }, - { - "price": 1500, - "dayAmount": 30 - } - ], - "pid": "94f865839c851009", - "commonPayList": [{ - "sort": 1, - "iconUrl": "", - "promotion": "", - "autoRenew": 0, - "supportAmounts": [], - "recommend": 0, - "payChannel": "", - "supportType": "ALI,WECHAT,BAIDU", - "amount": 0, - "name": "扫码支付", - "payType": "378", - "dealType": "" - }, - { - "sort": 0, - "iconUrl": "", - "promotion": "", - "autoRenew": 0, - "supportAmounts": [], - "recommend": 1, - "payChannel": "8", - "supportType": "", - "amount": 0, - "name": "银行卡", - "payType": "95", - "dealType": "" - }, - { - "sort": 3, - "iconUrl": "", - "promotion": "", - "autoRenew": 0, - "supportAmounts": [], - "recommend": 0, - "payChannel": "6", - "supportType": "", - "amount": 0, - "name": "奇豆支付", - "payType": "32", - "dealType": "" - } - ], - "canUpgradeMaxDays": 353, - "dutPayList": [] - }, - "code": "A00000" - } - }, - { - "url": "http://serv.vip.iqiyi.com/pay/queryLayer.action", - "body": { - "code": "A00000", - "msg": "成功", - "data": { - "isSupportMonth": false, - "validityPeriod": "2018-07-19 15:09:39", - "originPrice": 500, - "pid": "9c0b7c568db863ea", - "code": "A00000", - "vipContentType": 0, - "msg": "成功", - "isSupportVodCoupon": true, - "contentPictureUrl": "http://pic7.qiyipic.com/image/20180305/aa/e3/v_112982573_m_601_m4_170_100.jpg", - "price": 500, - "validity": "48小时", - "vodCouponCount": 0, - "isSupportVod": true, - "vipPrice": 250, - "halfPrice": 250, - "serviceCode": "lyksc7aq36aedndk", - "isSupportPackage": false, - "marketTip": null, - "isPreView": false - } - } - }, - { - "url": "http://act.vip.iqiyi.com/interact/api/show", - "body": { - "code": "A00000", - "msg": "成功", - "data": { - "code": "856e1ce71a229924A00000", - "type": 108, - "detail": { - "qipao_fc": "a9cd28c0ee0fd2ba", - "redirectUrl1": "", - "text1": "首月仅6元" - } - } - } - }, - { - "url": "https://i.vip.iqiyi.com/client/store/coupon/readCoupon.action", - "body": { - "code": "A00000", - "data": { - "data": {}, - "code": "A00000", - "msg": "代金券不存在" - } - } - }, - { - "url": "http://passport.iqiyi.com/apis/user/info/queryWithVerify.action", + } +}, { + "url": "https://suggest.taobao.com/sug", + "default": { "Content-Type": "text/html", + "fileHead": "", + "fileFooter": "", "body": { - "msg": null, - "code": "A00000", - "data": { - "qiyi_vip_info": { - "name": "混沌_chao", - "level": "3", - "vipType": "1", - "autoRenew": "0", - "payType": "0", - "status": "1", - "type": "1", - "mobile": "15910707069", - "surplus": "311", - "deadline": { - "date": "2019年07月28日", - "t": 1564300132000 - } - }, - "insecure_account": 0, - "ablogin": 0, - "tokens": {}, - "accounts": [{ - "account": "temberature@126.com", - "type": 10, - "is_main": false - }, { - "account": "2000046251@baidu", - "type": 1, - "is_main": true - }], - "userinfo": { - "status": null, - "suid": "2000046251", - "email": "temberature@126.com", - "phone": "15910707069", - "user_name": "temberature@126.com", - "activated": 1, - "area_code": "86", - "pwdScore": 45, - "regip": "61.132.138.214", - "province": null, - "city": null, - "uid": "2000046251", - "macid": null, - "nickname": "混沌_chaos", - "accountType": 10, - "self_intro": null, - "jointime": "1310706808", - "idCard": null, - "birthday": null, - "gender": null, - "pru": 2000046251, - "work": null, - "real_name": null, - "edu": null, - "income": null, - "industry": null, - "icon": "http://www.iqiyipic.com/common/fix/headicons/male-130.png", - "find_pass_email": null - }, - "verify_info": { - "name": null, - "type": 0, - "source": 0, - "level": 0, - "introduce": null, - "verifyState": 0, - "copyright": 0, - "verifyClass": 0, - "recommendation": null, - "spaceShowTemplate": null, - "verifyAlias": null, - "is_verified": false - }, - "qiyi_tennis_vip": null - } - } - }, - { - "url": "http://pcw-api.iqiyi.com/vip/serv/qualification", - "body": { - "code": "A00000", - "data": { - "code": "A00000", - "data": { - "data": { - "code": "A00000", - "data": [], - "msg": "<9C><99><95><94><88>" - }, - "code": "A00000" - } - } - } - }, - { - "url": "https://i.vip.iqiyi.com/pc/payconfirm/confirmOrderStat.action", - "body": { - "code": "A00000", - "data": { - "msg": "成功", - "code": "A00000", - "data": { - "realFee": 2, - "amount": 1, - "timeType": 0, - "pid": "adb3376b039b970b", - "userName": "Test_Offline678683", - "type": 1, - "platform": "b6c13e26323c537d", - "productName": "钻石VIP会员", - "isAutoRenew": 0, - "unit": 2, - "todoAutoRenew": 3, - "orderCode": "201810291453153200601", - "returnUrl": "http://vip.iqiyi.com", - "deadline": "2018年11月29日", - "aid": null, - "status": 1, - "gifts": [ - - ] - } - } - } - }, - { - "url": "https://openapi.vip.iqiyi.com/buypresent/get.action", - "body": { - "code": "A00000", - "data": { - "code": "A00000", - "data": [], - "msg": "" - } - } - }, - { - "url": "http://www.iqiyi.com/security/pwd/wh_set_by_order", - "body": { - "msg": "passport您的登录已失效,请重新输入密码登录", - "code": "SUC00000" - } - }, - { - "url": "//ip.if.iqiyi.com/cityjson", - "options": { - "mainland": { - "body": { - "code": "A00000", - "data": { - "country": "中国", - "province": "北京", - "city": "北京", - "country_id": 48, - "province_id": 1, - "city_id": 1000, - "location_id": 77001000, - "isp_id": 77, - "isp": "联通", - "ip": "202.108.14.16" - } - } - }, - "international": { - "body": { - "code": "A00000", - "data": { - "country": "中国", - "province": "台湾", - "city": "台南", - "country_id": 48, - "province_id": 228, - "city_id": 228006, - "location_id": 47228000, - "isp_id": 47, - "isp": "海外", - "ip": "223.26.106.75" - } - } - } - } - - }, - { - "url": "http://act.vip.iqiyi.com/interact/api/v2/show", - "body": { - "code": "A00000", - "msg": "成功", - "data": [{ - "interfaceCode": "a625761c1ef11138", - "interfaceData": { - "respCode": "A00000", - "respMsg": "策略条件不满足", - "respData": null - } - }] + "result": [ + [ + "apple watch4", + "14770" + ], + [ + "apple pencil", + "12500" + ] + ], + "shop": "apple", + "tmall": "apple" } } -] \ No newline at end of file +}] \ No newline at end of file diff --git a/mock/filemap.json b/mock/filemap.json index d49935d..9d7f4e3 100644 --- a/mock/filemap.json +++ b/mock/filemap.json @@ -1,17 +1,6 @@ { "disabled": true, "map": { - "//static.iqiyi.com/js/qiyiVipPay/entry-vipPay": "./build/entry-vipPay.js", - "//static.iqiyi.com/js/qiyiVipPay/entry-bankcardPay": "./build/entry-bankcardPay.js", - "//static.iqiyi.com/js/qiyiVipPay/entry-succeedPayUnits": "./build/entry-succeedPayUnits.js", - "//static.iqiyi.com/js/qiyiVipPay/entry-playerPopup": "./build/entry-playerPopup.js", - "//test-pay.iqiyi.com/js/entry-vipPay": "./build/entry-vipPay.js", - "//test-pay.iqiyi.com/js/entry-bankcardPay": "./build/entry-bankcardPay.js", - "//test-pay.iqiyi.com/js/entry-succeedPayUnits": "./build/entry-succeedPayUnits.js", - "//test-pay.iqiyi.com/js/entry-playerPopup": "./build/entry-playerPopup.js", - "//test-pay.iqiyi.com/js/entry-interactiveUnits": "./build/entry-interactiveUnits.js", - "//static.iqiyi.com/js/lib/sea1.2.js": "./mock/sea1.2.debug.js", - "//static.qiyi.com/css/common/v3-vipCash/vip_cash1.0.css": "./mock/vip_cash1.0.css", - "//static.iqiyi.com/js/qiyiVipPay/ver.js": "./dist/ver.js" + "https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js": "https://cdn.bootcss.com/jquery/3.3.1/jquery.js" } } \ No newline at end of file diff --git a/mock/raw.json b/mock/raw.json deleted file mode 100644 index 406cb08..0000000 --- a/mock/raw.json +++ /dev/null @@ -1,507 +0,0 @@ -{ - "DiamondNotLogin": { - "code": "A00000", - "data": { - "msg": "成功", - "code": "A00000", - "data": { - "vipTypeName": "钻石VIP会员", - "autoRenewSuits": [{ - "amount": 12, - "autorenewTip": "到期后自动续费1年,可随时取消", - "originalPrice": 49800, - "payAutoRenew": "3", - "description": "连续包年", - "pid": "adb3376b039b970b", - "recommend": 1, - "sort": 1, - "privilege": 16800, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 16800, - "needPayFee": 33000, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 990, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 33000, - "price": 33000, - "id": 7840, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "推荐", - "marketingPositionWords": "" - }, { - "amount": 3, - "autorenewTip": "到期后自动续费3个月,可随时取消", - "originalPrice": 14800, - "payAutoRenew": "3", - "description": "连续包季", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 2, - "privilege": 6000, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 6000, - "needPayFee": 8800, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 989, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 8800, - "price": 8800, - "id": 7841, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": "" - }, { - "amount": 1, - "autorenewTip": "到期后自动续费1个月,可随时取消", - "originalPrice": 4980, - "payAutoRenew": "3", - "description": "连续包月", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 3, - "privilege": 1980, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 1980, - "needPayFee": 3000, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 988, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 3000, - "price": 3000, - "id": 7842, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "热销", - "marketingPositionWords": "" - }], - "userInfo": { - "vipSuperscript": "", - "isVipUser": false - }, - "userAutoRenew": 0, - "storeNodeLocations": { - "vipTypeCornerLocation": { - "icon": "http://www.iqiyipic.com/common/fix/vipcash/cash-icon-diamonds.png", - "text": "钻石VIP会员", - "url": "" - }, - "tabActivityLocation": { - "icon": "", - "text": "适用于电视/电脑/手机/iPad", - "url": "" - }, - "topActivityLocation": { - "icon": "", - "text": "特惠0.5元/天升级钻石会员,增加TV端超爽大屏特权", - "url": "" - } - }, - "vipType": 4, - "showAutoRenew": "1", - "suits": [{ - "amount": 12, - "autorenewTip": "", - "originalPrice": 26800, - "payAutoRenew": "0", - "description": "12个月", - "pid": "adb3376b039b970b", - "recommend": 1, - "sort": 1, - "privilege": 0, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 0, - "needPayFee": 36000, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 679, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 36000, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 680, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 36000, - "payType": 32, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 683, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 3, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "奇豆支付", - "moneyUnit": "CNY", - "payChannel": 6, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 36000, - "price": 36000, - "id": 7460, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "推荐", - "marketingPositionWords": "" - }, { - "amount": 3, - "autorenewTip": "", - "originalPrice": 14800, - "payAutoRenew": "0", - "description": "3个月", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 2, - "privilege": 2800, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 2800, - "needPayFee": 12000, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 677, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 2800, - "needPayFee": 12000, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 678, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 2800, - "needPayFee": 12000, - "payType": 32, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 682, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 3, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "奇豆支付", - "moneyUnit": "CNY", - "payChannel": 6, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 12000, - "price": 12000, - "id": 7459, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": "" - }, { - "amount": 1, - "autorenewTip": "", - "originalPrice": 4980, - "payAutoRenew": "0", - "description": "1个月", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 3, - "privilege": 0, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 0, - "needPayFee": 4980, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 675, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 4980, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 676, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 4980, - "payType": 32, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 681, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 3, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "奇豆支付", - "moneyUnit": "CNY", - "payChannel": 6, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 4980, - "price": 4980, - "id": 7458, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": "" - }] - } - } - }, - "" -} \ No newline at end of file diff --git a/mock/sea1.2.debug.js b/mock/sea1.2.debug.js deleted file mode 100644 index 9103b26..0000000 --- a/mock/sea1.2.debug.js +++ /dev/null @@ -1,19071 +0,0 @@ -//seaJs重复引用检测 -if(!window.seajs){ - - - /** - * Sea.js 2.2.1 | seajs.org/LICENSE.md - */ -(function(global, undefined) { - - // Avoid conflicting when `sea.js` is loaded multiple times - if (global.seajs) { - return ; - } - - var seajs = global.seajs = { - // The current version of Sea.js being used - version: "2.2.1" - }; - - var data = seajs.data = {}; - - - /** - * util-lang.js - The minimal language enhancement - */ - - function isType(type) { - return function(obj) { - return {}.toString.call(obj) == "[object " + type + "]"; - }; - } - - var isObject = isType("Object"); - var isString = isType("String"); - var isArray = Array.isArray || isType("Array"); - var isFunction = isType("Function"); - - var _cid = 0; - function cid() { - return _cid++; - } - - var firstModuleInPackage; - var firstCache; - if (document.attachEvent) { - firstModuleInPackage = []; - firstCache = {}; - } - /** - * util-events.js - The minimal events support - */ - - var events = data.events = {}; - - // Bind event - seajs.on = function(name, callback) { - var list = events[name] || (events[name] = []); - list.push(callback); - return seajs; - }; - - // Remove event. If `callback` is undefined, remove all callbacks for the - // event. If `event` and `callback` are both undefined, remove all callbacks - // for all events - seajs.off = function(name, callback) { - // Remove *all* events - if (!(name || callback)) { - events = data.events = {}; - return seajs; - } - - var list = events[name]; - if (list) { - if (callback) { - for (var i = list.length - 1; i >= 0; i--) { - if (list[i] === callback) { - list.splice(i, 1); - } - } - } else { - delete events[name]; - } - } - - return seajs; - }; - - // Emit event, firing all bound callbacks. Callbacks receive the same - // arguments as `emit` does, apart from the event name - var emit = seajs.emit = function(name, data) { - var list = events[name], fn; - - if (list) { - // Copy callback lists to prevent modification - list = list.slice(); - - // Execute event callbacks - while ((fn = list.shift())) { - fn(data); - } - } - - return seajs; - }; - - - /** - * util-path.js - The utilities for operating path such as id, uri - */ - - var DIRNAME_RE = /[^?#]*\//; - - var DOT_RE = /\/\.\//g; - var DOUBLE_DOT_RE = /\/[^/]+\/\.\.\//; - var DOUBLE_SLASH_RE = /([^:/])\/\//g; - - // Extract the directory portion of a path - // dirname("a/b/c.js?t=123#xx/zz") ==> "a/b/" - // ref: http://jsperf.com/regex-vs-split/2 - function dirname(path) { - return path.match(DIRNAME_RE)[0]; - } - - // Canonicalize a path - // realpath("http://test.com/a//./b/../c") ==> "http://test.com/a/c" - function realpath(path) { - // /a/b/./c/./d ==> /a/b/c/d - path = path.replace(DOT_RE, "/"); - - // a/b/c/../../d ==> a/b/../d ==> a/d - while (path.match(DOUBLE_DOT_RE)) { - path = path.replace(DOUBLE_DOT_RE, "/"); - } - - // a//b/c ==> a/b/c - path = path.replace(DOUBLE_SLASH_RE, "$1/"); - - return path; - } - - // Normalize an id - // normalize("path/to/a") ==> "path/to/a.js" - // NOTICE: substring is faster than negative slice and RegExp - function normalize(path) { - var last = path.length - 1; - var lastC = path.charAt(last); - - // If the uri ends with `#`, just return it without '#' - if (lastC === "#") { - return path.substring(0, last); - } - - return (path.substring(last - 2) === ".js" || - path.indexOf("?") > 0 || - path.substring(last - 3) === ".css" || - lastC === "/") ? path : path + ".js"; - } - - - var PATHS_RE = /^([^/:]+)(\/.+)$/; - var VARS_RE = /{([^{]+)}/g; - - function parseAlias(id) { - var alias = data.alias; - return alias && isString(alias[id]) ? alias[id] : id; - } - - function parsePaths(id) { - var paths = data.paths; - var m; - - if (paths && (m = id.match(PATHS_RE)) && isString(paths[m[1]])) { - id = paths[m[1]] + m[2]; - } - - return id; - } - - function parseVars(id) { - var vars = data.vars; - - if (vars && id.indexOf("{") > -1) { - id = id.replace(VARS_RE, function(m, key) { - return isString(vars[key]) ? vars[key] : m; - }); - } - - return id; - } - - function parseMap(uri) { - var map = data.map; - var ret = uri; - - if (map) { - for (var i = 0, len = map.length; i < len; i++) { - var rule = map[i]; - - ret = isFunction(rule) ? - (rule(uri) || uri) : - uri.replace(rule[0], rule[1]); - - // Only apply the first matched rule - if (ret !== uri) { - break; - } - } - } - - return ret; - } - - - var ABSOLUTE_RE = /^\/\/.|:\//; - var ROOT_DIR_RE = /^.*?\/\/.*?\//; - - function addBase(id, refUri) { - var ret; - var first = id.charAt(0); - - // Absolute - if (ABSOLUTE_RE.test(id)) { - ret = id; - } - // Relative - else if (first === ".") { - ret = realpath((refUri ? dirname(refUri) : data.cwd) + id); - } - // Root - else if (first === "/") { - var m = data.cwd.match(ROOT_DIR_RE); - ret = m ? m[0] + id.substring(1) : id; - } - // Top-level - else { - ret = data.base + id; - } - - // Add default protocol when uri begins with "//" - if (ret.indexOf("//") === 0) { - ret = location.protocol + ret; - } - - return ret; - } - - function id2Uri(id, refUri) { - if (!id) { - return ""; - } - - id = parseAlias(id); - id = parsePaths(id); - id = parseVars(id); - id = normalize(id); - - var uri = addBase(id, refUri); - uri = parseMap(uri); - - return uri; - } - - - var doc = document; - var cwd = dirname(doc.URL); - var scripts = doc.scripts; - - // Recommend to add `seajsnode` id for the `sea.js` script element - var loaderScript = doc.getElementById("seajsnode") || - scripts[scripts.length - 1]; - - function getScriptAbsoluteSrc(node) { - return node.hasAttribute ? // non-IE6/7 - node.src : - // see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx - node.getAttribute("src", 4); - } - - // When `sea.js` is inline, set loaderDir to current working directory - var loaderDir = dirname(getScriptAbsoluteSrc(loaderScript) || cwd); - - // For Developers - seajs.resolve = id2Uri; - - - /** - * util-request.js - The utilities for requesting script and style files - * ref: tests/research/load-js-css/test.html - */ - - var head = doc.head || doc.getElementsByTagName("head")[0] || doc.documentElement; - var baseElement = head.getElementsByTagName("base")[0]; - - var IS_CSS_RE = /\.css(?:\?|$)/i; - var currentlyAddingScript; - var interactiveScript; - - // `onload` event is not supported in WebKit < 535.23 and Firefox < 9.0 - // ref: - // - https://bugs.webkit.org/show_activity.cgi?id=38995 - // - https://bugzilla.mozilla.org/show_bug.cgi?id=185236 - // - https://developer.mozilla.org/en/HTML/Element/link#Stylesheet_load_events - var isOldWebKit = +navigator.userAgent - .replace(/.*(?:AppleWebKit|AndroidWebKit)\/(\d+).*/, "$1") < 536; - - - function request(url, callback, charset) { - var isCSS = IS_CSS_RE.test(url); - var node = doc.createElement(isCSS ? "link" : "script"); - - if (charset) { - var cs = isFunction(charset) ? charset(url) : charset; - if (cs) { - node.charset = cs; - } - } - - addOnload(node, callback, isCSS, url); - - if (isCSS) { - node.rel = "stylesheet"; - node.href = url; - } - else { - node.async = true; - node.src = url; - } - - // For some cache cases in IE 6-8, the script executes IMMEDIATELY after - // the end of the insert execution, so use `currentlyAddingScript` to - // hold current node, for deriving url in `define` call - currentlyAddingScript = node; - - // ref: #185 & http://dev.jquery.com/ticket/2709 - if (baseElement) { - head.insertBefore(node, baseElement); - } else { - head.appendChild(node); - } - - currentlyAddingScript = null; - } - - function addOnload(node, callback, isCSS, url) { - var supportOnload = "onload" in node; - - function onload() { - // Ensure only run once and handle memory leak in IE - node.onload = node.onerror = node.onreadystatechange = null; - - // Remove the script to reduce memory leak - if (!isCSS && !data.debug) { - head.removeChild(node); - } - - // Dereference the node - node = null; - - callback(); - } - - // for Old WebKit and Old Firefox - if (isCSS && (isOldWebKit || !supportOnload)) { - setTimeout(function() { - pollCss(node, callback); - }, 1); // Begin after node insertion - return; - } - - if (supportOnload) { - node.onload = onload; - node.onerror = function() { - emit("error", {uri: url,node: node}); - onload(); - }; - } else { - node.onreadystatechange = function() { - if (/loaded|complete/.test(node.readyState)) { - onload(); - } - }; - } - } - - function pollCss(node, callback) { - var sheet = node.sheet; - var isLoaded; - - // for WebKit < 536 - if (isOldWebKit) { - if (sheet) { - isLoaded = true; - } - } - // for Firefox < 9.0 - else if (sheet) { - try { - if (sheet.cssRules) { - isLoaded = true; - } - } catch (ex) { - // The value of `ex.name` is changed from "NS_ERROR_DOM_SECURITY_ERR" - // to "SecurityError" since Firefox 13.0. But Firefox is less than 9.0 - // in here, So it is ok to just rely on "NS_ERROR_DOM_SECURITY_ERR" - if (ex.name === "NS_ERROR_DOM_SECURITY_ERR") { - isLoaded = true; - } - } - } - - setTimeout(function() { - if (isLoaded) { - // Place callback here to give time for style rendering - callback(); - } else { - pollCss(node, callback); - } - }, 20); - } - - function getCurrentScript() { - if (currentlyAddingScript) { - return currentlyAddingScript; - } - - // For IE6-9 browsers, the script onload event may not fire right - // after the script is evaluated. Kris Zyp found that it - // could query the script nodes and the one that is in "interactive" - // mode indicates the current script - // ref: http://goo.gl/JHfFW - if (interactiveScript && interactiveScript.readyState === "interactive") { - return interactiveScript; - } - - var scripts = head.getElementsByTagName("script"); - - for (var i = scripts.length - 1; i >= 0; i--) { - var script = scripts[i]; - if (script.readyState === "interactive") { - interactiveScript = script; - return interactiveScript; - } - } - } - - - // For Developers - seajs.request = request; - - - /** - * util-deps.js - The parser for dependencies - * ref: tests/research/parse-dependencies/test.html - */ - - var REQUIRE_RE = /"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|\/\*[\S\s]*?\*\/|\/(?:\\\/|[^\/\r\n])+\/(?=[^\/])|\/\/.*|\.\s*require|(?:^|[^$])\brequire\s*\(\s*(["'])(.+?)\1\s*\)/g; - var SLASH_RE = /\\\\/g; - - function parseDependencies(code) { - var ret = []; - - code.replace(SLASH_RE, "") - .replace(REQUIRE_RE, function(m, m1, m2) { - if (m2) { - ret.push(m2); - } - }); - - return ret; - } - - - /** - * module.js - The core of module loader - */ - function Module(uri, deps) { - this.uri = uri; - this.dependencies = deps || []; - this.exports = null; - this.status = 0; - - // Who depends on me - this._waitings = {}; - - // The number of unloaded dependencies - this._remain = 0; - } - - var cachedMods = seajs.cache = {}; - var anonymousMeta; - - var fetchingList = {}; - var fetchedList = {}; - var callbackList = {}; - - var STATUS = Module.STATUS = { - // 1 - The `module.uri` is being fetched - FETCHING: 1, - // 2 - The meta data has been saved to cachedMods - SAVED: 2, - // 3 - The `module.dependencies` are being loaded - LOADING: 3, - // 4 - The module are ready to execute - LOADED: 4, - // 5 - The module is being executed - EXECUTING: 5, - // 6 - The `module.exports` is available - EXECUTED: 6 - }; - - // Resolve module.dependencies - Module.prototype.resolve = function() { - var mod = this; - var ids = mod.dependencies; - var uris = []; - - for (var i = 0, len = ids.length; i < len; i++) { - uris[i] = Module.resolve(ids[i], mod.uri); - } - return uris; - }; - - // Load module.dependencies and fire onload when all done - Module.prototype.load = function() { - var mod = this; - - // If the module is being loaded, just wait it onload call - if (mod.status >= STATUS.LOADING) { - return ; - } - - mod.status = STATUS.LOADING; - - // Emit `load` event for plugins such as combo plugin - var uris = mod.resolve(); - emit("load", uris); - - var len = mod._remain = uris.length; - var m; - - // Initialize modules and register waitings - for (var i = 0; i < len; i++) { - m = Module.get(uris[i]); - - if (m.status < STATUS.LOADED) { - // Maybe duplicate: When module has dupliate dependency, it should be it's count, not 1 - m._waitings[mod.uri] = (m._waitings[mod.uri] || 0) + 1; - } else { - mod._remain--; - } - } - - if (mod._remain === 0) { - mod.onload(); - return ; - } - - // Begin parallel loading - var requestCache = {}; - - for (i = 0; i < len; i++) { - m = cachedMods[uris[i]]; - - if (m.status < STATUS.FETCHING) { - m.fetch(requestCache); - } else if (m.status === STATUS.SAVED) { - m.load(); - } - } - - // Send all requests at last to avoid cache bug in IE6-9. Issues#808 - for (var requestUri in requestCache) { - if (requestCache.hasOwnProperty(requestUri)) { - requestCache[requestUri](); - } - } - }; - - // Call this method when module is loaded - Module.prototype.onload = function() { - var mod = this; - mod.status = STATUS.LOADED; - if ((mod.callback === undefined) && (mod.factory === undefined)) { - if (doc.attachEvent) { - for (var i = 0, j = firstModuleInPackage.length; i < j; i++) { - if (mod.uri == firstModuleInPackage[i].origin) { - mod.referrer = firstModuleInPackage[i].uri; - break; - } - } - } else if (firstModuleInPackage) { - mod.referrer = firstModuleInPackage.uri; - firstModuleInPackage = null; - } - } - if (mod.callback) { - mod.callback(); - } - - // Notify waiting modules to fire onload - var waitings = mod._waitings; - var uri, m; - - for (uri in waitings) { - if (waitings.hasOwnProperty(uri)) { - m = cachedMods[uri]; - m._remain -= waitings[uri]; - if (m._remain === 0) { - m.onload(); - } - } - } - - // Reduce memory taken - delete mod._waitings; - delete mod._remain; - }; - - // Fetch a module - Module.prototype.fetch = function(requestCache) { - var mod = this; - var uri = mod.uri; - - function sendRequest() { - seajs.request(emitData.requestUri, emitData.onRequest, emitData.charset); - } - - function onRequest() { - delete fetchingList[requestUri]; - fetchedList[requestUri] = true; - - // Save meta data of anonymous module - if (anonymousMeta) { - Module.save(uri, anonymousMeta); - anonymousMeta = null; - } - - // Call callbacks - var m, mods = callbackList[requestUri]; - delete callbackList[requestUri]; - while ((m = mods.shift())) { - m.load(); - } - } - - mod.status = STATUS.FETCHING; - - // Emit `fetch` event for plugins such as combo plugin - var emitData = {uri: uri}; - emit("fetch", emitData); - var requestUri = emitData.requestUri || uri; - - // Empty uri or a non-CMD module - if (!requestUri || fetchedList[requestUri]) { - mod.load(); - return ; - } - - if (fetchingList[requestUri]) { - callbackList[requestUri].push(mod); - return ; - } - - fetchingList[requestUri] = true; - callbackList[requestUri] = [mod]; - - // Emit `request` event for plugins such as text plugin - emit("request", emitData = { - uri: uri, - requestUri: requestUri, - onRequest: onRequest, - charset: data.charset - }); - - if (!emitData.requested) { - if (requestCache) { - requestCache[emitData.requestUri] = sendRequest; - } else { - requestCache[emitData.requestUri] = sendRequest(); - } - } - }; - - // Execute a module - Module.prototype.exec = function() { - var mod = this; - - // When module is executed, DO NOT execute it again. When module - // is being executed, just return `module.exports` too, for avoiding - // circularly calling - if (mod.status >= STATUS.EXECUTING) { - return mod.exports; - } - - mod.status = STATUS.EXECUTING; - - // Create require - var uri = mod.uri; - - function require(id) { - return Module.get(require.resolve(id)).exec(); - } - - require.resolve = function(id) { - return Module.resolve(id, uri); - }; - - require.async = function(ids, callback) { - Module.use(ids, callback, uri + "_async_" + cid()); - return require; - }; - - // Exec factory - var factory = mod.factory; - - var exports = isFunction(factory) ? - factory(require, mod.exports = {}, mod) : - factory; - - if (exports === undefined) { - exports = mod.exports; - } - - // Reduce memory leak - delete mod.factory; - - mod.exports = exports; - mod.status = STATUS.EXECUTED; - - // Emit `exec` event - emit("exec", mod); - - return exports; - }; - - // Resolve id to uri - Module.resolve = function(id, refUri) { - // Emit `resolve` event for plugins such as text plugin - var emitData = {id: id,refUri: refUri}; - emit("resolve", emitData); - - return emitData.uri || seajs.resolve(emitData.id, refUri); - }; - - // Define a module - Module.define = function(id, deps, factory) { - var argsLen = arguments.length; - - // define(factory) - if (argsLen === 1) { - factory = id; - id = undefined; - } else if (argsLen === 2) { - factory = deps; - - // define(deps, factory) - if (isArray(id)) { - deps = id; - id = undefined; - } - // define(id, factory) - else { - deps = undefined; - } - } - - // Parse dependencies according to the module factory code - if (!isArray(deps) && isFunction(factory)) { - deps = parseDependencies(factory.toString()); - } - - var meta = { - id: id, - uri: Module.resolve(id), - deps: deps, - factory: factory - }; - - // Try to derive uri in IE6-9 for anonymous modules - if (!meta.uri && doc.attachEvent) { - var script = getCurrentScript(); - - if (script) { - meta.uri = script.src; - } - - // NOTE: If the id-deriving methods above is failed, then falls back - // to use onload event to get the uri - } - - // Emit `define` event, used in nocache plugin, seajs node version etc - emit("define", meta); - - // meta.uri ? Module.save(meta.uri, meta) : - // // Save information for "saving" work in the script onload event - // anonymousMeta = meta - var module; - var origin; - if (meta.uri) { - module = Module.save(meta.uri, meta); - // fixed qiyi ie get module bug - if (doc.attachEvent) { - origin = getCurrentScript(); - if (origin && !firstCache[origin.src]) { - firstCache[origin.src] = true; - module.origin = origin.src; - firstModuleInPackage.push(module); - } - } else if (!firstModuleInPackage) { - firstModuleInPackage = module; - } - } else { - anonymousMeta = meta; - } - }; - - // Save meta data to cachedMods - Module.save = function(uri, meta) { - var mod = Module.get(uri); - - // Do NOT override already saved modules - if (mod.status < STATUS.SAVED) { - mod.id = meta.id || uri; - mod.dependencies = meta.deps || []; - mod.factory = meta.factory; - mod.status = STATUS.SAVED; - } - return mod; - }; - - // Get an existed module or create a new one - Module.get = function(uri, deps) { - return cachedMods[uri] || (cachedMods[uri] = new Module(uri, deps)); - }; - - // Use function is equal to load a anonymous module - Module.use = function(ids, callback, uri) { - var mod = Module.get(uri, isArray(ids) ? ids : [ids]); - - mod.callback = function() { - var exports = []; - var uris = mod.resolve(); - - for (var i = 0, len = uris.length; i < len; i++) { - exports[i] = cachedMods[uris[i]].exec() || (cachedMods[cachedMods[uris[i]].referrer] && cachedMods[cachedMods[uris[i]].referrer].exec()); - } - if (callback) { - callback.apply(global, exports); - } - delete mod.callback; - // del fix cache - // if (isArray(firstModuleInPackage)) { - // firstModuleInPackage = []; - // } - // firstCache = {}; - }; - - mod.load(); - }; - - // Load preload modules before all other modules - Module.preload = function(callback) { - var preloadMods = data.preload; - var len = preloadMods.length; - - if (len) { - Module.use(preloadMods, function() { - // Remove the loaded preload modules - preloadMods.splice(0, len); - - // Allow preload modules to add new preload modules - Module.preload(callback); - }, data.cwd + "_preload_" + cid()); - } else { - callback(); - } - }; - - - // Public API - - seajs.use = function(ids, callback) { - // fix cache mix - if (!isArray(firstModuleInPackage)) { - firstModuleInPackage = null; - } - Module.preload(function() { - Module.use(ids, callback, data.cwd + "_use_" + cid()); - }); - return seajs; - }; - - Module.define.cmd = {}; - global.define = Module.define; - - - // For Developers - - seajs.Module = Module; - data.fetchedList = fetchedList; - data.cid = cid; - - seajs.require = function(id) { - var mod = Module.get(Module.resolve(id)); - if (mod.status < STATUS.EXECUTING) { - mod.onload(); - mod.exec(); - } - return mod.exports; - }; - - - /** - * config.js - The configuration for the loader - */ - - var BASE_RE = /^(.+?\/)(\?\?)?(seajs\/)+/; - - // The root path to use for id2uri parsing - // If loaderUri is `http://test.com/libs/seajs/[??][seajs/1.2.3/]sea.js`, the - // baseUri should be `http://test.com/libs/` - data.base = (loaderDir.match(BASE_RE) || ["", loaderDir])[1]; - - // The loader directory - data.dir = loaderDir; - - // The current working directory - data.cwd = cwd; - - // The charset for requesting files - data.charset = "utf-8"; - - // Modules that are needed to load before all other modules - data.preload = (function() { - var plugins = []; - - // Convert `seajs-xxx` to `seajs-xxx=1` - // NOTE: use `seajs-xxx=1` flag in uri or cookie to preload `seajs-xxx` - var str = location.search.replace(/(seajs-\w+)(&|$)/g, "$1=1$2"); - - // Add cookie string - str += " " + doc.cookie; - - // Exclude seajs-xxx=0 - str.replace(/(seajs-\w+)=1/g, function(m, name) { - plugins.push(name); - }); - - return plugins; - })(); - - // data.alias - An object containing shorthands of module id - // data.paths - An object containing path shorthands in module id - // data.vars - The {xxx} variables in module id - // data.map - An array containing rules to map module uri - // data.debug - Debug mode. The default value is false - - seajs.config = function(configData) { - - for (var key in configData) { - var curr = configData[key]; - var prev = data[key]; - - // Merge object config such as alias, vars - if (prev && isObject(prev)) { - for (var k in curr) { - prev[k] = curr[k]; - } - } else { - // Concat array config such as map, preload - if (isArray(prev)) { - curr = prev.concat(curr); - } - // Make sure that `data.base` is an absolute path - else if (key === "base") { - // Make sure end with "/" - if (curr.slice(-1) !== "/") { - curr += "/"; - } - curr = addBase(curr); - } - - // Set config - data[key] = curr; - } - } - - emit("config", configData); - return seajs; - }; - -})(this); - -window._M_ = window._M_ || {}; - -_M_["lib"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var global = __mod__["driver/global"](); - global.Qiyi = global.Qiyi || __mod__["jquery/cmd/jquery"](); - var lib = global.Qiyi; - lib.string = lib.string || {}; - lib.array = lib.array || {}; - lib.element = lib.element || {}; - lib.event = lib.event || {}; - lib.fn = lib.fn || {}; - lib.json = lib.json || {}; - lib.lang = lib.lang || {}; - lib.object = lib.object || {}; - lib.selector = lib.selector || {}; - lib.url = lib.url || {}; - lib.http = lib.http || {}; - lib.crypto = lib.crypto || {}; - lib.date = lib.date || {}; - lib.number = lib.number || {}; - lib.cookie = lib.cookie || {}; - lib.plugins = lib.plugins || {}; - lib.flash = lib.flash || {}; - lib.page = lib.page || {}; - lib.anim = lib.anim || {}; - lib.log = lib.log || {}; - lib.browser = lib.browser || {}; - lib.path = lib.path || {}; - lib.ic = lib.ic || {}; - lib.external = lib.external || {}; - lib.__callbacks__ = __mod__["platform/__callbacks__"](); - __mod__["platform/prototype/array/every"](); - __mod__["platform/prototype/array/filter"](); - __mod__["platform/prototype/array/forEach"](); - __mod__["platform/prototype/array/indexOf"](); - __mod__["platform/prototype/array/lastIndexOf"](); - __mod__["platform/prototype/array/map"](); - __mod__["platform/prototype/array/reduce"](); - __mod__["platform/prototype/array/some"](); - __mod__["platform/prototype/function/bind"](); - __mod__["platform/prototype/json/parse"](); - __mod__["platform/prototype/json/stringify"](); - __mod__["platform/prototype/string/trim"](); - lib.string.encodeHtml = __mod__["platform/string/encodeHtml"](); - lib.string.decodeHtml = __mod__["platform/string/decodeHtml"](); - lib.string.pad = __mod__["platform/string/pad"](); - lib.string.getLength = __mod__["platform/string/getLength"](); - lib.string.truncate = __mod__["platform/string/truncate"](); - lib.string.divideNumber = __mod__["platform/string/divideNumber"](); - lib.string.formatJSON = __mod__["platform/string/formatJSON"](); - lib.string.format = __mod__["platform/string/format"](); - lib.array.getLen = __mod__["platform/array/getLen"](); - lib.array.isArray = __mod__["platform/array/isArray"](); - lib.element.Element = __mod__["platform/element/element"](); - lib.element.ready = __mod__["platform/element/ready"](); - lib.page.getViewWidth = __mod__["platform/page/getViewWidth"](); - lib.page.getViewHeight = __mod__["platform/page/getViewHeight"](); - lib.page.getScrollLeft = __mod__["platform/page/getScrollLeft"](); - lib.page.getScrollTop = __mod__["platform/page/getScrollTop"](); - lib.page.getWidth = __mod__["platform/page/getWidth"](); - lib.page.getHeight = __mod__["platform/page/getHeight"](); - lib.event.lists = __mod__["platform/event/lists"](); - lib.event.on = __mod__["platform/event/on"](); - lib.event.un = __mod__["platform/event/un"](); - lib.event.customEvent = __mod__["platform/event/customEvent"](); - lib.event.preventDefault = __mod__["platform/event/preventDefault"](); - lib.event.stopPropagation = __mod__["platform/event/stopPropagation"](); - lib.event.stop = __mod__["platform/event/stop"](); - lib.event.get = __mod__["platform/event/get"](); - lib.fn.abstractMethod = __mod__["platform/fn/abstractMethod"](); - lib.fn.emptyMethod = __mod__["platform/fn/emptyMethod"](); - lib.lang.isSameDomain = __mod__["platform/lang/isSameDomain"](); - lib.object.extend = __mod__["platform/object/extend"](); - lib.object.isObject = __mod__["platform/object/isObject"](); - lib.object.isEmpty = __mod__["platform/object/isEmpty"](); - lib.object.forEach = __mod__["platform/object/forEach"](); - lib.object.like = __mod__["platform/object/like"](); - lib.selector.sizzle = __mod__["jquery/cmd/sizzle"](); - lib.url.parse = __mod__["platform/url/parse"](); - lib.url.escapeSymbol = __mod__["platform/url/escapeSymbol"](); - lib.url.getQueryValue = __mod__["platform/url/getQueryValue"](); - lib.url.jsonToQuery = __mod__["platform/url/jsonToQuery"](); - lib.url.queryToJson = __mod__["platform/url/queryToJson"](); - lib.url.isUrl = __mod__["platform/url/isUrl"](); - lib.url.deleteProtocol = __mod__["platform/url/deleteProtocol"](); - lib.http.request = __mod__["platform/http/request"](); - lib.http.json = __mod__["platform/http/json"](); - lib.http.text = __mod__["platform/http/text"](); - lib.http.req = __mod__["platform/http/req"](); - lib.http.json2 = __mod__["platform/http/json2"](); - lib.http.text2 = __mod__["platform/http/text2"](); - lib.crypto.base64 = __mod__["platform/crypto/base64"](); - lib.crypto.md5 = __mod__["platform/crypto/md5"](); - lib.crypto.rsa = __mod__["platform/crypto/rsa"](); - lib.date.format = __mod__["platform/date/format"](); - lib.date.formatSeconds = __mod__["platform/date/formatSeconds"](); - lib.number.pad = __mod__["platform/number/pad"](); - __mod__["platform/setQC005"](); - lib.plugins.Template = __mod__["platform/plugins/template"](); - lib.plugins.Mustache = __mod__["platform/plugins/mustache"](); - lib.plugins.ArtTemplate = __mod__["platform/plugins/artTemplate"](); - lib.plugins.clearSwf = __mod__["platform/plugins/clearSwf"](); - __mod__["platform/plugins/adCompatible"](); - __mod__["platform/plugins/pingbackCompatible"](); - __mod__["platform/plugins/clearSwfCompatible"](); - lib.flash.getVer = __mod__["platform/flash/getVer"](); - lib.flash.html = __mod__["platform/flash/html"](); - lib.flash.insert = __mod__["platform/flash/insert"](); - lib.flash.remove = __mod__["platform/flash/remove"](); - lib.flash.write = __mod__["platform/flash/write"](); - lib.flash.create = __mod__["platform/flash/create"](); - lib.cookie.get = __mod__["platform/cookie/get"](); - lib.cookie.set = __mod__["platform/cookie/set"](); - lib.cookie.remove = __mod__["platform/cookie/remove"](); - lib.log.server = __mod__["platform/log/server"](); - lib.log.log = __mod__["platform/log/log"](); - lib.anim = __mod__["platform/anim/create"](); - lib.anim.create = __mod__["platform/anim/create"](); - lib.anim.tween = __mod__["platform/anim/tween"](); - lib.browser = __mod__["platform/browser/ua"](); - lib.browser.supportFixed = __mod__["platform/browser/supportFixed"](); - lib.browser.getOS = __mod__["platform/browser/getOS"](); - lib.ic.InfoCenter = __mod__["platform/ic/infoCenter"](); - lib.Class = __mod__["platform/class"](); - lib["$"] = __mod__["platform/dollar"](); - __mod__[__id__] = lib; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("lib", (_M_["lib"] = {}) && _M_); - -_M_["driver/global"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - __mod__[__id__] = window; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("driver/global", (_M_["driver/global"] = {}) && _M_); - -_M_["jquery/cmd/jquery"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - __mod__["jquery/cmd/selector"](); - __mod__["jquery/cmd/traversing"](); - __mod__["jquery/cmd/callbacks"](); - __mod__["jquery/cmd/deferred"](); - __mod__["jquery/cmd/core/ready"](); - __mod__["jquery/cmd/support"](); - __mod__["jquery/cmd/data"](); - __mod__["jquery/cmd/queue"](); - __mod__["jquery/cmd/queue/delay"](); - __mod__["jquery/cmd/attributes"](); - __mod__["jquery/cmd/event"](); - __mod__["jquery/cmd/event/alias"](); - __mod__["jquery/cmd/manipulation"](); - __mod__["jquery/cmd/manipulation/_evalUrl"](); - __mod__["jquery/cmd/wrap"](); - __mod__["jquery/cmd/css"](); - __mod__["jquery/cmd/css/hiddenVisibleSelectors"](); - __mod__["jquery/cmd/serialize"](); - __mod__["jquery/cmd/ajax"](); - __mod__["jquery/cmd/ajax/xhr"](); - __mod__["jquery/cmd/ajax/script"](); - __mod__["jquery/cmd/ajax/jsonp"](); - __mod__["jquery/cmd/ajax/load"](); - __mod__["jquery/cmd/event/ajax"](); - __mod__["jquery/cmd/effects"](); - __mod__["jquery/cmd/effects/animatedSelector"](); - __mod__["jquery/cmd/offset"](); - __mod__["jquery/cmd/dimensions"](); - __mod__["jquery/cmd/deprecated"](); - __mod__["jquery/cmd/exports/amd"](); - __mod__[__id__] = jQuery; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/jquery", (_M_["jquery/cmd/jquery"] = {}) && _M_); - -_M_["jquery/cmd/core"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var deletedIds = __mod__["jquery/cmd/var/deletedIds"](); - var slice = __mod__["jquery/cmd/var/slice"](); - var concat = __mod__["jquery/cmd/var/concat"](); - var push = __mod__["jquery/cmd/var/push"](); - var indexOf = __mod__["jquery/cmd/var/indexOf"](); - var class2type = __mod__["jquery/cmd/var/class2type"](); - var toString = __mod__["jquery/cmd/var/toString"](); - var hasOwn = __mod__["jquery/cmd/var/hasOwn"](); - var support = __mod__["jquery/cmd/var/support"](); - var version = "@VERSION", jQuery = function(selector, context) { - return new jQuery.fn.init(selector, context); - }, rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, rmsPrefix = /^-ms-/, rdashAlpha = /-([\da-z])/gi, fcamelCase = function(all, letter) { - return letter.toUpperCase(); - }; - jQuery.fn = jQuery.prototype = { - jquery: version, - constructor: jQuery, - selector: "", - length: 0, - toArray: function() { - return slice.call(this); - }, - get: function(num) { - return num != null ? num < 0 ? this[num + this.length] : this[num] : slice.call(this); - }, - pushStack: function(elems) { - var ret = jQuery.merge(this.constructor(), elems); - ret.prevObject = this; - ret.context = this.context; - return ret; - }, - each: function(callback, args) { - return jQuery.each(this, callback, args); - }, - map: function(callback) { - return this.pushStack(jQuery.map(this, function(elem, i) { - return callback.call(elem, i, elem); - })); - }, - slice: function() { - return this.pushStack(slice.apply(this, arguments)); - }, - first: function() { - return this.eq(0); - }, - last: function() { - return this.eq(-1); - }, - eq: function(i) { - var len = this.length, j = +i + (i < 0 ? len : 0); - return this.pushStack(j >= 0 && j < len ? [ this[j] ] : []); - }, - end: function() { - return this.prevObject || this.constructor(null); - }, - push: push, - sort: deletedIds.sort, - splice: deletedIds.splice - }; - jQuery.extend = jQuery.fn.extend = function() { - var src, copyIsArray, copy, name, options, clone, target = arguments[0] || {}, i = 1, length = arguments.length, deep = false; - if (typeof target === "boolean") { - deep = target; - target = arguments[i] || {}; - i++; - } - if (typeof target !== "object" && !jQuery.isFunction(target)) { - target = {}; - } - if (i === length) { - target = this; - i--; - } - for (;i < length; i++) { - if ((options = arguments[i]) != null) { - for (name in options) { - src = target[name]; - copy = options[name]; - if (target === copy) { - continue; - } - if (deep && copy && (jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)))) { - if (copyIsArray) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - target[name] = jQuery.extend(deep, clone, copy); - } else if (copy !== undefined) { - target[name] = copy; - } - } - } - } - return target; - }; - jQuery.extend({ - expando: "jQuery" + (version + Math.random()).replace(/\D/g, ""), - isReady: true, - error: function(msg) { - throw new Error(msg); - }, - noop: function() {}, - isFunction: function(obj) { - return jQuery.type(obj) === "function"; - }, - isArray: Array.isArray || function(obj) { - return jQuery.type(obj) === "array"; - }, - isWindow: function(obj) { - return obj != null && obj == obj.window; - }, - isNumeric: function(obj) { - return !jQuery.isArray(obj) && obj - parseFloat(obj) + 1 >= 0; - }, - isEmptyObject: function(obj) { - var name; - for (name in obj) { - return false; - } - return true; - }, - isPlainObject: function(obj) { - var key; - if (!obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow(obj)) { - return false; - } - try { - if (obj.constructor && !hasOwn.call(obj, "constructor") && !hasOwn.call(obj.constructor.prototype, "isPrototypeOf")) { - return false; - } - } catch (e) { - return false; - } - if (support.ownLast) { - for (key in obj) { - return hasOwn.call(obj, key); - } - } - for (key in obj) {} - return key === undefined || hasOwn.call(obj, key); - }, - type: function(obj) { - if (obj == null) { - return obj + ""; - } - return typeof obj === "object" || typeof obj === "function" ? class2type[toString.call(obj)] || "object" : typeof obj; - }, - globalEval: function(data) { - if (data && jQuery.trim(data)) { - (window.execScript || function(data) { - window["eval"].call(window, data); - })(data); - } - }, - camelCase: function(string) { - return string.replace(rmsPrefix, "ms-").replace(rdashAlpha, fcamelCase); - }, - nodeName: function(elem, name) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - each: function(obj, callback, args) { - var value, i = 0, length = obj.length, isArray = isArraylike(obj); - if (args) { - if (isArray) { - for (;i < length; i++) { - value = callback.apply(obj[i], args); - if (value === false) { - break; - } - } - } else { - for (i in obj) { - value = callback.apply(obj[i], args); - if (value === false) { - break; - } - } - } - } else { - if (isArray) { - for (;i < length; i++) { - value = callback.call(obj[i], i, obj[i]); - if (value === false) { - break; - } - } - } else { - for (i in obj) { - value = callback.call(obj[i], i, obj[i]); - if (value === false) { - break; - } - } - } - } - return obj; - }, - trim: function(text) { - return text == null ? "" : (text + "").replace(rtrim, ""); - }, - makeArray: function(arr, results) { - var ret = results || []; - if (arr != null) { - if (isArraylike(Object(arr))) { - jQuery.merge(ret, typeof arr === "string" ? [ arr ] : arr); - } else { - push.call(ret, arr); - } - } - return ret; - }, - inArray: function(elem, arr, i) { - var len; - if (arr) { - if (indexOf) { - return indexOf.call(arr, elem, i); - } - len = arr.length; - i = i ? i < 0 ? Math.max(0, len + i) : i : 0; - for (;i < len; i++) { - if (i in arr && arr[i] === elem) { - return i; - } - } - } - return -1; - }, - merge: function(first, second) { - var len = +second.length, j = 0, i = first.length; - while (j < len) { - first[i++] = second[j++]; - } - if (len !== len) { - while (second[j] !== undefined) { - first[i++] = second[j++]; - } - } - first.length = i; - return first; - }, - grep: function(elems, callback, invert) { - var callbackInverse, matches = [], i = 0, length = elems.length, callbackExpect = !invert; - for (;i < length; i++) { - callbackInverse = !callback(elems[i], i); - if (callbackInverse !== callbackExpect) { - matches.push(elems[i]); - } - } - return matches; - }, - map: function(elems, callback, arg) { - var value, i = 0, length = elems.length, isArray = isArraylike(elems), ret = []; - if (isArray) { - for (;i < length; i++) { - value = callback(elems[i], i, arg); - if (value != null) { - ret.push(value); - } - } - } else { - for (i in elems) { - value = callback(elems[i], i, arg); - if (value != null) { - ret.push(value); - } - } - } - return concat.apply([], ret); - }, - guid: 1, - proxy: function(fn, context) { - var args, proxy, tmp; - if (typeof context === "string") { - tmp = fn[context]; - context = fn; - fn = tmp; - } - if (!jQuery.isFunction(fn)) { - return undefined; - } - args = slice.call(arguments, 2); - proxy = function() { - return fn.apply(context || this, args.concat(slice.call(arguments))); - }; - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - return proxy; - }, - now: function() { - return +new Date(); - }, - support: support - }); - jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { - class2type["[object " + name + "]"] = name.toLowerCase(); - }); - function isArraylike(obj) { - var length = obj.length, type = jQuery.type(obj); - if (type === "function" || jQuery.isWindow(obj)) { - return false; - } - if (obj.nodeType === 1 && length) { - return true; - } - return type === "array" || length === 0 || typeof length === "number" && length > 0 && length - 1 in obj; - } - __mod__[__id__] = jQuery; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/core", (_M_["jquery/cmd/core"] = {}) && _M_); - -_M_["jquery/cmd/var/deletedIds"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - __mod__[__id__] = []; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/var/deletedIds", (_M_["jquery/cmd/var/deletedIds"] = {}) && _M_); - -_M_["jquery/cmd/var/slice"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var deletedIds = __mod__["jquery/cmd/var/deletedIds"](); - __mod__[__id__] = deletedIds.slice; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/var/slice", (_M_["jquery/cmd/var/slice"] = {}) && _M_); - -_M_["jquery/cmd/var/concat"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var deletedIds = __mod__["jquery/cmd/var/deletedIds"](); - __mod__[__id__] = deletedIds.concat; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/var/concat", (_M_["jquery/cmd/var/concat"] = {}) && _M_); - -_M_["jquery/cmd/var/push"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var deletedIds = __mod__["jquery/cmd/var/deletedIds"](); - __mod__[__id__] = deletedIds.push; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/var/push", (_M_["jquery/cmd/var/push"] = {}) && _M_); - -_M_["jquery/cmd/var/indexOf"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var deletedIds = __mod__["jquery/cmd/var/deletedIds"](); - __mod__[__id__] = deletedIds.indexOf; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/var/indexOf", (_M_["jquery/cmd/var/indexOf"] = {}) && _M_); - -_M_["jquery/cmd/var/class2type"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - __mod__[__id__] = {}; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/var/class2type", (_M_["jquery/cmd/var/class2type"] = {}) && _M_); - -_M_["jquery/cmd/var/toString"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var class2type = __mod__["jquery/cmd/var/class2type"](); - __mod__[__id__] = class2type.toString; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/var/toString", (_M_["jquery/cmd/var/toString"] = {}) && _M_); - -_M_["jquery/cmd/var/hasOwn"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var class2type = __mod__["jquery/cmd/var/class2type"](); - __mod__[__id__] = class2type.hasOwnProperty; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/var/hasOwn", (_M_["jquery/cmd/var/hasOwn"] = {}) && _M_); - -_M_["jquery/cmd/var/support"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - __mod__[__id__] = {}; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/var/support", (_M_["jquery/cmd/var/support"] = {}) && _M_); - -_M_["jquery/cmd/selector"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - __mod__["jquery/cmd/selector-sizzle"](); - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/selector", (_M_["jquery/cmd/selector"] = {}) && _M_); - -_M_["jquery/cmd/selector-sizzle"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - var Sizzle = __mod__["jquery/cmd/sizzle"](); - jQuery.find = Sizzle; - jQuery.expr = Sizzle.selectors; - jQuery.expr[":"] = jQuery.expr.pseudos; - jQuery.unique = Sizzle.uniqueSort; - jQuery.text = Sizzle.getText; - jQuery.isXMLDoc = Sizzle.isXML; - jQuery.contains = Sizzle.contains; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/selector-sizzle", (_M_["jquery/cmd/selector-sizzle"] = {}) && _M_); - -(function(window) { - var i, support, Expr, getText, isXML, tokenize, compile, select, outermostContext, sortInput, hasDuplicate, setDocument, document, docElem, documentIsHTML, rbuggyQSA, rbuggyMatches, matches, contains, expando = "sizzle" + 1 * new Date(), preferredDoc = window.document, dirruns = 0, done = 0, classCache = createCache(), tokenCache = createCache(), compilerCache = createCache(), sortOrder = function(a, b) { - if (a === b) { - hasDuplicate = true; - } - return 0; - }, MAX_NEGATIVE = 1 << 31, hasOwn = {}.hasOwnProperty, arr = [], pop = arr.pop, push_native = arr.push, push = arr.push, slice = arr.slice, indexOf = function(list, elem) { - var i = 0, len = list.length; - for (;i < len; i++) { - if (list[i] === elem) { - return i; - } - } - return -1; - }, booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", whitespace = "[\\x20\\t\\r\\n\\f]", characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", identifier = characterEncoding.replace("w", "w#"), attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + "*([*^$|!~]?=)" + whitespace + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + "*\\]", pseudos = ":(" + characterEncoding + ")(?:\\((" + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + ".*" + ")\\)|)", rwhitespace = new RegExp(whitespace + "+", "g"), rtrim = new RegExp("^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g"), rcomma = new RegExp("^" + whitespace + "*," + whitespace + "*"), rcombinators = new RegExp("^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*"), rattributeQuotes = new RegExp("=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g"), rpseudo = new RegExp(pseudos), ridentifier = new RegExp("^" + identifier + "$"), matchExpr = { - ID: new RegExp("^#(" + characterEncoding + ")"), - CLASS: new RegExp("^\\.(" + characterEncoding + ")"), - TAG: new RegExp("^(" + characterEncoding.replace("w", "w*") + ")"), - ATTR: new RegExp("^" + attributes), - PSEUDO: new RegExp("^" + pseudos), - CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i"), - bool: new RegExp("^(?:" + booleans + ")$", "i"), - needsContext: new RegExp("^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i") - }, rinputs = /^(?:input|select|textarea|button)$/i, rheader = /^h\d$/i, rnative = /^[^{]+\{\s*\[native \w/, rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, rsibling = /[+~]/, rescape = /'|\\/g, runescape = new RegExp("\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig"), funescape = function(_, escaped, escapedWhitespace) { - var high = "0x" + escaped - 65536; - return high !== high || escapedWhitespace ? escaped : high < 0 ? String.fromCharCode(high + 65536) : String.fromCharCode(high >> 10 | 55296, high & 1023 | 56320); - }, unloadHandler = function() { - setDocument(); - }; - try { - push.apply(arr = slice.call(preferredDoc.childNodes), preferredDoc.childNodes); - arr[preferredDoc.childNodes.length].nodeType; - } catch (e) { - push = { - apply: arr.length ? function(target, els) { - push_native.apply(target, slice.call(els)); - } : function(target, els) { - var j = target.length, i = 0; - while (target[j++] = els[i++]) {} - target.length = j - 1; - } - }; - } - function Sizzle(selector, context, results, seed) { - var match, elem, m, nodeType, i, groups, old, nid, newContext, newSelector; - if ((context ? context.ownerDocument || context : preferredDoc) !== document) { - setDocument(context); - } - context = context || document; - results = results || []; - nodeType = context.nodeType; - if (typeof selector !== "string" || !selector || nodeType !== 1 && nodeType !== 9 && nodeType !== 11) { - return results; - } - if (!seed && documentIsHTML) { - if (nodeType !== 11 && (match = rquickExpr.exec(selector))) { - if (m = match[1]) { - if (nodeType === 9) { - elem = context.getElementById(m); - if (elem && elem.parentNode) { - if (elem.id === m) { - results.push(elem); - return results; - } - } else { - return results; - } - } else { - if (context.ownerDocument && (elem = context.ownerDocument.getElementById(m)) && contains(context, elem) && elem.id === m) { - results.push(elem); - return results; - } - } - } else if (match[2]) { - push.apply(results, context.getElementsByTagName(selector)); - return results; - } else if ((m = match[3]) && support.getElementsByClassName) { - push.apply(results, context.getElementsByClassName(m)); - return results; - } - } - if (support.qsa && (!rbuggyQSA || !rbuggyQSA.test(selector))) { - nid = old = expando; - newContext = context; - newSelector = nodeType !== 1 && selector; - if (nodeType === 1 && context.nodeName.toLowerCase() !== "object") { - groups = tokenize(selector); - if (old = context.getAttribute("id")) { - nid = old.replace(rescape, "\\$&"); - } else { - context.setAttribute("id", nid); - } - nid = "[id='" + nid + "'] "; - i = groups.length; - while (i--) { - groups[i] = nid + toSelector(groups[i]); - } - newContext = rsibling.test(selector) && testContext(context.parentNode) || context; - newSelector = groups.join(","); - } - if (newSelector) { - try { - push.apply(results, newContext.querySelectorAll(newSelector)); - return results; - } catch (qsaError) {} finally { - if (!old) { - context.removeAttribute("id"); - } - } - } - } - } - return select(selector.replace(rtrim, "$1"), context, results, seed); - } - function createCache() { - var keys = []; - function cache(key, value) { - if (keys.push(key + " ") > Expr.cacheLength) { - delete cache[keys.shift()]; - } - return cache[key + " "] = value; - } - return cache; - } - function markFunction(fn) { - fn[expando] = true; - return fn; - } - function assert(fn) { - var div = document.createElement("div"); - try { - return !!fn(div); - } catch (e) { - return false; - } finally { - if (div.parentNode) { - div.parentNode.removeChild(div); - } - div = null; - } - } - function addHandle(attrs, handler) { - var arr = attrs.split("|"), i = attrs.length; - while (i--) { - Expr.attrHandle[arr[i]] = handler; - } - } - function siblingCheck(a, b) { - var cur = b && a, diff = cur && a.nodeType === 1 && b.nodeType === 1 && (~b.sourceIndex || MAX_NEGATIVE) - (~a.sourceIndex || MAX_NEGATIVE); - if (diff) { - return diff; - } - if (cur) { - while (cur = cur.nextSibling) { - if (cur === b) { - return -1; - } - } - } - return a ? 1 : -1; - } - function createInputPseudo(type) { - return function(elem) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; - } - function createButtonPseudo(type) { - return function(elem) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; - } - function createPositionalPseudo(fn) { - return markFunction(function(argument) { - argument = +argument; - return markFunction(function(seed, matches) { - var j, matchIndexes = fn([], seed.length, argument), i = matchIndexes.length; - while (i--) { - if (seed[j = matchIndexes[i]]) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); - } - function testContext(context) { - return context && typeof context.getElementsByTagName !== "undefined" && context; - } - support = Sizzle.support = {}; - isXML = Sizzle.isXML = function(elem) { - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; - }; - setDocument = Sizzle.setDocument = function(node) { - var hasCompare, parent, doc = node ? node.ownerDocument || node : preferredDoc; - if (doc === document || doc.nodeType !== 9 || !doc.documentElement) { - return document; - } - document = doc; - docElem = doc.documentElement; - parent = doc.defaultView; - if (parent && parent !== parent.top) { - if (parent.addEventListener) { - parent.addEventListener("unload", unloadHandler, false); - } else if (parent.attachEvent) { - parent.attachEvent("onunload", unloadHandler); - } - } - documentIsHTML = !isXML(doc); - support.attributes = assert(function(div) { - div.className = "i"; - return !div.getAttribute("className"); - }); - support.getElementsByTagName = assert(function(div) { - div.appendChild(doc.createComment("")); - return !div.getElementsByTagName("*").length; - }); - support.getElementsByClassName = rnative.test(doc.getElementsByClassName); - support.getById = assert(function(div) { - docElem.appendChild(div).id = expando; - return !doc.getElementsByName || !doc.getElementsByName(expando).length; - }); - if (support.getById) { - Expr.find["ID"] = function(id, context) { - if (typeof context.getElementById !== "undefined" && documentIsHTML) { - var m = context.getElementById(id); - return m && m.parentNode ? [ m ] : []; - } - }; - Expr.filter["ID"] = function(id) { - var attrId = id.replace(runescape, funescape); - return function(elem) { - return elem.getAttribute("id") === attrId; - }; - }; - } else { - delete Expr.find["ID"]; - Expr.filter["ID"] = function(id) { - var attrId = id.replace(runescape, funescape); - return function(elem) { - var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - Expr.find["TAG"] = support.getElementsByTagName ? function(tag, context) { - if (typeof context.getElementsByTagName !== "undefined") { - return context.getElementsByTagName(tag); - } else if (support.qsa) { - return context.querySelectorAll(tag); - } - } : function(tag, context) { - var elem, tmp = [], i = 0, results = context.getElementsByTagName(tag); - if (tag === "*") { - while (elem = results[i++]) { - if (elem.nodeType === 1) { - tmp.push(elem); - } - } - return tmp; - } - return results; - }; - Expr.find["CLASS"] = support.getElementsByClassName && function(className, context) { - if (documentIsHTML) { - return context.getElementsByClassName(className); - } - }; - rbuggyMatches = []; - rbuggyQSA = []; - if (support.qsa = rnative.test(doc.querySelectorAll)) { - assert(function(div) { - docElem.appendChild(div).innerHTML = "" + ""; - if (div.querySelectorAll("[msallowcapture^='']").length) { - rbuggyQSA.push("[*^$]=" + whitespace + "*(?:''|\"\")"); - } - if (!div.querySelectorAll("[selected]").length) { - rbuggyQSA.push("\\[" + whitespace + "*(?:value|" + booleans + ")"); - } - if (!div.querySelectorAll("[id~=" + expando + "-]").length) { - rbuggyQSA.push("~="); - } - if (!div.querySelectorAll(":checked").length) { - rbuggyQSA.push(":checked"); - } - if (!div.querySelectorAll("a#" + expando + "+*").length) { - rbuggyQSA.push(".#.+[+~]"); - } - }); - assert(function(div) { - var input = doc.createElement("input"); - input.setAttribute("type", "hidden"); - div.appendChild(input).setAttribute("name", "D"); - if (div.querySelectorAll("[name=d]").length) { - rbuggyQSA.push("name" + whitespace + "*[*^$|!~]?="); - } - if (!div.querySelectorAll(":enabled").length) { - rbuggyQSA.push(":enabled", ":disabled"); - } - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - if (support.matchesSelector = rnative.test(matches = docElem.matches || docElem.webkitMatchesSelector || docElem.mozMatchesSelector || docElem.oMatchesSelector || docElem.msMatchesSelector)) { - assert(function(div) { - support.disconnectedMatch = matches.call(div, "div"); - matches.call(div, "[s!='']:x"); - rbuggyMatches.push("!=", pseudos); - }); - } - rbuggyQSA = rbuggyQSA.length && new RegExp(rbuggyQSA.join("|")); - rbuggyMatches = rbuggyMatches.length && new RegExp(rbuggyMatches.join("|")); - hasCompare = rnative.test(docElem.compareDocumentPosition); - contains = hasCompare || rnative.test(docElem.contains) ? function(a, b) { - var adown = a.nodeType === 9 ? a.documentElement : a, bup = b && b.parentNode; - return a === bup || !!(bup && bup.nodeType === 1 && (adown.contains ? adown.contains(bup) : a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16)); - } : function(a, b) { - if (b) { - while (b = b.parentNode) { - if (b === a) { - return true; - } - } - } - return false; - }; - sortOrder = hasCompare ? function(a, b) { - if (a === b) { - hasDuplicate = true; - return 0; - } - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if (compare) { - return compare; - } - compare = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1; - if (compare & 1 || !support.sortDetached && b.compareDocumentPosition(a) === compare) { - if (a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a)) { - return -1; - } - if (b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b)) { - return 1; - } - return sortInput ? indexOf(sortInput, a) - indexOf(sortInput, b) : 0; - } - return compare & 4 ? -1 : 1; - } : function(a, b) { - if (a === b) { - hasDuplicate = true; - return 0; - } - var cur, i = 0, aup = a.parentNode, bup = b.parentNode, ap = [ a ], bp = [ b ]; - if (!aup || !bup) { - return a === doc ? -1 : b === doc ? 1 : aup ? -1 : bup ? 1 : sortInput ? indexOf(sortInput, a) - indexOf(sortInput, b) : 0; - } else if (aup === bup) { - return siblingCheck(a, b); - } - cur = a; - while (cur = cur.parentNode) { - ap.unshift(cur); - } - cur = b; - while (cur = cur.parentNode) { - bp.unshift(cur); - } - while (ap[i] === bp[i]) { - i++; - } - return i ? siblingCheck(ap[i], bp[i]) : ap[i] === preferredDoc ? -1 : bp[i] === preferredDoc ? 1 : 0; - }; - return doc; - }; - Sizzle.matches = function(expr, elements) { - return Sizzle(expr, null, null, elements); - }; - Sizzle.matchesSelector = function(elem, expr) { - if ((elem.ownerDocument || elem) !== document) { - setDocument(elem); - } - expr = expr.replace(rattributeQuotes, "='$1']"); - if (support.matchesSelector && documentIsHTML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && (!rbuggyQSA || !rbuggyQSA.test(expr))) { - try { - var ret = matches.call(elem, expr); - if (ret || support.disconnectedMatch || elem.document && elem.document.nodeType !== 11) { - return ret; - } - } catch (e) {} - } - return Sizzle(expr, document, null, [ elem ]).length > 0; - }; - Sizzle.contains = function(context, elem) { - if ((context.ownerDocument || context) !== document) { - setDocument(context); - } - return contains(context, elem); - }; - Sizzle.attr = function(elem, name) { - if ((elem.ownerDocument || elem) !== document) { - setDocument(elem); - } - var fn = Expr.attrHandle[name.toLowerCase()], val = fn && hasOwn.call(Expr.attrHandle, name.toLowerCase()) ? fn(elem, name, !documentIsHTML) : undefined; - return val !== undefined ? val : support.attributes || !documentIsHTML ? elem.getAttribute(name) : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null; - }; - Sizzle.error = function(msg) { - throw new Error("Syntax error, unrecognized expression: " + msg); - }; - Sizzle.uniqueSort = function(results) { - var elem, duplicates = [], j = 0, i = 0; - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice(0); - results.sort(sortOrder); - if (hasDuplicate) { - while (elem = results[i++]) { - if (elem === results[i]) { - j = duplicates.push(i); - } - } - while (j--) { - results.splice(duplicates[j], 1); - } - } - sortInput = null; - return results; - }; - getText = Sizzle.getText = function(elem) { - var node, ret = "", i = 0, nodeType = elem.nodeType; - if (!nodeType) { - while (node = elem[i++]) { - ret += getText(node); - } - } else if (nodeType === 1 || nodeType === 9 || nodeType === 11) { - if (typeof elem.textContent === "string") { - return elem.textContent; - } else { - for (elem = elem.firstChild; elem; elem = elem.nextSibling) { - ret += getText(elem); - } - } - } else if (nodeType === 3 || nodeType === 4) { - return elem.nodeValue; - } - return ret; - }; - Expr = Sizzle.selectors = { - cacheLength: 50, - createPseudo: markFunction, - match: matchExpr, - attrHandle: {}, - find: {}, - relative: { - ">": { - dir: "parentNode", - first: true - }, - " ": { - dir: "parentNode" - }, - "+": { - dir: "previousSibling", - first: true - }, - "~": { - dir: "previousSibling" - } - }, - preFilter: { - ATTR: function(match) { - match[1] = match[1].replace(runescape, funescape); - match[3] = (match[3] || match[4] || match[5] || "").replace(runescape, funescape); - if (match[2] === "~=") { - match[3] = " " + match[3] + " "; - } - return match.slice(0, 4); - }, - CHILD: function(match) { - match[1] = match[1].toLowerCase(); - if (match[1].slice(0, 3) === "nth") { - if (!match[3]) { - Sizzle.error(match[0]); - } - match[4] = +(match[4] ? match[5] + (match[6] || 1) : 2 * (match[3] === "even" || match[3] === "odd")); - match[5] = +(match[7] + match[8] || match[3] === "odd"); - } else if (match[3]) { - Sizzle.error(match[0]); - } - return match; - }, - PSEUDO: function(match) { - var excess, unquoted = !match[6] && match[2]; - if (matchExpr["CHILD"].test(match[0])) { - return null; - } - if (match[3]) { - match[2] = match[4] || match[5] || ""; - } else if (unquoted && rpseudo.test(unquoted) && (excess = tokenize(unquoted, true)) && (excess = unquoted.indexOf(")", unquoted.length - excess) - unquoted.length)) { - match[0] = match[0].slice(0, excess); - match[2] = unquoted.slice(0, excess); - } - return match.slice(0, 3); - } - }, - filter: { - TAG: function(nodeNameSelector) { - var nodeName = nodeNameSelector.replace(runescape, funescape).toLowerCase(); - return nodeNameSelector === "*" ? function() { - return true; - } : function(elem) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - CLASS: function(className) { - var pattern = classCache[className + " "]; - return pattern || (pattern = new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)")) && classCache(className, function(elem) { - return pattern.test(typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || ""); - }); - }, - ATTR: function(name, operator, check) { - return function(elem) { - var result = Sizzle.attr(elem, name); - if (result == null) { - return operator === "!="; - } - if (!operator) { - return true; - } - result += ""; - return operator === "=" ? result === check : operator === "!=" ? result !== check : operator === "^=" ? check && result.indexOf(check) === 0 : operator === "*=" ? check && result.indexOf(check) > -1 : operator === "$=" ? check && result.slice(-check.length) === check : operator === "~=" ? (" " + result.replace(rwhitespace, " ") + " ").indexOf(check) > -1 : operator === "|=" ? result === check || result.slice(0, check.length + 1) === check + "-" : false; - }; - }, - CHILD: function(type, what, argument, first, last) { - var simple = type.slice(0, 3) !== "nth", forward = type.slice(-4) !== "last", ofType = what === "of-type"; - return first === 1 && last === 0 ? function(elem) { - return !!elem.parentNode; - } : function(elem, context, xml) { - var cache, outerCache, node, diff, nodeIndex, start, dir = simple !== forward ? "nextSibling" : "previousSibling", parent = elem.parentNode, name = ofType && elem.nodeName.toLowerCase(), useCache = !xml && !ofType; - if (parent) { - if (simple) { - while (dir) { - node = elem; - while (node = node[dir]) { - if (ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) { - return false; - } - } - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - start = [ forward ? parent.firstChild : parent.lastChild ]; - if (forward && useCache) { - outerCache = parent[expando] || (parent[expando] = {}); - cache = outerCache[type] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = cache[0] === dirruns && cache[2]; - node = nodeIndex && parent.childNodes[nodeIndex]; - while (node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop()) { - if (node.nodeType === 1 && ++diff && node === elem) { - outerCache[type] = [ dirruns, nodeIndex, diff ]; - break; - } - } - } else if (useCache && (cache = (elem[expando] || (elem[expando] = {}))[type]) && cache[0] === dirruns) { - diff = cache[1]; - } else { - while (node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop()) { - if ((ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) && ++diff) { - if (useCache) { - (node[expando] || (node[expando] = {}))[type] = [ dirruns, diff ]; - } - if (node === elem) { - break; - } - } - } - } - diff -= last; - return diff === first || diff % first === 0 && diff / first >= 0; - } - }; - }, - PSEUDO: function(pseudo, argument) { - var args, fn = Expr.pseudos[pseudo] || Expr.setFilters[pseudo.toLowerCase()] || Sizzle.error("unsupported pseudo: " + pseudo); - if (fn[expando]) { - return fn(argument); - } - if (fn.length > 1) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase()) ? markFunction(function(seed, matches) { - var idx, matched = fn(seed, argument), i = matched.length; - while (i--) { - idx = indexOf(seed, matched[i]); - seed[idx] = !(matches[idx] = matched[i]); - } - }) : function(elem) { - return fn(elem, 0, args); - }; - } - return fn; - } - }, - pseudos: { - not: markFunction(function(selector) { - var input = [], results = [], matcher = compile(selector.replace(rtrim, "$1")); - return matcher[expando] ? markFunction(function(seed, matches, context, xml) { - var elem, unmatched = matcher(seed, null, xml, []), i = seed.length; - while (i--) { - if (elem = unmatched[i]) { - seed[i] = !(matches[i] = elem); - } - } - }) : function(elem, context, xml) { - input[0] = elem; - matcher(input, null, xml, results); - input[0] = null; - return !results.pop(); - }; - }), - has: markFunction(function(selector) { - return function(elem) { - return Sizzle(selector, elem).length > 0; - }; - }), - contains: markFunction(function(text) { - text = text.replace(runescape, funescape); - return function(elem) { - return (elem.textContent || elem.innerText || getText(elem)).indexOf(text) > -1; - }; - }), - lang: markFunction(function(lang) { - if (!ridentifier.test(lang || "")) { - Sizzle.error("unsupported lang: " + lang); - } - lang = lang.replace(runescape, funescape).toLowerCase(); - return function(elem) { - var elemLang; - do { - if (elemLang = documentIsHTML ? elem.lang : elem.getAttribute("xml:lang") || elem.getAttribute("lang")) { - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf(lang + "-") === 0; - } - } while ((elem = elem.parentNode) && elem.nodeType === 1); - return false; - }; - }), - target: function(elem) { - var hash = window.location && window.location.hash; - return hash && hash.slice(1) === elem.id; - }, - root: function(elem) { - return elem === docElem; - }, - focus: function(elem) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - enabled: function(elem) { - return elem.disabled === false; - }, - disabled: function(elem) { - return elem.disabled === true; - }, - checked: function(elem) { - var nodeName = elem.nodeName.toLowerCase(); - return nodeName === "input" && !!elem.checked || nodeName === "option" && !!elem.selected; - }, - selected: function(elem) { - if (elem.parentNode) { - elem.parentNode.selectedIndex; - } - return elem.selected === true; - }, - empty: function(elem) { - for (elem = elem.firstChild; elem; elem = elem.nextSibling) { - if (elem.nodeType < 6) { - return false; - } - } - return true; - }, - parent: function(elem) { - return !Expr.pseudos["empty"](elem); - }, - header: function(elem) { - return rheader.test(elem.nodeName); - }, - input: function(elem) { - return rinputs.test(elem.nodeName); - }, - button: function(elem) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - text: function(elem) { - var attr; - return elem.nodeName.toLowerCase() === "input" && elem.type === "text" && ((attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text"); - }, - first: createPositionalPseudo(function() { - return [ 0 ]; - }), - last: createPositionalPseudo(function(matchIndexes, length) { - return [ length - 1 ]; - }), - eq: createPositionalPseudo(function(matchIndexes, length, argument) { - return [ argument < 0 ? argument + length : argument ]; - }), - even: createPositionalPseudo(function(matchIndexes, length) { - var i = 0; - for (;i < length; i += 2) { - matchIndexes.push(i); - } - return matchIndexes; - }), - odd: createPositionalPseudo(function(matchIndexes, length) { - var i = 1; - for (;i < length; i += 2) { - matchIndexes.push(i); - } - return matchIndexes; - }), - lt: createPositionalPseudo(function(matchIndexes, length, argument) { - var i = argument < 0 ? argument + length : argument; - for (;--i >= 0; ) { - matchIndexes.push(i); - } - return matchIndexes; - }), - gt: createPositionalPseudo(function(matchIndexes, length, argument) { - var i = argument < 0 ? argument + length : argument; - for (;++i < length; ) { - matchIndexes.push(i); - } - return matchIndexes; - }) - } - }; - Expr.pseudos["nth"] = Expr.pseudos["eq"]; - for (i in { - radio: true, - checkbox: true, - file: true, - password: true, - image: true - }) { - Expr.pseudos[i] = createInputPseudo(i); - } - for (i in { - submit: true, - reset: true - }) { - Expr.pseudos[i] = createButtonPseudo(i); - } - function setFilters() {} - setFilters.prototype = Expr.filters = Expr.pseudos; - Expr.setFilters = new setFilters(); - tokenize = Sizzle.tokenize = function(selector, parseOnly) { - var matched, match, tokens, type, soFar, groups, preFilters, cached = tokenCache[selector + " "]; - if (cached) { - return parseOnly ? 0 : cached.slice(0); - } - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - while (soFar) { - if (!matched || (match = rcomma.exec(soFar))) { - if (match) { - soFar = soFar.slice(match[0].length) || soFar; - } - groups.push(tokens = []); - } - matched = false; - if (match = rcombinators.exec(soFar)) { - matched = match.shift(); - tokens.push({ - value: matched, - type: match[0].replace(rtrim, " ") - }); - soFar = soFar.slice(matched.length); - } - for (type in Expr.filter) { - if ((match = matchExpr[type].exec(soFar)) && (!preFilters[type] || (match = preFilters[type](match)))) { - matched = match.shift(); - tokens.push({ - value: matched, - type: type, - matches: match - }); - soFar = soFar.slice(matched.length); - } - } - if (!matched) { - break; - } - } - return parseOnly ? soFar.length : soFar ? Sizzle.error(selector) : tokenCache(selector, groups).slice(0); - }; - function toSelector(tokens) { - var i = 0, len = tokens.length, selector = ""; - for (;i < len; i++) { - selector += tokens[i].value; - } - return selector; - } - function addCombinator(matcher, combinator, base) { - var dir = combinator.dir, checkNonElements = base && dir === "parentNode", doneName = done++; - return combinator.first ? function(elem, context, xml) { - while (elem = elem[dir]) { - if (elem.nodeType === 1 || checkNonElements) { - return matcher(elem, context, xml); - } - } - } : function(elem, context, xml) { - var oldCache, outerCache, newCache = [ dirruns, doneName ]; - if (xml) { - while (elem = elem[dir]) { - if (elem.nodeType === 1 || checkNonElements) { - if (matcher(elem, context, xml)) { - return true; - } - } - } - } else { - while (elem = elem[dir]) { - if (elem.nodeType === 1 || checkNonElements) { - outerCache = elem[expando] || (elem[expando] = {}); - if ((oldCache = outerCache[dir]) && oldCache[0] === dirruns && oldCache[1] === doneName) { - return newCache[2] = oldCache[2]; - } else { - outerCache[dir] = newCache; - if (newCache[2] = matcher(elem, context, xml)) { - return true; - } - } - } - } - } - }; - } - function elementMatcher(matchers) { - return matchers.length > 1 ? function(elem, context, xml) { - var i = matchers.length; - while (i--) { - if (!matchers[i](elem, context, xml)) { - return false; - } - } - return true; - } : matchers[0]; - } - function multipleContexts(selector, contexts, results) { - var i = 0, len = contexts.length; - for (;i < len; i++) { - Sizzle(selector, contexts[i], results); - } - return results; - } - function condense(unmatched, map, filter, context, xml) { - var elem, newUnmatched = [], i = 0, len = unmatched.length, mapped = map != null; - for (;i < len; i++) { - if (elem = unmatched[i]) { - if (!filter || filter(elem, context, xml)) { - newUnmatched.push(elem); - if (mapped) { - map.push(i); - } - } - } - } - return newUnmatched; - } - function setMatcher(preFilter, selector, matcher, postFilter, postFinder, postSelector) { - if (postFilter && !postFilter[expando]) { - postFilter = setMatcher(postFilter); - } - if (postFinder && !postFinder[expando]) { - postFinder = setMatcher(postFinder, postSelector); - } - return markFunction(function(seed, results, context, xml) { - var temp, i, elem, preMap = [], postMap = [], preexisting = results.length, elems = seed || multipleContexts(selector || "*", context.nodeType ? [ context ] : context, []), matcherIn = preFilter && (seed || !selector) ? condense(elems, preMap, preFilter, context, xml) : elems, matcherOut = matcher ? postFinder || (seed ? preFilter : preexisting || postFilter) ? [] : results : matcherIn; - if (matcher) { - matcher(matcherIn, matcherOut, context, xml); - } - if (postFilter) { - temp = condense(matcherOut, postMap); - postFilter(temp, [], context, xml); - i = temp.length; - while (i--) { - if (elem = temp[i]) { - matcherOut[postMap[i]] = !(matcherIn[postMap[i]] = elem); - } - } - } - if (seed) { - if (postFinder || preFilter) { - if (postFinder) { - temp = []; - i = matcherOut.length; - while (i--) { - if (elem = matcherOut[i]) { - temp.push(matcherIn[i] = elem); - } - } - postFinder(null, matcherOut = [], temp, xml); - } - i = matcherOut.length; - while (i--) { - if ((elem = matcherOut[i]) && (temp = postFinder ? indexOf(seed, elem) : preMap[i]) > -1) { - seed[temp] = !(results[temp] = elem); - } - } - } - } else { - matcherOut = condense(matcherOut === results ? matcherOut.splice(preexisting, matcherOut.length) : matcherOut); - if (postFinder) { - postFinder(null, results, matcherOut, xml); - } else { - push.apply(results, matcherOut); - } - } - }); - } - function matcherFromTokens(tokens) { - var checkContext, matcher, j, len = tokens.length, leadingRelative = Expr.relative[tokens[0].type], implicitRelative = leadingRelative || Expr.relative[" "], i = leadingRelative ? 1 : 0, matchContext = addCombinator(function(elem) { - return elem === checkContext; - }, implicitRelative, true), matchAnyContext = addCombinator(function(elem) { - return indexOf(checkContext, elem) > -1; - }, implicitRelative, true), matchers = [ function(elem, context, xml) { - var ret = !leadingRelative && (xml || context !== outermostContext) || ((checkContext = context).nodeType ? matchContext(elem, context, xml) : matchAnyContext(elem, context, xml)); - checkContext = null; - return ret; - } ]; - for (;i < len; i++) { - if (matcher = Expr.relative[tokens[i].type]) { - matchers = [ addCombinator(elementMatcher(matchers), matcher) ]; - } else { - matcher = Expr.filter[tokens[i].type].apply(null, tokens[i].matches); - if (matcher[expando]) { - j = ++i; - for (;j < len; j++) { - if (Expr.relative[tokens[j].type]) { - break; - } - } - return setMatcher(i > 1 && elementMatcher(matchers), i > 1 && toSelector(tokens.slice(0, i - 1).concat({ - value: tokens[i - 2].type === " " ? "*" : "" - })).replace(rtrim, "$1"), matcher, i < j && matcherFromTokens(tokens.slice(i, j)), j < len && matcherFromTokens(tokens = tokens.slice(j)), j < len && toSelector(tokens)); - } - matchers.push(matcher); - } - } - return elementMatcher(matchers); - } - function matcherFromGroupMatchers(elementMatchers, setMatchers) { - var bySet = setMatchers.length > 0, byElement = elementMatchers.length > 0, superMatcher = function(seed, context, xml, results, outermost) { - var elem, j, matcher, matchedCount = 0, i = "0", unmatched = seed && [], setMatched = [], contextBackup = outermostContext, elems = seed || byElement && Expr.find["TAG"]("*", outermost), dirrunsUnique = dirruns += contextBackup == null ? 1 : Math.random() || .1, len = elems.length; - if (outermost) { - outermostContext = context !== document && context; - } - for (;i !== len && (elem = elems[i]) != null; i++) { - if (byElement && elem) { - j = 0; - while (matcher = elementMatchers[j++]) { - if (matcher(elem, context, xml)) { - results.push(elem); - break; - } - } - if (outermost) { - dirruns = dirrunsUnique; - } - } - if (bySet) { - if (elem = !matcher && elem) { - matchedCount--; - } - if (seed) { - unmatched.push(elem); - } - } - } - matchedCount += i; - if (bySet && i !== matchedCount) { - j = 0; - while (matcher = setMatchers[j++]) { - matcher(unmatched, setMatched, context, xml); - } - if (seed) { - if (matchedCount > 0) { - while (i--) { - if (!(unmatched[i] || setMatched[i])) { - setMatched[i] = pop.call(results); - } - } - } - setMatched = condense(setMatched); - } - push.apply(results, setMatched); - if (outermost && !seed && setMatched.length > 0 && matchedCount + setMatchers.length > 1) { - Sizzle.uniqueSort(results); - } - } - if (outermost) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - return unmatched; - }; - return bySet ? markFunction(superMatcher) : superMatcher; - } - compile = Sizzle.compile = function(selector, match) { - var i, setMatchers = [], elementMatchers = [], cached = compilerCache[selector + " "]; - if (!cached) { - if (!match) { - match = tokenize(selector); - } - i = match.length; - while (i--) { - cached = matcherFromTokens(match[i]); - if (cached[expando]) { - setMatchers.push(cached); - } else { - elementMatchers.push(cached); - } - } - cached = compilerCache(selector, matcherFromGroupMatchers(elementMatchers, setMatchers)); - cached.selector = selector; - } - return cached; - }; - select = Sizzle.select = function(selector, context, results, seed) { - var i, tokens, token, type, find, compiled = typeof selector === "function" && selector, match = !seed && tokenize(selector = compiled.selector || selector); - results = results || []; - if (match.length === 1) { - tokens = match[0] = match[0].slice(0); - if (tokens.length > 2 && (token = tokens[0]).type === "ID" && support.getById && context.nodeType === 9 && documentIsHTML && Expr.relative[tokens[1].type]) { - context = (Expr.find["ID"](token.matches[0].replace(runescape, funescape), context) || [])[0]; - if (!context) { - return results; - } else if (compiled) { - context = context.parentNode; - } - selector = selector.slice(tokens.shift().value.length); - } - i = matchExpr["needsContext"].test(selector) ? 0 : tokens.length; - while (i--) { - token = tokens[i]; - if (Expr.relative[type = token.type]) { - break; - } - if (find = Expr.find[type]) { - if (seed = find(token.matches[0].replace(runescape, funescape), rsibling.test(tokens[0].type) && testContext(context.parentNode) || context)) { - tokens.splice(i, 1); - selector = seed.length && toSelector(tokens); - if (!selector) { - push.apply(results, seed); - return results; - } - break; - } - } - } - } - (compiled || compile(selector, match))(seed, context, !documentIsHTML, results, rsibling.test(selector) && testContext(context.parentNode) || context); - return results; - }; - support.sortStable = expando.split("").sort(sortOrder).join("") === expando; - support.detectDuplicates = !!hasDuplicate; - setDocument(); - support.sortDetached = assert(function(div1) { - return div1.compareDocumentPosition(document.createElement("div")) & 1; - }); - if (!assert(function(div) { - div.innerHTML = ""; - return div.firstChild.getAttribute("href") === "#"; - })) { - addHandle("type|href|height|width", function(elem, name, isXML) { - if (!isXML) { - return elem.getAttribute(name, name.toLowerCase() === "type" ? 1 : 2); - } - }); - } - if (!support.attributes || !assert(function(div) { - div.innerHTML = ""; - div.firstChild.setAttribute("value", ""); - return div.firstChild.getAttribute("value") === ""; - })) { - addHandle("value", function(elem, name, isXML) { - if (!isXML && elem.nodeName.toLowerCase() === "input") { - return elem.defaultValue; - } - }); - } - if (!assert(function(div) { - return div.getAttribute("disabled") == null; - })) { - addHandle(booleans, function(elem, name, isXML) { - var val; - if (!isXML) { - return elem[name] === true ? name.toLowerCase() : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null; - } - }); - } - if (typeof define === "function") { - _M_["jquery/cmd/sizzle"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - return Sizzle; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; - }("jquery/cmd/sizzle", (_M_["jquery/cmd/sizzle"] = {}) && _M_); - } else if (typeof module !== "undefined" && module.exports) { - module.exports = Sizzle; - } else { - window.Sizzle = Sizzle; - } -})(window); - -_M_["jquery/cmd/traversing"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - var rneedsContext = __mod__["jquery/cmd/traversing/var/rneedsContext"](); - __mod__["jquery/cmd/core/init"](); - __mod__["jquery/cmd/traversing/findFilter"](); - __mod__["jquery/cmd/selector"](); - var rparentsprev = /^(?:parents|prev(?:Until|All))/, guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - jQuery.extend({ - dir: function(elem, dir, until) { - var matched = [], cur = elem[dir]; - while (cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery(cur).is(until))) { - if (cur.nodeType === 1) { - matched.push(cur); - } - cur = cur[dir]; - } - return matched; - }, - sibling: function(n, elem) { - var r = []; - for (;n; n = n.nextSibling) { - if (n.nodeType === 1 && n !== elem) { - r.push(n); - } - } - return r; - } - }); - jQuery.fn.extend({ - has: function(target) { - var i, targets = jQuery(target, this), len = targets.length; - return this.filter(function() { - for (i = 0; i < len; i++) { - if (jQuery.contains(this, targets[i])) { - return true; - } - } - }); - }, - closest: function(selectors, context) { - var cur, i = 0, l = this.length, matched = [], pos = rneedsContext.test(selectors) || typeof selectors !== "string" ? jQuery(selectors, context || this.context) : 0; - for (;i < l; i++) { - for (cur = this[i]; cur && cur !== context; cur = cur.parentNode) { - if (cur.nodeType < 11 && (pos ? pos.index(cur) > -1 : cur.nodeType === 1 && jQuery.find.matchesSelector(cur, selectors))) { - matched.push(cur); - break; - } - } - } - return this.pushStack(matched.length > 1 ? jQuery.unique(matched) : matched); - }, - index: function(elem) { - if (!elem) { - return this[0] && this[0].parentNode ? this.first().prevAll().length : -1; - } - if (typeof elem === "string") { - return jQuery.inArray(this[0], jQuery(elem)); - } - return jQuery.inArray(elem.jquery ? elem[0] : elem, this); - }, - add: function(selector, context) { - return this.pushStack(jQuery.unique(jQuery.merge(this.get(), jQuery(selector, context)))); - }, - addBack: function(selector) { - return this.add(selector == null ? this.prevObject : this.prevObject.filter(selector)); - } - }); - function sibling(cur, dir) { - do { - cur = cur[dir]; - } while (cur && cur.nodeType !== 1); - return cur; - } - jQuery.each({ - parent: function(elem) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function(elem) { - return jQuery.dir(elem, "parentNode"); - }, - parentsUntil: function(elem, i, until) { - return jQuery.dir(elem, "parentNode", until); - }, - next: function(elem) { - return sibling(elem, "nextSibling"); - }, - prev: function(elem) { - return sibling(elem, "previousSibling"); - }, - nextAll: function(elem) { - return jQuery.dir(elem, "nextSibling"); - }, - prevAll: function(elem) { - return jQuery.dir(elem, "previousSibling"); - }, - nextUntil: function(elem, i, until) { - return jQuery.dir(elem, "nextSibling", until); - }, - prevUntil: function(elem, i, until) { - return jQuery.dir(elem, "previousSibling", until); - }, - siblings: function(elem) { - return jQuery.sibling((elem.parentNode || {}).firstChild, elem); - }, - children: function(elem) { - return jQuery.sibling(elem.firstChild); - }, - contents: function(elem) { - return jQuery.nodeName(elem, "iframe") ? elem.contentDocument || elem.contentWindow.document : jQuery.merge([], elem.childNodes); - } - }, function(name, fn) { - jQuery.fn[name] = function(until, selector) { - var ret = jQuery.map(this, fn, until); - if (name.slice(-5) !== "Until") { - selector = until; - } - if (selector && typeof selector === "string") { - ret = jQuery.filter(selector, ret); - } - if (this.length > 1) { - if (!guaranteedUnique[name]) { - ret = jQuery.unique(ret); - } - if (rparentsprev.test(name)) { - ret = ret.reverse(); - } - } - return this.pushStack(ret); - }; - }); - return jQuery; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/traversing", (_M_["jquery/cmd/traversing"] = {}) && _M_); - -_M_["jquery/cmd/traversing/var/rneedsContext"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - __mod__["jquery/cmd/selector"](); - __mod__[__id__] = jQuery.expr.match.needsContext; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/traversing/var/rneedsContext", (_M_["jquery/cmd/traversing/var/rneedsContext"] = {}) && _M_); - -_M_["jquery/cmd/core/init"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - var rsingleTag = __mod__["jquery/cmd/core/var/rsingleTag"](); - __mod__["jquery/cmd/traversing/findFilter"](); - var rootjQuery, document = window.document, rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, init = jQuery.fn.init = function(selector, context) { - var match, elem; - if (!selector) { - return this; - } - if (typeof selector === "string") { - if (selector.charAt(0) === "<" && selector.charAt(selector.length - 1) === ">" && selector.length >= 3) { - match = [ null, selector, null ]; - } else { - match = rquickExpr.exec(selector); - } - if (match && (match[1] || !context)) { - if (match[1]) { - context = context instanceof jQuery ? context[0] : context; - jQuery.merge(this, jQuery.parseHTML(match[1], context && context.nodeType ? context.ownerDocument || context : document, true)); - if (rsingleTag.test(match[1]) && jQuery.isPlainObject(context)) { - for (match in context) { - if (jQuery.isFunction(this[match])) { - this[match](context[match]); - } else { - this.attr(match, context[match]); - } - } - } - return this; - } else { - elem = document.getElementById(match[2]); - if (elem && elem.parentNode) { - if (elem.id !== match[2]) { - return rootjQuery.find(selector); - } - this.length = 1; - this[0] = elem; - } - this.context = document; - this.selector = selector; - return this; - } - } else if (!context || context.jquery) { - return (context || rootjQuery).find(selector); - } else { - return this.constructor(context).find(selector); - } - } else if (selector.nodeType) { - this.context = this[0] = selector; - this.length = 1; - return this; - } else if (jQuery.isFunction(selector)) { - return typeof rootjQuery.ready !== "undefined" ? rootjQuery.ready(selector) : selector(jQuery); - } - if (selector.selector !== undefined) { - this.selector = selector.selector; - this.context = selector.context; - } - return jQuery.makeArray(selector, this); - }; - init.prototype = jQuery.fn; - rootjQuery = jQuery(document); - __mod__[__id__] = init; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/core/init", (_M_["jquery/cmd/core/init"] = {}) && _M_); - -_M_["jquery/cmd/core/var/rsingleTag"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - __mod__[__id__] = /^<(\w+)\s*\/?>(?:<\/\1>|)$/; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/core/var/rsingleTag", (_M_["jquery/cmd/core/var/rsingleTag"] = {}) && _M_); - -_M_["jquery/cmd/traversing/findFilter"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - var indexOf = __mod__["jquery/cmd/var/indexOf"](); - var rneedsContext = __mod__["jquery/cmd/traversing/var/rneedsContext"](); - __mod__["jquery/cmd/selector"](); - var risSimple = /^.[^:#\[\.,]*$/; - function winnow(elements, qualifier, not) { - if (jQuery.isFunction(qualifier)) { - return jQuery.grep(elements, function(elem, i) { - return !!qualifier.call(elem, i, elem) !== not; - }); - } - if (qualifier.nodeType) { - return jQuery.grep(elements, function(elem) { - return elem === qualifier !== not; - }); - } - if (typeof qualifier === "string") { - if (risSimple.test(qualifier)) { - return jQuery.filter(qualifier, elements, not); - } - qualifier = jQuery.filter(qualifier, elements); - } - return jQuery.grep(elements, function(elem) { - return jQuery.inArray(elem, qualifier) >= 0 !== not; - }); - } - jQuery.filter = function(expr, elems, not) { - var elem = elems[0]; - if (not) { - expr = ":not(" + expr + ")"; - } - return elems.length === 1 && elem.nodeType === 1 ? jQuery.find.matchesSelector(elem, expr) ? [ elem ] : [] : jQuery.find.matches(expr, jQuery.grep(elems, function(elem) { - return elem.nodeType === 1; - })); - }; - jQuery.fn.extend({ - find: function(selector) { - var i, ret = [], self = this, len = self.length; - if (typeof selector !== "string") { - return this.pushStack(jQuery(selector).filter(function() { - for (i = 0; i < len; i++) { - if (jQuery.contains(self[i], this)) { - return true; - } - } - })); - } - for (i = 0; i < len; i++) { - jQuery.find(selector, self[i], ret); - } - ret = this.pushStack(len > 1 ? jQuery.unique(ret) : ret); - ret.selector = this.selector ? this.selector + " " + selector : selector; - return ret; - }, - filter: function(selector) { - return this.pushStack(winnow(this, selector || [], false)); - }, - not: function(selector) { - return this.pushStack(winnow(this, selector || [], true)); - }, - is: function(selector) { - return !!winnow(this, typeof selector === "string" && rneedsContext.test(selector) ? jQuery(selector) : selector || [], false).length; - } - }); - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/traversing/findFilter", (_M_["jquery/cmd/traversing/findFilter"] = {}) && _M_); - -_M_["jquery/cmd/callbacks"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - var rnotwhite = __mod__["jquery/cmd/var/rnotwhite"](); - var optionsCache = {}; - function createOptions(options) { - var object = optionsCache[options] = {}; - jQuery.each(options.match(rnotwhite) || [], function(_, flag) { - object[flag] = true; - }); - return object; - } - jQuery.Callbacks = function(options) { - options = typeof options === "string" ? optionsCache[options] || createOptions(options) : jQuery.extend({}, options); - var firing, memory, fired, firingLength, firingIndex, firingStart, list = [], stack = !options.once && [], fire = function(data) { - memory = options.memory && data; - fired = true; - firingIndex = firingStart || 0; - firingStart = 0; - firingLength = list.length; - firing = true; - for (;list && firingIndex < firingLength; firingIndex++) { - if (list[firingIndex].apply(data[0], data[1]) === false && options.stopOnFalse) { - memory = false; - break; - } - } - firing = false; - if (list) { - if (stack) { - if (stack.length) { - fire(stack.shift()); - } - } else if (memory) { - list = []; - } else { - self.disable(); - } - } - }, self = { - add: function() { - if (list) { - var start = list.length; - (function add(args) { - jQuery.each(args, function(_, arg) { - var type = jQuery.type(arg); - if (type === "function") { - if (!options.unique || !self.has(arg)) { - list.push(arg); - } - } else if (arg && arg.length && type !== "string") { - add(arg); - } - }); - })(arguments); - if (firing) { - firingLength = list.length; - } else if (memory) { - firingStart = start; - fire(memory); - } - } - return this; - }, - remove: function() { - if (list) { - jQuery.each(arguments, function(_, arg) { - var index; - while ((index = jQuery.inArray(arg, list, index)) > -1) { - list.splice(index, 1); - if (firing) { - if (index <= firingLength) { - firingLength--; - } - if (index <= firingIndex) { - firingIndex--; - } - } - } - }); - } - return this; - }, - has: function(fn) { - return fn ? jQuery.inArray(fn, list) > -1 : !!(list && list.length); - }, - empty: function() { - list = []; - firingLength = 0; - return this; - }, - disable: function() { - list = stack = memory = undefined; - return this; - }, - disabled: function() { - return !list; - }, - lock: function() { - stack = undefined; - if (!memory) { - self.disable(); - } - return this; - }, - locked: function() { - return !stack; - }, - fireWith: function(context, args) { - if (list && (!fired || stack)) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - if (firing) { - stack.push(args); - } else { - fire(args); - } - } - return this; - }, - fire: function() { - self.fireWith(this, arguments); - return this; - }, - fired: function() { - return !!fired; - } - }; - return self; - }; - __mod__[__id__] = jQuery; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/callbacks", (_M_["jquery/cmd/callbacks"] = {}) && _M_); - -_M_["jquery/cmd/var/rnotwhite"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - __mod__[__id__] = /\S+/g; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/var/rnotwhite", (_M_["jquery/cmd/var/rnotwhite"] = {}) && _M_); - -_M_["jquery/cmd/deferred"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - var slice = __mod__["jquery/cmd/var/slice"](); - __mod__["jquery/cmd/callbacks"](); - jQuery.extend({ - Deferred: function(func) { - var tuples = [ [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], [ "notify", "progress", jQuery.Callbacks("memory") ] ], state = "pending", promise = { - state: function() { - return state; - }, - always: function() { - deferred.done(arguments).fail(arguments); - return this; - }, - then: function() { - var fns = arguments; - return jQuery.Deferred(function(newDefer) { - jQuery.each(tuples, function(i, tuple) { - var fn = jQuery.isFunction(fns[i]) && fns[i]; - deferred[tuple[1]](function() { - var returned = fn && fn.apply(this, arguments); - if (returned && jQuery.isFunction(returned.promise)) { - returned.promise().done(newDefer.resolve).fail(newDefer.reject).progress(newDefer.notify); - } else { - newDefer[tuple[0] + "With"](this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments); - } - }); - }); - fns = null; - }).promise(); - }, - promise: function(obj) { - return obj != null ? jQuery.extend(obj, promise) : promise; - } - }, deferred = {}; - promise.pipe = promise.then; - jQuery.each(tuples, function(i, tuple) { - var list = tuple[2], stateString = tuple[3]; - promise[tuple[1]] = list.add; - if (stateString) { - list.add(function() { - state = stateString; - }, tuples[i ^ 1][2].disable, tuples[2][2].lock); - } - deferred[tuple[0]] = function() { - deferred[tuple[0] + "With"](this === deferred ? promise : this, arguments); - return this; - }; - deferred[tuple[0] + "With"] = list.fireWith; - }); - promise.promise(deferred); - if (func) { - func.call(deferred, deferred); - } - return deferred; - }, - when: function(subordinate) { - var i = 0, resolveValues = slice.call(arguments), length = resolveValues.length, remaining = length !== 1 || subordinate && jQuery.isFunction(subordinate.promise) ? length : 0, deferred = remaining === 1 ? subordinate : jQuery.Deferred(), updateFunc = function(i, contexts, values) { - return function(value) { - contexts[i] = this; - values[i] = arguments.length > 1 ? slice.call(arguments) : value; - if (values === progressValues) { - deferred.notifyWith(contexts, values); - } else if (!--remaining) { - deferred.resolveWith(contexts, values); - } - }; - }, progressValues, progressContexts, resolveContexts; - if (length > 1) { - progressValues = new Array(length); - progressContexts = new Array(length); - resolveContexts = new Array(length); - for (;i < length; i++) { - if (resolveValues[i] && jQuery.isFunction(resolveValues[i].promise)) { - resolveValues[i].promise().done(updateFunc(i, resolveContexts, resolveValues)).fail(deferred.reject).progress(updateFunc(i, progressContexts, progressValues)); - } else { - --remaining; - } - } - } - if (!remaining) { - deferred.resolveWith(resolveContexts, resolveValues); - } - return deferred.promise(); - } - }); - __mod__[__id__] = jQuery; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/deferred", (_M_["jquery/cmd/deferred"] = {}) && _M_); - -_M_["jquery/cmd/core/ready"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - __mod__["jquery/cmd/core/init"](); - __mod__["jquery/cmd/deferred"](); - var readyList; - jQuery.fn.ready = function(fn) { - jQuery.ready.promise().done(fn); - return this; - }; - jQuery.extend({ - isReady: false, - readyWait: 1, - holdReady: function(hold) { - if (hold) { - jQuery.readyWait++; - } else { - jQuery.ready(true); - } - }, - ready: function(wait) { - if (arguments.length === 1 && "function" === typeof wait) { - Q.libReady(wait); - return; - } - if (wait === true ? --jQuery.readyWait : jQuery.isReady) { - return; - } - if (!document.body) { - return setTimeout(jQuery.ready); - } - jQuery.isReady = true; - if (wait !== true && --jQuery.readyWait > 0) { - return; - } - readyList.resolveWith(document, [ jQuery ]); - if (jQuery.fn.triggerHandler) { - jQuery(document).triggerHandler("ready"); - jQuery(document).off("ready"); - } - } - }); - function detach() { - if (document.addEventListener) { - document.removeEventListener("DOMContentLoaded", completed, false); - window.removeEventListener("load", completed, false); - } else { - document.detachEvent("onreadystatechange", completed); - window.detachEvent("onload", completed); - } - } - function completed() { - if (document.addEventListener || event.type === "load" || document.readyState === "complete") { - detach(); - jQuery.ready(); - } - } - jQuery.ready.promise = function(obj) { - if (!readyList) { - readyList = jQuery.Deferred(); - if (document.readyState === "complete") { - setTimeout(jQuery.ready); - } else if (document.addEventListener) { - document.addEventListener("DOMContentLoaded", completed, false); - window.addEventListener("load", completed, false); - } else { - document.attachEvent("onreadystatechange", completed); - window.attachEvent("onload", completed); - var top = false; - try { - top = window.frameElement == null && document.documentElement; - } catch (e) {} - if (top && top.doScroll) { - (function doScrollCheck() { - if (!jQuery.isReady) { - try { - top.doScroll("left"); - } catch (e) { - return setTimeout(doScrollCheck, 50); - } - detach(); - jQuery.ready(); - } - })(); - } - } - } - return readyList.promise(obj); - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/core/ready", (_M_["jquery/cmd/core/ready"] = {}) && _M_); - -_M_["jquery/cmd/support"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - var strundefined = __mod__["jquery/cmd/var/strundefined"](); - var support = __mod__["jquery/cmd/var/support"](); - __mod__["jquery/cmd/core/init"](); - __mod__["jquery/cmd/core/ready"](); - var i; - for (i in jQuery(support)) { - break; - } - support.ownLast = i !== "0"; - support.inlineBlockNeedsLayout = false; - jQuery(function() { - var val, div, body, container; - body = document.getElementsByTagName("body")[0]; - if (!body || !body.style) { - return; - } - div = document.createElement("div"); - container = document.createElement("div"); - container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; - body.appendChild(container).appendChild(div); - if (typeof div.style.zoom !== strundefined) { - div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"; - support.inlineBlockNeedsLayout = val = div.offsetWidth === 3; - if (val) { - body.style.zoom = 1; - } - } - body.removeChild(container); - }); - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/support", (_M_["jquery/cmd/support"] = {}) && _M_); - -_M_["jquery/cmd/var/strundefined"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - __mod__[__id__] = typeof undefined; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/var/strundefined", (_M_["jquery/cmd/var/strundefined"] = {}) && _M_); - -_M_["jquery/cmd/data"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - var deletedIds = __mod__["jquery/cmd/var/deletedIds"](); - var support = __mod__["jquery/cmd/data/support"](); - __mod__["jquery/cmd/data/accepts"](); - var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, rmultiDash = /([A-Z])/g; - function dataAttr(elem, key, data) { - if (data === undefined && elem.nodeType === 1) { - var name = "data-" + key.replace(rmultiDash, "-$1").toLowerCase(); - data = elem.getAttribute(name); - if (typeof data === "string") { - try { - data = data === "true" ? true : data === "false" ? false : data === "null" ? null : +data + "" === data ? +data : rbrace.test(data) ? jQuery.parseJSON(data) : data; - } catch (e) {} - jQuery.data(elem, key, data); - } else { - data = undefined; - } - } - return data; - } - function isEmptyDataObject(obj) { - var name; - for (name in obj) { - if (name === "data" && jQuery.isEmptyObject(obj[name])) { - continue; - } - if (name !== "toJSON") { - return false; - } - } - return true; - } - function internalData(elem, name, data, pvt) { - if (!jQuery.acceptData(elem)) { - return; - } - var ret, thisCache, internalKey = jQuery.expando, isNode = elem.nodeType, cache = isNode ? jQuery.cache : elem, id = isNode ? elem[internalKey] : elem[internalKey] && internalKey; - if ((!id || !cache[id] || !pvt && !cache[id].data) && data === undefined && typeof name === "string") { - return; - } - if (!id) { - if (isNode) { - id = elem[internalKey] = deletedIds.pop() || jQuery.guid++; - } else { - id = internalKey; - } - } - if (!cache[id]) { - cache[id] = isNode ? {} : { - toJSON: jQuery.noop - }; - } - if (typeof name === "object" || typeof name === "function") { - if (pvt) { - cache[id] = jQuery.extend(cache[id], name); - } else { - cache[id].data = jQuery.extend(cache[id].data, name); - } - } - thisCache = cache[id]; - if (!pvt) { - if (!thisCache.data) { - thisCache.data = {}; - } - thisCache = thisCache.data; - } - if (data !== undefined) { - thisCache[jQuery.camelCase(name)] = data; - } - if (typeof name === "string") { - ret = thisCache[name]; - if (ret == null) { - ret = thisCache[jQuery.camelCase(name)]; - } - } else { - ret = thisCache; - } - return ret; - } - function internalRemoveData(elem, name, pvt) { - if (!jQuery.acceptData(elem)) { - return; - } - var thisCache, i, isNode = elem.nodeType, cache = isNode ? jQuery.cache : elem, id = isNode ? elem[jQuery.expando] : jQuery.expando; - if (!cache[id]) { - return; - } - if (name) { - thisCache = pvt ? cache[id] : cache[id].data; - if (thisCache) { - if (!jQuery.isArray(name)) { - if (name in thisCache) { - name = [ name ]; - } else { - name = jQuery.camelCase(name); - if (name in thisCache) { - name = [ name ]; - } else { - name = name.split(" "); - } - } - } else { - name = name.concat(jQuery.map(name, jQuery.camelCase)); - } - i = name.length; - while (i--) { - delete thisCache[name[i]]; - } - if (pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache)) { - return; - } - } - } - if (!pvt) { - delete cache[id].data; - if (!isEmptyDataObject(cache[id])) { - return; - } - } - if (isNode) { - jQuery.cleanData([ elem ], true); - } else if (support.deleteExpando || cache != cache.window) { - delete cache[id]; - } else { - cache[id] = null; - } - } - jQuery.extend({ - cache: {}, - noData: { - "applet ": true, - "embed ": true, - "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" - }, - hasData: function(elem) { - elem = elem.nodeType ? jQuery.cache[elem[jQuery.expando]] : elem[jQuery.expando]; - return !!elem && !isEmptyDataObject(elem); - }, - data: function(elem, name, data) { - return internalData(elem, name, data); - }, - removeData: function(elem, name) { - return internalRemoveData(elem, name); - }, - _data: function(elem, name, data) { - return internalData(elem, name, data, true); - }, - _removeData: function(elem, name) { - return internalRemoveData(elem, name, true); - } - }); - jQuery.fn.extend({ - data: function(key, value) { - var i, name, data, elem = this[0], attrs = elem && elem.attributes; - if (key === undefined) { - if (this.length) { - data = jQuery.data(elem); - if (elem.nodeType === 1 && !jQuery._data(elem, "parsedAttrs")) { - i = attrs.length; - while (i--) { - if (attrs[i]) { - name = attrs[i].name; - if (name.indexOf("data-") === 0) { - name = jQuery.camelCase(name.slice(5)); - dataAttr(elem, name, data[name]); - } - } - } - jQuery._data(elem, "parsedAttrs", true); - } - } - return data; - } - if (typeof key === "object") { - return this.each(function() { - jQuery.data(this, key); - }); - } - return arguments.length > 1 ? this.each(function() { - jQuery.data(this, key, value); - }) : elem ? dataAttr(elem, key, jQuery.data(elem, key)) : undefined; - }, - removeData: function(key) { - return this.each(function() { - jQuery.removeData(this, key); - }); - } - }); - __mod__[__id__] = jQuery; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/data", (_M_["jquery/cmd/data"] = {}) && _M_); - -_M_["jquery/cmd/data/support"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var support = __mod__["jquery/cmd/var/support"](); - (function() { - var div = document.createElement("div"); - if (support.deleteExpando == null) { - support.deleteExpando = true; - try { - delete div.test; - } catch (e) { - support.deleteExpando = false; - } - } - div = null; - })(); - __mod__[__id__] = support; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/data/support", (_M_["jquery/cmd/data/support"] = {}) && _M_); - -_M_["jquery/cmd/data/accepts"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - jQuery.acceptData = function(elem) { - var noData = jQuery.noData[(elem.nodeName + " ").toLowerCase()], nodeType = +elem.nodeType || 1; - return nodeType !== 1 && nodeType !== 9 ? false : !noData || noData !== true && elem.getAttribute("classid") === noData; - }; - __mod__[__id__] = jQuery.acceptData; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/data/accepts", (_M_["jquery/cmd/data/accepts"] = {}) && _M_); - -_M_["jquery/cmd/queue"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - __mod__["jquery/cmd/deferred"](); - __mod__["jquery/cmd/callbacks"](); - jQuery.extend({ - queue: function(elem, type, data) { - var queue; - if (elem) { - type = (type || "fx") + "queue"; - queue = jQuery._data(elem, type); - if (data) { - if (!queue || jQuery.isArray(data)) { - queue = jQuery._data(elem, type, jQuery.makeArray(data)); - } else { - queue.push(data); - } - } - return queue || []; - } - }, - dequeue: function(elem, type) { - type = type || "fx"; - var queue = jQuery.queue(elem, type), startLength = queue.length, fn = queue.shift(), hooks = jQuery._queueHooks(elem, type), next = function() { - jQuery.dequeue(elem, type); - }; - if (fn === "inprogress") { - fn = queue.shift(); - startLength--; - } - if (fn) { - if (type === "fx") { - queue.unshift("inprogress"); - } - delete hooks.stop; - fn.call(elem, next, hooks); - } - if (!startLength && hooks) { - hooks.empty.fire(); - } - }, - _queueHooks: function(elem, type) { - var key = type + "queueHooks"; - return jQuery._data(elem, key) || jQuery._data(elem, key, { - empty: jQuery.Callbacks("once memory").add(function() { - jQuery._removeData(elem, type + "queue"); - jQuery._removeData(elem, key); - }) - }); - } - }); - jQuery.fn.extend({ - queue: function(type, data) { - var setter = 2; - if (typeof type !== "string") { - data = type; - type = "fx"; - setter--; - } - if (arguments.length < setter) { - return jQuery.queue(this[0], type); - } - return data === undefined ? this : this.each(function() { - var queue = jQuery.queue(this, type, data); - jQuery._queueHooks(this, type); - if (type === "fx" && queue[0] !== "inprogress") { - jQuery.dequeue(this, type); - } - }); - }, - dequeue: function(type) { - return this.each(function() { - jQuery.dequeue(this, type); - }); - }, - clearQueue: function(type) { - return this.queue(type || "fx", []); - }, - promise: function(type, obj) { - var tmp, count = 1, defer = jQuery.Deferred(), elements = this, i = this.length, resolve = function() { - if (!--count) { - defer.resolveWith(elements, [ elements ]); - } - }; - if (typeof type !== "string") { - obj = type; - type = undefined; - } - type = type || "fx"; - while (i--) { - tmp = jQuery._data(elements[i], type + "queueHooks"); - if (tmp && tmp.empty) { - count++; - tmp.empty.add(resolve); - } - } - resolve(); - return defer.promise(obj); - } - }); - return jQuery; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/queue", (_M_["jquery/cmd/queue"] = {}) && _M_); - -_M_["jquery/cmd/queue/delay"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - __mod__["jquery/cmd/queue"](); - __mod__["jquery/cmd/effects"](); - jQuery.fn.delay = function(time, type) { - time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; - type = type || "fx"; - return this.queue(type, function(next, hooks) { - var timeout = setTimeout(next, time); - hooks.stop = function() { - clearTimeout(timeout); - }; - }); - }; - __mod__[__id__] = jQuery.fn.delay; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/queue/delay", (_M_["jquery/cmd/queue/delay"] = {}) && _M_); - -_M_["jquery/cmd/effects"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - var pnum = __mod__["jquery/cmd/var/pnum"](); - var cssExpand = __mod__["jquery/cmd/css/var/cssExpand"](); - var isHidden = __mod__["jquery/cmd/css/var/isHidden"](); - var defaultDisplay = __mod__["jquery/cmd/css/defaultDisplay"](); - var support = __mod__["jquery/cmd/effects/support"](); - __mod__["jquery/cmd/core/init"](); - __mod__["jquery/cmd/effects/Tween"](); - __mod__["jquery/cmd/queue"](); - __mod__["jquery/cmd/css"](); - __mod__["jquery/cmd/deferred"](); - __mod__["jquery/cmd/traversing"](); - var fxNow, timerId, rfxtypes = /^(?:toggle|show|hide)$/, rfxnum = new RegExp("^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i"), rrun = /queueHooks$/, animationPrefilters = [ defaultPrefilter ], tweeners = { - "*": [ function(prop, value) { - var tween = this.createTween(prop, value), target = tween.cur(), parts = rfxnum.exec(value), unit = parts && parts[3] || (jQuery.cssNumber[prop] ? "" : "px"), start = (jQuery.cssNumber[prop] || unit !== "px" && +target) && rfxnum.exec(jQuery.css(tween.elem, prop)), scale = 1, maxIterations = 20; - if (start && start[3] !== unit) { - unit = unit || start[3]; - parts = parts || []; - start = +target || 1; - do { - scale = scale || ".5"; - start = start / scale; - jQuery.style(tween.elem, prop, start + unit); - } while (scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations); - } - if (parts) { - start = tween.start = +start || +target || 0; - tween.unit = unit; - tween.end = parts[1] ? start + (parts[1] + 1) * parts[2] : +parts[2]; - } - return tween; - } ] - }; - function createFxNow() { - setTimeout(function() { - fxNow = undefined; - }); - return fxNow = jQuery.now(); - } - function genFx(type, includeWidth) { - var which, attrs = { - height: type - }, i = 0; - includeWidth = includeWidth ? 1 : 0; - for (;i < 4; i += 2 - includeWidth) { - which = cssExpand[i]; - attrs["margin" + which] = attrs["padding" + which] = type; - } - if (includeWidth) { - attrs.opacity = attrs.width = type; - } - return attrs; - } - function createTween(value, prop, animation) { - var tween, collection = (tweeners[prop] || []).concat(tweeners["*"]), index = 0, length = collection.length; - for (;index < length; index++) { - if (tween = collection[index].call(animation, prop, value)) { - return tween; - } - } - } - function defaultPrefilter(elem, props, opts) { - var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay, anim = this, orig = {}, style = elem.style, hidden = elem.nodeType && isHidden(elem), dataShow = jQuery._data(elem, "fxshow"); - if (!opts.queue) { - hooks = jQuery._queueHooks(elem, "fx"); - if (hooks.unqueued == null) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if (!hooks.unqueued) { - oldfire(); - } - }; - } - hooks.unqueued++; - anim.always(function() { - anim.always(function() { - hooks.unqueued--; - if (!jQuery.queue(elem, "fx").length) { - hooks.empty.fire(); - } - }); - }); - } - if (elem.nodeType === 1 && ("height" in props || "width" in props)) { - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - display = jQuery.css(elem, "display"); - checkDisplay = display === "none" ? jQuery._data(elem, "olddisplay") || defaultDisplay(elem.nodeName) : display; - if (checkDisplay === "inline" && jQuery.css(elem, "float") === "none") { - if (!support.inlineBlockNeedsLayout || defaultDisplay(elem.nodeName) === "inline") { - style.display = "inline-block"; - } else { - style.zoom = 1; - } - } - } - if (opts.overflow) { - style.overflow = "hidden"; - if (!support.shrinkWrapBlocks()) { - anim.always(function() { - style.overflow = opts.overflow[0]; - style.overflowX = opts.overflow[1]; - style.overflowY = opts.overflow[2]; - }); - } - } - for (prop in props) { - value = props[prop]; - if (rfxtypes.exec(value)) { - delete props[prop]; - toggle = toggle || value === "toggle"; - if (value === (hidden ? "hide" : "show")) { - if (value === "show" && dataShow && dataShow[prop] !== undefined) { - hidden = true; - } else { - continue; - } - } - orig[prop] = dataShow && dataShow[prop] || jQuery.style(elem, prop); - } else { - display = undefined; - } - } - if (!jQuery.isEmptyObject(orig)) { - if (dataShow) { - if ("hidden" in dataShow) { - hidden = dataShow.hidden; - } - } else { - dataShow = jQuery._data(elem, "fxshow", {}); - } - if (toggle) { - dataShow.hidden = !hidden; - } - if (hidden) { - jQuery(elem).show(); - } else { - anim.done(function() { - jQuery(elem).hide(); - }); - } - anim.done(function() { - var prop; - jQuery._removeData(elem, "fxshow"); - for (prop in orig) { - jQuery.style(elem, prop, orig[prop]); - } - }); - for (prop in orig) { - tween = createTween(hidden ? dataShow[prop] : 0, prop, anim); - if (!(prop in dataShow)) { - dataShow[prop] = tween.start; - if (hidden) { - tween.end = tween.start; - tween.start = prop === "width" || prop === "height" ? 1 : 0; - } - } - } - } else if ((display === "none" ? defaultDisplay(elem.nodeName) : display) === "inline") { - style.display = display; - } - } - function propFilter(props, specialEasing) { - var index, name, easing, value, hooks; - for (index in props) { - name = jQuery.camelCase(index); - easing = specialEasing[name]; - value = props[index]; - if (jQuery.isArray(value)) { - easing = value[1]; - value = props[index] = value[0]; - } - if (index !== name) { - props[name] = value; - delete props[index]; - } - hooks = jQuery.cssHooks[name]; - if (hooks && "expand" in hooks) { - value = hooks.expand(value); - delete props[name]; - for (index in value) { - if (!(index in props)) { - props[index] = value[index]; - specialEasing[index] = easing; - } - } - } else { - specialEasing[name] = easing; - } - } - } - function Animation(elem, properties, options) { - var result, stopped, index = 0, length = animationPrefilters.length, deferred = jQuery.Deferred().always(function() { - delete tick.elem; - }), tick = function() { - if (stopped) { - return false; - } - var currentTime = fxNow || createFxNow(), remaining = Math.max(0, animation.startTime + animation.duration - currentTime), temp = remaining / animation.duration || 0, percent = 1 - temp, index = 0, length = animation.tweens.length; - for (;index < length; index++) { - animation.tweens[index].run(percent); - } - deferred.notifyWith(elem, [ animation, percent, remaining ]); - if (percent < 1 && length) { - return remaining; - } else { - deferred.resolveWith(elem, [ animation ]); - return false; - } - }, animation = deferred.promise({ - elem: elem, - props: jQuery.extend({}, properties), - opts: jQuery.extend(true, { - specialEasing: {} - }, options), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function(prop, end) { - var tween = jQuery.Tween(elem, animation.opts, prop, end, animation.opts.specialEasing[prop] || animation.opts.easing); - animation.tweens.push(tween); - return tween; - }, - stop: function(gotoEnd) { - var index = 0, length = gotoEnd ? animation.tweens.length : 0; - if (stopped) { - return this; - } - stopped = true; - for (;index < length; index++) { - animation.tweens[index].run(1); - } - if (gotoEnd) { - deferred.resolveWith(elem, [ animation, gotoEnd ]); - } else { - deferred.rejectWith(elem, [ animation, gotoEnd ]); - } - return this; - } - }), props = animation.props; - propFilter(props, animation.opts.specialEasing); - for (;index < length; index++) { - result = animationPrefilters[index].call(animation, elem, props, animation.opts); - if (result) { - return result; - } - } - jQuery.map(props, createTween, animation); - if (jQuery.isFunction(animation.opts.start)) { - animation.opts.start.call(elem, animation); - } - jQuery.fx.timer(jQuery.extend(tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - })); - return animation.progress(animation.opts.progress).done(animation.opts.done, animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always); - } - jQuery.Animation = jQuery.extend(Animation, { - tweener: function(props, callback) { - if (jQuery.isFunction(props)) { - callback = props; - props = [ "*" ]; - } else { - props = props.split(" "); - } - var prop, index = 0, length = props.length; - for (;index < length; index++) { - prop = props[index]; - tweeners[prop] = tweeners[prop] || []; - tweeners[prop].unshift(callback); - } - }, - prefilter: function(callback, prepend) { - if (prepend) { - animationPrefilters.unshift(callback); - } else { - animationPrefilters.push(callback); - } - } - }); - jQuery.speed = function(speed, easing, fn) { - var opt = speed && typeof speed === "object" ? jQuery.extend({}, speed) : { - complete: fn || !fn && easing || jQuery.isFunction(speed) && speed, - duration: speed, - easing: fn && easing || easing && !jQuery.isFunction(easing) && easing - }; - opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[opt.duration] : jQuery.fx.speeds._default; - if (opt.queue == null || opt.queue === true) { - opt.queue = "fx"; - } - opt.old = opt.complete; - opt.complete = function() { - if (jQuery.isFunction(opt.old)) { - opt.old.call(this); - } - if (opt.queue) { - jQuery.dequeue(this, opt.queue); - } - }; - return opt; - }; - jQuery.fn.extend({ - fadeTo: function(speed, to, easing, callback) { - return this.filter(isHidden).css("opacity", 0).show().end().animate({ - opacity: to - }, speed, easing, callback); - }, - animate: function(prop, speed, easing, callback) { - var empty = jQuery.isEmptyObject(prop), optall = jQuery.speed(speed, easing, callback), doAnimation = function() { - var anim = Animation(this, jQuery.extend({}, prop), optall); - if (empty || jQuery._data(this, "finish")) { - anim.stop(true); - } - }; - doAnimation.finish = doAnimation; - return empty || optall.queue === false ? this.each(doAnimation) : this.queue(optall.queue, doAnimation); - }, - stop: function(type, clearQueue, gotoEnd) { - var stopQueue = function(hooks) { - var stop = hooks.stop; - delete hooks.stop; - stop(gotoEnd); - }; - if (typeof type !== "string") { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if (clearQueue && type !== false) { - this.queue(type || "fx", []); - } - return this.each(function() { - var dequeue = true, index = type != null && type + "queueHooks", timers = jQuery.timers, data = jQuery._data(this); - if (index) { - if (data[index] && data[index].stop) { - stopQueue(data[index]); - } - } else { - for (index in data) { - if (data[index] && data[index].stop && rrun.test(index)) { - stopQueue(data[index]); - } - } - } - for (index = timers.length; index--; ) { - if (timers[index].elem === this && (type == null || timers[index].queue === type)) { - timers[index].anim.stop(gotoEnd); - dequeue = false; - timers.splice(index, 1); - } - } - if (dequeue || !gotoEnd) { - jQuery.dequeue(this, type); - } - }); - }, - finish: function(type) { - if (type !== false) { - type = type || "fx"; - } - return this.each(function() { - var index, data = jQuery._data(this), queue = data[type + "queue"], hooks = data[type + "queueHooks"], timers = jQuery.timers, length = queue ? queue.length : 0; - data.finish = true; - jQuery.queue(this, type, []); - if (hooks && hooks.stop) { - hooks.stop.call(this, true); - } - for (index = timers.length; index--; ) { - if (timers[index].elem === this && timers[index].queue === type) { - timers[index].anim.stop(true); - timers.splice(index, 1); - } - } - for (index = 0; index < length; index++) { - if (queue[index] && queue[index].finish) { - queue[index].finish.call(this); - } - } - delete data.finish; - }); - } - }); - jQuery.each([ "toggle", "show", "hide" ], function(i, name) { - var cssFn = jQuery.fn[name]; - jQuery.fn[name] = function(speed, easing, callback) { - return speed == null || typeof speed === "boolean" ? cssFn.apply(this, arguments) : this.animate(genFx(name, true), speed, easing, callback); - }; - }); - jQuery.each({ - slideDown: genFx("show"), - slideUp: genFx("hide"), - slideToggle: genFx("toggle"), - fadeIn: { - opacity: "show" - }, - fadeOut: { - opacity: "hide" - }, - fadeToggle: { - opacity: "toggle" - } - }, function(name, props) { - jQuery.fn[name] = function(speed, easing, callback) { - return this.animate(props, speed, easing, callback); - }; - }); - jQuery.timers = []; - jQuery.fx.tick = function() { - var timer, timers = jQuery.timers, i = 0; - fxNow = jQuery.now(); - for (;i < timers.length; i++) { - timer = timers[i]; - if (!timer() && timers[i] === timer) { - timers.splice(i--, 1); - } - } - if (!timers.length) { - jQuery.fx.stop(); - } - fxNow = undefined; - }; - jQuery.fx.timer = function(timer) { - jQuery.timers.push(timer); - if (timer()) { - jQuery.fx.start(); - } else { - jQuery.timers.pop(); - } - }; - jQuery.fx.interval = 13; - jQuery.fx.start = function() { - if (!timerId) { - timerId = setInterval(jQuery.fx.tick, jQuery.fx.interval); - } - }; - jQuery.fx.stop = function() { - clearInterval(timerId); - timerId = null; - }; - jQuery.fx.speeds = { - slow: 600, - fast: 200, - _default: 400 - }; - __mod__[__id__] = jQuery; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/effects", (_M_["jquery/cmd/effects"] = {}) && _M_); - -_M_["jquery/cmd/var/pnum"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - __mod__[__id__] = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/var/pnum", (_M_["jquery/cmd/var/pnum"] = {}) && _M_); - -_M_["jquery/cmd/css/var/cssExpand"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - __mod__[__id__] = [ "Top", "Right", "Bottom", "Left" ]; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/css/var/cssExpand", (_M_["jquery/cmd/css/var/cssExpand"] = {}) && _M_); - -_M_["jquery/cmd/css/var/isHidden"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - __mod__["jquery/cmd/selector"](); - __mod__[__id__] = function(elem, el) { - elem = el || elem; - return jQuery.css(elem, "display") === "none" || !jQuery.contains(elem.ownerDocument, elem); - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("jquery/cmd/css/var/isHidden", (_M_["jquery/cmd/css/var/isHidden"] = {}) && _M_); - -_M_["jquery/cmd/css/defaultDisplay"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var jQuery = __mod__["jquery/cmd/core"](); - __mod__["jquery/cmd/manipulation"](); - var iframe, elemdisplay = {}; - function actualDisplay(name, doc) { - var style, elem = jQuery(doc.createElement(name)).appendTo(doc.body), display = window.getDefaultComputedStyle && (style = window.getDefaultComputedStyle(elem[0])) ? style.display : jQuery.css(elem[0], "display"); - elem.detach(); - return display; - } - function defaultDisplay(nodeName) { - var doc = document, display = elemdisplay[nodeName]; - if (!display) { - display = actualDisplay(nodeName, doc); - if (display === "none" || !display) { - iframe = (iframe || jQuery("" ].join(""); - var oIjaxIframeCnt = document.createElement("div"); - oIjaxIframeCnt.id = "ijax_iframes"; - oIjaxIframeCnt.innerHTML = html; - document.body.appendChild(oIjaxIframeCnt); - if (document.getElementById(_self.loadFrames) != null) { - _self.loadingIframe = { - container: document.getElementById(_self.loadFrames), - isBusy: false - }; - _self.loadByList(); - } - }, - isIjaxReady: function() { - if (typeof this.loadingIframe == "undefined") { - return false; - } - if (this.loadingIframe.isBusy === false) { - this.loadingIframe.isBusy = true; - return this.loadingIframe; - } - return false; - }, - request: function(url, option) { - var oTask = {}; - oTask.url = url; - oTask.option = option || {}; - this.arrTaskLists.push(oTask); - if (this.loadFrames == null) { - this.createLoadingIframe(); - } else { - this.loadByList(); - } - }, - loadByList: function() { - if (this.arrTaskLists.length === 0) { - return false; - } - var loadStatus = this.isIjaxReady(); - if (loadStatus === false) { - return false; - } - var newData = this.arrTaskLists[0]; - var _self = this; - setTimeout(function() { - _self.loadData(newData.url, newData.option, loadStatus); - }, 10); - this.arrTaskLists.shift(); - }, - destory: function() { - if (this.arrTaskLists.length > 0) { - return; - } - document.getElementById(this.loadFrames).callback = null; - document.body.removeChild(document.getElementById("ijax_iframes")); - if (document.getElementById("IjaxForm")) { - document.getElementById("IjaxForm").action = ""; - document.getElementById("IjaxForm").target = ""; - document.body.removeChild(document.getElementById("IjaxForm")); - } - this.loadFrames = null; - }, - loadData: function(url, option, loader) { - var ifm = loader.container; - var _self = this, _url = ""; - ifm.callback = function(res) { - res = typeof res == "string" && /\s*{/.test(res) ? eval("(" + res + ")") : res; - if (res.code == "A00000" && option.onSuccess) { - option.onSuccess(res.data); - if (option.autoRemove !== false) { - _self.destory(); - } - } else { - option.onError(res); - } - loader.isBusy = false; - _self.loadByList(); - }; - if (option.CACHE) { - _url = url; - for (var key in option.CACHE) { - _url += option.CACHE[key] + "/"; - } - } else { - _url = url; - if (option.GET) { - for (var key2 in option.GET) { - _url.setParam(key2, encodeURIComponent(option.GET[key2])); - } - } - if (option.POST) { - if (!document.getElementById("IjaxForm")) { - var oIjaxForm = document.createElement("form"); - document.body.appendChild(oIjaxForm); - oIjaxForm.id = "IjaxForm"; - oIjaxForm.method = "post"; - oIjaxForm.target = ifm.id; - } else { - document.getElementById("IjaxForm").innerHTML = ""; - } - document.getElementById("IjaxForm").action = _url; - for (var oItem in option.POST) { - var oInput = document.createElement("input"); - oInput.type = "hidden"; - oInput.name = oItem; - oInput.value = option.POST[oItem]; - document.getElementById("IjaxForm").appendChild(oInput); - } - document.getElementById("IjaxForm").submit(); - } - } - if (!option.POST) { - ifm.contentWindow.location.replace(_url); - } - } - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("driver/http/ijax", (_M_["driver/http/ijax"] = {}) && _M_); - -_M_["platform/http/json"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var request = __mod__["platform/http/request"](); - __mod__[__id__] = function(url, options) { - if (options) { - var onsuccess = options.onsuccess; - options.onsuccess = function(xhr, data) { - var obj = null; - if (Object.prototype.toString.call(data) === "[object String]") { - data = data.trim(); - data = data.replace(/^[^\[\{]*([\[\{].*[\]\}]).*?$/, "$1"); - try { - obj = JSON.parse(data); - } catch (e) {} - } else { - obj = data; - } - if (!obj) { - try { - obj = new Function("return (" + data + ")")(); - } catch (e) {} - } - if (onsuccess) { - onsuccess(xhr, obj); - } - }; - } - request(url, options); - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/http/json", (_M_["platform/http/json"] = {}) && _M_); - -_M_["platform/http/text"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var request = __mod__["platform/http/request"](); - __mod__[__id__] = function(url, options) { - if (options) { - var onsuccess = options.onsuccess; - options.onsuccess = function(xhr, data) { - if (onsuccess) { - onsuccess(xhr, data); - } - }; - } - request(url, options); - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/http/text", (_M_["platform/http/text"] = {}) && _M_); - -_M_["platform/http/req"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var req = __mod__["driver/http/req"](); - __mod__[__id__] = req; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/http/req", (_M_["platform/http/req"] = {}) && _M_); - -_M_["driver/http/req"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var isSameDomain = __mod__["platform/lang/isSameDomain"](); - var swfp = __mod__["driver/http/swfp"](); - var ajax = __mod__["driver/http/ajax"](); - var _ua = __mod__["platform/browser/ua"](); - var request = function(url, options) { - if (isSameDomain(url, document.location.href)) { - return ajax.request(url, options); - } else { - if (_ua.IE6 || _ua.IE7 || _ua.IE8 || _ua.IE9 || document.documentMode < 10) { - return swfp.request(url, options); - } else { - if (options.withCredentials !== false) { - options.withCredentials = true; - } - return ajax.request(url, options); - } - } - }; - __mod__[__id__] = request; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("driver/http/req", (_M_["driver/http/req"] = {}) && _M_); - -_M_["driver/http/swfp"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var global = __mod__["driver/global"](); - var __callbacks__ = __mod__["platform/__callbacks__"](); - var clear = __mod__["platform/plugins/clearSwf"](); - var ns = "window.Q.__callbacks__."; - var fn = function() {}; - var swfp = function(url, options) { - var callbackNameValue = "iqiyi__swfp__" + Math.floor(Math.random() * 2147483648).toString(36); - options.onsuccess = options.onsuccess || fn; - options.onfailure = options.onfailure || fn; - options.ontimeout = options.ontimeout || fn; - __callbacks__[callbackNameValue] = function(data) { - if (data == "A00001") { - options.ontimeout(); - } else if (data == "A00002") { - options.onfailure(); - } else { - options.onsuccess({ - responseText: data - }, data); - } - delete __callbacks__[callbackNameValue]; - }; - setTimeout(function() { - clear.notice({ - type: "remote", - data: { - url: url, - method: (options.method || "GET").toUpperCase(), - timeout: options.timeout || 0, - param: options.data || {}, - callback: ns + callbackNameValue - } - }); - }, 0); - }; - __mod__[__id__] = { - request: function() { - var arg = arguments; - clear.on("ready", function() { - swfp.apply(null, arg); - }); - } - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("driver/http/swfp", (_M_["driver/http/swfp"] = {}) && _M_); - -_M_["platform/plugins/clearSwf"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var global = __mod__["driver/global"](); - var __callbacks__ = __mod__["platform/__callbacks__"](); - var swfInsert = __mod__["platform/flash/insert"](); - var swfVer = __mod__["platform/flash/getVer"](); - var domReady = __mod__["platform/element/ready"](); - var _queryToJson = __mod__["platform/url/queryToJson"](); - var _ua = __mod__["platform/browser/ua"](); - var swf; - var id; - var on = function() {}; - var list = {}; - var ready = false; - var getUrl = function() { - var protocol = window.location.protocol; - var customUrl = _queryToJson(window.location.search).clear; - var url = customUrl || protocol + "//www.iqiyi.com/player/cupid/common/clear1.swf"; - url += url.indexOf("?") !== -1 ? "&" : "?"; - url += "r=" + Math.floor(Math.random() * 2147483648).toString(36); - return url; - }; - if (swfVer[0] == "0") { - return; - } - __callbacks__["iqiyi_clear_ready"] = function() { - if (window.__qlt && window.__qlt.end) { - window.__qlt.end("clearPluginReady"); - } - ready = true; - var fn; - while (list["ready"] && list["ready"].length) { - try { - fn = list["ready"].shift(); - fn(instance()); - } catch (e) {} - } - }; - on = function(type, listener) { - type = type.replace(/^on/i, ""); - type = type.toLowerCase(); - list[type] = list[type] || []; - if (id && ready) { - listener(instance()); - } else { - list[type].push(listener); - } - }; - var _specialIE = _ua.IE6 || _ua.IE7 || _ua.IE8 || _ua.IE9 || document.documentMode < 10; - if (!window.vueVersion && (_specialIE || !window.localStorage)) { - domReady(function() { - if (window.__qlt && window.__qlt.start) { - window.__qlt.start("clearPluginReady"); - } - id = swfInsert(getUrl(), { - styles: { - overflow: "hidden", - position: "absolute", - top: "0", - left: "0", - zIndex: "-999" - } - }); - }); - } - var instance = function() { - return document.getElementById(id); - }; - __mod__[__id__] = { - on: on, - notice: function(json) { - var swf = instance(); - if (swf && swf.notice) { - swf.notice(JSON.stringify(json)); - } else {} - }, - get: function() { - return instance(); - } - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/plugins/clearSwf", (_M_["platform/plugins/clearSwf"] = {}) && _M_); - -_M_["platform/flash/insert"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var _create = __mod__["platform/flash/create"](); - var _list = __mod__["platform/flash/list"](); - __mod__[__id__] = function(path, opts) { - opts.id = opts.id || "swf_" + (new Date() * 1).toString(36); - var str = _create(path, opts); - var div = document.createElement("div"); - div.style.display = "none"; - div.innerHTML = str; - var ctn; - if (opts.container) { - ctn = opts.container[0]; - } else { - ctn = document.body; - } - ctn.insertBefore(div.firstChild, null); - setTimeout(function() { - _list.set(opts.id); - }, 0); - return opts.id; - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/flash/insert", (_M_["platform/flash/insert"] = {}) && _M_); - -_M_["platform/flash/create"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var _extend = __mod__["platform/object/extend"](); - var _ua = __mod__["platform/browser/ua"](); - var _toQuery = __mod__["platform/url/jsonToQuery"](); - var swf = function(path, opts) { - var opt = { - id: null, - height: 1, - width: 1, - styles: {}, - properties: {}, - params: { - quality: "high", - allowScriptAccess: "always", - wMode: "window", - align: "middle", - bgcolor: "#000000", - swLiveConnect: "true", - loop: "true", - play: "true", - DeviceFont: "false", - allowFullScreen: "true", - menu: "true" - }, - vars: {} - }; - var id = opts.id || "swf_" + Date.now().toString(36); - var params = _extend(opt.params, opts.params || {}); - var vars = _extend(opt.vars, opts.vars || {}); - var styles = _extend(opt.styles, opts.styles || {}); - var properties = function() { - _extend(opt.properties, { - height: opt.height, - width: opt.width - }, function(t, s) { - if (s) { - return true; - } - }); - _extend(opt.properties, opts.properties, function(t, s) { - if (s) { - return true; - } - }); - return _extend(opt.properties, { - height: opts.height, - width: opts.width - }, function(t, s) { - if (s) { - return true; - } - }); - }(); - params.flashVars = _toQuery(vars, function(value) { - return value; - }); - if (_ua.IE) { - properties.classid = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"; - params.movie = path; - } else { - properties.type = "application/x-shockwave-flash"; - } - properties.data = path; - var build = []; - build.push('"); - for (var param in params) { - if (params[param]) { - build.push(''); - } - } - var _target = "http://mbdapp.iqiyi.com/j/ot/QIYImedia_0_08.exe"; - try { - if (Q && Q.browser && Q.browser.Mac) { - _target = "https://itunes.apple.com/cn/app/ai-qi-yi-shi-pin/id586515652?mt=12"; - } - } catch (e) {} - var _html = '"; - build.push(_html); - build.push(""); - return build.join(""); - }; - __mod__[__id__] = swf; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/flash/create", (_M_["platform/flash/create"] = {}) && _M_); - -_M_["platform/flash/list"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var list = {}; - __mod__[__id__] = { - set: function(id) { - if (!(id in list)) { - list[id] = document.getElementById(id); - } else { - throw "flash对象id有重复!"; - } - }, - get: function(id) { - return list[id]; - }, - getAll: function() { - return list; - }, - remove: function(id) { - list[id] = null; - delete list[id]; - } - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/flash/list", (_M_["platform/flash/list"] = {}) && _M_); - -_M_["platform/flash/getVer"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var version = function() { - var ver; - try { - ver = navigator.plugins["Shockwave Flash"].description; - } catch (e) { - try { - ver = new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version"); - } catch (e) {} - } - return (ver || "0 r0").match(/\d+/g); - }(); - __mod__[__id__] = version; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/flash/getVer", (_M_["platform/flash/getVer"] = {}) && _M_); - -_M_["platform/http/json2"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var req = __mod__["platform/http/req"](); - __mod__[__id__] = function(url, options) { - if (options) { - var onsuccess = options.onsuccess; - options.onsuccess = function(xhr, data) { - var data = data.trim(); - var obj = null; - data = data.replace(/^[^\[\{]*([\[\{].*[\]\}]).*?$/, "$1"); - try { - obj = JSON.parse(data); - } catch (e) {} - if (!obj) { - try { - obj = new Function("return (" + data + ")")(); - } catch (e) {} - } - if (onsuccess) { - onsuccess(xhr, obj); - } - }; - } - req(url, options); - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/http/json2", (_M_["platform/http/json2"] = {}) && _M_); - -_M_["platform/http/text2"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var req = __mod__["platform/http/req"](); - __mod__[__id__] = function(url, options) { - if (options) { - var onsuccess = options.onsuccess; - options.onsuccess = function(xhr, data) { - if (onsuccess) { - onsuccess(xhr, data); - } - }; - } - req(url, options); - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/http/text2", (_M_["platform/http/text2"] = {}) && _M_); - -_M_["platform/crypto/base64"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var base64 = function(obj) { - var a64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", a256 = { - indexOf: function(c) { - return c.charCodeAt(0); - }, - charAt: String.fromCharCode - }; - function code(s, discard, alpha, beta, w1, w2) { - s = String(s); - var b = 0, x = "", i, c, bs = 1, sb = 1, length = s.length, tmp; - for (i = 0; i < length || !discard && sb > 1; i += 1) { - b *= w1; - bs *= w1; - if (i < length) { - c = alpha.indexOf(s.charAt(i)); - if (c <= -1 || c >= w1) { - throw new RangeError(); - } - sb *= w1; - b += c; - } - while (bs >= w2) { - bs /= w2; - if (sb > 1) { - tmp = b; - b %= bs; - x += beta.charAt((tmp - b) / bs); - sb /= w2; - } - } - } - return x; - } - obj.btoa = function(s) { - s = code(s, false, a256, a64, 256, 64); - return s + "====".slice(s.length % 4 || 4); - }; - obj.atob = function(s) { - var i; - s = String(s).split("="); - for (i = s.length - 1; i >= 0; i -= 1) { - if (s[i].length % 4 === 1) { - throw new RangeError(); - } - s[i] = code(s[i], true, a64, a256, 64, 256); - } - return s.join(""); - }; - return obj; - }({}); - __mod__[__id__] = base64; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/crypto/base64", (_M_["platform/crypto/base64"] = {}) && _M_); - -_M_["platform/crypto/md5"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var md5 = function() { - var rotateLeft = function(lValue, iShiftBits) { - return lValue << iShiftBits | lValue >>> 32 - iShiftBits; - }; - var addUnsigned = function(lX, lY) { - var lX4, lY4, lX8, lY8, lResult; - lX8 = lX & 2147483648; - lY8 = lY & 2147483648; - lX4 = lX & 1073741824; - lY4 = lY & 1073741824; - lResult = (lX & 1073741823) + (lY & 1073741823); - if (lX4 & lY4) { - return lResult ^ 2147483648 ^ lX8 ^ lY8; - } - if (lX4 | lY4) { - if (lResult & 1073741824) { - return lResult ^ 3221225472 ^ lX8 ^ lY8; - } else { - return lResult ^ 1073741824 ^ lX8 ^ lY8; - } - } else { - return lResult ^ lX8 ^ lY8; - } - }; - var F = function(x, y, z) { - return x & y | ~x & z; - }; - var G = function(x, y, z) { - return x & z | y & ~z; - }; - var H = function(x, y, z) { - return x ^ y ^ z; - }; - var I = function(x, y, z) { - return y ^ (x | ~z); - }; - var FF = function(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(F(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - }; - var GG = function(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(G(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - }; - var HH = function(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(H(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - }; - var II = function(a, b, c, d, x, s, ac) { - a = addUnsigned(a, addUnsigned(addUnsigned(I(b, c, d), x), ac)); - return addUnsigned(rotateLeft(a, s), b); - }; - var convertToWordArray = function(string) { - var lWordCount; - var lMessageLength = string.length; - var lNumberOfWordsTempOne = lMessageLength + 8; - var lNumberOfWordsTempTwo = (lNumberOfWordsTempOne - lNumberOfWordsTempOne % 64) / 64; - var lNumberOfWords = (lNumberOfWordsTempTwo + 1) * 16; - var lWordArray = Array(lNumberOfWords - 1); - var lBytePosition = 0; - var lByteCount = 0; - while (lByteCount < lMessageLength) { - lWordCount = (lByteCount - lByteCount % 4) / 4; - lBytePosition = lByteCount % 4 * 8; - lWordArray[lWordCount] = lWordArray[lWordCount] | string.charCodeAt(lByteCount) << lBytePosition; - lByteCount++; - } - lWordCount = (lByteCount - lByteCount % 4) / 4; - lBytePosition = lByteCount % 4 * 8; - lWordArray[lWordCount] = lWordArray[lWordCount] | 128 << lBytePosition; - lWordArray[lNumberOfWords - 2] = lMessageLength << 3; - lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29; - return lWordArray; - }; - var wordToHex = function(lValue) { - var WordToHexValue = "", WordToHexValueTemp = "", lByte, lCount; - for (lCount = 0; lCount <= 3; lCount++) { - lByte = lValue >>> lCount * 8 & 255; - WordToHexValueTemp = "0" + lByte.toString(16); - WordToHexValue = WordToHexValue + WordToHexValueTemp.substr(WordToHexValueTemp.length - 2, 2); - } - return WordToHexValue; - }; - var uTF8Encode = function(string) { - string = string.replace(/\x0d\x0a/g, "\n"); - var output = ""; - for (var n = 0; n < string.length; n++) { - var c = string.charCodeAt(n); - if (c < 128) { - output += String.fromCharCode(c); - } else if (c > 127 && c < 2048) { - output += String.fromCharCode(c >> 6 | 192); - output += String.fromCharCode(c & 63 | 128); - } else { - output += String.fromCharCode(c >> 12 | 224); - output += String.fromCharCode(c >> 6 & 63 | 128); - output += String.fromCharCode(c & 63 | 128); - } - } - return output; - }; - return function(string) { - string += ""; - var x = Array(); - var k, AA, BB, CC, DD, a, b, c, d; - var S11 = 7, S12 = 12, S13 = 17, S14 = 22; - var S21 = 5, S22 = 9, S23 = 14, S24 = 20; - var S31 = 4, S32 = 11, S33 = 16, S34 = 23; - var S41 = 6, S42 = 10, S43 = 15, S44 = 21; - string = uTF8Encode(string); - x = convertToWordArray(string); - a = 1732584193; - b = 4023233417; - c = 2562383102; - d = 271733878; - for (k = 0; k < x.length; k += 16) { - AA = a; - BB = b; - CC = c; - DD = d; - a = FF(a, b, c, d, x[k + 0], S11, 3614090360); - d = FF(d, a, b, c, x[k + 1], S12, 3905402710); - c = FF(c, d, a, b, x[k + 2], S13, 606105819); - b = FF(b, c, d, a, x[k + 3], S14, 3250441966); - a = FF(a, b, c, d, x[k + 4], S11, 4118548399); - d = FF(d, a, b, c, x[k + 5], S12, 1200080426); - c = FF(c, d, a, b, x[k + 6], S13, 2821735955); - b = FF(b, c, d, a, x[k + 7], S14, 4249261313); - a = FF(a, b, c, d, x[k + 8], S11, 1770035416); - d = FF(d, a, b, c, x[k + 9], S12, 2336552879); - c = FF(c, d, a, b, x[k + 10], S13, 4294925233); - b = FF(b, c, d, a, x[k + 11], S14, 2304563134); - a = FF(a, b, c, d, x[k + 12], S11, 1804603682); - d = FF(d, a, b, c, x[k + 13], S12, 4254626195); - c = FF(c, d, a, b, x[k + 14], S13, 2792965006); - b = FF(b, c, d, a, x[k + 15], S14, 1236535329); - a = GG(a, b, c, d, x[k + 1], S21, 4129170786); - d = GG(d, a, b, c, x[k + 6], S22, 3225465664); - c = GG(c, d, a, b, x[k + 11], S23, 643717713); - b = GG(b, c, d, a, x[k + 0], S24, 3921069994); - a = GG(a, b, c, d, x[k + 5], S21, 3593408605); - d = GG(d, a, b, c, x[k + 10], S22, 38016083); - c = GG(c, d, a, b, x[k + 15], S23, 3634488961); - b = GG(b, c, d, a, x[k + 4], S24, 3889429448); - a = GG(a, b, c, d, x[k + 9], S21, 568446438); - d = GG(d, a, b, c, x[k + 14], S22, 3275163606); - c = GG(c, d, a, b, x[k + 3], S23, 4107603335); - b = GG(b, c, d, a, x[k + 8], S24, 1163531501); - a = GG(a, b, c, d, x[k + 13], S21, 2850285829); - d = GG(d, a, b, c, x[k + 2], S22, 4243563512); - c = GG(c, d, a, b, x[k + 7], S23, 1735328473); - b = GG(b, c, d, a, x[k + 12], S24, 2368359562); - a = HH(a, b, c, d, x[k + 5], S31, 4294588738); - d = HH(d, a, b, c, x[k + 8], S32, 2272392833); - c = HH(c, d, a, b, x[k + 11], S33, 1839030562); - b = HH(b, c, d, a, x[k + 14], S34, 4259657740); - a = HH(a, b, c, d, x[k + 1], S31, 2763975236); - d = HH(d, a, b, c, x[k + 4], S32, 1272893353); - c = HH(c, d, a, b, x[k + 7], S33, 4139469664); - b = HH(b, c, d, a, x[k + 10], S34, 3200236656); - a = HH(a, b, c, d, x[k + 13], S31, 681279174); - d = HH(d, a, b, c, x[k + 0], S32, 3936430074); - c = HH(c, d, a, b, x[k + 3], S33, 3572445317); - b = HH(b, c, d, a, x[k + 6], S34, 76029189); - a = HH(a, b, c, d, x[k + 9], S31, 3654602809); - d = HH(d, a, b, c, x[k + 12], S32, 3873151461); - c = HH(c, d, a, b, x[k + 15], S33, 530742520); - b = HH(b, c, d, a, x[k + 2], S34, 3299628645); - a = II(a, b, c, d, x[k + 0], S41, 4096336452); - d = II(d, a, b, c, x[k + 7], S42, 1126891415); - c = II(c, d, a, b, x[k + 14], S43, 2878612391); - b = II(b, c, d, a, x[k + 5], S44, 4237533241); - a = II(a, b, c, d, x[k + 12], S41, 1700485571); - d = II(d, a, b, c, x[k + 3], S42, 2399980690); - c = II(c, d, a, b, x[k + 10], S43, 4293915773); - b = II(b, c, d, a, x[k + 1], S44, 2240044497); - a = II(a, b, c, d, x[k + 8], S41, 1873313359); - d = II(d, a, b, c, x[k + 15], S42, 4264355552); - c = II(c, d, a, b, x[k + 6], S43, 2734768916); - b = II(b, c, d, a, x[k + 13], S44, 1309151649); - a = II(a, b, c, d, x[k + 4], S41, 4149444226); - d = II(d, a, b, c, x[k + 11], S42, 3174756917); - c = II(c, d, a, b, x[k + 2], S43, 718787259); - b = II(b, c, d, a, x[k + 9], S44, 3951481745); - a = addUnsigned(a, AA); - b = addUnsigned(b, BB); - c = addUnsigned(c, CC); - d = addUnsigned(d, DD); - } - var tempValue = wordToHex(a) + wordToHex(b) + wordToHex(c) + wordToHex(d); - return tempValue.toLowerCase(); - }; - }(); - __mod__[__id__] = md5; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/crypto/md5", (_M_["platform/crypto/md5"] = {}) && _M_); - -_M_["platform/crypto/rsa"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var $w = {}; - var RSAUtils; - if (typeof $w.RSAUtils === "undefined") { - RSAUtils = $w.RSAUtils = {}; - } - var biRadixBase = 2; - var biRadixBits = 16; - var bitsPerDigit = biRadixBits; - var biRadix = 1 << 16; - var biHalfRadix = biRadix >>> 1; - var biRadixSquared = biRadix * biRadix; - var maxDigitVal = biRadix - 1; - var maxInteger = 9999999999999998; - var maxDigits; - var ZERO_ARRAY; - var bigZero, bigOne; - var BigInt = $w.BigInt = function(flag) { - if (typeof flag === "boolean" && flag === true) { - this.digits = null; - } else { - this.digits = ZERO_ARRAY.slice(0); - } - this.isNeg = false; - }; - RSAUtils.setMaxDigits = function(value) { - maxDigits = value; - ZERO_ARRAY = new Array(maxDigits); - for (var iza = 0; iza < ZERO_ARRAY.length; iza++) { - ZERO_ARRAY[iza] = 0; - } - bigZero = new BigInt(); - bigOne = new BigInt(); - bigOne.digits[0] = 1; - }; - RSAUtils.setMaxDigits(20); - var dpl10 = 15; - RSAUtils.biFromNumber = function(i) { - var result = new BigInt(); - result.isNeg = i < 0; - i = Math.abs(i); - var j = 0; - while (i > 0) { - result.digits[j++] = i & maxDigitVal; - i = Math.floor(i / biRadix); - } - return result; - }; - var lr10 = RSAUtils.biFromNumber(1e15); - RSAUtils.biFromDecimal = function(s) { - var isNeg = s.charAt(0) == "-"; - var i = isNeg ? 1 : 0; - var result; - while (i < s.length && s.charAt(i) == "0") { - ++i; - } - if (i == s.length) { - result = new BigInt(); - } else { - var digitCount = s.length - i; - var fgl = digitCount % dpl10; - if (fgl == 0) { - fgl = dpl10; - } - result = RSAUtils.biFromNumber(Number(s.substr(i, fgl))); - i += fgl; - while (i < s.length) { - result = RSAUtils.biAdd(RSAUtils.biMultiply(result, lr10), RSAUtils.biFromNumber(Number(s.substr(i, dpl10)))); - i += dpl10; - } - result.isNeg = isNeg; - } - return result; - }; - RSAUtils.biCopy = function(bi) { - var result = new BigInt(true); - result.digits = bi.digits.slice(0); - result.isNeg = bi.isNeg; - return result; - }; - RSAUtils.reverseStr = function(s) { - var result = ""; - for (var i = s.length - 1; i > -1; --i) { - result += s.charAt(i); - } - return result; - }; - var hexatrigesimalToChar = [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" ]; - RSAUtils.biToString = function(x, radix) { - var b = new BigInt(); - b.digits[0] = radix; - var qr = RSAUtils.biDivideModulo(x, b); - var result = hexatrigesimalToChar[qr[1].digits[0]]; - while (RSAUtils.biCompare(qr[0], bigZero) == 1) { - qr = RSAUtils.biDivideModulo(qr[0], b); - digit = qr[1].digits[0]; - result += hexatrigesimalToChar[qr[1].digits[0]]; - } - return (x.isNeg ? "-" : "") + RSAUtils.reverseStr(result); - }; - RSAUtils.biToDecimal = function(x) { - var b = new BigInt(); - b.digits[0] = 10; - var qr = RSAUtils.biDivideModulo(x, b); - var result = String(qr[1].digits[0]); - while (RSAUtils.biCompare(qr[0], bigZero) == 1) { - qr = RSAUtils.biDivideModulo(qr[0], b); - result += String(qr[1].digits[0]); - } - return (x.isNeg ? "-" : "") + RSAUtils.reverseStr(result); - }; - var hexToChar = [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" ]; - RSAUtils.digitToHex = function(n) { - var mask = 15; - var result = ""; - for (i = 0; i < 4; ++i) { - result += hexToChar[n & mask]; - n >>>= 4; - } - return RSAUtils.reverseStr(result); - }; - RSAUtils.biToHex = function(x) { - var result = ""; - var n = RSAUtils.biHighIndex(x); - for (var i = RSAUtils.biHighIndex(x); i > -1; --i) { - result += RSAUtils.digitToHex(x.digits[i]); - } - return result; - }; - RSAUtils.charToHex = function(c) { - var ZERO = 48; - var NINE = ZERO + 9; - var littleA = 97; - var littleZ = littleA + 25; - var bigA = 65; - var bigZ = 65 + 25; - var result; - if (c >= ZERO && c <= NINE) { - result = c - ZERO; - } else if (c >= bigA && c <= bigZ) { - result = 10 + c - bigA; - } else if (c >= littleA && c <= littleZ) { - result = 10 + c - littleA; - } else { - result = 0; - } - return result; - }; - RSAUtils.hexToDigit = function(s) { - var result = 0; - var sl = Math.min(s.length, 4); - for (var i = 0; i < sl; ++i) { - result <<= 4; - result |= RSAUtils.charToHex(s.charCodeAt(i)); - } - return result; - }; - RSAUtils.biFromHex = function(s) { - var result = new BigInt(); - var sl = s.length; - for (var i = sl, j = 0; i > 0; i -= 4, ++j) { - result.digits[j] = RSAUtils.hexToDigit(s.substr(Math.max(i - 4, 0), Math.min(i, 4))); - } - return result; - }; - RSAUtils.biFromString = function(s, radix) { - var isNeg = s.charAt(0) == "-"; - var istop = isNeg ? 1 : 0; - var result = new BigInt(); - var place = new BigInt(); - place.digits[0] = 1; - for (var i = s.length - 1; i >= istop; i--) { - var c = s.charCodeAt(i); - var digit = RSAUtils.charToHex(c); - var biDigit = RSAUtils.biMultiplyDigit(place, digit); - result = RSAUtils.biAdd(result, biDigit); - place = RSAUtils.biMultiplyDigit(place, radix); - } - result.isNeg = isNeg; - return result; - }; - RSAUtils.biDump = function(b) { - return (b.isNeg ? "-" : "") + b.digits.join(" "); - }; - RSAUtils.biAdd = function(x, y) { - var result; - if (x.isNeg != y.isNeg) { - y.isNeg = !y.isNeg; - result = RSAUtils.biSubtract(x, y); - y.isNeg = !y.isNeg; - } else { - result = new BigInt(); - var c = 0; - var n; - for (var i = 0; i < x.digits.length; ++i) { - n = x.digits[i] + y.digits[i] + c; - result.digits[i] = n % biRadix; - c = Number(n >= biRadix); - } - result.isNeg = x.isNeg; - } - return result; - }; - RSAUtils.biSubtract = function(x, y) { - var result; - if (x.isNeg != y.isNeg) { - y.isNeg = !y.isNeg; - result = RSAUtils.biAdd(x, y); - y.isNeg = !y.isNeg; - } else { - result = new BigInt(); - var n, c; - c = 0; - for (var i = 0; i < x.digits.length; ++i) { - n = x.digits[i] - y.digits[i] + c; - result.digits[i] = n % biRadix; - if (result.digits[i] < 0) result.digits[i] += biRadix; - c = 0 - Number(n < 0); - } - if (c == -1) { - c = 0; - for (var i = 0; i < x.digits.length; ++i) { - n = 0 - result.digits[i] + c; - result.digits[i] = n % biRadix; - if (result.digits[i] < 0) result.digits[i] += biRadix; - c = 0 - Number(n < 0); - } - result.isNeg = !x.isNeg; - } else { - result.isNeg = x.isNeg; - } - } - return result; - }; - RSAUtils.biHighIndex = function(x) { - var result = x.digits.length - 1; - while (result > 0 && x.digits[result] == 0) { - --result; - } - return result; - }; - RSAUtils.biNumBits = function(x) { - var n = RSAUtils.biHighIndex(x); - var d = x.digits[n]; - var m = (n + 1) * bitsPerDigit; - var result; - for (result = m; result > m - bitsPerDigit; --result) { - if ((d & 32768) != 0) break; - d <<= 1; - } - return result; - }; - RSAUtils.biMultiply = function(x, y) { - var result = new BigInt(); - var c; - var n = RSAUtils.biHighIndex(x); - var t = RSAUtils.biHighIndex(y); - var u, uv, k; - for (var i = 0; i <= t; ++i) { - c = 0; - k = i; - for (j = 0; j <= n; ++j, ++k) { - uv = result.digits[k] + x.digits[j] * y.digits[i] + c; - result.digits[k] = uv & maxDigitVal; - c = uv >>> biRadixBits; - } - result.digits[i + n + 1] = c; - } - result.isNeg = x.isNeg != y.isNeg; - return result; - }; - RSAUtils.biMultiplyDigit = function(x, y) { - var n, c, uv; - result = new BigInt(); - n = RSAUtils.biHighIndex(x); - c = 0; - for (var j = 0; j <= n; ++j) { - uv = result.digits[j] + x.digits[j] * y + c; - result.digits[j] = uv & maxDigitVal; - c = uv >>> biRadixBits; - } - result.digits[1 + n] = c; - return result; - }; - RSAUtils.arrayCopy = function(src, srcStart, dest, destStart, n) { - var m = Math.min(srcStart + n, src.length); - for (var i = srcStart, j = destStart; i < m; ++i, ++j) { - dest[j] = src[i]; - } - }; - var highBitMasks = [ 0, 32768, 49152, 57344, 61440, 63488, 64512, 65024, 65280, 65408, 65472, 65504, 65520, 65528, 65532, 65534, 65535 ]; - RSAUtils.biShiftLeft = function(x, n) { - var digitCount = Math.floor(n / bitsPerDigit); - var result = new BigInt(); - RSAUtils.arrayCopy(x.digits, 0, result.digits, digitCount, result.digits.length - digitCount); - var bits = n % bitsPerDigit; - var rightBits = bitsPerDigit - bits; - for (var i = result.digits.length - 1, i1 = i - 1; i > 0; --i, --i1) { - result.digits[i] = result.digits[i] << bits & maxDigitVal | (result.digits[i1] & highBitMasks[bits]) >>> rightBits; - } - result.digits[0] = result.digits[i] << bits & maxDigitVal; - result.isNeg = x.isNeg; - return result; - }; - var lowBitMasks = [ 0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535 ]; - RSAUtils.biShiftRight = function(x, n) { - var digitCount = Math.floor(n / bitsPerDigit); - var result = new BigInt(); - RSAUtils.arrayCopy(x.digits, digitCount, result.digits, 0, x.digits.length - digitCount); - var bits = n % bitsPerDigit; - var leftBits = bitsPerDigit - bits; - for (var i = 0, i1 = i + 1; i < result.digits.length - 1; ++i, ++i1) { - result.digits[i] = result.digits[i] >>> bits | (result.digits[i1] & lowBitMasks[bits]) << leftBits; - } - result.digits[result.digits.length - 1] >>>= bits; - result.isNeg = x.isNeg; - return result; - }; - RSAUtils.biMultiplyByRadixPower = function(x, n) { - var result = new BigInt(); - RSAUtils.arrayCopy(x.digits, 0, result.digits, n, result.digits.length - n); - return result; - }; - RSAUtils.biDivideByRadixPower = function(x, n) { - var result = new BigInt(); - RSAUtils.arrayCopy(x.digits, n, result.digits, 0, result.digits.length - n); - return result; - }; - RSAUtils.biModuloByRadixPower = function(x, n) { - var result = new BigInt(); - RSAUtils.arrayCopy(x.digits, 0, result.digits, 0, n); - return result; - }; - RSAUtils.biCompare = function(x, y) { - if (x.isNeg != y.isNeg) { - return 1 - 2 * Number(x.isNeg); - } - for (var i = x.digits.length - 1; i >= 0; --i) { - if (x.digits[i] != y.digits[i]) { - if (x.isNeg) { - return 1 - 2 * Number(x.digits[i] > y.digits[i]); - } else { - return 1 - 2 * Number(x.digits[i] < y.digits[i]); - } - } - } - return 0; - }; - RSAUtils.biDivideModulo = function(x, y) { - var nb = RSAUtils.biNumBits(x); - var tb = RSAUtils.biNumBits(y); - var origYIsNeg = y.isNeg; - var q, r; - if (nb < tb) { - if (x.isNeg) { - q = RSAUtils.biCopy(bigOne); - q.isNeg = !y.isNeg; - x.isNeg = false; - y.isNeg = false; - r = biSubtract(y, x); - x.isNeg = true; - y.isNeg = origYIsNeg; - } else { - q = new BigInt(); - r = RSAUtils.biCopy(x); - } - return [ q, r ]; - } - q = new BigInt(); - r = x; - var t = Math.ceil(tb / bitsPerDigit) - 1; - var lambda = 0; - while (y.digits[t] < biHalfRadix) { - y = RSAUtils.biShiftLeft(y, 1); - ++lambda; - ++tb; - t = Math.ceil(tb / bitsPerDigit) - 1; - } - r = RSAUtils.biShiftLeft(r, lambda); - nb += lambda; - var n = Math.ceil(nb / bitsPerDigit) - 1; - var b = RSAUtils.biMultiplyByRadixPower(y, n - t); - while (RSAUtils.biCompare(r, b) != -1) { - ++q.digits[n - t]; - r = RSAUtils.biSubtract(r, b); - } - for (var i = n; i > t; --i) { - var ri = i >= r.digits.length ? 0 : r.digits[i]; - var ri1 = i - 1 >= r.digits.length ? 0 : r.digits[i - 1]; - var ri2 = i - 2 >= r.digits.length ? 0 : r.digits[i - 2]; - var yt = t >= y.digits.length ? 0 : y.digits[t]; - var yt1 = t - 1 >= y.digits.length ? 0 : y.digits[t - 1]; - if (ri == yt) { - q.digits[i - t - 1] = maxDigitVal; - } else { - q.digits[i - t - 1] = Math.floor((ri * biRadix + ri1) / yt); - } - var c1 = q.digits[i - t - 1] * (yt * biRadix + yt1); - var c2 = ri * biRadixSquared + (ri1 * biRadix + ri2); - while (c1 > c2) { - --q.digits[i - t - 1]; - c1 = q.digits[i - t - 1] * (yt * biRadix | yt1); - c2 = ri * biRadix * biRadix + (ri1 * biRadix + ri2); - } - b = RSAUtils.biMultiplyByRadixPower(y, i - t - 1); - r = RSAUtils.biSubtract(r, RSAUtils.biMultiplyDigit(b, q.digits[i - t - 1])); - if (r.isNeg) { - r = RSAUtils.biAdd(r, b); - --q.digits[i - t - 1]; - } - } - r = RSAUtils.biShiftRight(r, lambda); - q.isNeg = x.isNeg != origYIsNeg; - if (x.isNeg) { - if (origYIsNeg) { - q = RSAUtils.biAdd(q, bigOne); - } else { - q = RSAUtils.biSubtract(q, bigOne); - } - y = RSAUtils.biShiftRight(y, lambda); - r = RSAUtils.biSubtract(y, r); - } - if (r.digits[0] == 0 && RSAUtils.biHighIndex(r) == 0) r.isNeg = false; - return [ q, r ]; - }; - RSAUtils.biDivide = function(x, y) { - return RSAUtils.biDivideModulo(x, y)[0]; - }; - RSAUtils.biModulo = function(x, y) { - return RSAUtils.biDivideModulo(x, y)[1]; - }; - RSAUtils.biMultiplyMod = function(x, y, m) { - return RSAUtils.biModulo(RSAUtils.biMultiply(x, y), m); - }; - RSAUtils.biPow = function(x, y) { - var result = bigOne; - var a = x; - while (true) { - if ((y & 1) != 0) result = RSAUtils.biMultiply(result, a); - y >>= 1; - if (y == 0) break; - a = RSAUtils.biMultiply(a, a); - } - return result; - }; - RSAUtils.biPowMod = function(x, y, m) { - var result = bigOne; - var a = x; - var k = y; - while (true) { - if ((k.digits[0] & 1) != 0) result = RSAUtils.biMultiplyMod(result, a, m); - k = RSAUtils.biShiftRight(k, 1); - if (k.digits[0] == 0 && RSAUtils.biHighIndex(k) == 0) break; - a = RSAUtils.biMultiplyMod(a, a, m); - } - return result; - }; - $w.BarrettMu = function(m) { - this.modulus = RSAUtils.biCopy(m); - this.k = RSAUtils.biHighIndex(this.modulus) + 1; - var b2k = new BigInt(); - b2k.digits[2 * this.k] = 1; - this.mu = RSAUtils.biDivide(b2k, this.modulus); - this.bkplus1 = new BigInt(); - this.bkplus1.digits[this.k + 1] = 1; - this.modulo = BarrettMu_modulo; - this.multiplyMod = BarrettMu_multiplyMod; - this.powMod = BarrettMu_powMod; - }; - function BarrettMu_modulo(x) { - var $dmath = RSAUtils; - var q1 = $dmath.biDivideByRadixPower(x, this.k - 1); - var q2 = $dmath.biMultiply(q1, this.mu); - var q3 = $dmath.biDivideByRadixPower(q2, this.k + 1); - var r1 = $dmath.biModuloByRadixPower(x, this.k + 1); - var r2term = $dmath.biMultiply(q3, this.modulus); - var r2 = $dmath.biModuloByRadixPower(r2term, this.k + 1); - var r = $dmath.biSubtract(r1, r2); - if (r.isNeg) { - r = $dmath.biAdd(r, this.bkplus1); - } - var rgtem = $dmath.biCompare(r, this.modulus) >= 0; - while (rgtem) { - r = $dmath.biSubtract(r, this.modulus); - rgtem = $dmath.biCompare(r, this.modulus) >= 0; - } - return r; - } - function BarrettMu_multiplyMod(x, y) { - var xy = RSAUtils.biMultiply(x, y); - return this.modulo(xy); - } - function BarrettMu_powMod(x, y) { - var result = new BigInt(); - result.digits[0] = 1; - var a = x; - var k = y; - while (true) { - if ((k.digits[0] & 1) != 0) result = this.multiplyMod(result, a); - k = RSAUtils.biShiftRight(k, 1); - if (k.digits[0] == 0 && RSAUtils.biHighIndex(k) == 0) break; - a = this.multiplyMod(a, a); - } - return result; - } - var RSAKeyPair = function(encryptionExponent, decryptionExponent, modulus) { - var $dmath = RSAUtils; - this.e = $dmath.biFromHex(encryptionExponent); - this.d = $dmath.biFromHex(decryptionExponent); - this.m = $dmath.biFromHex(modulus); - this.chunkSize = 2 * $dmath.biHighIndex(this.m); - this.radix = 16; - this.barrett = new $w.BarrettMu(this.m); - }; - RSAUtils.getKeyPair = function(encryptionExponent, decryptionExponent, modulus) { - return new RSAKeyPair(encryptionExponent, decryptionExponent, modulus); - }; - if (typeof $w.twoDigit === "undefined") { - $w.twoDigit = function(n) { - return (n < 10 ? "0" : "") + String(n); - }; - } - RSAUtils.encryptedString = function(key, s) { - var a = []; - var sl = s.length; - var i = 0; - while (i < sl) { - a[i] = s.charCodeAt(i); - i++; - } - while (a.length % key.chunkSize != 0) { - a[i++] = 0; - } - var al = a.length; - var result = ""; - var j, k, block; - for (i = 0; i < al; i += key.chunkSize) { - block = new BigInt(); - j = 0; - for (k = i; k < i + key.chunkSize; ++j) { - block.digits[j] = a[k++]; - block.digits[j] += a[k++] << 8; - } - var crypt = key.barrett.powMod(block, key.e); - var text = key.radix == 16 ? RSAUtils.biToHex(crypt) : RSAUtils.biToString(crypt, key.radix); - result += text + " "; - } - return result.substring(0, result.length - 1); - }; - RSAUtils.decryptedString = function(key, s) { - var blocks = s.split(" "); - var result = ""; - var i, j, block; - for (i = 0; i < blocks.length; ++i) { - var bi; - if (key.radix == 16) { - bi = RSAUtils.biFromHex(blocks[i]); - } else { - bi = RSAUtils.biFromString(blocks[i], key.radix); - } - block = key.barrett.powMod(bi, key.d); - for (j = 0; j <= RSAUtils.biHighIndex(block); ++j) { - result += String.fromCharCode(block.digits[j] & 255, block.digits[j] >> 8); - } - } - if (result.charCodeAt(result.length - 1) == 0) { - result = result.substring(0, result.length - 1); - } - return result; - }; - RSAUtils.setMaxDigits(130); - __mod__[__id__] = $w; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/crypto/rsa", (_M_["platform/crypto/rsa"] = {}) && _M_); - -_M_["platform/date/formatSeconds"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - __mod__[__id__] = function(s) { - if (isNaN(s)) { - return "00:00:00"; - } - var h = s >= 3600 ? Math.floor(s / 3600) : 0; - var m = s % 3600 >= 60 ? Math.floor(s % 3600 / 60) : 0; - m = m >= 10 ? m : "0" + m; - s = m >= 0 ? s % 3600 % 60 : s; - s = s >= 10 ? s : "0" + s; - return h > 0 ? (h > 9 ? h : "0" + h) + ":" + m + ":" + s : m + ":" + s; - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/date/formatSeconds", (_M_["platform/date/formatSeconds"] = {}) && _M_); - -_M_["platform/setQC005"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var get = __mod__["platform/cookie/get"](); - var set = __mod__["platform/cookie/set"](); - var json = __mod__["platform/http/json2"](); - var generate = function(uid) { - if (!uid) { - var chars = [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" ]; - var nums = ""; - for (var i = 0; i < 32; i++) { - var id = Math.floor(Math.random() * 16); - nums += chars[id]; - } - uid = nums; - } - set("QC005", uid, { - path: "/", - domain: "iqiyi.com", - expires: 365 * 24 * 3600 * 1e3 - }); - }; - var setNewUser = function(isNewuser) { - set("QC173", isNewuser, { - path: "/", - domain: "iqiyi.com", - expires: 365 * 24 * 3600 * 1e3 - }); - }; - if (!get("QC005")) { - var localStorageQC005 = window.localStorage && localStorage.getItem("QC005"); - if (localStorageQC005) { - set("QC005", localStorageQC005, { - path: "/", - domain: "iqiyi.com", - expires: 365 * 24 * 3600 * 1e3 - }); - } else { - json("//data.video.iqiyi.com/uid", { - dataType: "jsonp", - onsuccess: function(xhr, data) { - if (data && data.uid) { - generate(data.uid); - } else { - generate(); - } - setNewUser(1); - }, - onfailure: function() { - generate(); - setNewUser(1); - } - }); - } - } else { - setNewUser(0); - } - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/setQC005", (_M_["platform/setQC005"] = {}) && _M_); - -_M_["platform/cookie/get"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var getRaw = __mod__["platform/cookie/getRaw"](); - var get = function(key) { - var value = getRaw(key); - if ("string" == typeof value) { - value = decodeURIComponent(value); - return value; - } - return null; - }; - __mod__[__id__] = get; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/cookie/get", (_M_["platform/cookie/get"] = {}) && _M_); - -_M_["platform/cookie/getRaw"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var isValidKey = __mod__["platform/cookie/isValidKey"](); - var getRaw = function(key) { - if (isValidKey(key)) { - var reg = new RegExp("(^| )" + key + "=([^;]*)(;|$)"), result = reg.exec(document.cookie); - if (result) { - return result[2] || null; - } - } - return null; - }; - __mod__[__id__] = getRaw; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/cookie/getRaw", (_M_["platform/cookie/getRaw"] = {}) && _M_); - -_M_["platform/cookie/isValidKey"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var isValidKey = function(key) { - return new RegExp('^[^\\x00-\\x20\\x7f\\(\\)<>@,;:\\\\\\"\\[\\]\\?=\\{\\}\\/\\u0080-\\uffff]+$').test(key); - }; - __mod__[__id__] = isValidKey; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/cookie/isValidKey", (_M_["platform/cookie/isValidKey"] = {}) && _M_); - -_M_["platform/cookie/set"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var setRaw = __mod__["platform/cookie/setRaw"](); - var set = function(key, value, options) { - setRaw(key, encodeURIComponent(value), options); - }; - __mod__[__id__] = set; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/cookie/set", (_M_["platform/cookie/set"] = {}) && _M_); - -_M_["platform/cookie/setRaw"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var isValidKey = __mod__["platform/cookie/isValidKey"](); - var setRaw = function(key, value, options) { - if (!isValidKey(key)) { - return; - } - options = options || {}; - var expires = options.expires; - if ("number" == typeof options.expires) { - expires = new Date(); - expires.setTime(expires.getTime() + options.expires); - } - document.cookie = key + "=" + value + (options.path ? "; path=" + options.path : "") + (expires ? "; expires=" + expires.toGMTString() : "") + (options.domain ? "; domain=" + options.domain : "") + (options.secure ? "; secure" : ""); - }; - __mod__[__id__] = setRaw; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/cookie/setRaw", (_M_["platform/cookie/setRaw"] = {}) && _M_); - -_M_["platform/plugins/template"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var Class = __mod__["platform/class"](); - var extend = __mod__["platform/object/extend"](); - __mod__[__id__] = Class("Template", { - construct: function(template, opt) { - this.template = template + ""; - this.filter = "\\"; - this._isNesting = /([\s\S])?\$[^{]*?\{(?:(?![{}]).|\{(?:(?![{}]).)*\})*\}/; - this._regPattern = /([\s\S]?)\$(\w*){((?:(?:\$\w*){(?:(?:\$\w*)?{(?:(?:\$\w*)?{(?:(?:\$\w*)?{(?:(?:\$\w*)?{(?:(?:\$\w*)?{[^{}]*}|[^{}])*}|[^{}])*}|[^{}])*}|[^{}])*}|[^{}])*}|[^{}])*)?}/g; - this._funs = {}; - this._tmp_cache = {}; - this.params = {}; - this.self_params = {}; - if (opt) { - for (var n in opt) { - if (opt.hasOwnProperty(n)) { - if (typeof opt[n] == "function") { - this._funs[n] = opt[n]; - } else { - this.self_params[n] = opt[n]; - } - } - } - } - }, - methods: { - evaluate: function(obj, opt) { - var _template = ""; - if (typeof obj == "object") { - this._tmp_cache = {}; - this.params = obj; - obj && extend(this.params, this.self_params); - obj && extend(this.params, opt); - var _this = this; - _template = this.template.replace(this._regPattern, function(all, filter, name, content) { - if (new RegExp("^\\" + _this.filter, "").test(all)) { - return all.split("" + _this.filter)[1]; - } - if (_this._isNesting.test(content)) { - content = content.replace(_this._regPattern, arguments.callee); - } - var args = content ? content.split(",") : []; - for (var cat = 0, len = args.length; cat < len; cat++) { - args[cat] = _this.trim(args[cat]); - } - switch (name) { - case "": - return filter + _this.get(args[0]); - - case "trim": - if (len == 2 && args[1] && args[1].toLowerCase() == "html") { - var d = _this.get(args[0]); - return filter + (d ? _this.trimHTML(d) : ""); - } else { - d = _this.get(args[0]); - return filter + (d ? _this.trim(d) : ""); - } - - case "encode": - var e = _this.get(args[0]); - return filter + (e && _this.encode(e)); - - case "time": - if (!/\d*/g.test(args[0])) { - throw new Error("error(Template): time format is incorrect"); - } - var ti = _this.get(args[0]) || 0; - return filter + (ti ? _this.time_format(ti) : ""); - - case "date": - if (!args[1]) { - throw new Error("error(Template): date format argument[1] is null"); - } - var d = _this.get(args[0]); - if (!/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/g.test(d)) { - throw new Error("error(Template): date format is incorrect"); - } - return filter + (d ? _this.date_format(d, args[1]) : ""); - - case "evalstr": - var ev; - try { - ev = _this.get(args[0]); - } catch (err) { - throw new Error("error(Template): evalstr error"); - } - return filter + eval(ev); - - case "cache": - if (obj[args[1]]) { - throw new Error("error(Template): cache key the same with params key is not allowed"); - } - args[0] && (_this._tmp_cache[args[1]] = args[0]) || obj[args[0]] && (_this._tmp_cache[args[1]] = obj[args[0]]); - return filter; - - case "fixed": - var f = _this.get(args[0]); - if (args[1]) { - return filter + (f && _this.fixed(f, args[1]) || ""); - } else { - return filter + f; - } - - case "img": - var im = _this.get(args[0]); - return filter + im.setImgSize(args[1]); - - case "arr": - var ar = args.slice(0, args.length - 1).join(); - var ar = /\[[^\]]*\]/.test(ar) ? ar : _this.get(args[0]); - if (typeof ar == "string") { - try { - ar = eval("(" + ar + ")"); - } catch (err) { - throw new Error("error(Template): array format error"); - } - } - var idx = args[args.length - 1] ? args[args.length - 1] : 0; - return filter + (ar[idx] || ""); - - case "obj": - var ob = args.slice(0, args.length - 1).join(); - var ob = /{[^}]*}/.test(ob) ? ob : _this.get(args[0]); - if (typeof ob == "string") { - try { - ob = eval("(" + ob + ")"); - } catch (err) { - throw new Error("error(Template): object format error"); - } - } - var key = args[1]; - return filter + (key && ob[key] || ""); - - case "pick": - try { - switch (len) { - case 2: - var p = _this.get(args[0]); - return filter + eval(p + "? '" + args[1] + "' : ''"); - - case 3: - p = _this.get(args[0]); - return filter + eval(p + "? '" + args[1] + "':'" + args[2] + "'"); - - case 4: - p = _this.get(args[0]); - return filter + (p ? p == args[1] ? args[2] : args[3] : ""); - - default: - throw new Error("error(Template): the parameter num is incorrect"); - } - } catch (err) { - switch (len) { - case 2: - var p = _this.get(args[0]); - return filter + eval("'" + p + "'? '" + args[1] + "' : ''"); - - case 3: - p = _this.get(args[0]); - return filter + eval("'" + p + "'? '" + args[1] + "':'" + args[2] + "'"); - - default: - throw new Error("error(Template): the parameter num is incorrect"); - } - } - - default: - if (/^f_/.test(name)) { - var f_name = name && name.split("f_")[1]; - if (!(f_name && _this._funs[f_name])) { - throw new Error("error(Template): function " + f_name + " is not exists"); - } - return filter + _this._funs[f_name].apply(_this, args); - } - } - }); - } - return _template; - }, - get: function(key) { - if (key in this.params) return this.params[key]; - if (key in this._tmp_cache) return this._tmp_cache[key]; - return ""; - }, - encode: function(value) { - return encodeURIComponent(value); - }, - trim: function(value) { - return value.trim(); - }, - trimHTML: function(value) { - return value.trimHtml(); - }, - fixed: function(value, len) { - return value.trancate(len); - }, - date_format: function(datestr, reg) { - var tmp = /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/.exec(datestr); - var Y = tmp[1], M = tmp[2], D = tmp[3], h = tmp[4], m = tmp[5], s = tmp[6]; - reg = reg || "hh:mm:ss"; - /ss/.test(reg) && (reg = reg.replace(/ss/, s)), /mm/.test(reg) && (reg = reg.replace(/mm/, m)), - /hh/.test(reg) && (reg = reg.replace(/hh/, h)), /MM/.test(reg) && (reg = reg.replace(/MM/, M)), - /DD/.test(reg) && (reg = reg.replace(/DD/, D)), /YYYY/.test(reg) && (reg = reg.replace(/YYYY/, Y)), - /YY/.test(reg) && (reg = reg.replace(/YY/, Y.substring(2))); - return reg; - }, - time_format: function(time) { - var m = Math.floor(time / 60), s = time % 60; - if (s < 10) { - s = "0" + s; - } - if (m > 60) { - var h = Math.floor(m / 60); - m = m % 60; - if (h < 10) { - h = "0" + h; - } - if (m < 10) { - m = "0" + m; - } - return h + ":" + m + ":" + s; - } else { - if (m < 10) { - m = "0" + m; - } - return m + ":" + s; - } - } - } - }); - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/plugins/template", (_M_["platform/plugins/template"] = {}) && _M_); - -_M_["platform/plugins/mustache"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var Mustache = {}; - Mustache.name = "mustache.js"; - Mustache.version = "0.7.0"; - Mustache.tags = [ "{{", "}}" ]; - var whiteRe = /\s*/; - var spaceRe = /\s+/; - var nonSpaceRe = /\S/; - var eqRe = /\s*=/; - var curlyRe = /\s*\}/; - var tagRe = /#|\^|\/|>|\{|&|=|!/; - function testRe(re, string) { - return RegExp.prototype.test.call(re, string); - } - function isWhitespace(string) { - return !testRe(nonSpaceRe, string); - } - var isArray = Array.isArray || function(obj) { - return Object.prototype.toString.call(obj) === "[object Array]"; - }; - function escapeRe(string) { - return string.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); - } - var entityMap = { - "&": "&", - "<": "<", - ">": ">", - '"': """, - "'": "'", - "/": "/" - }; - function escapeHtml(string) { - return String(string).replace(/[&<>"'\/]/g, function(s) { - return entityMap[s]; - }); - } - Mustache.escape = escapeHtml; - function Scanner(string) { - this.string = string; - this.tail = string; - this.pos = 0; - } - Scanner.prototype.eos = function() { - return this.tail === ""; - }; - Scanner.prototype.scan = function(re) { - var match = this.tail.match(re); - if (match && match.index === 0) { - this.tail = this.tail.substring(match[0].length); - this.pos += match[0].length; - return match[0]; - } - return ""; - }; - Scanner.prototype.scanUntil = function(re) { - var match, pos = this.tail.search(re); - switch (pos) { - case -1: - match = this.tail; - this.pos += this.tail.length; - this.tail = ""; - break; - - case 0: - match = ""; - break; - - default: - match = this.tail.substring(0, pos); - this.tail = this.tail.substring(pos); - this.pos += pos; - } - return match; - }; - function Context(view, parent) { - this.view = view; - this.parent = parent; - this.clearCache(); - } - Context.make = function(view) { - return view instanceof Context ? view : new Context(view); - }; - Context.prototype.clearCache = function() { - this._cache = {}; - }; - Context.prototype.push = function(view) { - return new Context(view, this); - }; - Context.prototype.lookup = function(name) { - var value = this._cache[name]; - if (!value) { - if (name === ".") { - value = this.view; - } else { - var context = this; - while (context) { - if (name.indexOf(".") > 0) { - var names = name.split("."), i = 0; - value = context.view; - while (value && i < names.length) { - value = value[names[i++]]; - } - } else { - value = context.view[name]; - } - if (value != null) { - break; - } - context = context.parent; - } - } - this._cache[name] = value; - } - if (typeof value === "function") { - value = value.call(this.view); - } - return value; - }; - function Writer() { - this.clearCache(); - } - Writer.prototype.clearCache = function() { - this._cache = {}; - this._partialCache = {}; - }; - Writer.prototype.compile = function(template, tags) { - return this._compile(this._cache, template, template, tags); - }; - Writer.prototype.compilePartial = function(name, template, tags) { - return this._compile(this._partialCache, name, template, tags); - }; - Writer.prototype.render = function(template, view, partials) { - return this.compile(template)(view, partials); - }; - Writer.prototype._compile = function(cache, key, template, tags) { - if (!cache[key]) { - var tokens = Mustache.parse(template, tags); - var fn = compileTokens(tokens); - var self = this; - cache[key] = function(view, partials) { - if (partials) { - if (typeof partials === "function") { - self._loadPartial = partials; - } else { - for (var name in partials) { - self.compilePartial(name, partials[name]); - } - } - } - return fn(self, Context.make(view), template); - }; - } - return cache[key]; - }; - Writer.prototype._section = function(name, context, text, callback) { - var value = context.lookup(name); - switch (typeof value) { - case "object": - if (isArray(value)) { - var buffer = ""; - for (var i = 0, len = value.length; i < len; ++i) { - buffer += callback(this, context.push(value[i])); - } - return buffer; - } - return value ? callback(this, context.push(value)) : ""; - - case "function": - var self = this; - var scopedRender = function(template) { - return self.render(template, context); - }; - return value.call(context.view, text, scopedRender) || ""; - - default: - if (value) { - return callback(this, context); - } - } - return ""; - }; - Writer.prototype._inverted = function(name, context, callback) { - var value = context.lookup(name); - if (!value || isArray(value) && value.length === 0) { - return callback(this, context); - } - return ""; - }; - Writer.prototype._partial = function(name, context) { - if (!(name in this._partialCache) && this._loadPartial) { - this.compilePartial(name, this._loadPartial(name)); - } - var fn = this._partialCache[name]; - return fn ? fn(context) : ""; - }; - Writer.prototype._name = function(name, context) { - var value = context.lookup(name); - if (typeof value === "function") { - value = value.call(context.view); - } - return value == null ? "" : String(value); - }; - Writer.prototype._escaped = function(name, context) { - return Mustache.escape(this._name(name, context)); - }; - function sectionBounds(token) { - var start = token[3]; - var end = start; - var tokens; - while ((tokens = token[4]) && tokens.length) { - token = tokens[tokens.length - 1]; - end = token[3]; - } - return [ start, end ]; - } - function compileTokens(tokens) { - var subRenders = {}; - function subRender(i, tokens, template) { - if (!subRenders[i]) { - var fn = compileTokens(tokens); - subRenders[i] = function(writer, context) { - return fn(writer, context, template); - }; - } - return subRenders[i]; - } - function renderFunction(writer, context, template) { - var buffer = ""; - var token, sectionText; - for (var i = 0, len = tokens.length; i < len; ++i) { - token = tokens[i]; - switch (token[0]) { - case "#": - sectionText = template.slice.apply(template, sectionBounds(token)); - buffer += writer._section(token[1], context, sectionText, subRender(i, token[4], template)); - break; - - case "^": - buffer += writer._inverted(token[1], context, subRender(i, token[4], template)); - break; - - case ">": - buffer += writer._partial(token[1], context); - break; - - case "&": - buffer += writer._name(token[1], context); - break; - - case "name": - buffer += writer._escaped(token[1], context); - break; - - case "text": - buffer += token[1]; - break; - } - } - return buffer; - } - return renderFunction; - } - function nestTokens(tokens) { - var tree = []; - var collector = tree; - var sections = []; - var token, section; - for (var i = 0; i < tokens.length; ++i) { - token = tokens[i]; - switch (token[0]) { - case "#": - case "^": - token[4] = []; - sections.push(token); - collector.push(token); - collector = token[4]; - break; - - case "/": - if (sections.length === 0) { - throw new Error("Unopened section: " + token[1]); - } - section = sections.pop(); - if (section[1] !== token[1]) { - throw new Error("Unclosed section: " + section[1]); - } - if (sections.length > 0) { - collector = sections[sections.length - 1][4]; - } else { - collector = tree; - } - break; - - default: - collector.push(token); - } - } - section = sections.pop(); - if (section) { - throw new Error("Unclosed section: " + section[1]); - } - return tree; - } - function escapeTags(tags) { - if (tags.length !== 2) { - throw new Error("Invalid tags: " + tags.join(" ")); - } - return [ new RegExp(escapeRe(tags[0]) + "\\s*"), new RegExp("\\s*" + escapeRe(tags[1])) ]; - } - Mustache.parse = function(template, tags) { - tags = tags || Mustache.tags; - var tagRes = escapeTags(tags); - var scanner = new Scanner(template); - var tokens = [], spaces = [], hasTag = false, nonSpace = false; - function stripSpace() { - if (hasTag && !nonSpace) { - while (spaces.length) { - tokens.splice(spaces.pop(), 1); - } - } else { - spaces = []; - } - hasTag = false; - nonSpace = false; - } - var start, type, value, chr; - while (!scanner.eos()) { - start = scanner.pos; - value = scanner.scanUntil(tagRes[0]); - if (value) { - tokens.push([ "text", value, start, start + value.length ]); - } - start = scanner.pos; - if (!scanner.scan(tagRes[0])) { - break; - } - hasTag = true; - type = scanner.scan(tagRe) || "name"; - scanner.scan(whiteRe); - if (type === "=") { - value = scanner.scanUntil(eqRe); - scanner.scan(eqRe); - scanner.scanUntil(tagRes[1]); - } else if (type === "{") { - var closeRe = new RegExp("\\s*" + escapeRe("}" + tags[1])); - value = scanner.scanUntil(closeRe); - scanner.scan(curlyRe); - scanner.scanUntil(tagRes[1]); - type = "&"; - } else { - value = scanner.scanUntil(tagRes[1]); - } - if (!scanner.scan(tagRes[1])) { - throw new Error("Unclosed tag at " + scanner.pos); - } - tokens.push([ type, value, start, scanner.pos ]); - if (type === "name" || type === "{" || type === "&") { - nonSpace = true; - } - if (type === "=") { - tags = value.split(spaceRe); - tagRes = escapeTags(tags); - } - } - return nestTokens(tokens); - }; - var _writer = new Writer(); - Mustache.clearCache = function() { - return _writer.clearCache(); - }; - Mustache.compile = function(template, tags) { - return _writer.compile(template, tags); - }; - Mustache.compilePartial = function(name, template, tags) { - return _writer.compilePartial(name, template, tags); - }; - Mustache.render = function(template, view, partials) { - return _writer.render(template, view, partials); - }; - Mustache.Scanner = Scanner; - Mustache.Context = Context; - Mustache.Writer = Writer; - __mod__[__id__] = Mustache; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/plugins/mustache", (_M_["platform/plugins/mustache"] = {}) && _M_); - -_M_["platform/plugins/artTemplate"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var global = __mod__["driver/global"](); - var template = function(id, content) { - return template[typeof content === "object" ? "render" : "compile"].apply(template, arguments); - }; - (function(exports, global) { - "use strict"; - exports.version = "2.0.1"; - exports.openTag = "<%"; - exports.closeTag = "%>"; - exports.isEscape = true; - exports.isCompress = false; - exports.parser = null; - exports.render = function(id, data) { - var cache = _getCache(id); - if (cache === undefined) { - return _debug({ - id: id, - name: "Render Error", - message: "No Template" - }); - } - return cache(data); - }; - exports.compile = function(id, source) { - var params = arguments; - var isDebug = params[2]; - var anonymous = "anonymous"; - var Render; - if (typeof source !== "string") { - isDebug = params[1]; - source = params[0]; - id = anonymous; - } - try { - Render = _compile(source, isDebug); - } catch (e) { - e.id = id || source; - e.name = "Syntax Error"; - return _debug(e); - } - function render(data) { - try { - return new Render(data) + ""; - } catch (e) { - if (!isDebug) { - return exports.compile(id, source, true)(data); - } - e.id = id || source; - e.name = "Render Error"; - e.source = source; - return _debug(e); - } - } - render.prototype = Render.prototype; - render.toString = function() { - return Render.toString(); - }; - if (id !== anonymous) { - _cache[id] = render; - } - return render; - }; - exports.helper = function(name, helper) { - exports.prototype[name] = helper; - }; - exports.onerror = function(e) { - var content = "[template]:\n" + e.id + "\n\n[name]:\n" + e.name; - if (e.message) { - content += "\n\n[message]:\n" + e.message; - } - if (e.line) { - content += "\n\n[line]:\n" + e.line; - content += "\n\n[source]:\n" + e.source.split(/\n/)[e.line - 1].replace(/^[\s\t]+/, ""); - } - if (e.temp) { - content += "\n\n[temp]:\n" + e.temp; - } - if (global.console) { - global.console.error(content); - } - }; - var _cache = {}; - var _getCache = function(id) { - var cache = _cache[id]; - if (cache === undefined && "document" in global) { - var elem = document.getElementById(id); - if (elem) { - var source = elem.value || elem.innerHTML; - return exports.compile(id, source.replace(/^\s*|\s*$/g, "")); - } - } else if (_cache.hasOwnProperty(id)) { - return cache; - } - }; - var _debug = function(e) { - exports.onerror(e); - function error() { - return error + ""; - } - error.toString = function() { - return "{Template Error}"; - }; - return error; - }; - var _compile = function() { - exports.prototype = { - $render: exports.render, - $escape: function(content) { - return typeof content === "string" ? content.replace(/&(?![\w#]+;)|[<>"']/g, function(s) { - return { - "<": "<", - ">": ">", - '"': """, - "'": "'", - "&": "&" - }[s]; - }) : content; - }, - $string: function(value) { - if (typeof value === "string" || typeof value === "number") { - return value; - } else if (typeof value === "function") { - return value(); - } else { - return ""; - } - } - }; - var arrayforEach = Array.prototype.forEach || function(block, thisObject) { - var len = this.length >>> 0; - for (var i = 0; i < len; i++) { - if (i in this) { - block.call(thisObject, this[i], i, this); - } - } - }; - var forEach = function(array, callback) { - arrayforEach.call(array, callback); - }; - var KEYWORDS = "break,case,catch,continue,debugger,default,delete,do,else,false" + ",finally,for,function,if,in,instanceof,new,null,return,switch,this" + ",throw,true,try,typeof,var,void,while,with" + ",abstract,boolean,byte,char,class,const,double,enum,export,extends" + ",final,float,goto,implements,import,int,interface,long,native" + ",package,private,protected,public,short,static,super,synchronized" + ",throws,transient,volatile" + ",arguments,let,yield" + ",undefined"; - var REMOVE_RE = /\/\*(?:.|\n)*?\*\/|\/\/[^\n]*\n|\/\/[^\n]*$|'[^']*'|"[^"]*"|[\s\t\n]*\.[\s\t\n]*[$\w\.]+/g; - var SPLIT_RE = /[^\w$]+/g; - var KEYWORDS_RE = new RegExp([ "\\b" + KEYWORDS.replace(/,/g, "\\b|\\b") + "\\b" ].join("|"), "g"); - var NUMBER_RE = /\b\d[^,]*/g; - var BOUNDARY_RE = /^,+|,+$/g; - var getVariable = function(code) { - code = code.replace(REMOVE_RE, "").replace(SPLIT_RE, ",").replace(KEYWORDS_RE, "").replace(NUMBER_RE, "").replace(BOUNDARY_RE, ""); - code = code ? code.split(/,+/) : []; - return code; - }; - return function(source, isDebug) { - var openTag = exports.openTag; - var closeTag = exports.closeTag; - var parser = exports.parser; - var code = source; - var tempCode = ""; - var line = 1; - var uniq = { - $data: true, - $helpers: true, - $out: true, - $line: true - }; - var helpers = exports.prototype; - var prototype = {}; - var variables = "var $helpers=this," + (isDebug ? "$line=0," : ""); - var isNewEngine = "".trim; - var replaces = isNewEngine ? [ "$out='';", "$out+=", ";", "$out" ] : [ "$out=[];", "$out.push(", ");", "$out.join('')" ]; - var concat = isNewEngine ? "if(content!==undefined){$out+=content;return content}" : "$out.push(content);"; - var print = "function(content){" + concat + "}"; - var include = "function(id,data){" + "if(data===undefined){data=$data}" + "var content=$helpers.$render(id,data);" + concat + "}"; - forEach(code.split(openTag), function(code, i) { - code = code.split(closeTag); - var $0 = code[0]; - var $1 = code[1]; - if (code.length === 1) { - tempCode += html($0); - } else { - tempCode += logic($0); - if ($1) { - tempCode += html($1); - } - } - }); - code = tempCode; - if (isDebug) { - code = "try{" + code + "}catch(e){" + "e.line=$line;" + "throw e" + "}"; - } - code = "'use strict';" + variables + replaces[0] + code + "return new String(" + replaces[3] + ")"; - try { - var Render = new Function("$data", code); - Render.prototype = prototype; - return Render; - } catch (e) { - e.temp = "function anonymous($data) {" + code + "}"; - throw e; - } - function html(code) { - line += code.split(/\n/).length - 1; - if (exports.isCompress) { - code = code.replace(/[\n\r\t\s]+/g, " "); - } - code = code.replace(/('|\\)/g, "\\$1").replace(/\r/g, "\\r").replace(/\n/g, "\\n"); - code = replaces[1] + "'" + code + "'" + replaces[2]; - return code + "\n"; - } - function logic(code) { - var thisLine = line; - if (parser) { - code = parser(code); - } else if (isDebug) { - code = code.replace(/\n/g, function() { - line++; - return "$line=" + line + ";"; - }); - } - if (code.indexOf("=") === 0) { - var isEscape = code.indexOf("==") !== 0; - code = code.replace(/^=*|[\s;]*$/g, ""); - if (isEscape && exports.isEscape) { - var name = code.replace(/\s*\([^\)]+\)/, ""); - if (!helpers.hasOwnProperty(name) && !/^(include|print)$/.test(name)) { - code = "$escape($string(" + code + "))"; - } - } else { - code = "$string(" + code + ")"; - } - code = replaces[1] + code + replaces[2]; - } - if (isDebug) { - code = "$line=" + thisLine + ";" + code; - } - getKey(code); - return code + "\n"; - } - function getKey(code) { - code = getVariable(code); - forEach(code, function(name) { - if (!uniq.hasOwnProperty(name)) { - setValue(name); - uniq[name] = true; - } - }); - } - function setValue(name) { - var value; - if (name === "print") { - value = print; - } else if (name === "include") { - prototype["$render"] = helpers["$render"]; - value = include; - } else { - value = "$data." + name; - if (helpers.hasOwnProperty(name)) { - prototype[name] = helpers[name]; - if (name.indexOf("$") === 0) { - value = "$helpers." + name; - } else { - value = value + "===undefined?$helpers." + name + ":" + value; - } - } - } - variables += name + "=" + value + ","; - } - }; - }(); - })(template, global); - __mod__[__id__] = template; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/plugins/artTemplate", (_M_["platform/plugins/artTemplate"] = {}) && _M_); - -_M_["platform/plugins/adCompatible"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var global = __mod__["driver/global"](); - var _ua = __mod__["platform/browser/ua"](); - var _extend = __mod__["platform/object/extend"](); - global.lib = global.lib || {}; - global.lib.swf = global.lib.swf || {}; - global.lib.swf.openAdPostWindow = function(url, data, name, debugTime) { - if (debugTime != undefined) { - var cTime = new Date(); - data = data.replace('"ib":"' + debugTime + '"', '"ib":"' + String(cTime.getTime() + Number(debugTime)) + '"'); - } - var tempForm = document.createElement("form"); - tempForm.id = "tempForm"; - tempForm.method = "post"; - tempForm.action = url; - tempForm.target = "_blank"; - var hideInput = document.createElement("input"); - hideInput.type = "hidden"; - hideInput.name = "data"; - hideInput.value = data; - tempForm.appendChild(hideInput); - document.body.appendChild(tempForm); - tempForm.submit(); - document.body.removeChild(tempForm); - }; - global.lib.Mac = _ua.Mac; - global.lib.box = global.lib.box || { - version: "1.0.0", - toString: function() { - return "[Object lib.box(version " + this.version + ")]"; - } - }; - _extend(global.lib.box, { - getDocumentHeight: function(context) { - context = context || window; - var doc = context.document; - var scrollHeight = doc.compatMode != "CSS1Compat" ? doc.body.scrollHeight : doc.documentElement.scrollHeight; - var h = Math.max(scrollHeight, this.getViewportHeight(context)); - return h; - }, - getDocumentWidth: function(context) { - context = context || window; - var doc = context.document; - var scrollWidth = doc.compatMode != "CSS1Compat" ? doc.body.scrollWidth : doc.documentElement.scrollWidth; - var w = Math.max(scrollWidth, this.getViewportWidth(context)); - return w; - }, - getViewportHeight: function(context) { - context = context || window; - var doc = context.document; - var de = doc.documentElement; - return context.innerHeight || de && de.clientHeight + (de.style.borderTopWidth == "" ? 0 : de.style.borderTopWidth) + (de.style.borderBottomWidth == "" ? 0 : de.style.borderBottomWidth) || doc.body.clientHeight; - }, - getViewportWidth: function(context) { - context = context || window; - var doc = context.document; - var de = doc.documentElement; - return context.innerWidth || de && de.clientWidth + (de.style.borderLeftWidth == "" ? 0 : de.style.borderLeftWidth) + (de.style.borderRightWidth == "" ? 0 : de.style.borderRightWidth) || doc.body.clientWidth; - }, - getPageScrollTop: function(context) { - context = context || window; - var doc = context.document; - var de = doc.documentElement; - return context.pageYOffset || de && de.scrollTop || doc.body.scrollTop; - }, - getPageScrollLeft: function(context) { - context = context || window; - var doc = context.document; - var de = doc.documentElement; - return context.pageXOffset || de && de.scrollLeft || doc.body.scrollLeft; - }, - getPosition: function(el) { - try { - var box = el.getBoundingClientRect(); - } catch (e) { - lib.log("getPosition failed."); - return { - top: 9999, - left: 9999 - }; - } - var doc = el.ownerDocument, body = doc.body, html = doc.documentElement, clientTop = html.clientTop || body.clientTop || 0, clientLeft = html.clientLeft || body.clientLeft || 0, top = box.top + (self.pageYOffset || html.scrollTop || body.scrollTop) - clientTop, left = box.left + (self.pageXOffset || html.scrollLeft || body.scrollLeft) - clientLeft; - return { - top: top, - left: left - }; - } - }); - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/plugins/adCompatible", (_M_["platform/plugins/adCompatible"] = {}) && _M_); - -_M_["platform/plugins/pingbackCompatible"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var global = __mod__["driver/global"](); - global.lib = global.lib || {}; - global.lib.swf = global.lib.swf || {}; - global.lib.swf.postServerUID = function(str) { - global.lib.qa_postServerUID = str; - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/plugins/pingbackCompatible", (_M_["platform/plugins/pingbackCompatible"] = {}) && _M_); - -_M_["platform/plugins/clearSwfCompatible"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var global = __mod__["driver/global"](); - var _clearSwf = __mod__["platform/plugins/clearSwf"](); - global.lib = global.lib || {}; - global.lib.action = global.lib.action || {}; - global.lib.action.ClearSwf = global.lib.action.ClearSwf || {}; - global.lib.action.ClearSwf.get = function() { - return _clearSwf.get(); - }; - global.lib.action.ClearSwf.load = function() {}; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/plugins/clearSwfCompatible", (_M_["platform/plugins/clearSwfCompatible"] = {}) && _M_); - -_M_["platform/flash/html"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var _create = __mod__["platform/flash/create"](); - var _list = __mod__["platform/flash/list"](); - __mod__[__id__] = function(path, opts) { - if (!opts.container) { - throw "must need container!"; - } - opts.id = opts.id || "swf_" + Date.now().toString(36); - var str = _create(path, opts); - opts.container.innerHTML = str; - setTimeout(function() { - _list.set(opts.id); - }, 0); - return opts.id; - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/flash/html", (_M_["platform/flash/html"] = {}) && _M_); - -_M_["platform/flash/remove"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var _list = __mod__["platform/flash/list"](); - var _ua = __mod__["platform/browser/ua"](); - var remove = function(id) { - var obj = _list.get(id); - if (obj && obj.nodeName.toLowerCase() == "object") { - obj.style.display = "none"; - if (_ua.IE) { - (function() { - if (obj.readyState == 4 || obj.readyState == "complete") { - for (var i in obj) { - if (typeof obj[i] == "function") { - obj[i] = null; - } - } - _list.remove(id); - if (obj.parentNode) { - obj.parentNode.removeChild(obj); - } - } else { - setTimeout(arguments.callee, 10); - } - })(); - } else { - _list.remove(id); - if (obj.parentNode) { - obj.parentNode.removeChild(obj); - } - } - } - }; - __mod__[__id__] = remove; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/flash/remove", (_M_["platform/flash/remove"] = {}) && _M_); - -_M_["platform/flash/write"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var _create = __mod__["platform/flash/create"](); - var _list = __mod__["platform/flash/list"](); - __mod__[__id__] = function(path, opts) { - opts.id = opts.id || "swf_" + Date.now().toString(36); - var str = _create(path, opts); - document.write(str); - setTimeout(function() { - _list.set(opts.id); - }, 0); - return opts.id; - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/flash/write", (_M_["platform/flash/write"] = {}) && _M_); - -_M_["platform/cookie/remove"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var setRaw = __mod__["platform/cookie/setRaw"](); - var remove = function(key, options) { - options = options || {}; - options.expires = new Date(0); - setRaw(key, "", options); - }; - __mod__[__id__] = remove; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/cookie/remove", (_M_["platform/cookie/remove"] = {}) && _M_); - -_M_["platform/log/server"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var defaultUrl = location.protocol + "//jsmsg.video.qiyi.com/m.gif"; - var serverLogimgList = {}; - var server = function(param, options) { - var url = defaultUrl; - if (typeof options == "string") { - url = options; - options = null; - } - options = options || { - cache: false - }; - if (options.url) { - url = options.url; - } - if (param) { - var img = new Image(); - var key = "slog_" + Math.floor(Math.random() * 2147483648).toString(36); - serverLogimgList[key] = img; - img.onload = img.onerror = img.onabort = function() { - img.onload = img.onerror = img.onabort = null; - serverLogimgList[key] = null; - delete serverLogimgList[key]; - img = null; - }; - var params = []; - if (options.cache === false) { - param._ = Math.round(Math.random() * 2147483647); - } - for (var pname in param) { - params.push(pname + "=" + encodeURIComponent(param[pname])); - } - try { - img.src = url + "?" + params.join("&"); - } catch (e) {} - } - }; - __mod__[__id__] = server; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/log/server", (_M_["platform/log/server"] = {}) && _M_); - -_M_["platform/log/log"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var log = function() { - if (window.console) {} - }; - __mod__[__id__] = log; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/log/log", (_M_["platform/log/log"] = {}) && _M_); - -_M_["platform/anim/create"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var Class = __mod__["platform/class"](); - var $ = __mod__["platform/dollar"](); - var element = __mod__["platform/element/element"](); - var extend = __mod__["platform/object/extend"](); - var emptyMethod = __mod__["platform/fn/emptyMethod"](); - var tween = __mod__["platform/anim/tween"](); - var isArray = __mod__["platform/array/isArray"](); - var Anim = Class("Anim", { - construct: function(options) { - this.opt = extend({ - duration: 1e3, - onStart: emptyMethod, - onDone: emptyMethod, - onCompute: emptyMethod, - interval: 10, - ease: "", - els: null - }, options || {}); - this.ease(); - for (var i = 0, l = this.opt.els.length; i < l; i++) { - if (!element.isElement(this.opt.els[i])) { - throw new Error("all element must be isElement"); - } - } - this.els = this.opt.els; - this.info = {}; - }, - properties: { - counter: 0 - }, - methods: { - getAnim: function(len, from, to) { - var temp = []; - for (var i = 0; i < len; i++) { - temp.push(this.tweenFunc(i, from, to, len)); - } - return temp; - }, - getAnimInfo: function() { - this.interval = this.opt.duration / this.opt.interval; - var info = null; - for (var o in this.info) { - if (this.info[o].from == undefined) { - this.info[o].from = this.getDefaultFrom(this.els[0], o); - } - if (o == "opacity") { - this.info[o].unit = ""; - } else { - this.info[o].unit = "px"; - } - this.info[o].animArray = this.getAnim(this.interval, this.info[o].from, this.info[o].to - this.info[o].from); - } - }, - getDefaultFrom: function(el, type) { - return parseInt(el.css(type)) || 0; - }, - onCompute: function() { - for (var o in this.info) { - for (var i = 0, l = this.els.length; i < l; i++) { - this.els[i].css(o, this.info[o].animArray[this.counter] + this.info[o].unit); - } - } - this.counter++; - }, - compute: function() { - if (this.counter >= this.interval) { - clearTimeout(this.iTimer); - this.done(); - this.counter = 0; - return; - } - this.onCompute(); - this.iTimer = setTimeout(function() { - this.compute(); - }.bind(this), this.opt.interval); - }, - ease: function(ease) { - if (!ease) { - this.tweenFunc = tween.Linear; - return this; - } - var type = ease.split("."); - if (type.length != 2) { - this.tweenFunc = tween.Linear; - } else { - this.tweenFunc = tween[type[0]][type[1]]; - } - return this; - }, - duration: function(duration) { - this.opt.duration = duration; - return this; - }, - delay: function(interval) { - this.opt.interval = interval; - return this; - }, - done: function() { - for (var o in this.info) { - for (var i = 0, l = this.els.length; i < l; i++) { - this.els[i].css(o, this.info[o].to + this.info[o].unit); - } - } - this.info = {}; - if (this.opt.onDone) this.opt.onDone(); - }, - from: function(type, number) { - if (!this.info[type]) { - this.info[type] = {}; - } - this.info[type].from = number; - return this; - }, - to: function(type, number) { - if (!this.info[type]) { - this.info[type] = {}; - } - this.info[type].to = number; - return this; - }, - go: function() { - this.getAnimInfo(); - this.inAnim = true; - if (this.iTimer) { - clearTimeout(this.iTimer); - } - this.compute(); - return this; - }, - stop: function() { - this.pause(); - this.counter = 0; - return this; - }, - pause: function() { - if (this.inAnim) { - clearTimeout(this.iTimer); - } - this.getAnimInfo(); - return this; - }, - resume: function() { - this.compute(); - }, - onDone: function(func) { - this.opt.onDone = func; - return this; - } - } - }); - __mod__[__id__] = function(els, opt) { - return new Anim({ - els: isArray(els) ? els : [ els ] - }); - }; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/anim/create", (_M_["platform/anim/create"] = {}) && _M_); - -_M_["platform/dollar"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var _$ = __mod__["jquery/cmd/sizzle"](); - var _Element = __mod__["platform/element/element"](); - var isWindow = function(win) { - return win && typeof win === "object" && "setInterval" in win; - }; - var init = function(selector, context) { - if (!selector) { - return null; - } - if (_Element.isElement(selector)) { - return selector; - } - if (typeof selector === "string") { - var ele = _$(selector, context); - if (ele.length > 0) { - return new _Element(ele); - } else { - return null; - } - } else if (selector.nodeType === 9 || selector.nodeType === 1 || isWindow(selector)) { - return new _Element([ selector ]); - } - return null; - }; - __mod__[__id__] = init; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/dollar", (_M_["platform/dollar"] = {}) && _M_); - -_M_["platform/anim/tween"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var tween = { - Linear: function(t, b, c, d) { - return c * t / d + b; - }, - Quad: { - easeIn: function(t, b, c, d) { - return c * (t /= d) * t + b; - }, - easeOut: function(t, b, c, d) { - return -c * (t /= d) * (t - 2) + b; - }, - easeInOut: function(t, b, c, d) { - if ((t /= d / 2) < 1) return c / 2 * t * t + b; - return -c / 2 * (--t * (t - 2) - 1) + b; - } - }, - Cubic: { - easeIn: function(t, b, c, d) { - return c * (t /= d) * t * t + b; - }, - easeOut: function(t, b, c, d) { - return c * ((t = t / d - 1) * t * t + 1) + b; - }, - easeInOut: function(t, b, c, d) { - if ((t /= d / 2) < 1) return c / 2 * t * t * t + b; - return c / 2 * ((t -= 2) * t * t + 2) + b; - } - }, - Quart: { - easeIn: function(t, b, c, d) { - return c * (t /= d) * t * t * t + b; - }, - easeOut: function(t, b, c, d) { - return -c * ((t = t / d - 1) * t * t * t - 1) + b; - }, - easeInOut: function(t, b, c, d) { - if ((t /= d / 2) < 1) return c / 2 * t * t * t * t + b; - return -c / 2 * ((t -= 2) * t * t * t - 2) + b; - } - }, - Quint: { - easeIn: function(t, b, c, d) { - return c * (t /= d) * t * t * t * t + b; - }, - easeOut: function(t, b, c, d) { - return c * ((t = t / d - 1) * t * t * t * t + 1) + b; - }, - easeInOut: function(t, b, c, d) { - if ((t /= d / 2) < 1) return c / 2 * t * t * t * t * t + b; - return c / 2 * ((t -= 2) * t * t * t * t + 2) + b; - } - }, - Sine: { - easeIn: function(t, b, c, d) { - return -c * Math.cos(t / d * (Math.PI / 2)) + c + b; - }, - easeOut: function(t, b, c, d) { - return c * Math.sin(t / d * (Math.PI / 2)) + b; - }, - easeInOut: function(t, b, c, d) { - return -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b; - } - }, - Expo: { - easeIn: function(t, b, c, d) { - return t == 0 ? b : c * Math.pow(2, 10 * (t / d - 1)) + b; - }, - easeOut: function(t, b, c, d) { - return t == d ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b; - }, - easeInOut: function(t, b, c, d) { - if (t == 0) return b; - if (t == d) return b + c; - if ((t /= d / 2) < 1) return c / 2 * Math.pow(2, 10 * (t - 1)) + b; - return c / 2 * (-Math.pow(2, -10 * --t) + 2) + b; - } - }, - Circ: { - easeIn: function(t, b, c, d) { - return -c * (Math.sqrt(1 - (t /= d) * t) - 1) + b; - }, - easeOut: function(t, b, c, d) { - return c * Math.sqrt(1 - (t = t / d - 1) * t) + b; - }, - easeInOut: function(t, b, c, d) { - if ((t /= d / 2) < 1) return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b; - return c / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + b; - } - }, - Elastic: { - easeIn: function(t, b, c, d, a, p) { - if (t == 0) return b; - if ((t /= d) == 1) return b + c; - if (!p) p = d * .3; - if (!a || a < Math.abs(c)) { - a = c; - var s = p / 4; - } else var s = p / (2 * Math.PI) * Math.asin(c / a); - return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * 2 * Math.PI / p)) + b; - }, - easeOut: function(t, b, c, d, a, p) { - if (t == 0) return b; - if ((t /= d) == 1) return b + c; - if (!p) p = d * .3; - if (!a || a < Math.abs(c)) { - a = c; - var s = p / 4; - } else var s = p / (2 * Math.PI) * Math.asin(c / a); - return a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * 2 * Math.PI / p) + c + b; - }, - easeInOut: function(t, b, c, d, a, p) { - if (t == 0) return b; - if ((t /= d / 2) == 2) return b + c; - if (!p) p = d * .3 * 1.5; - if (!a || a < Math.abs(c)) { - a = c; - var s = p / 4; - } else var s = p / (2 * Math.PI) * Math.asin(c / a); - if (t < 1) return -.5 * a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * 2 * Math.PI / p) + b; - return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * d - s) * 2 * Math.PI / p) * .5 + c + b; - } - }, - Back: { - easeIn: function(t, b, c, d, s) { - if (s == undefined) s = 1.70158; - return c * (t /= d) * t * ((s + 1) * t - s) + b; - }, - easeOut: function(t, b, c, d, s) { - if (s == undefined) s = 1.70158; - return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b; - }, - easeInOut: function(t, b, c, d, s) { - if (s == undefined) s = 1.70158; - if ((t /= d / 2) < 1) return c / 2 * t * t * (((s *= 1.525) + 1) * t - s) + b; - return c / 2 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2) + b; - } - }, - Bounce: { - easeIn: function(t, b, c, d) { - return c - tween.Bounce.easeOut(d - t, 0, c, d) + b; - }, - easeOut: function(t, b, c, d) { - if ((t /= d) < 1 / 2.75) { - return c * 7.5625 * t * t + b; - } else if (t < 2 / 2.75) { - return c * (7.5625 * (t -= 1.5 / 2.75) * t + .75) + b; - } else if (t < 2.5 / 2.75) { - return c * (7.5625 * (t -= 2.25 / 2.75) * t + .9375) + b; - } else { - return c * (7.5625 * (t -= 2.625 / 2.75) * t + .984375) + b; - } - }, - easeInOut: function(t, b, c, d) { - if (t < d / 2) return tween.Bounce.easeIn(t * 2, 0, c, d) * .5 + b; else return tween.Bounce.easeOut(t * 2 - d, 0, c, d) * .5 + c * .5 + b; - } - } - }; - __mod__[__id__] = tween; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/anim/tween", (_M_["platform/anim/tween"] = {}) && _M_); - -_M_["platform/browser/supportFixed"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var ua = __mod__["platform/browser/ua"](); - var suppordFixed = ua.ios && parseFloat(ua.version) >= 5 || ua.android && parseFloat(ua.version) > 2.1; - __mod__[__id__] = suppordFixed; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/browser/supportFixed", (_M_["platform/browser/supportFixed"] = {}) && _M_); - -_M_["platform/browser/getOS"] = function(id, module) { - return function() { - if (!module[id].executed) { - var exports = function(__id__, __mod__) { - var getOS = function() { - var sUserAgent = navigator.userAgent; - var isWin = /win/i.test(navigator.platform); - var isMac = /mac/i.test(navigator.platform); - if (isMac) { - return "Mac"; - } - var isUnix = navigator.platform == "X11" && !isWin && !isMac; - if (isUnix) { - return "Unix"; - } - if (isWin) { - var isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") > -1; - if (isWin2K) { - return "Win2000"; - } - var isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows XP") > -1; - if (isWinXP) { - return "WinXP"; - } - var isWin2003 = sUserAgent.indexOf("Windows NT 5.2") > -1 || sUserAgent.indexOf("Windows 2003") > -1; - if (isWin2003) { - return "Win2003"; - } - var isWinVista = sUserAgent.indexOf("Windows NT 6.0") > -1 || sUserAgent.indexOf("Windows Vista") > -1; - if (isWinVista) { - return "WinVista"; - } - var isWin7 = sUserAgent.indexOf("Windows NT 6.1") > -1 || sUserAgent.indexOf("Windows 7") > -1; - if (isWin7) { - return "Win7"; - } - return "Win"; - } - return "None"; - }; - __mod__[__id__] = getOS; - }(id, module); - if (exports == undefined) { - exports = module[id]; - } - module[id] = function() { - return exports; - }; - module[id].executed = true; - } - return module[id](); - }; -}("platform/browser/getOS", (_M_["platform/browser/getOS"] = {}) && _M_); - -if (typeof define !== "undefined") { - define("lib", [], function(require, exports, module) { - module.exports = _M_["lib"](); - }); -} - -_M_["lib"](); -//Qiyi plugin -(function(host, global) { - global.Qiyi = global.Qiyi || {}; - var backupQ = global.Q; - var Q = global.Q = global.Qiyi; - - //20150708: 由于seamJS2.1版本未更新1.2版本中的一个issue(firstModuleInPackage),因此需要下面临时解决方案。广告同学会检测下值。 - define.isQiyi = true; - - //hack 解决IE下面不支持自定义标签(会自动闭合,不匹配闭合标签)的问题,qchunk为点击地图所需自定义元素 - try{ - document.createElement("qchunk"); - }catch(e){ - } - - var siteDomain = (function(w){ - var domainLevel = 2; - var domains = w.location.hostname.split("."); - domains = domains.slice(domains.length - domainLevel); - return domains.join("."); - })(global); - - Q.siteDomain = siteDomain; - - try{ - global.document.domain = siteDomain; - }catch(e){} - - //生成videoevent - Q.videoEventID = global.videoEventID = (function(){ - return Q.crypto.md5(+(new Date())+ Math.round(Math.random() * 2147483647)+ ''); - })(); - Q.getVideoEventID = global.getVideoEventID = function(){ - Q.videoEventID = global.videoEventID = Q.crypto.md5(+(new Date())+ - Math.round(Math.random() * 2147483647)+ ''); - }; - //生成webevent - Q.webEventID = global.webEventID = (function(){ - return Q.crypto.md5(+(new Date())+ Math.round(Math.random() * 2147483647)+ ''); - })(); - - //START----------页面的性能统计pingback代码开始-----------------START// - var perf = {}, - perfCookieKey = "TQC002", - perfCookieOptions = { - domain: ".iqiyi.com", - path: "/", - expire: 365 * 24 * 3600 * 1000 - }, - performanceLog, - lastPerformanceLog = Q.cookie.get(perfCookieKey); - - var perfKeyMap = { - "coreReady":"tm1", - "playerReady": "tm2", - "clearPluginReady": "tm3", - "playerAuthReady": "tm4", - "domReady": "tm5", - "resourceReady": "tm6", - "jobLoadReady": "tm7", - "jobCheckReady": "tm8", - "jobInitReady":"tm9", - "jobExecReady": "tm10", - "qaLoadReady": "tm11", - "comscoreLoadReady": "tm13", - "playIfRes":"tm14", - "adIfRes":"tm15" - }; - var startedKeyMap = {}; - var addedKeyMap = {}; //记录已经added的key,已经added的不能重复add - var perfKeys = ["tm1", "tm2", "tm3", "tm4", "tm5", "tm6", "tm7", "tm8", "tm9", - "tm10", "tm11","tm13","tm14","tm15"]; - var remainingPerfKeys; - - perf.queryToJson = function(query){ - var params = query.split("&"), - len = params.length, - result = {}, - i = 0, key, value, item, param; - for (;i < len; i++) { - if (!params[i]) { - continue; - } - param = params[i].split("="); - key = param.shift(); - value = param.join("="); - item = result[key]; - if ("undefined" == typeof item) { - result[key] = value; - } else if (Q.array.isArray(item)) { - item.push(value); - } else { - result[key] = [ item, value ]; - } - } - return result; - }; - perf.jsonToQuery = Q.url.jsonToQuery; - - perf.get = function(key){ - if(key){ - key = perfKeyMap[key] || key; - return performanceLog && performanceLog[key]; - } - return performanceLog; - }; - perf.send = function(query){ - var img = new Image(); - img.onload = function(){ - img.onload = null; - img = null; - }; - img.src = '//msg.qy.net/tmpstats.gif?' + query + "&_=" + (+new Date()); - }; - perf.QOEWhiteList = { - '//www.iqiyi.com/': true, - '//www.iqiyi.com/dianshiju/': true, - '//www.iqiyi.com/dianying/': true, - '//vip.iqiyi.com/': true - }; - perf.QOEWhitePGC = '//www.iqiyi.com/v_[a-z0-9]+.html';//http://www.iqiyi.com/v_19rrlt6iw8.html - perf.QOEWhiteUGC = '//www.iqiyi.com/w_[a-z0-9]+.html';//http://www.iqiyi.com/w_19rt378555.html - - //检查是否需要发送QOE统计 - perf.checkQOE = function(performanceLog){ - var _purl = performanceLog.purl; - if(!_purl){ - return false; - } - var _index = _purl.indexOf('?'); - _purl = _index > 0 ? _purl.substring(0, _index) : _purl; - var _m = _purl.match(perf.QOEWhitePGC); - if(!perf.QOEWhiteList[_purl] && !_m){ - return false; - } - //得到一个随机数,取值范围为[0~100)。取1/100的量来做QOE统计。 - return Math.round(Math.random()*100) == 5; - }; - perf.sendQOEPingback = function(performanceLog){ - var plog = performanceLog; - var qoeParam = [ - // 'type=qoe', - // 'pla=' + (plog.pla || ""), //平台:pcweb发11,h5发22 - //'uid=' + (plog.uid || ""), //匿名用户id - //'ppuid=' + (plog.ppuid || ""),//登录用户id - // 'brs=' + (plog.brs || ""), - 'groupname=www_page_' + (Q.PageInfo.jobName || plog.purl)//页面类型 - // 'purl=' + (plog.purl || "")//页面url - ]; - var performance = window.performance; - if (!performance) { - return; - } - var timing = performance.timing; - if (!timing) { - return; - } - var delta = function(prop){ - var val = timing[prop]; - if(val && !isNaN(val)){ - return val - timing.navigationStart; - } - return 0; - }; - qoeParam.push('htmlloaded=' + delta('responseStart'));//文档加载完成时间 - qoeParam.push('lib=' + plog.tm1.split(',')[0]);//lib文件加载时间 - qoeParam.push('jobloaded=' + plog.tm7.split(',')[0]);//job文件加载时间 - qoeParam.push('qa=' + plog.tm11.split(',')[0]);//qa文件加载时间 - qoeParam.push('comscore=' + plog.tm13.split(',')[0]);//comscore文件加载时间 - // qoeParam.push('hm=');//hm文件加载时间 - // qoeParam.push('iwt=');//iwt文件加载时间 - qoeParam.push('jobcheck=' + plog.tm8.split(',')[0]);//job文件逻辑检查时间 - qoeParam.push('jobinit=' + plog.tm9.split(',')[0]);//job文件初始化时间 - qoeParam.push('jobexe=' + plog.tm10.split(',')[0]);//job文件执行时间 - - var img = new Image(); - img.onload = function(){ - img.onload = null; - img = null; - }; - img.src = '//activity.m.iqiyi.com/qoe.gif?' + qoeParam.join('&') + "&_=" + (+new Date()); - }; - perf.init = function(){ - perf.lastPerformanceLog = performanceLog || lastPerformanceLog; - performanceLog = {}; - performanceLog.type = "jspfmc140109"; - performanceLog.pla = ''; - if(siteDomain.match(/pps/)){ - performanceLog.pla = '20'; - } - if(Q.browser && Q.browser.iPad){ - performanceLog.pla += "21"; - }else{ - performanceLog.pla += "11"; - } - perf.perfStart = global.__qlt && global.__qlt.statisticsStart || +new Date(); - performanceLog.uid = Q.cookie.get("QC005") || Q.cookie.get("QC006") || ""; - performanceLog.ppuid = Q.cookie.get("P00003") || ""; - performanceLog.brs = (function(){ - var brs = ["IE6", "IE7", "IE8", "IE9", "IE10", "IE11", "IE", "CHROME", "SAFARI", - "OPERA", "ff"]; - for(var i = 0, ilen = brs.length; i < ilen; i++){ - if(Q.browser[brs[i]] === true){ - return brs[i]; - } - } - return navigator.userAgent; - })(); - if(global.__qlt){ - global.__qlt.brs = performanceLog.brs || ""; - } - - performanceLog.pgtype = global.__qlt && global.__qlt.pgtype || "";// TODO cms - - var i = location.href.indexOf("#"); - performanceLog.purl = i == -1 ? location.href : location.href.substring(0, i); - performanceLog.cid = global.__qlt && global.__qlt.cid || "";//频道id,cms - performanceLog.tmplt = global.__qlt && global.__qlt.tmplt || ""; //模板字段 - if(Q.browser && Q.browser.iPad){ - perfKeys.splice(perfKeys.indexOf("tm3"), 1);//pad不需要clearSwf - } - // 影视大全各频道页type - var ys_p = [ - 'ysdq-hm', //影视大全首页 - 'ysdq-cnl', //影视大全频道首页 - 'ysdq-lst', //影视大全list页 - 'ysdq-alb', //影视大全专辑页 - 'ysdq-str' //影视大全明星页 - ]; - if(performanceLog.pgtype == "home" || performanceLog.pgtype == "index"){//频道首页不需要播放器ready,不需要鉴权 - perfKeys.splice(perfKeys.indexOf("tm2"), 1); - perfKeys.splice(perfKeys.indexOf("tm4"), 1); - perfKeys.splice(perfKeys.indexOf("tm5"), 1); - perfKeys.splice(perfKeys.indexOf("tm14"), 1); - perfKeys.splice(perfKeys.indexOf("tm15"), 1); - }else if(performanceLog.pgtype == "play"){ - if(!Q.browser.iPad){//只有pad 上的播放页 需要鉴权 - perfKeys.splice(perfKeys.indexOf("tm4"), 1); - perfKeys.splice(perfKeys.indexOf("tm5"), 1); - perfKeys.splice(perfKeys.indexOf("tm14"), 1); - perfKeys.splice(perfKeys.indexOf("tm15"), 1); - } - } else if (ys_p.indexOf(performanceLog.pgtype) != -1){ - // 影视大全性能统计 - perfKeys.splice(perfKeys.indexOf("tm2"), 1); - perfKeys.splice(perfKeys.indexOf("tm4"), 1); - perfKeys.splice(perfKeys.indexOf("tm13"), 1); - perfKeys.splice(perfKeys.indexOf("tm14"), 1); - perfKeys.splice(perfKeys.indexOf("tm15"), 1); - } - remainingPerfKeys = perfKeys.length; - //把perf和performanceLog挂到window.__qlt命名空间上 - if(global.__qlt){ - global.__qlt.performanceLog = performanceLog; - for(var p in perf){ - if(perf.hasOwnProperty(p)){ - global.__qlt[p] = perf[p]; - } - } - var savePerfLogToCookie = function(e){ - if(remainingPerfKeys > 0 && performanceLog){ - Q.cookie.set(perfCookieKey, perf.jsonToQuery(performanceLog), perfCookieOptions); - } - }; - if(Q.browser && Q.browser.iPad){//pad的safari没有onbeforeunload事件 - Q.$(window).on("unload", savePerfLogToCookie); - }else{ - Q.$(window).on("beforeunload", savePerfLogToCookie); - } - } - }; - - perf.clear = function(){ - Q.cookie.remove(perfCookieKey, {domain: perfCookieOptions.domain, path: perfCookieOptions.path}); - }; - - perf.start = function(key){ - if(!key){ - return; - } - key = perfKeyMap[key] || key; - if(startedKeyMap[key]){ - return; - } - startedKeyMap[key] = true; - performanceLog[key] = +new Date() - perf.perfStart; - - }; - - perf.end = function(key){ - if(!key){ - return; - } - var endTimestamp = +new Date() - perf.perfStart, - mappedKey = perfKeyMap[key], - startTimestamp = mappedKey && performanceLog[mappedKey]; - if(mappedKey && startTimestamp){ - delete performanceLog[mappedKey];//此时mappedKey存的是startTimestamp,把他先删掉再添加 - }else{ - startTimestamp = performanceLog[key]; - } - - var val; - if(startTimestamp){ - val = endTimestamp - startTimestamp; - val = val + "," + startTimestamp; - }else{ - val = endTimestamp + ""; - } - - perf.add(key, val); - - }; - - perf.add = function(key, val){ - if(addedKeyMap[key]) { - return; - } - addedKeyMap[key] = true; - - if(!key){ - return; - } - - try{ - var mappedKey = perfKeyMap[key]; - var checkRemaining = false; - if(mappedKey && !performanceLog[mappedKey]){ - remainingPerfKeys--; - checkRemaining = true; - } - mappedKey = mappedKey || key; - if(!val){ - val = (+new Date()) - perf.perfStart; - val = val + ",0"; - } - performanceLog[mappedKey] = val; - if(checkRemaining && remainingPerfKeys === 0){ - perf.send(perf.jsonToQuery(performanceLog)); - //QOE项目,目前仅针对大首页发送QOE统计 @zhengwen - if(perf.checkQOE(performanceLog)){ - perf.sendQOEPingback(performanceLog); - } - - perf.clear(); - if(window.__qlt){ - window.__qlt.lastPerformanceLog = lastPerformanceLog = performanceLog; - window.__qlt.performanceLog = performanceLog = {}; - } - } - }catch(e){ - if(global.console){ - global.console.error(e); - } - } - - }; - - //一上来先检查上一个页面的performanceLog,发送到服务器,清空,并初始化当前页面的performanceLog - (function checkLastPerformenceLog(){ - if(lastPerformanceLog){ - try{ - perf.send(lastPerformanceLog); - }catch(e){ - lastPerformanceLog = e; - if(global.console && global.console.error){ - global.console.error(e); - } - } - } - perf.clear(); - if(!global.__qlt){ - return; - } - perf.init(); - //START-------- W3C Navigation Timing pingback代码开始 -------START// - if(!window.performance || !window.addEventListener){ - return; - } - window.addEventListener("load", function () { - window.setTimeout(function () { - var performance = window.performance; - if (!performance) { - return; - } - var timing = performance.timing; - if (!timing) { - return; - } - try { - //@note by liuyongsheng 2015-01-05 - //wiki http://wiki.qiyi.domain/pages/viewpage.action?pageId=18423355 - var plog = performanceLog; - if(!performanceLog.purl){ - plog = lastPerformanceLog; - } - var param = [ - 'type=jspfmc150104', - 'pla=' + (plog.pla || ""), - 'uid=' + (plog.uid || ""), - 'ppuid=' + (plog.ppuid || ""), - 'brs=' + (plog.brs || ""), - 'pgtype=' + (plog.pgtype || ""), - 'purl=' + (plog.purl || ""), - 'cid=' + (plog.cid || ""), - 'tmplt=' + (plog.tmplt || "") - ]; - - var delta = function(prop){ - var val = timing[prop]; - if(val && !isNaN(val)){ - return val - timing.navigationStart; - } - return 0; - }; - var tms = [ - 'tm1=' + delta('unloadEventStart'), - 'tm2=' + delta('unloadEventEnd'), - 'tm3=' + delta('redirectStart'), - 'tm4=' + delta('redirectEnd'), - 'tm5=' + delta('fetchStart'), - 'tm6=' + delta('domainLookupStart'), - 'tm7=' + delta('domainLookupEnd'), - 'tm8=' + delta('connectStart'), - 'tm9=' + delta('connectEnd'), - 'tm10=' + delta('secureConnectionStart'), - 'tm11=' + delta('requestStart'), - 'tm12=' + delta('responseStart'), - 'tm13=' + delta('responseEnd'), - 'tm14=' + delta('domLoading'), - 'tm15=' + delta('domInteractive'), - 'tm16=' + delta('domContentLoadedEventStart'), - 'tm17=' + delta('domContentLoadedEventEnd'), - 'tm18=' + delta('domComplete'), - 'tm19=' + delta('loadEventStart'), - 'tm20=' + delta('loadEventEnd') - ]; - param = param.concat(tms); - perf.send(param.join("&")); - perf.clear(); - } catch (e) { - } - }, 1); - }, false); - //END -------- W3C Navigation Timing pingback代码结束 -------END // - })();//end of checkLastPerformenceLog - - //END-----------页面的性能统计pingback代码结束------------------------END// - var verurl, liburl, protocol = window.location.protocol; - if(protocol === "file:"){ - protocol = "http:";//方便本地文件系统中打开页面时,js能正确加载 - } - Q.noConflict = function() { - global.Q = backupQ; - }; - Q.libReady = function(callback) { - liburl = Q.liburl || (protocol + '//static.iqiyi.com/js/lib/lib'); - callback(); - }; - Q.PageInfo = {}; - var targets = ['onload','domready','jsloaded','jobdone']; - var lefts = ['onload','domready','jsloaded','jobdone']; - var loadtime = {}; - var serverLogimgList = {}; - Q.LoadTime = { - add:function(data){ - if(typeof data == 'string'){ - targets[data] = true; - lefts[data] = true; - } - else if(Q.array.isArray(data)){ - data.forEach(function(name){ - if(targets.indexOf(name) == -1){ - targets.push(name); - lefts.push(name); - } - }); - } - }, - reset:function(arr){ - //可以用定制的指标数组覆盖默认指标数组 - arr = arr || targets; - lefts = []; - loadtime = {}; - lefts = lefts.concat(arr); - }, - loaded:function(name){ - var index = lefts.indexOf(name); - if(index != -1 && Q.PageInfo && Q.PageInfo.page_begin){ - var time = new Date(); - loadtime[name] = time - Q.PageInfo.page_begin; - lefts.splice(index,1); - } - if(lefts.length === 0){ - this._log(loadtime); - } - }, - _log:function(param){ - //暂时只发手机端数据 - if(Q.browser && (Q.browser.WP || Q.browser.android || Q.browser.iPhone)){ - var url = '//msg.qy.net/b'; - if(param){ - param.t = '11'; - param.ct = 'h5inttest'; - param.pf = '2'; - param.p = '20'; - param.p1 = '201'; - var pmap = { - 'domready':'tm1', - 'onload':'tm2', - 'jsloaded':'tm3', - 'jobdone':'tm4' - }; - var img = new Image(); - var key = 'slog_' + Math.floor(Math.random() * 2147483648).toString(36); - serverLogimgList[key] = img; - img.onload = img.onerror = img.onabort = function(){ - img.onload = img.onerror = img.onabort = null; - serverLogimgList[key] = null; - delete serverLogimgList[key]; - img = null; - }; - var params = []; - param.rn = Math.round(Math.random() * 2147483647); - for(var pname in param){ - var pvalue = param[pname]; - if(pmap[pname]){ - pname = pmap[pname]; - } - params.push(pname + '=' + encodeURIComponent(pvalue)); - } - img.src = url + '?' + params.join('&'); - } - } - } - }; - Q.loadTemplate = function(){}; - Q.load = function(jobName, callback, jobVersion) { - var projectName = Q.projectName || ''; - var rnd = parseInt(Math.random()*1E10,10).toString(36); - var _version = typeof callback === "string" ? callback : jobVersion; - var verurl = Q.verurl || (protocol + '//static.iqiyi.com/js/' + Q.projectName + '/' + jobName + '_ver' + - (_version ? ("." + _version) : "") + '.js?' + rnd); - if(!projectName) { - throw new Error('未指定projectName'); - } - seajs.config({ - base: protocol + '//static.iqiyi.com/js/' + projectName - }); - Q.libReady(function(lib) { - if(window.__qlt && window.__qlt.start){ - window.__qlt.start("jobLoadReady"); - } - seajs.use(verurl, function(ver) { - var loadJobExist = ver && ver.loadJob && (typeof ver.loadJob == "function"); - if(loadJobExist){ - ver.loadJob(jobName, function(pageJob) { - if(!pageJob){ - Q.http.json('//static.iqiyi.com/server_id', { - "data": {}, - "method": "GET", - "dataType": "jsonp", - "onsuccess": function(xhr, response){ - var _sverIP = ''; - if(response && response.code == "A00000"){ - _sverIP = response.data || ''; - } - var param = { - type: '508251_js', - pla: '11', - svrip: _sverIP, //请求服务器ip的地址 - jsurl: jobName, //出错的js文件名 - tn: Math.random() - }; - Q.log.server(param, '//msg.qy.net/tmpstats.gif'); - }, - onfailure: function(xhr, response){} - }); - } - - if(window.__qlt && window.__qlt.end){ - window.__qlt.end("jobLoadReady"); - } - Q.LoadTime.loaded('jsloaded'); - Q().ready(function(){ - if(pageJob && pageJob.addJobs) { - pageJob.addJobs(); - } - if(pageJob && pageJob.start) { - pageJob.start(); - Q.LoadTime.loaded('jobdone'); - } - }); - }); - Q.loadTemplate = function(templateName, callback){ - ver.loadTemplate.apply(ver, arguments); - }; - } - - }); - }); - }; - - if(window.addEventListener) { - window.addEventListener('load', function() { - if(window.__qlt && window.__qlt.add){ - window.__qlt.add("resourceReady"); - } - Q.isWindowLoaded = true; - }, false); - } - else if(window.attachEvent) { - window.attachEvent('onload', function() { - if(window.__qlt && window.__qlt.add){ - window.__qlt.add("resourceReady"); - } - Q.isWindowLoaded = true; - }); - } - //jobdone从job提到这里 - var JOB_DONE = false; - var doneList = Q.external.jobdone ? Q.external.jobdone.doneList : []; - - Q.event.customEvent.on("jobdone", function () { - JOB_DONE = true; - if(doneList.length){ - while(doneList.length){ - (doneList.shift())(); - } - } - }); - //对外统一提供jobdone接口 - Q.external.jobdone = function (fn) { - fn = fn || function(){}; - if(JOB_DONE){ - fn(); - } - else{ - doneList.push(fn); - } - return JOB_DONE; - }; - - //为了避免将Q的接口暴露在页面上,为customEvent再做一层封装 - Q.firstFrameLoaded = function(callback){ - Q.event.customEvent.on('swf_followUpNextLoad', callback); - }; - -})(seajs, this); - -(function(global){ - global.Q = global.Q || {}; - global.Q.player = global.Q.player || {}; - - /*flash加载完成标志位*/ - global.Q.player.loadSuccess = global.Q.player.loadSuccess || false; - - Q.event.customEvent.on("swf_playerLoadSuccess", function (data) { - if(window.__qlt && window.__qlt.end){ - window.__qlt.end("playerReady"); - } - global.Q.player.loadSuccess = true; - }); - - //Bug 102498 - 【提升主站DAU-最终播放页提速】最终播放页页面结构异步加载 - //缓存播放器发送的数据, 为后面“手机看”功能使用 - var _sData = global.Q.player._sData; - Q.event.customEvent.on("swf_playerStateChange", function(sdata) { - var _type = sdata && sdata.data && sdata.data.state; - var privateVideo = sdata.privateVideo; - if (_type == 'DataReady' || _type == 'Error') { - _sData = sdata; - } - }); - - Q.player.getVideoStatus = function(){ - return _sData; - }; - - var nav = global.navigator; - - /*初始hash有很多参数,这个是滚动到相应地方的功能*/ - Q.$(window).on("load", function(){ - var tempHash = global.location.hash; - var hashParam = Q.url.queryToJson(tempHash.substring(1)); - if(hashParam.scrollTo){ - global.location.hash ='#'+hashParam.scrollTo; - global.location.hash = tempHash; - } - }); - - /*demandPb pingback 广告库存那边的需求*/ - global.Q.player.demandPb = function(){ - var pf,p,p1; - if(Q.browser.android || Q.browser.iPhone || Q.browser.WP || Q.browser.ios){ - pf = 2; - p = 20; - p1 = 202; - } - else{ - pf = 1; - p = 10; - p1 = 101; - } - var pu = Q.cookie.get("P00003") || ''; - var jsuid = Q.cookie.get("QC006") || ''; - - if(Q.log && Q.log.server){ - Q.log.server({ - t:"11", - ct:'uwantplay', - pf:pf, - p:p, - p1:p1, - u:jsuid, - pu:pu - }, '//msg.qy.net/b'); - } - }; - - /*播放器触发前端发送pingback*/ - Q.event.customEvent.on("swf_requestJSSendPB", function (data) { - if(data.PBType === '1'){ - /*demandPb pingback 广告库存那边的需求*/ - global.Q.player.demandPb(); - } - }); - - /*新的as3 js广播交互函数*/ - var noticeList = Q.__callbacks__.iqiyi_player_notice ? - Q.__callbacks__.iqiyi_player_notice.list : {}; - - Q.__callbacks__.iqiyi_player_notice = function (data) { - try { - var ev = JSON.parse(data); - ev.type = 'swf_' + ev.type; - setTimeout(function(){ - try{ - var list = Q.__callbacks__.iqiyi_player_notice.list; - Q.event.customEvent.fire(ev); - list[ev.type] = [ev]; - } - catch(e){} - },0); - } catch (e) { - return; - } - }; - - Q.__callbacks__.iqiyi_player_notice.list = noticeList; - - /*老的as3 js广播交互函数*/ - global.lib = global.lib || {}; - global.lib.swf = global.lib.swf || {}; - global.lib.swf.notice = global.lib.swf.notice || function () {}; - var lib_swf_notice = global.lib.swf.notice; - var swfNoticeList = global.lib.swf.notice.list || {}; - global.lib.swf.notice = function (data) { - lib_swf_notice(data); - try { - var ev = JSON.parse(data); - ev.type = 'swf_' + ev.type; - setTimeout(function () { - try { - var list = global.lib.swf.notice.list; - Q.event.customEvent.fire(ev); - list[ev.type] = [ev]; - } - catch (e) { - } - }, 0); - } catch (e) { - return; - } - //对flash事件增加swf前缀,以便于js的自定义事件区分开,防止事件冲突 - }; - - global.lib.swf.notice.list = swfNoticeList; - - var outsite = (function(){ - var wList = []; //跨域白名单。e.g. ['jd.com'] - var res; - try{ - res = !window.parent.location.href; - } - catch(e){ - if(wList.length === 0){ - res = true; - } - while(wList.length){ - if(document.referrer.indexOf(wList.pop()) === -1){ - res = true; - break; - } - } - } - return res + ''; - })(); - - var wMode = (function(){ - //safari IE chrome@xp & naapi@chrome 使用透明(因为iframe垫片无效) -// var PPAPIflash = (function(m){ -// try{ -// var type = 'application/x-shockwave-flash'; -// var name = m && m[type] && m[type].enabledPlugin && m[type].enabledPlugin.filename; -// if(name == "pepflashplayer.dll" || name == "libpepflashplayer.so"){ -// return 1; -// } -// }catch(e){} -// return 0; -// })(nav.mimeTypes); -// -// if(Q.browser.ff || Q.browser.SAFARI || Q.browser.IE -// || (Q.browser.CHROME && (Q.browser.getOS()=="WinXP" || !PPAPIflash))){ -// return 'Opaque'; -// } - //else{ - return 'Opaque'; - // } - })(); - - global.Q.player.wMode = wMode; - - //object.extend快捷函数 - var shortcutFn = function(t,s){ - if(s){ - return true; - } - }; - - //字符串防xss安全函数 - var safely = function(str){ - return str.replace(/([<>])/g,''); - }; - - //创建video标签 - var createH5 = function(isLivePlayer, opt,vars){ - var wrapper = opt.container; - var video = Q.element.Element.create({tagName:'video'}); - wrapper.insertBefore(video,null); - - //--------为了加快速度的hack------start - var ic = new Q.ic.InfoCenter({ - moduleName: 'Q_player_create' - }); - Q.ic.InfoCenter.whatToSave('Q_player_create'); - var errors = { - 'A00004': '数据不存在', - 'A00001': '参数错误', - 'A00010': '调用passport获取用户信息失败', - 'A00011': '调用会员鉴权接口失败', - 'A00013': 'IP限制' - }; - var status = { - 'A00012': '需要前端请求广告mixer接口', - 'A00015': '会员鉴权成功', - 'A00000': '不请求广告直接播放' - }; - video[0].getPreloader = function(fn){ - var srcData = video[0].srcData; - if(srcData){ - delete video[0].srcData; - fn(srcData); - delete video[0].getPreloader; - } - else{ - video[0].getPreloader.cb = fn; - } - }; - if(window.__qlt && window.__qlt.start){ - window.__qlt.start("playerAuthReady"); - } - var cupid; - if(Q.PageInfo){ - cupid = Q.PageInfo.adPlayerId; - } - var data = { - 'uid': Q.cookie.get('P00003') || '', - 'cupid': cupid || '', - 'type' : (Q.browser.iPad || Q.browser.iPhone || navigator.userAgent.match(/miuivideo\//i)) ? 'm3u8' : 'mp4' - }; - if (Q.cookie.get('QC004') === '0') { - Q.object.extend(data, {nolimit: 1}); - } - - //判断页面是否存在 weorjjigh,若存在则传参(tvid),接收返回对象, - //将此对象传给tmts接口 - var pageOpt = {}; - - Q.object.extend(data, pageOpt); - - // 点播和直播播放器获取播放地址的接口不同 - if (isLivePlayer) { - var programId = vars.tvId || ''; - var channelId = vars.channelId || ''; - var liveType; - - //判断页面是否存在 cmd5xtmts,若存在接收返回对象, - //将此对象传给tmts接口 - var auth; - try { - if (window.cmd5xlive) { - auth = window.cmd5xlive(); - } - } catch (e) { - } - - var liveFail = function(code) { - var errorTmpl = '
' + - '

很抱歉

{{error}}

' + - ((code && code.charAt(0) !== 'L') ? ('错误代码: ' + code + '') : '') + - '
'; - - // http://wiki.qiyi.domain/pages/viewpage.action?pageId=52049111 - var errorMsg = ''; - switch (code) { - case 'A00001': - case 'A00002': - case 'A00003': - case 'A00004': - case 'A00005': - errorMsg = '找不到视频啦,请观看其他精彩视频'; - break; - case 'A00110': - errorMsg = '由于版权限制,当前视频无法观看'; - break; - case 'A00111': - errorMsg = '由于版权限制,您所在的地区暂时无法观看该视频'; - break; - case 'L00001': - errorMsg = '直播尚未开始,敬请期待!'; - break; - case 'L00002': - errorMsg = '直播已结束,感谢关注!'; - break; - case 'L00003': - errorMsg = '没有直播流啦,请观看其他精彩视频'; - break; - case 'L00004': - errorMsg = '直播信息出错啦,请观看其他精彩视频'; - break; - case 'E00000': - errorMsg = '网络请求超时或者网络出错啦'; - break; - } - - var temp = document.createElement('div'); - temp.innerHTML = errorTmpl.replace(/\{\{error}}/ig, errorMsg); - wrapper.insertBefore(temp.firstChild, null); - temp = null; - }; - - // 获取直播状态 - var getLiveStatus = function(progress) { - var status = 'unknown'; - - if (!isNaN(progress)) { - if (progress === 2) { - status = 'living'; - } else if (progress > 2) { - status = 'liveend'; - } else { - status = 'livebefore'; - } - } - - return status; - }; - - var url = '//live.video.iqiyi.com/jp/live'; - var options = { - lp: programId, - lc: channelId, - v: 0, - src: Q.browser.iPad ? '03020031010000000000' : '02020031010000000000', - t: new Date().getTime(), - uid: Q.cookie.get('P00003') || '', - rateVers: 'PAD_WEB_QIYI' - }; - - if (auth) { - Q.object.extend(options, auth); - } - - ic.log('[预加载]我要提前去请求直播src咯!'); - Q.ajax({ - url: url, - data: options, - dataType: 'jsonp', - timeout: 20 * 1000, - beforeSend: function(xhr, settings) { - var parse = function(url) { - var reHost = /(\w+):\/\/([^\/:]+):?(\d*)((?:\/|$)[^?#]*)/; - var parts = url.match(reHost); - if (parts) { - var protocol = parts[1]; - var host = parts[2]; - var port = parts[3]; - var path = parts[4]; - return {protocol: protocol, host: host, port: port, path: path}; - } - - return null; - }; - - var url = settings.url; // .replace(/\?(.+)=\?/, '?$1=' + jsonpCallback) - var host = parse(url).host; - - try { - if (window.cmd5x) { - url += '&vf=' + window.cmd5x(url.replace(new RegExp('^https?:\/\/'+ host, 'ig'), '')); - } - } catch (e) { - } - - settings.url = url; - }, - success: function (data) { - if (data.code === 'A00000') { - try { - var liveStatus = getLiveStatus(parseInt(data.data.program.progress, 10)); - liveType = data.data.type; - - if (liveStatus === 'living') { - // 正在直播 - if (data.data.streams) { - if (window.__qlt && window.__qlt.end) { - window.__qlt.end("playIfRes"); - } - - // 此处不进行 replace(/^http:/ig, '') 替换,由live接口决定前缀 - video[0].setAttribute('src', data.data.streams[0].url.replace('.flv', '.m3u8')); - video[0].load(); - } else { - liveFail('L00003'); - } - } else if (liveStatus === 'livebefore') { - // 直播未开始 - liveFail('L00001'); - } else if (liveStatus === 'liveend') { - // 直播结束 - liveFail('L00002'); - } else { - // 直播状态出错 - liveFail('L00004'); - } - } catch (e) { - // 直播状态出错 - liveFail('L00004'); - } - } else { - //超时 E00000 - ic.error('[预加载]出错啦,你的错误信息是:' + (errors[data.code] || data.code)); - liveFail(data.code && data.code.code ? data.code.code : data.code); - } - if (video[0].getPreloader.cb) { - ic.log('[预加载]页面底部的js去获得src了'); - video[0].getPreloader.cb(data); - delete video[0].getPreloader; - } else { - ic.log('[预加载]预加载已经拿到了src地址'); - video[0].srcData = data; - } - - ic.log('[预加载]end,拿到的srcData:' + JSON.stringify(data)); - }, - failure:function () { - ic.error('[预加载]出错啦,你的错误信息是:超时'); - var data = {code:'E00000'}; - - liveFail(data.code); - if(video[0].getPreloader.cb){ - video[0].getPreloader.cb(data); - delete video[0].getPreloader; - } - else{ - video[0].srcData = data; - } - } - }); - - // 直播VV - (function(win, doc, video) { - var playStatus; - var pingback = (function() { - var uuidTick = 0; - - return { - veid: '', - getRfr: function() { - var rfr = doc.referrer; - return rfr; - }, - getUuid: function() { - return Q.crypto.md5(win.navigator.userAgent + - doc.cookie + Math.random() + - new Date().getTime() * uuidTick++); - }, - getJsuid: function() { - var self = this; - var uid = Q.cookie.get('QC006'); - if (!uid) { - self.__newuser = true; - var save = function(uuid) { - Q.cookie.set('QC006', uuid, { - expires: 365 * 24 * 60 * 60 * 1000, - path: '/', - domain: 'iqiyi.com' - }); - }; - uid = this.getUuid(); - save(uid); - } - return uid; - }, - getWeid: function() { - return window.webEventID; - }, - - getUid: function() { - return this.getJsuid(); - }, - getPuid: function() { - return JSON.parse(Q.cookie.get("P00002") || "{}").uid || ""; - }, - getEid: function() { - var jsuid = ''; - if (!this.veid) { - jsuid = pingback.getJsuid(); - this.veid = Q.crypto.md5(jsuid + 'veid' + (new Date() * 1)); - } - return this.veid; - }, - getMsrc: function() { - var msrc = Q.url.getQueryValue(location.href, "msrc"); - if (msrc) { - Q.cookie.set("QC015", msrc); - } else { - msrc = Q.cookie.get('QC015'); - } - return msrc || ''; - }, - isNewUser: function() { - var isNewUser = '0'; - if (this.__newuser === true) { - isNewUser = '1'; - } else if (!Q.cookie.get('QC006')) { - isNewUser = '1'; - } - return isNewUser; - }, - getRandom: function() { - return Date.now(); - }, - send: function(url, data) { - Q.log.server(data, url || '//msg.qy.net/b'); - } - }; - })(); - - function VV(opts) { - this.player = opts.player; - this.bindEvent(); - } - - VV.prototype = { - send: function(options) { - var data = {}; - var platform = { - pf: 2, - p1: 202, - p: 20, - p2: 1012, - c1: 101221 - }; - data = Q.object.extend(data, options); - data = Q.object.extend(data, platform); - data.c2 = channelId; - data.lctype = liveType || ''; - data.livetype = 2; - data.ve = pingback.getEid(); //获取视频事件ID - data.ce = pingback.getWeid(); //获取页面事件ID - data.rfr = pingback.getRfr(); - data.purl = location.href; - data.r = programId || ''; - data.isdm = 0; - data.vfrm = Q.url.getQueryValue(location.href,'vfrm') || ''; - //判断是否为新用户必须要在获取用户ID的前面 - data.nu = pingback.isNewUser(); //判断是否新用户 - data.u = pingback.getUid(); //获取用户ID - data.pu = pingback.getPuid(); //获取登录用户ID - data.rn = pingback.getRandom(); //获取随机数 - data.ht = 0; // 0:免费视频 1:付费视频 - - try { - data.__sigC = window.cmd5ly(data.r + '' + data.p1 + '' + data.u + data.ve + 'ChEnYH0804FdadrrEDFf2016tT'); //龙源防作弊 - } catch (e) { - } - pingback.send(null, data); - }, - /* - * 发送开始即时pingback,即时策略参考wiki - * 1 第一次到15秒发送 - * 2 第一次到60s发送 - * 3 每120秒发送 - */ - sendTimingPingback: function(data) { - var _this = this; - var sum; - _this._sum = _this._sum || 0; - - if (_this._lastPlayTime) { - sum = parseInt(_this.player.currentTime, 10); - - if (sum === _this._sum) { - return; - } - _this._sum = sum; - - if (_this._sum == 15) { - _this.send({ - t: '2', - tm: 15 - }, data); - } - else if (_this._sum == 60) { - _this.send({ - t: '2', - tm: 60 - }, data); - } - else if (_this._sum % 120 === 0) { - _this.send({ - t: '2', - tm: 120 - }, data); - } - } - - _this._lastPlayTime = new Date().getTime(); - }, - sendStartPlayPingback: function(data) { - this.send({ - t: '15', - td: '' // 咨询了龙源,这里目前先发空 - }, data); - - // 这个pingback可能要挪到正片开播的时候发 - this.send({ - t: '1' - }, data); - }, - /* - * 发送播放结束pingback - */ - sendEndPlayPingback: function(data) { - this.send({ - t: '13' - }, data); - }, - sendActionPlayPingback: function(action) { - this.send({ - t: '5', - a: action - }); - }, - bindEvent: function() { - var _this = this; - var player = _this.player; - - this.__firstPlay = true; - - player.addEventListener('timeupdate', function() { - playStatus = 'playing'; - if (_this.__firstPlay && _this.player.currentTime > 0.5) { - _this.sendStartPlayPingback(); - _this.__firstPlay = false; - } - - _this.sendTimingPingback(); - }); - player.addEventListener('ended', function() { - playStatus = 'ended'; - _this.sendEndPlayPingback(); - }); - player.addEventListener('pause', function(e) { - playStatus = 'pause'; - _this.sendActionPlayPingback(1); - }); - // 继续播 - player.addEventListener('play', function(e) { - playStatus = 'play'; - if (!_this.__firstPlay) { - _this.sendActionPlayPingback(2); - } - }); - // waiting - player.addEventListener('waiting', function(e) { - playStatus = 'waiting'; - }); - // error - player.addEventListener('error', function(e) { - playStatus = 'error'; - }); - } - }; - - new VV({ - player: video - }); - })(window, document, video[0]); - } else { - ic.log('[预加载]我要提前去请求点播src咯,参数:'+ vars.tvId + ' --- '+ vars.vid + '---params:' +JSON.stringify(data)); - Q.http.json('//cache.m.iqiyi.com/jp/tmts/' + vars.tvId + '/' + vars.vid + '/',{ - data: data, - dataType: 'jsonp', - timeout: 20*1000, - onsuccess:function(xhr,data){ - if (data.code === 'A00000') { - if (data.data.ds in status) { - var now = new Date().getTime(); - var m3u = data.data.m3u; - if (opt.type === 'm3u8') { - if (m3u.indexOf('?') < 0) { - data.src = m3u + '?v=' + (now ^ 71717171); - } else { - data.src = m3u; - } - } else { - data.src = m3u; - } - data.status = data.data.ds; - } - } else { - //超时 E00000 - ic.error('[预加载]出错啦,你的错误信息是:' + (errors[data.code] || data.code)); - } - - - if(video[0].getPreloader.cb){ - ic.log('[预加载]页面底部的js去获得src了'); - video[0].getPreloader.cb(data); - delete video[0].getPreloader; - } - else{ - ic.log('[预加载]预加载已经拿到了src地址'); - video[0].srcData = data; - } - - ic.log('[预加载]end,拿到的srcData:' + JSON.stringify(data)); - }, - onfailure:function () { - ic.error('[预加载]出错啦,你的错误信息是:超时'); - var data = {code:'E00000'}; - if(video[0].getPreloader.cb){ - video[0].getPreloader.cb(data); - delete video[0].getPreloader; - } - else{ - video[0].srcData = data; - } - } - }); - } - //--------为了加快速度的hack-------over - - video.attr('id',opt.id); - video.attr('data-player-playerbody',opt.id); - video.attr('x-webkit-airplay',"allow"); - video.attr('height',opt.height); - video.attr('width',opt.width); - if(wrapper.attr('data-player-h5byobar') == 1){ - video.attr('controls','controls'); - } - var params=[]; - for(var i in vars){ - params.push(i.toLowerCase() + '=' + vars[i]); - } - video.attr('data-player-params',params.join('&')); - }; - - //创建flash - var createSwf = function(path,opt){ - var definitionID = opt.vars.vid; - //针对分享播放器做的兼容 - if(!opt.vars.isShare){ - delete opt.vars.vid; - } - delete opt.vars.isShare; - opt.vars['definitionID'] = definitionID; - Q.flash.insert(path,opt); - }; - - //发送pingback - var sendPingback = function(path,yhls){ - //demandPb pingback 广告库存那边的需求 flash h5 都需要有这个逻辑,flash在创建flash标签时发,switch片时发,接到flash调用时发;h5在每个片鉴权时发 - if((path || '').match(/player\.swf/i)){ - global.Q.player.demandPb(); - } - //播放器创建成功统计 - if(Q.log.server){ - try{ - Q.log.server({ - type:'yhls20130924', - usract:'sunkuotest', - tn:new Date()*1, - yhls:yhls, - fuid:Q.cookie.get('QC005') || '', - juid:Q.cookie.get('QC006') || '', - ua:nav.userAgent, - ver:(function(){ - var ver = ''; - try{ - ver = Q.flash.getVer.join('.'); - } - catch(e){ - } - return ver; - })(), - url:location.href - },'//msg.qy.net/tmpstats.gif'); - } - catch(e){} - } - }; - - //获取url上的参数 - global.Q.player.getQrParams = function(){ - var getUrlPar = function(query){ - var param = Q.url.queryToJson(query); - var vars = param.flashvars; - if(vars){ - vars = Q.url.queryToJson(safely(decodeURIComponent(vars))); - } - else{ - vars = {}; - } - //时间相关 - var shareStart = param['share_sTime'] || param['s']; - var shareEnd = param['share_eTime'] || param['e']; - //对特殊格式的时间做兼容 - var specialShare = shareStart && shareStart.match(/(\d*)-.*?=(\d*)/); - if(specialShare){ - shareStart = specialShare[1]; - shareEnd = specialShare[2]; - } - - var itemVars = { - //自动播放 - autoplay:param['autoplay'], - //是否为会员片 - isMember:param['ismember'], - //影片码流id - vid:param['videoid'] || param['vid'], - //视频id - tvId:param['tvid'], - //专辑id - albumId:param['albumid'], - //循环播放 - cyclePlay:param['cycleplay'], - //独播 - exclusive:param['exclusive'], - //奇艺自制 - qiyiProduced:param['qiyiProduced'], - //开始时间 - share_sTime:shareStart, - //结束时间 - share_eTime:shareEnd, - //是否为站外播放 - outsite:param['outsite'], - //丘比特广告id - cid:param['cid'], - //vv播放器参数 - vfrm:param['vfrm'] - }; - Q.object.extend(vars,itemVars,shortcutFn); - return vars; - }; - - var search = getUrlPar(safely(global.location.search.replace(/([<>])/g,''))); - var hash = getUrlPar(safely(global.location.hash.slice(1).replace(/([<>])/g,''))); - - Q.object.extend(search,hash,shortcutFn); - return search; - }; - - //获取元素上的参数 - global.Q.player.getElParams = function(wrapper){ - var attrVars = { - expandState:wrapper.attr('data-player-expandstate'), - albumId:wrapper.attr('data-player-albumid'), - tvId:wrapper.attr('data-player-tvid'), - vid:wrapper.attr('data-player-videoid'), - autoplay:wrapper.attr('data-player-autoplay'), - isMember:wrapper.attr('data-player-ismember'), - cyclePlay:wrapper.attr('data-player-cycleplay'), - exclusive:wrapper.attr('data-player-exclusive'), - qiyiProduced:wrapper.attr('data-player-qiyiProduced'), - share_sTime:wrapper.attr('data-player-startTime'), - share_eTime:wrapper.attr('data-player-endTime'), - hasbarrage:wrapper.attr('data-player-hasbarrage'), - openbarrage:wrapper.attr('data-player-openbarrage') - }; - - var params = Q.$('*[data-widget-flashplayerparam]'); - var adparams = Q.$('*[ data-widget-adparam]'); - var adurl,cid,path,customVars,baseVars={},isShare=false; - - //广告参数 - if(adparams && adparams.length){ - adparams.forEach(function(item){ - var cupid = Q.$(item).attr('data-adparam-cupid'); - var playerid = Q.$(item).attr('data-adparam-playerid'); - if(cupid){ - attrVars.adurl = cupid; - } - if(cid){ - attrVars.cid = playerid; - } - }); - } - - //flash参数 - if(params.length){ - params.forEach(function(item){ - item = Q.$(item); - var itemVars = item.attr('data-flashplayerparam-flashvars'); - //针对分享播放器做的兼容 - if(!isShare){ - isShare = item.attr('data-widget-flashplayerparam') === "share"; - } - if(itemVars){ - itemVars = Q.url.queryToJson(itemVars); - } - else{ - itemVars = {}; - } - Q.object.extend(baseVars,itemVars,shortcutFn); - path = item.attr('data-flashplayerparam-flashurl') || path; - }); - path = wrapper.attr('data-player-flashurl') || path; - } - //针对分享播放器做的兼容 - attrVars.isShare = isShare; - - customVars = wrapper.attr('data-player-flashvars'); - if(customVars){ - customVars = Q.url.queryToJson(customVars); - } - else{ - customVars = {}; - } - - //flashvar参数合并 - Q.object.extend(attrVars,baseVars,shortcutFn); - Q.object.extend(attrVars,customVars,shortcutFn); - - return { - 'path':path, - 'vars':attrVars - }; - }; - - //flash的默认参数 - global.Q.player.getDefParams = function(id){ - var qlt = window.__qlt; - var tmplt = ''; - var brs = ''; - var startTime = ''; - if(qlt){ - if(qlt.tmplt){ - tmplt = qlt.tmplt || ''; - } - if(qlt.brs){ - brs = qlt.brs || ''; - } - if(qlt.statisticsStart){ - startTime = qlt.statisticsStart || ''; - } - } - - return { - origin:id, - outsite:outsite, - P00001:Q.cookie.get("P00001"), - profileID: Q.cookie.get('P00PRU') || '', - profileCookie: Q.cookie.get('P00007') || '', - passportID:Q.cookie.get('P00003'), - yhls:(new Date()*1) + parseInt(Math.random() * 10e10,10), - playerCTime:(new Date())*1, - pageCTime:startTime, - pageTmpltType:tmplt, - browserType:brs, - webEventID:window.webEventID || '', - vipuser:Q.cookie.get("CM0001") || '' - }; - }; - - //对外创建播放器的入口 - global.Q.player.create = function(id,opts){ - //播放器创建成功时间统计(开始) - if(window.__qlt && window.__qlt.start){ - window.__qlt.start("playerReady"); - } - - //初始化参数 - var wrapper = Q.$('*[data-widget-player=' + id + ']'); - var opt = { - id:id, - height:'100%', - container:wrapper, - width:'100%' - }; - - //---集合flashvars参数---开始 - //播放相关的参数 - //ipad也会写到video标签上,有可能随着需求的增加出现冗余参数 - var qrVars = Q.player.getQrParams(); - var baseVars,path,elParams; - var vars = {}; - //如果用户要自定义参数,则不从页面上的元素读取任何参数 - if(opts && opts.vars){ - baseVars = opts.vars; - path = opts.path; - } - else{ - elParams = Q.player.getElParams(opt.container); - baseVars = elParams.vars; - path = elParams.path; - } - Q.object.extend(vars,baseVars,shortcutFn); - Q.object.extend(vars,qrVars,shortcutFn); - //---集合flashvars参数---结束 - - if (Q.browser.ios || Q.browser.android) { - createH5(!!(opts && opts.isLivePlayer), opt, vars); - //播放器创建成功时间统计(结束) - if (window.__qlt && window.__qlt.end) { - window.__qlt.end("playerReady"); - } - } else { - //---集合flash所需所有参数---开始 - var deVars = Q.player.getDefParams(opt.id); - Q.object.extend(vars,deVars,shortcutFn); - var params = { - 'wMode': global.Q.player.wMode - }; - - //自定义flash标签的params参数(bgcolor等) - if(opts && opts.params){ - Q.object.extend(params,opts.params,shortcutFn); - } - - //暂时不对外开放自定义properties - var properties = { - 'data-player-playerbody':opt.id - }; - - Q.object.extend(opt,{ - 'properties': properties, - 'params': params, - 'vars': vars - },shortcutFn); - //---集合flash所需所有参数---结束 - - //创建flash,不知道以后可能出现什么需求,暂时先提出去 - createSwf(path,opt); - //发送pingback - sendPingback(path,vars.yhls); - } - - }; - //Bug 196590 - 页面播放器参数优化一期(span标签动态创建) - global.Q.player.createSpan = function(param, positionID) { - var build = []; - build.push(''); - - var referenceNode = document.getElementById(positionID); - if (referenceNode) { - var tmpDiv = document.createElement('span'); - tmpDiv.innerHTML = build.join(''); - referenceNode.parentNode.insertBefore(tmpDiv.firstChild, referenceNode); - } - }; -})(this); - - - if(window.__qlt && window.__qlt.add){ - window.__qlt.add("coreReady"); - } -}; \ No newline at end of file diff --git a/mock/vip_cash1.0.css b/mock/vip_cash1.0.css deleted file mode 100644 index e5b035d..0000000 --- a/mock/vip_cash1.0.css +++ /dev/null @@ -1 +0,0 @@ -@charset "utf-8";.vip-cash{position:relative;width:650px;height:602px;background:#f4f4f4;color:#fff;font:12px/1.5 PingFangSC-Regular,Helvetica,Arial,'Microsoft Yahei',sans-serif}.vip-cash .icon{background-image:url(//www.iqiyipic.com/common/fix/vipcash/cash-icon.png);background-repeat:no-repeat}.vip-cash .cash-main{position:relative;width:100%;height:478px;padding:10px 0 14px;font-size:0;overflow:hidden}.vip-cash .cash-con{padding:0 14px;overflow:hidden}.vip-cash.overseas{height:530px}.cash-pca{margin:0;padding:0}.vip-cash *,.vip-cash :after,.vip-cash :before,.cash-pop-wrap *{margin:0;padding:0}.vip-cash a,.vip-cash a:hover,.vip-cash a:visited{color:#fff;text-decoration:none}.vip-cash :focus,.vip-cash a:active,.vip-cash:focus{outline:0 none}.vip-cash img{border:0;vertical-align:top}.vip-cash ul,.vip-cash ol{list-style:none}.vip-cash h1,.vip-cash h2,.vip-cash h3,.vip-cash h4,.vip-cash h5,.vip-cash h6{font-size:100%;font-weight:normal}.vip-cash em,.vip-cash i{font-style:normal}.vip-cash strong{font-weight:normal}.vip-cash button,.vip-cash input,.vip-cash select,.vip-cash textarea{font-family:inherit;font-size:100%;-webkit-appearance:none}.vip-cash button:focus,.vip-cash input:focus,.vip-cash select:focus,.vip-cash textarea:focus{outline:0}.dn{display:none!important}.cash-head{position:relative;background:#242424;background-image:url(//www.iqiyipic.com/common/fix/vipcash/cash-head-bg.jpg);background-repeat:no-repeat;padding:0 14px;font-size:0}.cash-head .cash-title{height:38px;line-height:38px}.cash-head .title-name{float:left}.cash-head .title-notice{float:left;height:38px;line-height:42px;overflow:hidden;margin-left:20px;opacity:.5}.cash-head .title-notice .notice,.cash-head .title-notice .notice a{color:#cdb07a;font-size:12px;padding:0}.cash-head .name-icon{display:inline-block;vertical-align:middle;width:22px;height:18px;color:#cdb07a;margin-right:6px}.cash-head .name-txt{display:inline-block;vertical-align:middle;font-size:15px;color:#cdb07a}.diamond .cash-head .name-txt{color:#eee}.tennis .cash-head .name-txt{color:#58a929}.cash-head .icon-close{position:absolute;right:20px;top:14px;width:12px;height:12px;background-position:-110px -70px;cursor:pointer}.cash-head .cash-info{height:40px;padding:8px 0 14px}.cash-head .info-details{float:left}.cash-head .info-pic{display:inline-block;vertical-align:middle;width:36px;height:36px;border:2px solid #cdb07a;border-radius:50%;margin-right:15px}.cash-head .info-user-wrap{display:inline-block;vertical-align:middle}.cash-head .user-info{height:20px;line-height:20px}.cash-head .user-name{float:left;font-size:16px;color:#b0b0b0;max-width:150px;height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:6px}.cash-head .qyv-rank{margin-top:-2px}.cash-head .qy-rank-vip{float:left;margin-right:6px}.cash-head .qy-rank-icon{float:left;width:22px;height:20px;margin-right:6px;background-size:cover;background-position:center}.cash-head .user-login{float:left;font-size:14px;color:#666;margin-right:6px}.cash-head .user-switch{float:left;font-size:12px;color:#999;margin-left:10px;cursor:pointer}.cash-head .user-tips{height:14px;line-height:14px;font-size:12px;color:#666;white-space:nowrap;margin-top:6px}.cash-head .user-tips .date{margin-right:4px}.cash-head .info-link{float:right}.cash-head .info-link .link-mainland{display:none;width:110px;height:32px;line-height:32px;font-size:14px;color:#cdb07a;text-align:center;border:2px solid #cdb07a;border-radius:18px;margin-top:4px}.overseas .cash-head .link-mainland{display:inline-block}.cash-head .info-link .link-jihuo,.cash-head .info-link .link-all{display:inline-block;line-height:14px;font-size:14px;color:#cdb07a;margin:15px 0 11px}.cash-head .link-line{display:inline-block;vertical-align:top;width:1px;height:14px;background:#666;margin:15px 11px}.cash-head .login-tips{position:relative;top:-4px;line-height:16px;font-size:12px;color:#b0b0b0}.cash-head .login-btn{width:78px;height:24px;line-height:24px;background:#cdb07a;border-radius:3px;font-size:12px;color:#242424;text-align:center;cursor:pointer}.cash-menu{position:relative;margin-bottom:14px}.cash-menu .cash-menu-list{height:102px;padding-top:8px}.cash-menu:after{content:"";display:inline-block;position:absolute;left:-14px;top:0;width:14px;height:110px;background:#f4f4f4}.cash-menu .cash-menu-list:after{content:"";display:inline-block;position:absolute;right:-14px;top:0;width:14px;height:110px;background:#f4f4f4}.cash-menu .cash-menu-ul{height:102px;width:100%;font-size:0;white-space:nowrap}.cash-menu .cash-menu-item{position:relative;display:inline-block;vertical-align:top;height:102px;margin-right:8px;text-align:center}.cash-menu .cash-menu-a{display:block;width:198px;height:98px;padding:1px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-family:"microsoft yahei"}.cash-menu.show-two .cash-menu-a{width:303px;height:98px}.cash-menu .cash-menu-item.selected .cash-menu-a,.cash-menu .cash-menu-a:hover{padding:0;background:#fef3ee;border:2px solid #f6644c}.cash-menu .menu-corner{position:absolute;left:0;top:-8px;max-width:130px;height:18px;line-height:17px;font-size:12px;color:#fff;border-radius:0 4px 4px 4px;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(140deg,#a944ff,#8301ff);filter:progid:dximagetransform.microsoft.gradient(gradientType=1,startcolorstr="#ffa944ff",endcolorstr="#ff8301ff")}.cash-menu .menu-all{display:block;height:32px;line-height:32px;font-size:18px;color:#666;margin-top:12px}.cash-menu .menu-all .unit{color:#f6644c;margin-right:2px;font-weight:normal;font-family:"microsoft yahei"}.cash-menu .menu-all .price{font-size:24px;color:#f6644c;font-family:Impact}.overseas .cash-menu .menu-all .price{position:relative;top:2px}.cash-menu .menu-each{display:block;line-height:20px;font-size:16px;color:#aaa}.cash-menu .menu-each.line{text-decoration:line-through}.cash-menu .menu-pop{position:relative;display:inline-block;height:20px;line-height:20px;margin-top:6px}.cash-menu .menu-pop-hover{display:inline-block;max-width:110px;height:20px;line-height:19px;text-align:center;cursor:pointer;border-radius:10px;background:#f6644c;color:#fff;font-size:12px;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cash-menu .menu-pop-hover .icon-thumb{display:inline-block;vertical-align:middle;width:15px;height:14px;margin-top:-2px}.cash-menu .menu-pop-show,.cash-menu .menu-pop-show-last{display:none;position:absolute;left:105%;top:-60px;width:236px;height:135px;z-index:99}.cash-menu .menu-pop:hover .menu-pop-show{display:block}.cash-menu .cash-menu-item.last-child .menu-pop:hover .menu-pop-show{display:none}.cash-menu .cash-menu-item.last-child .menu-pop:hover .menu-pop-show-last{display:block;left:inherit;right:105%}.overseas .cash-menu .menu-all{margin-top:20px}.overseas .cash-menu .menu-each{line-height:26px}.overseas .cash-menu .menu-pop{display:none}.cash-menu .cash-menu-scroll{width:100%;position:relative}.cash-menu .icon-arr-lt,.cash-menu .icon-arr-rt{position:absolute;top:31px;width:32px;height:40px;cursor:pointer;z-index:99}.cash-menu .icon-arr-lt{left:0;background-position:0 0}.cash-menu .icon-arr-rt{right:0;background-position:-40px 0}.cash-pay{border:1px solid #e0e0e0;background:#fff}.cash-pay.leaveSpace{margin-bottom:44px}.cash-pay-tab{height:42px;border-bottom:1px solid #e0e0e0;background:#f9f9f9}.cash-pay-tab .tab-item{position:relative;display:inline-block;vertical-align:top;width:25%;height:42px;border-right:1px solid #e0e0e0;box-sizing:border-box}.cash-pay-tab .tab-item:last-child{border:0}.cash-pay-tab .tab-item-hover{display:inline-block;width:100%;line-height:42px;cursor:pointer;font-size:14px;color:#666;white-space:nowrap;text-align:center}.cash-pay-tab .tab-item.selected .tab-item-hover{position:relative;left:-1px;top:-1px;border:1px solid #e0e0e0;border-top:2px solid #ff9f00;border-bottom:0;background:#fff}.cash-pay-tab .tab-item.disabled .tab-item-hover{color:#ccc;cursor:not-allowed}.cash-pay-tab .icon-overseas{display:inline-block;vertical-align:bottom;margin:11px 6px 11px 0;background:url(//www.iqiyipic.com/common/fix/cashoverseas/cash-overseas-icon20180911.png) no-repeat}.cash-pay-tab .icon-overseas.paypal{width:54px;height:20px;background-position:0 0}.cash-pay-tab .icon-overseas.mastercard{width:22px;height:20px;background-position:-60px 0}.overseas .cash-pay-tab .tab-item{width:30%}.overseas .cash-pay-tab .tab-item:last-child{border-right:1px solid #e0e0e0}.cash-pay-tab .icon{display:inline-block;vertical-align:middle;width:20px;height:20px;margin-right:6px;margin-top:-2px}.cash-pay-tab .icon.icon-saoma{background-position:0 -50px;margin-right:5px}.cash-pay-tab .icon.icon-bank{background-position:-30px -50px}.cash-pay-tab .icon.icon-huafei{background-position:-60px -50px;margin-right:3px}.cash-pay-tab .icon.icon-qidou{background-position:-90px -50px}.cash-pay-tab .cash-plan-tips{position:absolute;left:60%;top:-16px;transform:translateX(-50%)}.cash-pay-tab .txt{display:inline-block;height:22px;line-height:22px;border-radius:11px;background:#cdb07a;color:#fff;font-size:12px;padding:0 10px;white-space:nowrap}.cash-pay-tab .arrow{position:absolute;left:40%;bottom:-8px;width:0;height:0;border-width:4px;border-color:#cdb07a transparent transparent;border-style:solid dashed dashed}.cash-method-overseas{height:225px;text-align:center;overflow:hidden}.cash-method-overseas .pay-price{font-size:14px;color:#666;margin:45px 0 14px}.cash-method-overseas .pay-price .unit{font-size:22px;color:#f6644c;margin-right:2px}.cash-method-overseas .pay-price .price{font-size:28px;color:#f6644c;font-family:Impact;position:relative;top:2px}.cash-method-overseas .pay-btn{display:inline-block;width:115px;height:36px;line-height:36px;color:#fff;font-size:16px;background:#ff9f00;border-radius:3px}.cash-method-overseas a.pay-deal-link{display:inline-block;line-height:32px;font-size:12px;color:#bbb;margin:0 5px}.vip-cash.overseas .vip_zs-result{padding-top:35px}.vip-cash.overseas .zs_dj-txt{padding:54px 30px 64px}.vip-cash.overseas .vip_maizeng-loading{padding:120px 0;background:0}.vip-cash.overseas .loading-icon-down{margin:0 auto 30px}.cash-result{background:#fff;border:1px solid #e0e0e0}.vip-cash.overseas .cash-result{height:400px}.vip-cash .cash-result-title{position:relative;height:42px;padding:70px 0 15px;text-align:center}.vip-cash .title-icon{display:inline-block;width:42px;height:42px;margin-right:15px;background:url(//www.iqiyipic.com/common/fix/qyguo/qyguo-yes.png) no-repeat;vertical-align:middle}.vip-cash .title-txt,.vip-cash .title-user{display:inline-block;line-height:42px;font-size:20px;color:#000;vertical-align:middle}.vip-cash .title-user{max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vip-cash .title-mark{line-height:20px;text-align:center;font-size:12px;color:#666;margin-bottom:15px}.vip-cash .title-mark .mark-done{color:#c2a171}.vip-cash .title-mark .mark-go a,.vip-cash .title-mark .mark-go a:hover{color:#ff6e00}.vip-cash .title-mark .mark-opening{color:#666}.vip-cash .cash-result-detial .detail-list{padding-left:190px;padding-right:114px}.vip-cash .detail-item{line-height:30px;font-size:14px;color:#333;position:relative}.vip-cash .detail-item-name{color:#999}.vip-cash .detail-item-txt{margin-right:5px}.vip-cash .detail-item-zp{position:relative;left:74px;top:-30px}.vip-cash .btm-txt3{color:#ff6000;text-decoration:underline}.vip-cash .btm-txt3:hover{color:#ff6000}.vipPayCover{position:fixed;left:0;top:0;width:100%;background:rgba(0,0,0,.3);z-index:4745;filter:progid:dximagetransform.microsoft.gradient(enabled="true",startcolorstr="#4c000000",endcolorstr="#4c000000")}.cash-pop-wrap{width:410px;border:1px solid #dbdbdb;background:#fff;z-index:1100}.cash-pop-wrap .cash-pop-title{height:40px;line-height:40px;font-size:14px;color:#333;background:#f2f2f2;padding-left:14px}.cash-pop-wrap .cash-pop-title .close{float:right;margin-right:15px;font-size:22px;color:#8e8e8e;cursor:pointer}.cash-pop-wrap .cash-pop-con{padding:13px 40px;overflow:hidden}.cash-pop-wrap .type-txt{font-size:14px;line-height:20px;color:#999;padding:0 0 14px 20px;margin:0}.cash-pop-wrap .txt-link{color:#ff6e00;text-decoration:none}.cash-pop-wrap .type-title{line-height:46px;font-size:14px;color:#333;padding-left:20px;background:url(//www.iqiyipic.com/common/fix/vippay/listicon.png) no-repeat 0 center}.cash-pop-wrap .type-list{line-height:24px;font-size:14px;color:#333}.cash-pop-wrap .list-title,.cash-pop-wrap .list-item{line-height:24px;font-size:14px;color:#333;margin:0}.cash-pop-wrap .list-item{padding-left:20px;background:url(//www.iqiyipic.com/common/fix/vippay/listicon.png) no-repeat 0 10px}.cash-pop-wrap .link-kefu{font-size:14px;color:#ff7e00;text-decoration:none;cursor:default}.cash-pop-wrap .pop-btn{text-align:center;margin-bottom:10px;margin-top:20px}.cash-pop-wrap .btn-border{display:inline-block;width:142px;height:26px;line-height:26px;border:1px solid #e1e1e1;border-radius:4px;background:#f2f2f2;font-size:14px;color:#ff7e00;margin:0 5px;text-decoration:none}.cash-pop-wrap .btn-border:hover{color:#fff;border-color:#ff7e00;background-color:#ff7e00}.cash-pop-wrap .btn-solid{display:inline-block;width:144px;height:28px;line-height:28px;border-radius:4px;background:#ff7e00;font-size:14px;color:#fff;margin:0 5px;text-decoration:none}.cash-method-saoma{margin:26px 0 0;text-align:center}.cash-method-saoma .saoma-ewm-box{display:inline-block;vertical-align:top;position:relative;width:109px;height:109px;margin-left:25px}.cash-method-saoma .saoma-ewm{position:absolute;border:1px solid #eee;background:#fff;padding:5px;z-index:9}.cash-method-saoma .saoma-ewm-cover{position:absolute;top:0;left:0;cursor:pointer;z-index:1}.cash-method-saoma .cover-bg{width:107px;height:87px;padding-top:20px;background:rgba(0,0,0,.6);filter:progid:dximagetransform.microsoft.gradient(enabled="true",startcolorstr="#85000000",endcolorstr="#85000000")}.cash-method-saoma .cover-icon{display:block;width:30px;height:30px;background:url(//www.iqiyipic.com/common/fix/vip_pay/vip_pay-shuaxin.png) no-repeat 0 0;background-size:contain;margin:0 auto}.cash-method-saoma .cover-txt{display:block;font-size:14px;color:#fff;margin-top:10px}.cash-method-saoma .corner-lt{position:absolute;width:10px;height:10px;background:#5aa700;left:-2px;top:-2px}.cash-method-saoma .corner-rb{position:absolute;width:10px;height:10px;background:#5aa700;right:-2px;bottom:-2px}.cash-method-saoma .saoma-pay-box{display:inline-block;font-size:12px;color:#999;text-align:left;margin-left:16px}.cash-method-saoma .unit{font-size:22px;color:#f6644c;margin-right:-2px;font-family:"microsoft yahei"}.cash-method-saoma .price{font-size:32px;color:#f6644c;font-family:Impact}.cash-method-saoma .saoma-pay-tips{line-height:24px}.cash-method-saoma .saoma-pay-type{height:27px;margin:5px 0}.cash-method-saoma .icon{float:left;width:28px;height:28px;margin-right:14px}.cash-method-saoma .icon-zhifubao{background-position:0 -90px}.cash-method-saoma .icon-weixin{background-position:-30px -90px}.cash-method-saoma .icon-baiduwallet{background-position:-60px -90px}.cash-method-bank{padding:13px 20px 0}.cash-method-bank .safe-loading,.cash-method-bank .browser-support{display:block;line-height:50px;font-size:14px;color:#666;text-align:center}.cash-method-bank .safe-loading:before{content:"";display:inline-block;vertical-align:middle;width:20px;height:20px;background:url(//www.iqiyipic.com/common/fix/wallet/loading.gif) no-repeat}.cash-method-bank .bank-detail .safe-loading{float:left;line-height:40px;margin-left:10px}.cash-method-bank .bank-title{height:23px;line-height:23px;font-size:14px;color:#999;margin-bottom:20px}.cash-method-bank.set{padding-bottom:60px}.cash-method-bank.set .bank-set-title{height:23px;line-height:23px;font-size:16px;color:#333;margin-bottom:20px}.cash-method-bank .icon-quickPay{display:inline-block;vertical-align:text-bottom;width:95px;height:23px;background-position:0 -120px}.cash-method-bank .bank-item-box{height:40px;margin-bottom:10px;font-size:14px}.cash-method-bank .bank-name{float:left;width:60px;height:40px;line-height:40px;margin-right:16px;color:#333;text-align:right;white-space:nowrap}.cash-method-bank.set .bank-name{width:80px}.cash-method-bank.set .bank-use-tips{padding-left:96px}.cash-method-bank .bank-detail{position:relative;float:left;height:40px;color:#333}.cash-method-bank .bank-control{float:left;position:relative;width:246px;height:40px}.cash-method-bank .ocx_style{position:absolute;float:left;width:224px!important;height:38px!important;line-height:38px;border:1px solid #e0e0e0!important;border-radius:4px;padding:0 10px;background-color:#fff;outline:0}.cash-method-bank .ocx_style a,.cash-method-bank .ocx_style a:hover{font-size:12px;color:#999}.cash-method-bank .ocx_style i{color:#fe840e}.cash-method-bank .pay_bank-number{line-height:40px;color:#333}.cash-method-bank .write{position:relative;float:left;width:224px;height:38px;line-height:38px;border:1px solid #e0e0e0;border-radius:4px;padding:0 10px;background-color:#fff;outline:0}.cash-method-bank .write-thin{width:114px}.cash-method-bank .bank-group{float:right;color:#999}.cash-method-bank .error{float:left;margin-left:10px;line-height:40px;height:40px;font-size:14px;color:#f00;text-align:left;white-space:nowrap}.cash-method-bank .error.long{max-width:228px;line-height:initial;white-space:normal}.cash-method-bank .bank-use-tips{font-size:14px;color:#999;padding-left:76px;margin-bottom:10px}.cash-method-bank .bank-tips-write{display:inline-block;width:246px}.cash-method-bank .tips-rt{float:right;cursor:pointer;color:#ff9f00}.cash-method-bank .tips-box{display:none;position:absolute}.cash-method-bank .tips-show{position:relative;left:5px;top:5px;padding:10px 15px;border:1px solid #cdb07a;border-radius:6px;background:#fefaf5;color:#666;z-index:99}.cash-method-bank .arr-out,.cash-method-bank .arr-in{position:absolute;left:30px;top:-2px;width:0;height:0;border-width:4px;border-style:dashed dashed solid;border-color:transparent transparent #cdb07a;z-index:99}.cash-method-bank .arr-in{left:-4px;top:-3px;border-color:transparent transparent #fefaf5}.cash-method-bank .tips-rt:hover .tips-box{display:inline-block}.cash-method-bank .bank-list-wrap{margin-bottom:14px}.cash-method-bank .bank-list{display:inline-block;vertical-align:top;position:relative;width:463px;height:42px;border:1px solid #e0e0e0;border-radius:3px;background:#fff;margin-right:10px}.cash-method-bank .bank-current{padding:0 10px;height:42px;line-height:42px;cursor:pointer}.cash-method-bank .card-name{float:left;font-size:14px;color:#333;margin-left:55px}.cash-method-bank .card-num{float:left;font-size:14px;color:#333;margin-left:20px}.cash-method-bank .icon-arr{float:right;width:15px;height:9px;margin:17px 0;background-position:-90px -70px}.cash-method-bank .bank-other{position:absolute;left:-1px;top:-1px;width:463px;max-height:171px;border:1px solid #e0e0e0;border-radius:4px;background:#fff;overflow:hidden;z-index:80}.cash-method-bank .bank-list-info{cursor:pointer}.cash-method-bank .bank-list-info .bank-current{border-bottom:1px solid #e0e0e0;background-color:#f7f7f7}.cash-method-bank .bank-list-info:hover .bank-current{background:#fef8f1}.cash-method-bank .bank-scrollBar{position:absolute;top:10px;right:2px;width:2px;height:50px;border-radius:3px;background:rgba(0,0,0,.3);cursor:pointer}.cash-method-bank .bank-add{display:inline-block;vertical-align:top;width:103px;height:42px;line-height:42px;text-align:center;border:1px solid #e0e0e0;border-radius:3px;background:#fff;font-size:14px;color:#666;cursor:pointer}.cash-method-bank .code{float:left;width:100px;height:40px;line-height:40px;border-radius:3px;background:#ff9f00;font-size:14px;color:#fff;text-align:center;margin-left:10px}.cash-method-bank .code.again{background-color:#9e9e9e;cursor:not-allowed}.cash-method-bank .bank-btn{padding-left:91px;height:40px;margin-bottom:14px}.cash-method-bank .bank-btn .solid,.cash-method-bank .bank-btn .hollow{display:inline-block;width:100px;height:40px;line-height:40px;text-align:center;font-size:14px;color:#fff;background:#fe840e;border-radius:3px;margin:0 5px}.cash-method-bank .bank-btn .hollow{width:98px;height:38px;line-height:38px;color:#fe840e;background:#fff;border:1px solid #e0e0e0}.cash-method-bank .bank-btn .solid.disabled{cursor:default;background:#9e9e9e}.cash-method-bank .bank-deal-check{height:18px;line-height:18px;color:#999;font-size:14px;padding-left:96px}.cash-method-bank .icon-checkbox{display:inline-block;vertical-align:text-bottom;width:18px;height:18px;margin-right:4px;background-position:-80px 0;cursor:pointer}.cash-method-bank .icon-checkbox.selected{background-position:-100px 0}.cash-method-bank a.bank-deal{color:#999}.cash-method-phone{margin-left:14px}.cash-method-phone .phone-item-box{height:40px;margin-top:14px}.cash-method-phone .phone-name{float:left;width:60px;line-height:40px;font-size:14px;color:#333}.cash-method-phone .phone-input{float:left}.cash-method-phone .write{float:left;width:224px;height:38px;line-height:38px;padding:0 10px;border:1px solid #e0e0e0;border-radius:3px;font-size:14px;color:#333;margin-right:10px}.cash-method-phone .thin .write{width:114px}.cash-method-phone .code-box{float:left;height:40px}.cash-method-phone .code{display:inline-block;vertical-align:top;width:100px;height:40px;line-height:40px;border-radius:3px;background:#ff9f00;font-size:14px;color:#fff;text-align:center;margin-right:10px;cursor:pointer}.cash-method-phone .again{background-color:#9e9e9e;cursor:not-allowed}.cash-method-phone .error{float:left;height:40px;line-height:40px;font-size:14px;color:#f00}.cash-method-phone .phone-tips{height:34px;line-height:34px;font-size:14px;color:#999;margin-left:60px}.cash-method-qidou{min-height:80px;padding:14px 20px}.cash-method-qidou .qidou-info{position:relative}.cash-method-qidou .qidou-yue{font-size:14px;color:#333}.cash-method-qidou .price{font-size:24px;color:#f6644c;font-family:Impact}.cash-method-qidou .unit{color:#f6644c}.cash-method-qidou .tips{color:#999}.cash-method-qidou .qidou-charge{position:absolute;left:60px;border:1px solid #cdb07a;background:#fefaf5;border-radius:6px;padding:10px;font-size:14px;color:#999}.cash-method-qidou .qidou-charge .link{color:#cdb07a}.cash-method-qidou .arr-out{position:absolute;left:16px;top:-9px;width:0;height:0;border-width:4px;border-style:dashed dashed solid;border-color:transparent transparent #cdb07a}.cash-method-qidou .arr-in{position:absolute;left:-4px;top:-3px;width:0;height:0;border-width:4px;border-style:dashed dashed solid;border-color:transparent transparent #fefaf5;z-index:99}.cash-coupon{margin-bottom:14px}.cash-coupon .coupon-show{height:44px;margin-bottom:14px}.cash-coupon .coupon-show-box{position:relative;float:left;width:512px;height:42px;line-height:42px;border:1px solid #e0e0e0;border-radius:3px;background:#fff}.cash-coupon .coupon-title{float:left;width:97px;height:20px;line-height:20px;text-align:right;font-size:14px;color:#333;margin:11px 0}.cash-coupon .coupon-detial{float:left;width:415px;height:42px;cursor:pointer}.cash-coupon.show .coupon-detial{width:387px}.cash-coupon .icon-coupon{display:inline-block;vertical-align:middle;width:19px;height:15px;background-position:0 -70px;margin:1px 8px 4px 0}.cash-coupon .line{display:inline-block;vertical-align:middle;width:1px;height:14px;background:#e0e0e0;margin-left:14px}.cash-coupon .coupon-name{float:left;font-size:14px;color:#999;margin-left:14px}.cash-coupon .coupon-tips{float:left;font-size:14px;color:#bbb;margin-left:14px}.cash-coupon .coupon-date{float:right;font-size:14px;color:#bbb;margin-right:33px}.cash-coupon .coupon-list{position:absolute;left:-1px;top:42px;width:100%;background:#f7f7f7;border:1px solid #e0e0e0;border-radius:0 0 3px 3px;z-index:90}.cash-coupon .coupon-list-con{position:relative;max-height:171px;overflow:hidden}.cash-coupon .coupon-item{position:relative;height:42px;line-height:42px;border-bottom:1px solid #e0e0e0}.cash-coupon .coupon-item:hover .hover,.cash-coupon .coupon-item.selected .hover{position:absolute;top:-1px;width:100%;height:42px;line-height:42px;border-top:1px solid #cdb07a;border-bottom:1px solid #cdb07a;background:#faf5ec}.cash-coupon .lock .hover,.cash-coupon .disabled .hover{cursor:default}.cash-coupon .coupon-item.lock:hover .hover,.cash-coupon .coupon-item.lock.selected .hover,.cash-coupon .coupon-item.disabled:hover .hover{position:static}.cash-coupon .coupon-item.lock:hover .coupon-name,.cash-coupon .coupon-item.lock.selected .coupon-name,.cash-coupon .coupon-item.disabled:hover .coupon-name{color:#999}.cash-coupon .coupon-status{float:left;width:97px;height:42px;font-size:12px;text-align:right}.cash-coupon .status{display:inline-block;height:20px;line-height:20px;border-radius:3px;padding:0 5px}.cash-coupon .soon .status{background:#e2ca9c}.cash-coupon .lock .status,.cash-coupon .last .status{background:#ccc}.cash-coupon .lock .icon-lock{position:absolute;right:11px;top:15px;width:13px;height:12px;background-position:-100px -120px}.cash-coupon .icon-arr{position:absolute;right:10px;top:18px;width:15px;height:9px;background-position:-90px -70px}.cash-coupon .icon-selected{display:none;position:absolute;right:10px;top:18px;width:12px;height:8px;background-position:-100px -135px}.cash-coupon .coupon-item:hover .coupon-name,.cash-coupon .coupon-item.selected .coupon-name{color:#cdb07a}.cash-coupon .coupon-item.selected .icon-selected{display:inline-block}.cash-coupon .coupon-scrollBar{position:absolute;top:10px;right:2px;width:2px;border-radius:3px;background:rgba(0,0,0,.3);cursor:pointer}.cash-coupon .tips-pop{display:none;position:absolute;left:120px;top:38px;line-height:20px;padding:11px;border:1px solid #cdb07a;background:#fefaf5;border-radius:6px;font-size:14px;color:#666;z-index:99}.cash-coupon .coupon-item.lock:hover .tips-pop{display:inline-block}.cash-coupon .arr-out,.cash-coupon .arr-in{position:absolute;left:40px;top:-9px;width:0;height:0;border-width:4px;border-style:dashed dashed solid;border-color:transparent transparent #cdb07a}.cash-coupon .arr-in{left:-4px;top:-3px;border-color:transparent transparent #fefaf5}.cash-coupon .exchange,.cash-coupon .exchange-no{float:right;width:96px;height:42px;line-height:42px;border:1px solid #e0e0e0;border-radius:3px;background:#fff;font-size:14px;color:#666;text-align:center;cursor:pointer}.cash-coupon .exchange-no{display:none;width:124px}.cash-coupon .coupon-exchange-wrap{display:none;position:relative;height:30px;background:#faf5ec;border:1px solid #cdb07a;padding:11px 10px}.cash-coupon .coupon-exchange{height:30px}.cash-coupon .coupon-qm,.cash-coupon .coupon-yzm{float:left;position:relative;margin-right:9px}.cash-coupon .coupon-qm input,.cash-coupon .coupon-yzm input{width:233px;height:28px;line-height:28px;border:1px solid #e0e0e0;background:#fff;padding:0 10px;font-size:12px;color:#333;outline:0}.cash-coupon .coupon-yzm input{width:126px;border-right:0}.cash-coupon .error{position:absolute;right:10px;line-height:30px;font-size:12px;color:#ff0008}.cash-coupon .coupon-yzm-pic{float:left;margin-left:-9px;margin-right:9px}.cash-coupon .coupon-yzm-change{float:left;line-height:30px;font-size:12px;color:#999;cursor:pointer;margin-right:8px}.cash-coupon .icon-change{display:inline-block;vertical-align:text-top;width:14px;height:14px;background-position:-60px -70px;margin-right:6px}.cash-coupon .coupon-btn{float:left;width:60px;height:30px;line-height:30px;text-align:center;font-size:12px;color:#fff;background:#cdb07a;border-radius:3px;cursor:pointer}.cash-coupon .coupon-exchange-wrap .arr-out{left:auto;right:60px}.cash-coupon.show .coupon-show-box{width:484px}.cash-coupon.show .exchange{display:none}.cash-coupon.show .exchange-no{display:inline-block}.cash-coupon.show .coupon-exchange-wrap{display:inline-block}.cash-deal-center{height:45px;line-height:45px;text-align:center}.cash-deal-right{padding:0 20px;height:40px;line-height:40px;text-align:right}.cash-deal-center a.cash-deal,.cash-deal-center a.cash-deal:hover,.cash-deal-right a.cash-deal,.cash-deal-right a.cash-deal:hover{font-size:13px;color:#999}.cash-checkBox{height:18px;margin-bottom:14px}.cash-checkBox .checkBox{height:18px;line-height:18px;color:#999;font-size:14px}.cash-checkBox .icon-checkbox{float:left;width:18px;height:18px;margin-right:10px;background-position:-80px 0;cursor:pointer}.cash-checkBox .icon-checkbox.selected{background-position:-100px 0}.cash-checkBox .checkBox-txt{float:left;white-space:nowrap;margin-right:4px}.cash-checkBox .icon-checkbox-tips{float:left;width:16px;height:16px;background-position:-100px -20px;cursor:pointer;margin:1px 0}.cash-checkBox .tips-icon{display:none;position:absolute}.cash-checkBox .tips-show{position:relative;left:-35px;top:25px;width:320px;padding:10px 15px;border:1px solid #cdb07a;border-radius:6px;background:#fefaf5;z-index:99}.cash-checkBox .icon-checkbox-tips:hover .tips-icon{display:inline-block}.cash-checkBox .tips-show dt{line-height:28px;font-size:14px;color:#cdb07a}.cash-checkBox .tips-show dd{line-height:20px;font-size:14px;color:#666}.cash-checkBox .arr-out{position:absolute;left:5px;top:17px;width:0;height:0;border-width:4px;border-style:dashed dashed solid;border-color:transparent transparent #cdb07a}.cash-checkBox .arr-in{position:absolute;left:-4px;top:-3px;width:0;height:0;border-width:4px;border-style:dashed dashed solid;border-color:transparent transparent #fefaf5;z-index:99}.cash-back-vip{height:14px;line-height:14px;margin-bottom:20px}.cash-back-vip a.link,.cash-back-vip a.link:hover{font-size:14px;color:#cdb07a}.cash-back-vip .icon-back{display:inline-block;vertical-align:text-top;width:8px;height:14px;margin-right:6px;background-position:-80px -70px}.cash-upgrade-list{position:relative;width:100%;height:44px;margin-bottom:14px}.cash-upgrade-list .upgrade-current{height:42px;line-height:42px;border:1px solid #e0e0e0;background:#fff;border-radius:3px;cursor:pointer}.cash-upgrade-list .upgrade-title{float:left;height:42px;font-size:14px;color:#666;padding-left:14px}.cash-upgrade-list .icon-upgrade{position:relative;top:2px;display:inline-block;vertical-align:text-bottom;width:19px;height:18px;margin-right:6px;background-position:-30px -70px}.cash-upgrade-list .line{display:inline-block;vertical-align:middle;width:1px;height:14px;background:#e0e0e0;margin-left:14px}.cash-upgrade-list .upgrade-detail{float:left;height:42px;padding-left:165px}.cash-upgrade-list .icon-arr{position:absolute;right:10px;top:18px;width:15px;height:9px;background-position:-90px -70px}.cash-upgrade-list .upgrade-price,.cash-upgrade-list .upgrade-date{font-family:"microsoft yahei"}.cash-upgrade-list .upgrade-detail .upgrade-price{font-size:20px;color:#f6644c}.cash-upgrade-list .upgrade-detail .upgrade-date{font-size:14px;color:#999}.cash-upgrade-list .upgrade-list .upgrade-price{font-size:20px;color:#999;margin-left:307px}.cash-upgrade-list .upgrade-list .upgrade-date{font-size:14px;color:#999}.cash-upgrade-list .upgrade-list{position:absolute;left:0;top:43px;width:620px;max-height:171px;border:1px solid #e0e0e0;border-radius:3px;background:#f7f7f7;z-index:99;overflow:hidden}.cash-upgrade-list .upgrade-item{position:relative;width:100%;height:43px}.cash-upgrade-list .upgrade-item .hover{display:block;height:42px;line-height:42px;border-bottom:1px solid #e0e0e0;color:#999}.cash-upgrade-list .upgrade-item:hover .hover{position:absolute;top:-1px;width:100%;height:42px;border-top:1px solid #cdb07a;border-bottom:1px solid #cdb07a;background:#faf5ec}.cash-upgrade-list .upgrade-item:hover .hover .upgrade-price,.cash-upgrade-list .upgrade-item:hover .hover .upgrade-date{color:#cdb07a}.cash-upgrade-list .upgrade-scrollBar{position:absolute;top:10px;right:2px;width:2px;height:50px;border-radius:3px;background:rgba(0,0,0,.3);cursor:pointer}.vip-cash .cash-scrollBar{position:absolute;top:0;right:5px;width:4px;height:50px;border-radius:3px;background:rgba(0,0,0,.3);cursor:pointer}.vip-cash .cash-tips{position:absolute;top:50%;left:50%;z-index:99;margin-top:-53px;margin-left:-140px;width:260px;height:auto;padding:15px 10px;text-align:center;color:#fff;border-radius:7px;background:rgba(0,0,0,.8);filter:progid:dximagetransform.microsoft.gradient(enabled="true",startcolorstr="#cc000000",endcolorstr="#cc000000")}.vip-cash .tips-title{font-size:18px}.vip-cash .tips-txt{font-size:14px}.vip-cash .cash-notices-txt{margin-bottom:8px}.vip-cash .cash-checkBox,.vip-cash .cash-coupon{margin-bottom:14px}.vip-cash .cash-method-saoma{margin:26px 0 0}.vip-cash .cash-method-bank{padding:13px 20px 0}.vip-cash .cash-method-bank.set{padding-bottom:60px}.vip-cash .cash-method-qidou{padding:14px 20px}.vip-cash .cash-method-phone{margin-left:14px}.vip-cash .cash-back-vip{margin-bottom:20px}.vip-cash .cash-upgrade-list{margin-bottom:14px}.cash-pca .vip-cash{height:530px}.cash-pca .vip-cash .cash-main{height:392px}.cash-pca .cash-head .cash-info{padding:4px 0 12px}.cash-pca .cash-menu,.cash-pca .cash-checkBox,.cash-pca .cash-coupon,.cash-pca .cash-coupon .coupon-show{margin-bottom:11px}.cash-pca .vip_maizeng-top{height:270px}.cash-pca .maizeng_title{padding-top:40px}.cash-pca .vip_zs-result{height:280px;padding-top:40px}.cash-lock-box{width:610px;height:380px;background:#fff;border:1px solid #e0e0e0;text-align:center;padding-top:80px}.cash-lock-box .icon-yes,.cash-lock-box .icon-doing{display:inline-block;width:80px;height:80px;background:url(//www.iqiyipic.com/common/fix/vipcash/cash-icon.png) no-repeat;background-position:0 -150px}.cash-lock-box .icon-doing{background-position:0 -235px;margin-bottom:30px}.cash-lock-box .lock-title{line-height:50px;font-size:24px;color:#333}.cash-lock-box .lock-status{font-size:18px;color:#666;margin-bottom:40px}.cash-lock-box .lock-btn{display:inline-block;width:120px;height:36px;line-height:36px;text-align:center;color:#fff;font-size:16px;background:#ff9b06;border-radius:3px;cursor:pointer}.cash-notices{font-size:14px;color:#999}.cash-notices-txt{line-height:14px;margin-bottom:8px}.cash-notices .gold{color:#cdb07a;cursor:pointer}.upgrade .cash-notices-txt{color:#cdb07a;font-size:12px;color:#666}.cash-pay-box{position:absolute;left:0;right:0;bottom:0;height:43px;text-align:right;border-top:1px solid #e0e0e0;background:#f9f9f9;z-index:99}.cash-pay-box .cash-pay-price{display:inline-block;vertical-align:top;height:43px;font-size:16px;color:#333;margin-right:6px}.cash-pay-box .cash-pay-price .unit{position:relative;bottom:-2px;font-size:18px;color:#f6644c;margin-right:-6px}.cash-pay-box .cash-pay-price .unit-txt{font-size:14px;color:#f6644c}.cash-pay-box .cash-pay-price .price{position:relative;bottom:-2px;font-size:26px;color:#f6644c;font-family:Impact}.cash-pay-box .cash-pay-price .sale-off{font-size:12px;color:#999}.cash-pay-box .cash-pay-btn{position:relative;top:-1px;right:0;display:inline-block;vertical-align:top;width:99px;height:44px;line-height:44px;font-size:16px;color:#fff;text-align:center;background:#ff9f00;cursor:pointer}.cash-pay-box .cash-pay-btn.disabled{cursor:default;background:#9e9e9e}.allBank{float:left;width:110px;height:38px;background:url(//www.iqiyipic.com/common/fix/pay/payBank.png) no-repeat}.DFB{background-position:0 0}.ICBC{background-position:0 -40px}.ABC{background-position:0 -80px}.BOC{background-position:0 -120px}.CCB{background-position:0 -160px}.BOCOM{background-position:0 -200px}.PSBC{background-position:0 -240px}.CNCB{background-position:0 -280px}.CEB{background-position:0 -320px}.HXB{background-position:0 -360px}.CMBC{background-position:0 -400px}.GDB{background-position:0 -440px}.CMB{background-position:0 -480px}.CIB{background-position:0 -520px}.SPDB{background-position:0 -560px}.PAB{background-position:0 -600px}.EBCL{background-position:0 -640px}.BOHC{background-position:0 -680px}.CZSB{background-position:0 -720px}.BCCB{background-position:0 -760px}.BOS{background-position:0 -800px}.password-box{position:relative;float:left;height:40px;z-index:1}.password-box .password-write{width:180px;height:20px;color:#fff;padding:10px 0;cursor:text;opacity:0;position:absolute;left:500px;border:0;outline:0;padding-left:0;background:0}.password-box .password-num{width:244px;height:20px;border:1px solid #e0e0e0;border-radius:3px;padding:9px 0;cursor:text}.password-box .num-site{position:relative;float:left;width:40px;height:10px;padding:5px 0;border-left:1px solid #e0e0e0}.password-box .num-site.first{width:39px;border:0}.password-box .num{position:absolute;left:0;top:-10px;width:39px;height:40px;line-height:40px;text-align:center;color:#333;font-size:16px;background:url(//www.iqiyipic.com/common/fix/pay/xing.png) no-repeat center;visibility:hidden}.password-box .num-site.active{background:url(//www.iqiyipic.com/common/fix/pay/cursor.gif) no-repeat center}.password-box .keyboard{position:absolute;left:256px;top:0;width:152px;height:145px;border:1px solid #e0e0e0;border-radius:3px;padding:12px 8px;background-color:#fff;z-index:99}.password-box .keyboardTop{height:36px;line-height:14px;text-align:center;color:#999;border-bottom:1px solid #eee}.password-box .keyboardBtm{width:156px;padding-top:6px}.password-box .keyboard .keys,.password-box .delKeys{float:left;width:33px;height:28px;line-height:28px;text-align:center;border:1px solid #e3e3e3;background-color:#f2f2f2;border-radius:1px;color:#56a200;font-size:14px;margin:4px 4px 0 0}.password-box .keys:hover,.password-box .delKeys:hover{border-color:#56a200;background-color:#56a200;color:#fff}.password-box .keys:active,.password-box .delKeys:active{border-color:#499000;background-color:#499000;color:#fff}.password-box .delKeys span{display:inline-block;width:16px;height:11px;margin-top:8px;overflow:hidden;background:#f2f2f2 url(//www.iqiyipic.com/common/fix/wallet/delpic.png) no-repeat 0 0}.password-box .delKeys:hover span{background:url(//www.iqiyipic.com/common/fix/wallet/delpic.png) no-repeat 0 -15px}.password-box .delKeys:active span{background:url(//www.iqiyipic.com/common/fix/wallet/delpic.png) no-repeat 0 -15px}.qy-rank-grow,.qy-rank-vip,.qy-rank-tennis{display:inline-block;background:url(//www.iqiyipic.com/common/fix/vip/qyv-rank20180620.png) no-repeat}.qy-rank-grow{width:18px;height:12px}.qyrg1{background-position:0 0}.qyrg2{background-position:-30px 0}.qyrg3{background-position:-60px 0}.qyrg4{background-position:-90px 0}.qyrg5{background-position:-120px 0}.qyrg6{background-position:-150px 0}.qyrg7{background-position:-180px 0}.qyrg-gray1{background-position:0 -20px}.qyrg-gray2{background-position:-30px -20px}.qyrg-gray3{background-position:-60px -20px}.qyrg-gray4{background-position:-90px -20px}.qyrg-gray5{background-position:-120px -20px}.qyrg-gray6{background-position:-150px -20px}.qyrg-gray7{background-position:-180px -20px}.qy-rank-vip{width:22px;height:18px}.qyrv0{background-position:-210px -40px}.qyrv1{background-position:0 -40px}.qyrv2{background-position:-30px -40px}.qyrv3{background-position:-60px -40px}.qyrv4{background-position:-90px -40px}.qyrv5{background-position:-120px -40px}.qyrv6{background-position:-150px -40px}.qyrv7{background-position:-180px -40px}.qyrv-gray0{background-position:-210px -65px}.qyrv-gray1{background-position:0 -65px}.qyrv-gray2{background-position:-30px -65px}.qyrv-gray3{background-position:-60px -65px}.qyrv-gray4{background-position:-90px -65px}.qyrv-gray5{background-position:-120px -65px}.qyrv-gray6{background-position:-150px -65px}.qyrv-gray7{background-position:-180px -65px}.qy-rank-tennis{width:15px;height:18px}.qyrt-light{background-position:-210px 0}.qyrt-gray{background-position:-210px -20px}a,a:hover{text-decoration:none}.db{display:block!important}.vip_org{color:#ff6e1e}.site_native{width:650px;height:530px;overflow:hidden;position:relative}.site_head{width:650px;height:40px;background-color:#242424;position:relative}.site_head-txt{height:40px;line-height:40px;font-size:14px;color:#eee;padding-left:20px}.site_head-close,.vip_no-icon,.vip_way-cycle1 span,.vip_statement-close,.vip_choiceIcon,.vip_select-con li.selected .vip_select-yes,.barterBtn span,.vip_success-close,.vip_select-con .locking .vip_select-yes,.vip_select-con .locking.hover .vip_select-yes,.tab_title-icon,.vip_diamonds-back span{background:url(//www.iqiyipic.com/common/fix/vippay/VIPicon.png) no-repeat}.site_head-close{width:12px;height:12px;background-position:0 -20px;position:absolute;right:20px;top:14px}.site_head-close:hover{background-position:-20px -20px}.site_head-close:active{background-position:-40px -20px}.site_main{width:648px;height:489px;background-color:#f6f6f6;border:1px solid #dbdbdb;border-top:0;overflow:hidden}.site_native-noBorder .site_main{border:0;width:650px;height:490px}.site_main-inner{width:648px;overflow:hidden;height:489px;position:relative}.site_inner-con{padding:0 19px;overflow:hidden}.vip_pay-notice{width:628px;height:32px;background-color:#fef6e9;padding-left:20px;margin:6px 0 -6px -20px}.vip_pay-notice span{float:left;width:20px;height:16px;padding:8px 0}.vip_pay-notice img{display:block;width:20px;height:16px}.vip_pay-notice a{float:left;height:32px;line-height:32px;font-size:14px;color:#ff6e00;margin-left:10px;cursor:default}.vip_pay-notice a:hover{text-decoration:none}.vip_pay-notice a.notice-hover{cursor:pointer}.vip_pay-notice a.notice-hover:hover{text-decoration:underline!important}.vip_pay-nativeuser{height:30px;line-height:30px;margin:12px 0}.vip_pay-user{display:inline-block}.myName{color:#333;float:left;max-width:140px;white-space:nowrap;text-align:right;overflow:hidden;text-overflow:ellipsis;text-decoration:none;display:inline-block;vertical-align:middle;font-size:14px}.login_method{color:#999;font-size:14px}.vip_pay-nativeuser,.vip_pay-qyguouser{height:30px;line-height:30px;padding:5px 0 5px 20px;margin:0}.vip_pay-nativeuser .myName,.vip_pay-nativeuser .login_method,.vip_pay-qyguouser .myName,.vip_pay-qyguouser .login_method{color:#eee}.vip_no-icon,.vip_no-txt,.vip_no-btn{float:left}.vip_no-icon{width:16px;height:16px;background-position:-45px -80px;margin:7px 6px 0 0}.vip_no-txt{font-size:12px;color:#eee}.vip_no-btn{margin-left:40px}.vip_no-btn a{display:inline-block;width:86px;height:30px;line-height:30px;color:#fff;text-align:center;background-color:#5aa700;border-radius:1px;font-size:12px}.vip_no-btn a:hover{background-color:#62bd00;color:#fff}.vip_way-cycle1,.vip_way-cycle2,.vip_way-cycle3{position:absolute;right:1px;top:1px;display:table;width:16px;height:78px;font-size:12px;color:#333;background-color:#ededed;padding:0 8px}.vip_way-cycle1 i{display:inline-block;line-height:13px;padding:4px 0 2px}.vip_way-cycle2 i,.vip_way-cycle3 i{line-height:16px;display:table-cell;vertical-align:middle}.vip_way-cycle1 span{display:inline-block;width:13px;height:13px;background-position:-20px -60px;margin:0 0 0 -1px}.vip_pay-nativeway li.selected .vip_way-cycle1 i,.vip_pay-nativeway li.selected a:hover .vip_way-cycle1 i,.vip_pay-nativeway a:hover .vip_way-cycle1 i{padding:3px 0 2px}.vip_pay-nativeway li.disabled a:hover .vip_way-cycle1 i{padding:4px 0 2px}.vip_pay-nativeway{margin-left:-18px}.vip_pay-nativeway li{position:relative;float:left;height:80px;padding-left:18px;text-align:center;background-color:transparent;display:inline;*z-index:999}.vip_pay-nativeway a{display:block;width:104px;height:76px;padding:1px 32px 1px 1px;background-color:#fff;border:1px solid #ddd;font-family:"microsoft yahei"}.vip_pay-baiyin a{width:201px}.vip_pay-nativeway li.selected a{padding:0 31px 0 0;border:2px solid #ff6e1e}.vip_pay-nativeway a:hover{padding:0 31px 0 0;border:2px solid #ff6e1e}.vip_pay-nativeway a:hover .vip_tip-native,.vip_pay-nativeway li.selected .vip_tip-native,.vip_pay-nativeway li.selected a:hover .vip_tip-native,.vip_pay-nativeway li.disabled a:hover .vip_tip-native{left:14px;top:-4px}.vip_pay-nativeway li a:hover .vip_way-cycle1,.vip_pay-nativeway li.selected a .vip_way-cycle1,.vip_pay-nativeway li.selected a:hover .vip_way-cycle1{height:76px;top:2px;right:2px;padding:0 7px 0 8px}.vip_pay-nativeway li a:hover .vip_way-cycle2,.vip_pay-nativeway li.selected a .vip_way-cycle2,.vip_pay-nativeway li.selected a:hover .vip_way-cycle2,.vip_pay-nativeway li a:hover .vip_way-cycle3,.vip_pay-nativeway li.selected a .vip_way-cycle3,.vip_pay-nativeway li.selected a:hover .vip_way-cycle3{height:76px;line-height:16px;padding:0 7px 0 8px;right:2px;top:2px}.vip_pay-nativeway li.disabled a{padding:1px 32px 1px 1px;border-color:#eaeaea;cursor:default}.vip_pay-nativeway li.disabled a:hover{border:1px solid #eaeaea;cursor:default}.vip_pay-nativeway li.disabled a p,.vip_pay-nativeway li.disabled a strong{color:#ddd}.vip_pay-nativeway li.disabled a .vip_way-cycle1,.vip_pay-nativeway li.disabled a .vip_way-cycle2,.vip_pay-nativeway li.disabled a .vip_way-cycle3{height:78px;background-color:#f2f2f2;color:#bbb;padding:0 8px}.vip_pay-nativeway li.disabled a:hover .vip_way-cycle1,.vip_pay-nativeway li.disabled a:hover .vip_way-cycle2,.vip_pay-nativeway li.disabled a:hover .vip_way-cycle3{top:1px;right:1px}.vip_pay-nativeway li.disabled .vip_way-cycle1 span{background-position:-55px -60px}.vip_pay-nativeway li.disabled .vip_month{display:none}.vip_tip-native{position:absolute;top:-4px;left:14px;margin:0 4px;height:18px;line-height:18px;background:#ff6e1e;color:#fff;z-index:9;font-size:12px}.vip_pay-nativeway li.disabled .vip_tip-native{background:#bfbfbf}.vip_tip-left,.vip_tip-right,.vip_choice_txt{background:url(//www.iqiyipic.com/common/fix/vip_pay/vip_pay-site.png) no-repeat}.vip_tip-left{display:block;width:4px;height:22px;overflow:hidden;background-position:-120px 0;position:absolute;top:0;left:-4px}.vip_tip-right{display:block;width:4px;height:18px;overflow:hidden;background-position:-140px -20px;position:absolute;top:0;right:-4px}.vip_tip-center{display:block;max-width:100px;width:100px\9;*width:100px;height:18px;line-height:18px;padding:0 5px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vip_pay-nativeway li.disabled .vip_tip-native .vip_tip-left{background-position:-130px 0}.vip_pay-nativeway li.disabled .vip_tip-native .vip_tip-right{background-position:-150px 0}.vip_way-txtLine1,.vip_way-txtLine2,.vip_way-txtLine3{display:block;text-align:center;color:#ff6e1e}.vip_way-txtLine1{position:relative;font-size:16px;height:58px;padding-top:18px}.vip_way-txtLine2{height:35px;padding-top:12px;font-size:16px;white-space:nowrap;overflow:hidden}.vip_way-txtLine3{height:35px;padding-top:18px;font-size:16px}.vip_pay-longway .vip_way-txtLine3{padding-top:5px}.vip_way-txtLine3.pt10{padding-top:10px}.vip-diamonds .vip_way-txtLine3{height:58px;padding-top:20px;font-size:16px}.vip_way-txtDesc,.vip_way-txtequ{display:block;text-align:center;height:18px;margin-top:-5px;font-size:12px;color:#666;text-decoration:line-through}.vip_way-txtequ{text-decoration:none}.vip_way-txttips{font-size:12px;color:#ff6e00;line-height:14px}.vip_way-txtLine3 strong,.vip_way-txtLine2 strong,.vip_way-txtLine1 strong{color:#ff6e1e;font-size:26px;line-height:32px}.vip_month{width:297px;position:absolute;left:108px;top:86px;z-index:80}.vip_month-statement{padding:0 10px 8px;background-color:#fdf5ee;border:1px solid #f7bf8d;border-radius:3px}.vip_month-statement dt{text-align:left;width:275px;line-height:24px;font-size:12px;color:#5aa700;margin-top:5px}.vip_month-statement dd{text-align:left;width:275px;line-height:24px;font-size:12px;color:#666}.site_native .arrow1,.site_native .arrow2,.site_native .arrow3,.site_native .arrow4{width:0;height:0;border-style:dashed dashed solid;background-color:transparent;position:absolute;z-index:100}.site_native .arrow1{border-width:6px;border-color:transparent transparent #f0c191;top:-11px;left:25px}.site_native .arrow2{border-width:6px;border-color:transparent transparent #fcf5ef;left:-6px;top:-4px}.site_native .arrow3{border-width:10px;border-color:transparent transparent #e9e9e9;top:-20px;left:500px}.site_native .arrow4{border-width:10px;border-color:transparent transparent #fdf5ee;top:-9px;left:-10px;overflow:hidden}.vip_statement-close{width:9px;height:8px;background-position:-30px -80px;position:absolute;right:10px;top:10px;z-index:10}.vip_pay-nativebody{border:1px solid #e9e9e9;position:relative;margin-top:10px}.vip-diamonds .vip_pay-nativebody{margin-top:14px}.vip_tab{border-bottom:1px solid #e9e9e9;height:35px}.vip_tab ul{margin-left:0}.vip_tab li{position:relative;float:left;border-left:1px solid #e9e9e9;border-right:1px solid #e9e9e9;margin-left:-1px}.vip_tab li.selected{background-color:#fff}.vip_pay-nativebody .vip_tab .vip_tab-firstLi{*border-left:0}.vip_tab .vip_tab-firstLi a{width:123px}.vip-gold .vip_tab li:last-child{border-right:0}.vip_tab a{display:inline-block;width:120px;height:35px;text-align:center;font-size:12px;line-height:35px;position:relative;color:#666}.vip_tab a:hover{color:#3fa900}.vip_tab .selected a{text-align:center;z-index:1;color:#333;top:0;border:0;border-bottom:1px solid #fff}.vip_tab-lastLi{border-right:1px solid #fafafa}.vip_tab .vip_tab-lastLi a{width:123px}.vip_tab .pay_list-more a{background:#fff}.vip_tab .vip_tab-lastLi a:hover{color:#3fa900}.vip_tab li.disabled a,.vip_tab li.disabled a:hover{color:#ccc;cursor:default}.vip_pay-nativebody .vip_con{padding-top:16px;background:#fff;overflow:hidden}.vip_con .vip_pay-saoma{margin:0 0 16px}.vip_con .vip_pay-bdwallet{margin:35px 0 65px}.vip_con .vip_pay-phone{margin:0 0 20px}.vip_con .vip_pay-jihuoma{margin:0}.vip_con .vip_pay-bankCard{margin:0}.vip_con-show{padding:16px 0 0}.vip_con-show .vip_pay-saoma{margin:0 0 16px}.vip_con-show .vip_pay-bdwallet{margin:0 0 15px}.vip_con-show .vip_pay-zfb{margin:0 0 3px}.vip_con-show .vip_pay-qidou{margin:0 0 33px}.vip_saoma-left{float:left;width:114px;position:relative;padding:0 20px 0 170px;*padding-bottom:20px}.vip_ewmBox{padding:10px;position:relative;margin:0 auto;width:92px;height:92px;border:1px solid #d8d8d8}.vip_ewmBox-bg{width:118px;height:118px;position:absolute;background:url(//www.iqiyipic.com/common/fix/vippay/ewmbg.png) no-repeat;left:-3px;top:-3px;z-index:0}.vip_code-hover{display:block;position:absolute;top:0;left:0;cursor:pointer;z-index:1}.vip_code-hoverBg{width:92px;height:72px;padding-top:20px;margin:10px;background:rgba(0,0,0,.6);filter:progid:dximagetransform.microsoft.gradient(enabled="true",startcolorstr="#85000000",endcolorstr="#85000000")}.vip_code-hover i{display:block;width:30px;height:30px;background:url(//www.iqiyipic.com/common/fix/vip_pay/vip_pay-shuaxin.png) no-repeat 0 0;background-size:contain;margin:0 auto}.vip_code-hover i.icon-refresh{margin-top:10px;*margin-top:30px}.vip_code-hoverBg span{display:block;text-align:center;font-size:14px;color:#fff;margin-top:10px}.vip_ewm-tip{height:32px;line-height:32px;color:#333;white-space:nowrap;text-align:left;margin-top:10px;font-size:12px}.icon-box{width:114px;margin:0}.icon-bat{float:left;width:30px;height:30px;margin-left:18px;background:url(//www.iqiyipic.com/common/fix/vip/icon-payway.png) no-repeat;display:inline}.icon-zhifubao{background-position:-140px 0}.icon-weixin{background-position:-140px -40px}.icon-bat-pop{float:left;width:26px;height:26px;margin-left:10px;background:url(//www.iqiyipic.com/common/fix/vippay/pop-icon-payway.png) no-repeat;display:inline;cursor:default}.icon-bat-pop.icon-zhifubao{background-position:0 0}.icon-bat-pop.icon-weixin{background-position:-30px 0;margin-left:0}.icon-bat-pop.icon-ewm{background-position:-60px 0}.icon-bat-pop.icon-baiduwallet{background-position:-90px 0}.vip_pay-money{float:left;padding:5px 0 0}.vip_money-txt,.vip_money-num{font-size:14px;color:#333;line-height:24px}.vip_money-num{margin-top:10px;*padding-top:10px}.vip_money-num strong{font-size:26px;color:#ff6e1e}.vip_money-num span{font-size:14px;color:#333}.vip_bdwallet{margin:0 auto;background:url(//www.iqiyipic.com/common/fix/vippay/bdwallet.jpg) no-repeat;width:78px;height:88px}.vip_phone-inner{margin-left:50px}.vip_phone-inner p.inner-tips{margin:20px 0 23px 54px;padding-left:20px;font-size:12px;background:url(//www.iqiyipic.com/common/fix/vippay/pop-pay-tips.png) no-repeat left center;color:#999}.vip_phone-inner p.errorTip{margin:0}.vip-huafei-tip{color:#f00;font-size:12px}.vip_deal{height:18px;text-align:center;margin:0 0 15px}.vip_deal-type{margin-bottom:62px}.vip_deal a{font-size:12px;color:#c4c4c4;text-decoration:underline}.vip_deal a:hover{color:#5aa700}.vip_pay-money .vip_deal{margin-top:2px}.vip_jihuoma p{font-size:12px;height:24px;line-height:24px;text-align:center}.vip_jTxt{color:#3b3b3b}.vip_jDesc{color:#f00;margin-bottom:15px}.vip_btn-jihuo{padding-bottom:40px}.vip_btn-jihuo a{display:block;width:100px;height:30px;line-height:30px;margin:0 auto;text-align:center;color:#fff;background:#ff6e00;cursor:pointer;cursor:hand}.vip_choice{position:relative;margin-top:10px;z-index:90}.vip_choiceMold{height:24px;line-height:24px;font-size:12px;color:#333}.vip_choiceIcon{float:left;width:14px;height:14px;vertical-align:middle;margin-right:10px;margin-top:5px;background-position:0 0}.vip_choiceIcon:hover{background-position:-20px 0}.vip_choice .selected .vip_choiceIcon{background-position:-40px 0}.vip_choice_txt{float:left;position:relative;width:13px;height:13px;background-position:-160px -40px;margin:5px 0 6px 7px;cursor:pointer}.vip_choice_txt .vip_month{display:none}.vip_choice_txt.hover .vip_month{display:block;left:-24px;top:20px}.vipPhone-item{height:30px;line-height:30px;font-size:12px}.vipPhone-item label{float:left;width:54px;color:#333}.vipPhone_input-item{position:relative;float:left;height:30px;padding-bottom:0}.vipPhone-item .errorTip{position:absolute;left:270px;top:0;width:234px;line-height:30px;height:30px;font-size:12px;color:#f00;text-align:left;padding-left:0}.vipPhone_input-item .txt{display:block;width:258px;height:28px;line-height:28px;border:1px solid #ddd;outline:0;background-color:#fff;text-indent:9px;color:#666;-webkit-appearance:none}.vipPhone_input-item .t-147{width:147px}.vipPhone_btn{float:left;width:101px;height:30px;margin-left:10px;*margin-top:1px}.vipPhone_btn a{font-size:12px;color:#fff;display:block;height:30px;line-height:30px;text-align:center;width:101px;background:#5aa700;border-radius:1px}.vipPhone_btn a:hover{color:#fff;background-color:#62bd00}.vip_scrollbar{width:7px;position:absolute;top:6px;right:2px;border-radius:3px;background-color:#aeaeae}.vip_scrollbar:hover{background-color:#7b7b7b}.baoyue_text{float:left}.vip_chit{position:relative;z-index:80;margin-top:10px}.vip-diamonds .vip_chit{margin-top:14px}.vip_chit-wrap{width:610px;position:relative;z-index:99}.vip_chit-con{float:left;width:454px;height:30px}.vip_chit-txt{float:left;font-size:12px;color:#ff6e00;height:28px;line-height:28px;border:1px solid #e9e9e9;border-right:0;width:48px;padding-left:30px;text-align:left;background:url(//www.iqiyipic.com/common/fix/vippay/quan-icon.png) no-repeat 6px center;background-color:#fafafa}.vip_con-right{position:absolute;left:474px;top:0;height:30px;line-height:30px;cursor:pointer;font-size:12px}.vip_con-right a{color:#999}.vip_con-right a:hover{color:#ff9132}.vip_chit.disabled .vip_chit-txt{color:#ccc}.vip_chit.disabled .vip_select-name,.vip_chit.disabled .vip_select-time,.vip_chit.disabled .vip_con-right a,.vip_chit.disabled .vip_con-right a:hover{color:#bbb}.vip_chit.disabled .tip_t .tip_inner{border-top:4px solid #bbb}.vip_chit.disabled .vip_con-right,.vip_chit.disabled .vip_select,.vip_chit.disabled .vip_con-right a{cursor:default}.vip_chit.disabled .vip_duihuan{display:none}.vip_duihuan{width:588px;height:28px;border:1px solid #e9e9e9;background-color:#fdf5ee;margin-top:10px;padding:17px 10px;position:relative;clear:both;font-size:12px}.vip_input-quanma,.vip_input-yzm{float:left;position:relative}.vip_input-quanma input,.vip_input-yzm input{width:236px;padding-left:8px;border:1px solid #e9e9e9;height:26px;line-height:26px;color:#333;outline:0;background-color:#fff}.vip_input-yzm input{border-right:0;width:130px;margin-left:6px}.vip_input-quanma span,.vip_input-yzm span{position:absolute;top:1px;right:6px;height:26px;line-height:26px;color:#fe0000;text-align:right}.vip_yzm-pic{vertical-align:top;border:1px solid #d6d5d5;display:inline-block;width:66px;height:26px;float:left;*margin-top:1px}.vip_chit-con .vip_selectBox{position:relative;float:right;color:#999;height:28px;border:1px solid #e9e9e9;width:373px}.vip_select{height:28px;line-height:28px;padding:0 20px 0 10px;background:#fff;cursor:pointer;font-size:12px}.vip_select .tip_t{display:block;width:8px;height:8px;position:absolute;right:8px;top:10px}.vip_select .tip_t .tip_inner{z-index:1;position:absolute;top:3px;right:0;overflow:hidden;width:0;height:0;font-size:0;border:4px dashed transparent;border-top:4px solid #333}.vip_select .vip_list-first{display:block;height:28px}.vip_select-open .vip_select-con{display:block;border-color:#999}.vip_chit-con .vip_select-open{border-color:#999;border-bottom-color:#e9e9e9}.vip_select-open .vip_select .tip_inner{border-bottom:4px solid #333;border-top:0}.vip_select-wrap{position:absolute;top:29px;left:-1px;z-index:2;max-height:166px;overflow:hidden;border-bottom:1px solid #ddd}.vip_select-scroll{position:absolute;right:5px;top:0;width:6px;background:#d5d5d5;border-radius:3px;cursor:pointer}.vip_select-scroll:hover{background:#e8e8e8}.vip_select-con{width:373px;border:1px solid #ddd;border-top:0;background:#fff;margin-top:0}.vip_select-con li.selected{background-color:#f5f5f5}.vp_select-con li{cursor:pointer}.vp_select-con li:hover a{color:#5aa700}.vip_select-con li.selected .vip_select-yes{width:12px;height:8px;background-position:0 -100px;float:left;margin-top:10px}.vip_select-con li{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:0 20px 0 10px;height:32px;line-height:32px;background-color:#fff;border-bottom:1px solid #e9e9e9;width:343px}.vip_select-con li.vip_select-lastLi{border-bottom:0;color:#333}.vip_select-con li.disabled{cursor:default}.vip_select-con li.disabled em,.vip_select-con li.disabled.hover .vip_select-name{color:#999}.vip_list-first .vip_select-name{color:#ff6e00}.vip_select-name{float:left;color:#333;width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vip_name-ts{color:#ff6e1e}.vip_select-time{float:right}.vip_select-con li.selected .vip_select-name,.vip_select-con li.hover .vip_select-name{color:#fb7030}.barterBtn{height:28px;line-height:28px;margin-left:9px;float:left}.barterBtn span{float:left;width:13px;height:13px;margin:8px 4px 0 0;background-position:-40px -60px}.barterBtn:hover{color:#ff6e1e}.useBtn{width:60px;text-align:center;height:28px;line-height:28px;background-color:#ff6e1e;border-radius:1px;color:#fff;float:right;margin-left:0}.useBtn:hover{color:#fff;background:#ff6e1e}.vip_userImg{float:left;width:30px;height:30px;border-radius:50%}.vip_uTxt{font-size:14px;float:left;padding-left:10px}.vip_uTxt i{top:6px}.vip_order-prase{position:absolute;left:1px;bottom:1px;width:629px;height:48px;background-color:#fdf5ee;border-top:1px solid #ffd9b5;padding-left:19px;z-index:3}.vip_prase-lt{float:left;height:49px;line-height:49px;width:476px;padding-right:20px;text-align:right}.vip_lt1{font-size:14px;color:#333}.vip_lt1 strong{font-size:12px}.vip_lt1 span{font-size:26px;color:#ff6e1e}.vip_lt2{color:#333;margin-left:10px;font-size:12px}.vip_prase-rt a{position:absolute;right:0;top:-1px;width:133px;height:49px;line-height:49px;text-align:center;color:#fff;font-size:14px;background-color:#ff6e1e}.vip_prase-rt a:hover{color:#fff}.vip_prase-rt a.vp_siteBtn-disable,.vip_prase-rt a.vp_siteBtn-disable:hover,.vip_prase-rt a.vp_siteBtn-disable:active{background:#9e9e9e;color:#fff;cursor:default}.vip_success{width:368px;border:1px solid #dbdbdb;background-color:#fff;padding:40px 0 20px;position:relative}.vip_success-p1{height:28px;line-height:28px;color:#ff6e1e;font-size:16px;text-align:center}.vip_success-p2{width:210px;height:40px;line-height:20px;color:#333;text-align:center;margin:0 auto}.vip_success-btn{width:109px;margin:0 auto;margin-top:25px}.vip_success-btn a{display:inline-block;width:109px;height:29px;line-height:29px;text-align:center;color:#fff;font-size:14px;border-radius:2px;background-color:#ff6e1e}.vip_success-btn a:hover{color:#fff}.vip_success-close{width:12px;height:12px;background-position:0 -40px;position:absolute;right:10px;top:10px;cursor:pointer}.vip_success-close:hover{background-position:-20px -40px}.vip_success-close:active{background-position:-40px -40px}.vip_success-yes{width:280px;height:106px;text-align:center;color:#fff;background:rgba(0,0,0,.8);background:url(//www.iqiyipic.com/common/fix/vippay/popbg.png) no-repeat -0px -90px\9;border-radius:7px;position:absolute;top:50%;left:50%;margin-top:-53px;margin-left:-140px;z-index:99}.vip_success-yes h3.yes-s1{font-size:14px;margin-top:16px}.vip_success-yes h3.yes-s2{font-size:14px;line-height:106px}.vip_success-yes p{font-size:12px;text-align:center;margin:10px 50px 0}.popBg{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;z-index:10;background:#000}.vipgu_top{text-align:center;margin:0 auto;margin-top:50px;padding-bottom:60px;border-bottom:1px dashed #e4e4e4}.vipgu_top h2{font-size:24px;color:#333;margin:0 auto;line-height:46px;padding-left:65px;text-align:left;background:url(//www.iqiyipic.com/common/fix/vip_pay-native/state.png) no-repeat -0px -0px}.vipgu_txtBox{padding-top:10px}.vipgu_txtBox p{font-size:14px;line-height:28px;color:#333}.vipgu_btm{height:145px;margin:56px 153px 37px;background:url(//www.iqiyipic.com/common/fix/vip_pay/vip_pay-ewmBg2.png) no-repeat}.vipgu_rTxt{padding-top:6px;padding-left:19px;width:164px}.vipgu_rTxt h3{height:44px;line-height:44px;font-size:18px;color:#5bab00}.vipgu_rTxt p{height:28px;line-height:28px;font-size:14px}.vipgu_rImg{position:relative;padding-top:18px}.rImg-tip{position:absolute;display:block;width:68px;height:24px;top:-6px;left:-20px;background:url(//www.iqiyipic.com/common/fix/vip_pay/vip_pay-ewmTip.png) no-repeat}.vipgu_rTxt,.vipgu_rImg{float:left}.vgu_txtBtn a{padding:0 9px}.vipgu_top-gold{border:0;padding-bottom:0;margin-top:155px;margin-bottom:189px}.vipgu_top-gold h2{width:0;height:34px;margin:0 auto;padding-left:43px;background:url(//www.iqiyipic.com/common/fix/vip_pay-native/VIP.png) no-repeat}.vipgu_top-gold p{font-size:16px;line-height:36px}.vip-discount{font-size:14px;margin-left:20px}.vip-discount em{color:#ff6e1e}.vip_ensure span{font-size:14px;color:#ff6e1e}.vipgu_top-stop{border:0;padding-bottom:0;margin-top:155px;margin-bottom:177px}.vipgu_top-stop h2{width:0;height:46px;margin:0 auto;background:url(//www.iqiyipic.com/common/fix/vip_pay-native/state.png) no-repeat 0 -100px}.vipgu_top-stop p{font-size:16px;line-height:36px}.vipgu_top-open{border:0;padding-bottom:0;margin-top:155px;margin-bottom:190px}.vipgu_top-open h2{width:120px;background:url(//www.iqiyipic.com/common/fix/vip_pay-native/state.png) no-repeat 0 -50px}.vipPayCover{position:fixed;_position:absolute;left:0;top:0;width:100%;background:rgba(0,0,0,.3);z-index:4745;filter:progid:dximagetransform.microsoft.gradient(enabled="true",startcolorstr="#4c000000",endcolorstr="#4c000000")}.vipwin_top{width:608px;height:263px;border:1px solid #e9e9e9;margin:20px 19px 15px;padding-top:45px;background:#fff url(//www.iqiyipic.com/common/fix/vippay/vip_bg.jpg) no-repeat right bottom}.vipwin_top h2{font-size:20px;color:#333;margin:0 0 40px 165px;line-height:42px;padding-left:52px;text-align:left;background:url(//www.iqiyipic.com/common/fix/vippay/vip_win.png) no-repeat}.vipwin_infor{width:100%;height:80px;margin-bottom:20px}.vipwin_infor ul{height:80px;padding-left:107px}.vipwin_infor ul li{width:227px;height:40px;line-height:40px;font-size:14px;padding-left:23px;float:left}.vipwin_infor ul li span{float:left;color:#999}.vipwin_infor ul li em{float:left;color:#333;width:125px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vipwin_txt{font-size:14px;color:#333;line-height:40px;text-align:center}.vipwin_btm{width:236px;height:90px;margin:0 auto;background:url(//www.iqiyipic.com/common/fix/vippay/winbg.png) no-repeat}.vipwin_rTxt,.vipwin_rImg{float:left}.vipwin_rTxt{padding-top:5px;padding-left:7px;width:124px}.vipwin_rTxt h3,.vipwin_rTxt p{font-size:12px;height:20px;line-height:20px;color:#5aa700}.vipwin_rTxt p{color:#666}.vipwin_rImg{position:relative;padding-top:9px}.vipwin_rImg .rImg-sao{position:absolute;right:-25px;top:8px;width:12px;height:50px;border:1px solid #ff6e1e;border-radius:3px;color:#ff6e1e;line-height:12px;padding:4px 2px}.vip_pay-wait{width:368px;border:1px solid #dbdbdb;background-color:#fff;padding:0 0 20px}.vip_pay-wait h2{border-bottom:1px solid #dbdbdb;height:38px;line-height:38px;color:#333;font-size:12px;position:relative;margin-bottom:26px;padding-left:10px}.vip_pay-wait h2 .vip_success-close{top:13px}.vip_wait-info{text-align:center}.vip_wait-info .info-list{display:inline-block;text-align:left}.vip_wait-txt{height:20px;line-height:20px;font-size:12px;color:#666}.vip_wait-btn{height:29px;margin:25px auto 18px;text-align:center}.vip_wait-btn a{display:inline-block;font-size:12px;width:109px;height:29px;line-height:29px;text-align:center;color:#fff;border-radius:2px;background-color:#ff6e1e}.vip_wait-btn a.vip_wait-btns{width:107px;height:27px;line-height:27px;border:1px solid #ff6e1e;background-color:#fff;color:#ff6e1e;margin-left:14px}.vip_wait-btn a:hover{background-color:#ff6e1e;color:#fff}.vip_wait-btm{padding-left:60px}.vip_wait-btm p{height:16px;line-height:16px;font-size:12px;color:#999;padding-left:22px;margin-bottom:8px;background:url(//pic6.iqiyipic.com/common/20160927/vippay/pay-que.png) no-repeat}.vip_pay-wrap{width:508px;border:1px solid #dbdbdb;background:#fff}.vip_pop-title{height:40px;line-height:40px;font-size:14px;color:#333;background:#f2f2f2;padding-left:14px}.vip_pop-title .close{float:right;margin-right:15px;font-size:22px;color:#8e8e8e}.vip_pop-title .close:hover{color:#666}.vip_pay-type{padding:13px 40px;overflow:hidden}.vip_pay-type .type-title{line-height:46px;font-size:14px;color:#333;padding-left:20px;background:url(//www.iqiyipic.com/common/fix/vippay/listicon.png) no-repeat 0 center}.vip_pay-type .type-txt{line-height:20px;font-size:12px;color:#999;padding:0 0 14px 20px}.vip_pay-type .txt-link{color:#ff6e00}.vipwin_redPackets{overflow:hidden}.redPackets-saoma{float:left;width:188px;height:140px;background:url(//www.iqiyipic.com/common/fix/redPackets/redPackets.jpg) no-repeat;margin-left:106px;display:inline;position:relative}.redPackets-saoma img{position:absolute;top:12px;left:56px}.redPackets-pop-refresh{position:absolute;left:56px;top:12px;width:76px;height:76px;background:rgba(0,0,0,0.8);filter:progid:dximagetransform.microsoft.gradient(enabled="true",startcolorstr="#85000000",endcolorstr="#85000000")}.redPackets-pop-refresh .refresh-icon{display:inline-block;width:38px;height:34px;margin:12px 19px 0;background:url(//www.iqiyipic.com/common/fix/redPackets/refresh.png) no-repeat}.redPackets-pop-refresh .refresh-txt{display:inline-block;width:100%;text-align:center;font-size:12px;color:#999}.redPackets-line{float:left;margin:42px 15px 42px 0;width:0;height:61px;border-right:1px dashed #9c9c9c}.redPackets-txt{float:left;padding-top:33px}.redPackets-txt .txt1{font-size:20px;font-weight:bold;color:#dab176;line-height:32px;white-space:nowrap}.redPackets-txt .txt2{font-size:16px;font-weight:bold;color:#ff6e1e;line-height:22px}.redPackets-txt .txt3{font-size:14px;color:#666;line-height:16px}.site_native .vip_info{border-radius:0;width:648px;height:138px;padding:0;background:0}.pay_list-more{display:none;position:absolute;top:-1px;right:-2px;border:1px solid #ccc;padding-top:36px}.pay_list-more li{border-top:1px solid #ececec;border-left:none}.pay_list-more li:hover a{background:#f6f6f6;color:#5aa700}.tab-list-open .pay_list-more{display:block}.txt-more i{display:inline-block;overflow:hidden;width:0;height:0;border:4px dashed transparent;border-top:4px solid #333;margin:15px 0 0 5px}.tab-list-open i{border-bottom:4px solid #333;border-top:0}.vip_qidou{height:80px;padding-left:35px}.vip_qidou-tip{height:26px;line-height:26px;margin-bottom:5px;color:#999;padding-left:20px;background:url(//www.iqiyipic.com/common/fix/vippay/pop-pay-tips.png) no-repeat left center}.vip_qidou-balance{color:#000;height:48px;line-height:48px;overflow:hidden;font-size:12px}.vip_qidou-balance em{font-size:25px;font-weight:bold;color:#ff6e1e}.vip_qidou-balance span{color:#999}.vip_qidou-charge{float:left;width:122px;height:24px;line-height:24px;padding-left:10px;margin:15px 0 0 10px;border:1px solid #f7bf8d;border-radius:2px;background:#fdf5ee;color:#333;position:relative}.vip_qidou-charge a{color:#ff6e1e}.site_native .arrow-out{width:0;height:0;border-width:5px;border-color:transparent #f7bf8d transparent transparent;border-style:dashed solid dashed dashed;position:absolute;left:-11px;top:7px;z-index:10}.site_native .arrow-in{width:0;height:0;border-width:5px;border-color:transparent #fdf5ee transparent transparent;border-style:dashed solid dashed dashed;position:absolute;left:-3px;top:-5px;overflow:hidden;z-index:100}.vip_zfb{text-align:center;margin-bottom:10px}.vip_zfb-tip{display:inline-block;height:26px;line-height:26px;color:#999;background:url(//www.iqiyipic.com/common/fix/vippay/pop-pay-tips.png) no-repeat left center;padding-left:20px;font-size:12px;margin-top:0}.vip_zfb-icon{text-align:center;font-size:12px}.site_native-autopay{width:650px;height:auto;overflow:hidden;position:relative}.site_main-autopay{width:648px;background-color:#f6f6f6;border:1px solid #dbdbdb;border-top:0;overflow:hidden}.site_main-autopay .vip_info{border-radius:0;width:648px;height:auto;padding:0;background:0}.site_main-autopay .vip_info .c333{color:#333}.site_main-autopay .vip_info em,.site_main-autopay .vip_info a{float:left;width:auto;color:#333}.site_main-autopay .vip_info .user-name{width:125px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vipfail_top{width:608px;height:263px;border:1px solid #e9e9e9;margin:20px 19px 15px;padding-top:45px;background:#fff url(//www.iqiyipic.com/common/fix/vippay/vip_bg.jpg) no-repeat right bottom}.vipfail_top h2{font-size:20px;color:#333;margin:0 0 40px 240px;line-height:42px;padding-left:52px;text-align:left;background:url(//www.iqiyipic.com/common/fix/vippay/vip_fail.png) no-repeat}.vipfail_infor{font-size:14px;color:#333;padding:10px 50px 0 90px}.vipfail_infor p{line-height:24px}.vipfail_infor .vip-kf{margin-top:30px;color:#999;text-align:right}.vipfail_infor .vip-kf a{float:none;color:#ff6e00}.pop-vip-box{background-color:#dbdbdb;padding:1px;border-bottom:2px solid #e6e6e6}.pop-vip-box .close{color:#8e8e8e;font-size:22px;position:absolute;top:12px;right:12px}.pop-vip-box h3{font-size:22px}.pop-vip-box .cancel_reason-title{white-space:nowrap}.pop-vip-box .answer-txt{padding-left:0}.pop-vip-box .cancel-btn{text-align:center;margin:20px 0 10px}.pop-vip-box .cancel-btn .btn-s1{width:140px;display:inline-block;height:26px;line-height:26px;text-align:center;color:#5aa700;font-size:14px;background-color:#f2f2f2;border-radius:2px;border:1px solid #dfdfdf}.pop-vip-box .cancel-btn .btn-s1:hover{border-color:#7db718;background-color:#7db718;color:#fff}.pop-vip-box .cancel-btn .btn-s2{width:140px;display:inline-block;height:28px;line-height:28px;text-align:center;color:#fff;font-size:14px;background-color:#5aa700;border-radius:2px;margin-left:20px}.pop-vip-box .cancel-btn .btn-s2:hover{color:#fff;background-color:#7db718}.app_store_navTitle{float:left}.nav_search{float:right}.change-account{display:inline-block;width:66px;height:22px;line-height:22px;text-align:center;margin-left:5px;border:1px solid #5aa700;border-radius:3px;font-size:12px;color:#5aa700;cursor:pointer}.change-account:hover{border-color:#57a900;background:#57a900;color:#fff}.vip_change{line-height:20px;text-align:center;font-size:12px}.vip_sales{padding:35px 60px 0;line-height:20px;text-align:center}.vip_choice .pop-top{top:-18px;height:22px}.pop-top .vip_pop-txt{float:left;line-height:22px;color:#fff;font-size:12px}.pop-top .vip_pop-wrap span{margin-top:8px}.pop-top .vip_pop-arrow{top:21px}.vip_wait-btn .btn-s1{width:107px;height:27px;line-height:27px;border:1px solid #ff6e1e;background-color:#fff;color:#ff6e1e}.vip_wait-btn .btn-s1:hover{background:#ff6e1e;color:#fff}.vip_wait-btn .btn-s2{margin-left:10px}.no-line{text-decoration:none;color:#333}.vip_select-con li .lock-tips{display:none}.vip_select-con .locking .vip_select-name{color:#999}.vip_select-con .locking.hover .vip_select-name{color:#333}.vip_select-con .locking .vip_select-yes{float:left;width:11px;height:13px;background-position:0 -115px;margin-top:7px;position:relative}.vip_select-con .disabled .vip_select-yes{position:relative}.vip_select-con .locking.hover .vip_select-yes{background-position:-16px -115px}.vip_select-con .locking .lock-tips,.vip_select-con .disabled .lock-tips{display:none;position:absolute;left:-60px;top:-7px;max-width:250px;min-width:240px;white-space:normal;text-align:justify;line-height:16px;border:1px solid #efc191;border-radius:3px;background-color:#fcf5ef;font-size:12px;color:#333;padding:0 10px;z-index:9;cursor:default}.vip_select-con .disabled .lock-tips{top:0}.vip_select-con .locking.hover .lock-tips,.vip_select-con .disabled.hover .lock-tips{display:block}.vip-unlock{position:relative;width:408px;height:258px;border:1px solid #dbdbdb;background:#fff}.unlock-icon{width:60px;height:60px;margin:45px auto 32px;background:url(//www.iqiyipic.com/common/fix/vippay/unlock.png) no-repeat}.unlock-icon-type1{background-position:0 0}.unlock-icon-type2{background-position:-70px 0}.unlock-icon-type3{background-position:-140px 0}.unlock-icon-type4{background-position:-210px 0}.unlock-icon-type5{background-position:-280px 0}.unlock-tips{height:36px;line-height:18px;font-size:14px;color:#333;text-align:center;margin-bottom:30px}.unlock-btn{display:block;width:120px;height:30px;line-height:30px;text-align:center;color:#fff;font-size:16px;border-radius:2px;background-color:#ff6e1e;margin:0 auto}.unlock-btn:hover{color:#fff}.site_head .qyv-rank{float:left;width:22px;height:16px;margin-left:8px}.qypage-980 .site-main.main_vipReset,.qypage-1180 .site-main.main_vipReset,.qypage-1380 .site-main.main_vipReset{margin-top:20px}.vip_way-good{position:absolute;bottom:13px;left:4px;width:98px;height:12px;background:url(//www.iqiyipic.com/common/fix/vippay/vip-pay-lxby.png) no-repeat}.site_tab{height:37px;margin:0 -19px}.site_tab ul{height:37px}.site_tab li{float:left;height:37px}.site_tab a{display:block;width:324px;height:37px;border-bottom:1px solid #e9e9e9;text-align:center}.site_tab li.selected .tab_title-line{display:block}.site_tab a:hover .tab_title-line{display:block}.site_tab a:hover .tab_title-txt,.site_tab li.selected .tab_title-txt,.site_tab li.selected a:hover .tab_title-txt{color:#333}.site_tab-title{display:block;position:relative;height:37px;line-height:37px;font-size:14px;color:#666;white-space:nowrap}.tab_title-txt{font-weight:bold}.tab_title-line{display:block;display:none;width:27px;height:3px;border-radius:1px;background:#ff6e1e;margin:-3px auto 0}.tab_title-icon{position:absolute;left:82px;bottom:2px;height:17px;line-height:17px;background:-webkit-linear-gradient(left,#c974fa,#7828fc);background:-o-linear-gradient(right,#c974fa,#7828fc);background:-moz-linear-gradient(right,#c974fa,#7828fc);background:linear-gradient(to right,#c974fa,#7828fc);filter:progid:dximagetransform.microsoft.gradient(gradientType = 1,startcolorstr = "#ffc974fa",endcolorstr = "#ff7828fc");border-radius:3px 3px 3px 0;font-size:12px;color:#fff;padding:0 5px;box-shadow:0 2px 4px rgba(193,89,255,0.2)}.site_tab-tennis.disabled a{background:#f2f2f2;cursor:not-allowed}.site_tab-diamonds.disabled .site_tab-title,.site_tab-diamonds.disabled .site_tab-platform{color:#999}.site_tab-platform{height:18px;line-height:18px;font-size:12px;color:#999}.vip_diamonds-up .vip_way-txtLine1{width:177px;height:78px;line-height:78px;padding:0}.vip-diamonds .vip_tab a{width:151px}.vip-diamonds .vip_tab .vip_tab-lastLi a{border-right:0;width:151px}.vip_diamonds-up{position:relative;z-index:11}.vip_diamonds-up a{display:block;width:177px;height:78px;z-index:3;padding:0 111px 0 0;background-color:#fff;border:1px solid #ddd}.vip_diamonds-up a:hover{padding:0 111px 0 0;border:1px solid #ddd}.vip_diamonds-up .vip_way-cycle2,.vip_pay-nativeway .vip_diamonds-up a:hover .vip_way-cycle2{width:111px;height:78px;font-size:16px;color:#333;padding:0;line-height:78px;right:1px;top:1px}.vip_pay-nativeway .diamonds_list-down{display:none;position:absolute;left:18px;top:80px;width:288px;max-height:195px;overflow:hidden;padding-left:0;border-top:0;border-bottom:0;border-left:1px solid #ddd;border-right:1px solid #ddd;z-index:9}.vip_pay-nativeway .diamonds-list{overflow:hidden}.diamonds-list-open .diamonds_list-down{display:block}.vip_pay-nativeway .diamonds-list .diamonds-item{height:39px;line-height:39px;padding-left:0}.vip_pay-nativeway .diamonds-list .diamonds-item a{width:288px;height:38px;line-height:39px;padding:0;border:0;border-bottom:1px solid #ddd;font-size:16px;color:#333}.vip_pay-nativeway .diamonds-list .diamonds-item.selected a,.vip_pay-nativeway .diamonds-list .diamonds-item a:hover{background-color:#ededed}.diamonds-item-price{float:left;width:177px;line-height:38px}.diamonds-item-time{float:right;width:111px;line-height:38px}.vip_diamonds-back{line-height:18px;font-size:12px;color:#333;margin-top:13px}.vip_diamonds-back span{display:inline-block;vertical-align:-1px;width:7px;height:12px;margin-right:6px;background-position:-65px -80px}.vip_diamonds-title{line-height:40px;font-size:14px;color:#333;font-weight:bold}.vip_diamonds-tip{width:100%;padding:6px 0;overflow:hidden}.vip_diamonds-uptip{line-height:18px;font-size:12px;color:#666;margin-bottom:15px}.vip_diamonds-tip p{height:30px;line-height:30px;font-size:12px;color:#666}.vip_diamonds-toast,.vip_gold-toast{position:absolute;top:50%;left:50%;width:240px;line-height:24px;padding:12px 0;text-align:center;color:#fff;background:rgba(0,0,0,.8);filter:progid:dximagetransform.microsoft.gradient(enabled="true",startcolorstr="#cc000000",endcolorstr="#cc000000");border-radius:7px;margin-top:-24px;margin-left:-120px;z-index:99;font-size:12px}.vip_gold-toast{padding:20px;font-size:14px;margin-left:-140px}.vip-gold li.disabled a:hover .vip_way-cycle2{padding:0 8px}.diamonds-arrow{display:inline-block;vertical-align:2px;width:0;height:0;border-width:6px 4px 0;border-color:#666 transparent transparent;border-style:solid dashed dashed;margin-left:10px}.diamonds-list-open .diamonds-arrow{border-width:0 4px 6px;border-color:transparent transparent #666;border-style:dashed dashed solid}.vip-diamonds .vip_con .vip_pay-saoma{margin:0 0 16px}.vip-diamonds .vip_con .vip_pay-qidou{margin:0 0 31px}.vip-diamonds .vip_con .vip_pay-zfb{margin:0 0 1px}.vip-diamonds .vip_con .safe-loading-on{margin:60px 0 60px 80px}.vip-diamonds .vip_con .bankCard_tip-browser{margin:60px 0}.vip-diamonds .vip_con-up .vip_pay-saoma{margin:35px 0 50px}.vip-diamonds .vip_con-up .vip_bankCard{min-height:189px}.vip-diamonds .vip_con-up .vip_pay-zfb{margin:12px 0 39px}.vip-diamonds .vip_con-up .vip_pay-qidou{margin:0 0 81px}.diamonds-list-scroll{position:absolute;right:3px;top:7px;width:6px;height:180px;border-radius:3px;background:transparent;z-index:9}.diamonds-list-scroll span{display:inline-block;width:6px;border-radius:3px;background:rgba(0,0,0,0.1);filter:progid:dximagetransform.microsoft.gradient(enabled="true",startcolorstr="#19000000",endcolorstr="#19000000");cursor:pointer}.site_head-pca{background:#e3e3e3}.site_head-pca .myName,.site_head-pca .login_method{color:#000}.site_head-pca .site_head-close,.site_head-pca .site_head-close:hover,.site_head-pca .site_head-close:active{background:0;cursor:default;display:none}.site_head-pca .vip_no-icon{background-position:0 -60px}.site_head-pca .vip_no-txt{color:#666}.site_head-pca .site_head-txt{color:#333}.site_subtab{width:608px;height:28px;border:1px solid #ddd;border-radius:4px;overflow:hidden;margin-top:12px}.site_subtab a{float:left;width:304px;height:28px;line-height:28px;text-align:center;font-size:12px;color:#666;border-radius:4px}.site_subtab a.selected{background:#ddd;color:#ff6e1e}.site_subtab a.selected .subtab-name{color:#ff6e1e}.subtab-name{font-size:14px;color:#666;margin-right:5px;font-weight:bold}.subtab-sale{display:inline-block;*display:inline;*zoom:1;height:18px;line-height:18px;text-align:center;font-size:12px;color:#fff;padding:0 5px;margin-left:4px;background:-webkit-linear-gradient(top,#fe8141,#f95532);background:-o-linear-gradient(bottom,#fe8141,#f95532);background:-moz-linear-gradient(bottom,#fe8141,#f95532);background:linear-gradient(to bottom,#fe8141,#f95532);filter:progid:dximagetransform.microsoft.gradient(gradientType = 0,startcolorstr = "#fffe8141",endcolorstr = "#fff95532");border-radius:4px}.tab_title-tips{font-size:12px;color:#999;margin-left:4px}.qyt-bright,.qyt-dark{float:left;width:12px;height:15px;margin:7px 0 0 5px;background-image:url(//www.iqiyipic.com/common/fix/vip-tennis/qyt-icon.png);background-position:0 0}.qyt-dark{background-position:-20px 0}.site_main-tennis .vip_pay-nativeway.vip_pay-longway li a{width:260px}.tennis_result-pop,.diamond_result-pop{display:inline-block;width:372px}.vip_pop-xiaolu{display:block;margin:0 auto -6px;position:relative;z-index:9;width:128px;height:67px;background:url(//www.iqiyipic.com/common/fix/vip-tennis/tennis-xiaolu.png) no-repeat}.tennis_result-pop .zs_result-icon{margin-top:auto;background:url(//www.iqiyipic.com/common/fix/vip-tennis/tennis-pay-icon.png)}.txt-one{margin:30px 0 50px}.txt-two{line-height:40px;font-size:20px;margin-bottom:20px}.tennis_result-pop .zs_result-btn a{height:32px;line-height:32px;border:1px solid #00c13b;font-size:14px;color:#00c13b}.tennis_result-pop .zs_result-btn .btn-nbd{color:#fff;background:#00c13b}.tennis_result-pop .zs_result-btn a:hover{border-color:#00d440;background:#00d440;color:#fff}.vip_pay-nativeway.vip_pay-longway li a{width:156px}.link-company{font-size:12px;color:#ff2b19;text-decoration:underline}.link-company:hover{color:#ff2b19;text-decoration:none}.vip-tennis .vip_pay-saoma{margin:25px 0}.vip-tennis .vip_deal{margin-bottom:35px}.vip-tennis .vip_pay-jihuoma{margin:25px 0 6px}.vip-tennis .vip_pay-zfb{margin:25px 0 6px}.vip-tennis .vip_pay-qidou{margin:25px 0 22px}.vip-tennis .vip_pay-bankCard{margin:0 0 21px}.vip_maizeng-loading{height:122px;padding:160px 0 207px;background:#fff;text-align:center}.loading-icon-down{position:relative;width:48px;height:48px;margin:0 auto 30px;border:5px solid #f4f2f2;border-radius:50%}@keyframes loading{0%{transform:rotate(45deg)}100%{transform:rotate(405deg)}}.loading-icon-up{position:absolute;left:-5px;top:-5px;width:48px;height:48px;border:5px solid #ccc;border-radius:50%;border-top-color:transparent;transform:rotate(45deg);animation:loading .75s linear infinite}.vip_maizeng-loading .loading-txt{height:30px;line-height:30px;font-size:20px;color:#333}.vip_maizeng-top{height:349px;border-bottom:1px solid #e9e9e9;background:#fff}.maizeng_title{position:relative;height:42px;padding:70px 0 15px;text-align:center}.maizeng_title-icon{display:inline-block;width:42px;height:42px;margin-right:15px;background:url(//www.iqiyipic.com/common/fix/qyguo/qyguo-yes.png) no-repeat;vertical-align:middle}.maizeng_title-txt,.maizeng_title-user{display:inline-block;line-height:42px;font-size:20px;color:#000;vertical-align:middle}.maizeng_title-user{max-width:230px;_width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.maizeng_title-mark{line-height:20px;text-align:center;font-size:12px;color:#666;margin-bottom:15px}.maizeng_title-mark .mark-done{color:#c2a171}.maizeng_title-mark .mark-go a,.maizeng_title-mark .mark-go a:hover{color:#ff6e00}.maizeng_title-mark .mark-opening{color:#666}.maizeng_con ul{padding-left:190px;padding-right:114px}.maizeng_item{line-height:30px;font-size:14px;color:#333;position:relative}.maizeng_item i{color:#999}.maizeng_item-zp{position:absolute;left:70px;top:0}.vip_maizeng-btm{width:260px;margin:15px auto 24px;overflow:hidden}.maizeng-ewm{float:left;position:relative;width:68px;height:100px;background:url(//www.iqiyipic.com/common/fix/vippay/maizeng-ewm.png) no-repeat}.maizeng-ewm img{position:absolute;bottom:7px;left:7px}.maizeng-ewm-gray{position:absolute;left:7px;bottom:7px;width:54px;height:54px;background:rgba(0,0,0,.6);filter:progid:dximagetransform.microsoft.gradient(enabled="true",startcolorstr="#85000000",endcolorstr="#85000000")}.maizeng-ewm-gray i{display:block;width:28px;height:27px;background:url(//www.iqiyipic.com/common/fix/vippay/maizeng-sx.png) no-repeat;background-size:contain;margin:4px auto 1px}.maizeng-ewm-gray span{display:block;height:22px;line-height:22px;font-size:12px;color:#ccc;text-align:center}.maizeng-good{float:left;margin:28px 0 0 18px}.maizeng-good .txt1 a{font-size:12px;font-weight:bold;color:#dab176;line-height:26px;text-decoration:underline;cursor:pointer}.maizeng-good .txt2{font-size:14px;color:#333;line-height:22px}.maizeng-good .txt3{font-size:14px;color:#333;line-height:22px}.maizeng-good .txt3 em{font-size:18px;color:#ed6d1f}.vip_zs-result{text-align:center;height:300px;padding-top:90px;background:#f6f6f6}.zs_yes-title .zs_result-icon,.zs_kt-title .zs_result-icon,.zs_dj-title .zs_result-icon{display:inline-block;vertical-align:top;margin:0 10px 0 0}.zs_yes-title .zs_result-txt,.zs_kt-title .zs_result-txt{display:inline-block;margin-bottom:0;text-align:left}.zs_kt-title .zs_result-icon{background:url(//www.iqiyipic.com/common/fix/qyguo/qyguo-yes.png) no-repeat}.zs_result-txt .txt-main{line-height:20px;font-size:20px;color:#000;margin-bottom:8px}.zs_kt-title .zs_result-txt .txt-main,.zs_dj-title .zs_result-txt .txt-main{display:inline-block;line-height:42px;margin-bottom:0}.txt-main-user{display:inline-block;vertical-align:top;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.txt-main-info{display:inline-block}.zs_yes-title .zs_result-txt .txt-tip{line-height:14px;font-size:12px;color:#666}.zs_yes-title .zs_result-txt span{color:#c8a06a}.zs_yes-txt{height:64px;line-height:32px;font-size:12px;color:#333;margin:60px 0 20px}.zs_yes-txt .txt-num{font-size:14px}.zs_yes-txt .txt-num span{color:#ff6000}.zs_yes-btn a{position:relative;display:inline-block;width:146px;height:36px;line-height:36px;background:#c8a06a;border-radius:4px;font-size:14px;color:#fff}.zs_yes-btn a:hover{background:#ae8058}.zs_yes-btn span{display:none;position:absolute;left:50%;top:50%;margin-left:-11px;margin-top:-11px;width:22px;height:22px;background:url(//www.iqiyipic.com/common/fix/qyguo/qyguo-loading.png) no-repeat}.vip_qyguo-loading span{display:block;animation:loading 1s linear infinite;-moz-animation:loading 1s linear infinite;-webkit-animation:loading 1s linear infinite;-o-animation:loading 1s linear infinite}.zs_yes-btn .vip_qyguo-loading{color:transparent}.zs_yes-btn .vip_qyguo-loading:hover{background:#c8a069;cursor:default}.vip_zs-btm{overflow:hidden;text-align:center;border-top:1px solid #e9e9e9}.vip_zs-btm .zs_yes-txt{line-height:21px;font-size:12px;color:#666;margin:38px 0 0}.zs_result-toast{position:absolute;left:50%;top:50%;margin-left:-120px;margin-top:-24px;width:240px;height:48px;line-height:48px;text-align:center;color:#fff;font-size:12px;border-radius:6px;background:rgba(0,0,0,.8);filter:progid:dximagetransform.microsoft.gradient(enabled="true",startcolorstr="#cc000000",endcolorstr="#cc000000")}.zs_result-toast span{display:inline-block;vertical-align:middle;width:22px;height:22px;margin:-3px 10px 0 0;background:url(//www.iqiyipic.com/common/fix/qyguo/qyguo-loading.png) no-repeat;animation:loading 1s linear infinite;-moz-animation:loading 1s linear infinite;-webkit-animation:loading 1s linear infinite;-o-animation:loading 1s linear infinite}.zs_result-pop{position:relative;width:308px;height:auto;padding:30px;border:1px solid #dbdbdb;background:#fff;text-align:center}.zs_result-icon{display:inline-block;width:42px;height:42px;background:url(//www.iqiyipic.com/common/fix/qyguo/qyguo-warn.png) no-repeat;margin:29px 0 14px}.zs_result-txt{line-height:25px;font-size:14px;color:#333;margin-bottom:15px}.zs_result-btn a{display:inline-block;width:107px;height:27px;line-height:27px;border:1px solid #c8a06a;border-radius:2px;font-size:12px;color:#c8a06a;background:#fff}.zs_result-btn .btn-nbd{color:#fff;background:#c8a06a;margin-left:10px}.zs_result-btn a:hover{color:#fff;background:#ae8058;border-color:#ae8058}.diamond_result-pop .zs_result-btn a{color:#c8a069;border-color:#c8a069}.diamond_result-pop .zs_result-btn a.btn-nbd{color:#fff;background:#c8a069}.diamond_result-pop .zs_result-btn a:hover{color:#fff;border-color:#ae8058;background:#ae8058}.zs_kt-title,.zs_dj-title{display:inline-block;height:42px}.zs_kt-con{text-align:left}.zs_kt-con ul{padding:0 0 0 220px}.zs_kt-con .zs-item{line-height:28px;font-size:14px;color:#333}.zs_item-zp{position:relative;left:0;*left:70px;top:0;*top:-28px;margin-bottom:-28px;display:inline-block;vertical-align:top}.zs-item-phone{color:#ff6000}.zs_btm-con{line-height:26px;margin:10px 0 0;font-size:12px}.btm-txt1{font-size:16px;color:#333}.site_main-tennis .btm-txt1{display:none}.btm-txt2{color:#666}.btm-txt3{display:block;color:#ff6000;text-decoration:underline}.btm-txt3:hover{color:#ff6000;text-decoration:none}.site_main-tennis .zs_yes-title .zs_result-icon,.site_main-tennis .zs_kt-title .zs_result-icon,.zs_dj-title .zs_result-icon{background:url(//www.iqiyipic.com/common/fix/vip-tennis/tennis-pay-icon.png)}.site_main-tennis .zs_kt-title .zs_result-icon{background-position:-50px 0}.zs_dj-title .zs_result-icon{background-position:-150px 0}.site_main-tennis .zs_yes-title .zs_result-txt span,.site_main-tennis .zs_yes-txt .txt-num,.site_main-tennis .zs_yes-txt .txt-num span,.site_main-tennis .zs-item-phone,.site_main-tennis .btm-txt3{color:#00c13b}.site_main-tennis .zs_yes-btn a,.zs_yes-btn a.btn-share{width:240px;height:46px;line-height:46px;background:#00c13b}.site_main-tennis .zs_yes-btn a:hover{background:#00d440}.zs_yes-btn a.btn-share{background:#c8a06a}.zs_yes-btn a.btn-share:hover{background:#ae8058}.site_main-tennis .vip_zs-btm .zs_yes-txt{height:98px;line-height:98px;margin:0}.site_main-tennis .btm-txt3:hover{color:#00c13b;text-decoration:none}.zs_dj-txt{height:72px;line-height:24px;font-size:14px;color:#333;text-align:left;padding:54px 30px 64px}.site_main-tennis .zs_btm-con{margin-top:20px}.site_main-tennis .maizeng_title-mark{margin:15px 0}.site_main-tennis .maizeng_title-mark .mark-done{color:#00c13b}.main_result-jd{width:608px;padding:14px 0;margin:0 auto;text-align:center;font-size:0}.main_result-jd .vip_saoma-left{float:none;display:inline-block;*display:inline;*zoom:1;padding:0}.result-info{display:inline-block;*display:inline;*zoom:1;vertical-align:top;text-align:left;margin-left:20px}.info-title{line-height:40px;margin-top:8px;font-size:18px;color:#353535}.info-tips{line-height:27px;color:#242424;font-size:13px}.info-icon{height:28px}.info-icon .icon-wx,.info-icon .icon-iqiyi{float:left;width:27px;height:27px;background:url(//www.iqiyipic.com/common/fix/vippay/result-jd-icon.png) no-repeat;margin-right:9px}.info-icon .icon-iqiyi{background-position:-30px 0} .vip_qyguo-one,.vip_qyguo-two,.vip_qyguo-three{width:100%;height:489px;background:#fbfbfb url(//www.iqiyipic.com/common/fix/qyguo/qyguo-bg.png) no-repeat top left}.vip_qyguo-two,.vip_qyguo-three{height:320px;padding-top:169px}.vip_qyguo-one .vip_qyguo-title{height:40px;line-height:40px;font-size:28px;color:#333;text-align:center;padding:43px 0 34px;background:url(//www.iqiyipic.com/common/fix/qyguo/qyguo-lq.png) no-repeat 80px 21px}.vip_qyguo-two .vip_qyguo-title{position:absolute;left:0;top:0;width:588px;height:68px;line-height:34px;font-size:24px;color:#333;text-align:left;padding:45px 0 65px 60px;background:url(//www.iqiyipic.com/common/fix/qyguo/qyguo-lqcg.png) no-repeat 415px 25px}.vip_qyguo-three .vip_qyguo-title{position:absolute;left:0;top:0;width:588px;height:68px;line-height:34px;font-size:24px;color:#333;text-align:left;padding:45px 0 65px 60px;background:url(//www.iqiyipic.com/common/fix/qyguo/qyguo-lqsb.png) no-repeat 423px 73px}.vip_qyguo-user{display:inline-block;vertical-align:top;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vip_qyguo-wrap{width:610px;margin:0 auto}.vip_qyguo-one .vip_qyguo-wrap{height:234px;margin-bottom:0}.vip_qyguo-two .vip_qyguo-wrap,.vip_qyguo-three .vip_qyguo-wrap{height:184px;margin-bottom:35px}.vip_qyguo-con{width:528px;border:1px solid #fbe3c4;background:#fff;padding:20px 40px}.qyguo_con-tip{width:520px;height:36px;line-height:36px;border-radius:4px;background:#fbfbfb;margin:0 auto;text-align:center;font-size:12px;color:#b58240}.qyguo_con-tip em{font-size:14px;color:#6b3803}.vip_qyguo-three .qyguo_con-tip{width:420px}.qyguo_con-list{height:145px;margin-top:10px;overflow:hidden;overflow-y:scroll}.qyguo_con-list dt{line-height:22px;margin-bottom:3px;font-size:14px;color:#333}.qyguo_con-list dd{line-height:18px;margin-bottom:3px;font-size:12px;color:#999}.vip_qyguo-num{height:32px;margin:15px 0 12px}.vip_qyguo-num p{width:280px;height:32px;line-height:32px;background:#f5eee5;text-align:center;font-size:14px;color:#6b3803;margin:0 auto}.vip_qyguo-btn{width:100%;height:46px;text-align:center}.vip_qyguo-btn a{position:relative;display:inline-block;height:46px;line-height:46px;border-radius:3px;background:#c8a069;padding:0 35px;text-align:center;font-size:14px;color:#fff}.vip_qyguo-btn a:hover{background:#ae8058}.vip_qyguo-toast{position:absolute;top:50%;left:50%;width:166px;height:60px;line-height:60px;text-align:center;font-size:14px;color:#e9e9e9;background:rgba(0,0,0,.65);filter:progid:dximagetransform.microsoft.gradient(enabled="true",startcolorstr="#a5000000",endcolorstr="#a5000000");margin:-30px 0 0 -83px;z-index:99}.qyguo_con-main{height:84px;margin-top:22px;display:table}.qyguo_con-info{display:table-cell;vertical-align:middle}.qyguo_con-info p{line-height:28px;padding-left:160px;font-size:14px;color:#999}.qyguo_con-info span{color:#000}.vip_qyguo{height:489px;background:#fbfbfb;overflow:hidden}.qyguo_jzsb-icon{width:120px;height:123px;background:url(//www.iqiyipic.com/common/fix/qyguo/qyguo-jzsb.png);margin:102px auto 10px}.qyguo_jzsb-txt{line-height:30px;font-size:14px;color:#333;text-align:center}.qyguo_jzsb-txt a{color:#5aa700}.vip_qyguo-btn span{display:none;position:absolute;left:50%;top:50%;margin-left:-11px;margin-top:-11px;width:22px;height:22px;background:url(//www.iqiyipic.com/common/fix/qyguo/qyguo-loading.png) no-repeat}@keyframes loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.vip_qyguo-btn .vip_qyguo-loading{color:transparent}.vip_qyguo-btn .vip_qyguo-loading:hover{background:#c8a069;cursor:default}.vip_qyguo-loading span{display:block;animation:loading 1s linear infinite;-moz-animation:loading 1s linear infinite;-webkit-animation:loading 1s linear infinite;-o-animation:loading 1s linear infinite}.site_main-tennis .vip_qyguo-one{background:#fbfbfb url(//www.iqiyipic.com/common/fix/qyguo/qyguo-bg-t1.png) no-repeat top left}.site_main-tennis .vip_qyguo-one .vip_qyguo-title{background:0}.site_main-tennis .vip_qyguo-two,.site_main-tennis .vip_qyguo-three{background:#fbfbfb url(//www.iqiyipic.com/common/fix/qyguo/qyguo-bg-t2.png) no-repeat top left}.site_main-tennis .vip_qyguo-two .vip_qyguo-title{background:url(//www.iqiyipic.com/common/fix/qyguo/qyguo-tyes.png) no-repeat 415px 25px}.site_main-tennis .vip_qyguo-three .vip_qyguo-title{background:url(//www.iqiyipic.com/common/fix/qyguo/qyguo-tno.png) no-repeat 415px 30px}.site_main-tennis .vip_qyguo-con{border-color:#96eaaf}.site_main-tennis .qyguo_con-tip,.site_main-tennis .vip_qyguo-num span{color:#333}.site_main-tennis .qyguo_con-tip em{color:#00c13b}.site_main-tennis .vip_qyguo-num p{background:0;color:#999}.site_main-tennis .vip_qyguo-btn a{background:#00c13b}.site_main-tennis .vip_qyguo-btn a:hover{background:#00d440}.bindPN_pop{width:420px}.bindPN_box{width:418px;border:1px solid #dbdbdb;box-shadow:0 2px #e6e6e6;background-color:#fff}.bindPN_top{height:34px;font-size:14px;position:relative}.bindPN_top-close{width:17px;height:17px;background:url(//www.iqiyipic.com/common/fix/pay/close.png) no-repeat;position:absolute;top:15px;right:15px}.bindPN_box h2{height:26px;line-height:26px;text-align:center;font-size:14px;color:#ff6e1e;margin-bottom:10px}.bindPN_con{width:418px;overflow:hidden}.bindPN_form,.bindPN_form-con{width:418px}.bindPN_form-error{height:23px;line-height:23px;color:#e00800;margin-left:105px}.bindPN_form-error span{float:left;width:13px;height:13px;margin:5px 3px 0 0;background:url(//www.iqiyipic.com/common/fix/bindPN/error.png) no-repeat left center;_background:0;_filter:progid:dximagetransform.microsoft.alphaimageloader(enabled=true,sizingMethod=noscale,src='//www.iqiyipic.com/common/fix/bindPN/error.png')}.bindPN_form-infor{height:30px}.bindPN_form-infor label{float:left;width:95px;height:30px;line-height:30px;padding-right:10px;text-align:right;font-size:14px;color:#333}.bindPN_infor-input{float:left;height:30px;position:relative}.bindPN_infor-input input{width:238px;height:28px;border:1px solid #e4e4e4;line-height:28px;padding-left:10px;color:#333;background-color:#fff}.bindPN_infor-input input.input_yzm{width:218px}.bindPN_infor-input img{width:103px;height:28px;position:absolute;right:1px;top:1px;*top:2px;_top:3px}.bindPN_input-yzm{position:absolute;right:10px;top:0;_top:2px;height:30px;line-height:30px}.bindPN_input-yzm a,.bindPN_yzm-again span{color:#57ae00}.bindPN_yzm-again{color:#999}.input_refesh{float:left;width:15px;height:15px;background:url(//www.iqiyipic.com/common/fix/site/thirdLoginIcon.png) no-repeat -80px -40px;margin:7px 0 0 10px}.bindPN_infor-xy{padding-left:20px;margin-left:105px;color:#999;background:url(//www.iqiyipic.com/common/fix/pay/checkbox.png) no-repeat 0 2px;cursor:pointer}.bindPN_form-infor .bindPN_infor-xy.selected{background:url(//www.iqiyipic.com/common/fix/pay/box1.png) no-repeat 0 0}.bindPN_infor-btn,.bindPN_btn-124 a,.bindPN_btn-268 a{display:block;width:96px;height:30px;margin:0 auto;background-color:#57a900;border-radius:2px;line-height:30px;text-align:center;color:#fff;font-size:14px}.bindPN_infor-btn:hover,.bindPN_btn-124 a:hover,.bindPN_btn-268 a:hover{color:#fff;background-color:#7db718}.bindPN_btn-268 a.bindPN_btn-qx:hover{color:#fff;background-color:#7db718;border:1px solid #7db718}.bindPN_infor-safety{width:49px;height:30px;float:left;position:relative;margin-left:5px}.safety_txt{color:#666;line-height:14px}.safety_show{width:45px;height:8px;border:1px solid #ddd;padding:2px 2px 2px 0;margin-top:2px;overflow:hidden}.safety_show-1,.safety_show-2,.safety_show-3{width:13px;height:8px;margin-left:2px;float:left;background-color:#c8ea89;overflow:hidden}.safety_show-2{background-color:#8ec723}.safety_show-3{background-color:#519500}.bindPN_pop-370,.bindPN_pop-370 .bindPN_box{width:370px}.bindPN_pop-370 p{line-height:28px;padding:19px 31px 28px;font-size:14px;color:#666}.bindPN_pop-370 em{color:#ff6e1e}.bindPN_btn-124{width:124px;margin:0 auto 35px}.bindPN_btn-268{width:268px;margin:0 auto 35px}.bindPN_btn-124 a,.bindPN_btn-268 a{width:124px;height:36px;font-size:16px;line-height:36px;margin-left:0;float:left}.bindPN_btn-268 a.bindPN_btn-qx{width:122px;height:34px;line-height:34px;border:1px solid #dfdfdf;background-color:#f2f2f2;color:#5aa700;margin-left:20px}.bindPN_form-infor a.noPointer,.bindPN_btn-124 a.noPointer,.bindPN_btn-268 a.noPointer{cursor:not-allowed;background-color:#9e9e9e;border-color:#9e9e9e;color:#fff}.bindPN_form-infor a.noPointer:hover,.bindPN_btn-124 a.noPointer:hover,.bindPN_btn-268 a.noPointer:hover{color:#fff;border-color:#9e9e9e;background-color:#9e9e9e}.tw_pop-cover{position:fixed;_position:absolute;left:0;top:0;width:100%;background:#000;opacity:.3;filter:alpha(opacity=30);z-index:4745}.qyv-rank{float:left;display:inline-block;width:22px;height:16px;margin-left:2px;position:relative;top:3px}.qyvr{background:url(//www.iqiyipic.com/common/fix/vip-grow/vip-grow-rank-normal-new.png) no-repeat}.qyvr1{background:url(//www.iqiyipic.com/common/fix/vip-grow/vip-grow-rank1.png) no-repeat}.qyvr2{background:url(//www.iqiyipic.com/common/fix/vip-grow/vip-grow-rank2.png) no-repeat}.qyvr3{background:url(//www.iqiyipic.com/common/fix/vip-grow/vip-grow-rank3.png) no-repeat}.qyvr4{background:url(//www.iqiyipic.com/common/fix/vip-grow/vip-grow-rank4.png) no-repeat}.qyvr5{background:url(//www.iqiyipic.com/common/fix/vip-grow/vip-grow-rank5.png) no-repeat}.qyvr6{background:url(//www.iqiyipic.com/common/fix/vip-grow/vip-grow-rank6.png) no-repeat}.qyvr7{background:url(//www.iqiyipic.com/common/fix/vip-grow/vip-grow-rank7.png) no-repeat}.qyvr-gray{background:url(//www.iqiyipic.com/common/fix/vip-grow/vg-gray-rank.png) no-repeat}.qyvr-gray1{background:url(//www.iqiyipic.com/common/fix/vip-grow/vg-gray-rank1.png) no-repeat}.qyvr-gray2{background:url(//www.iqiyipic.com/common/fix/vip-grow/vg-gray-rank2.png) no-repeat}.qyvr-gray3{background:url(//www.iqiyipic.com/common/fix/vip-grow/vg-gray-rank3.png) no-repeat}.qyvr-gray4{background:url(//www.iqiyipic.com/common/fix/vip-grow/vg-gray-rank4.png) no-repeat}.qyvr-gray5{background:url(//www.iqiyipic.com/common/fix/vip-grow/vg-gray-rank5.png) no-repeat}.qyvr-gray6{background:url(//www.iqiyipic.com/common/fix/vip-grow/vg-gray-rank6.png) no-repeat}.qyvr-gray7{background:url(//www.iqiyipic.com/common/fix/vip-grow/vg-gray-rank7.png) no-repeat}.cash-pop-wanliu{position:relative;width:306px}.cash-pop-wanliu .cash-pop-title{position:relative;top:4px;width:100%;height:71px;background-image:url(//www.iqiyipic.com/common/fix/vipcash/cash-wanliu-head.png);background-repeat:no-repeat}.cash-pop-wanliu .cash-pop-con{padding:0 0 30px;text-align:center;background:#fff}.cash-pop-wanliu .wl-tit1,.cash-pop-wanliu .wl-tit2,.cash-pop-wanliu .wl-tit3{line-height:24px;font-size:12px;padding-top:20px}.cash-pop-wanliu .wl-tit2{padding-top:26px}.cash-pop-wanliu .wl-tit3{padding:26px 0 23px}.cash-pop-wanliu .wl-price{line-height:14px;font-size:12px;margin-bottom:16px}.cash-pop-wanliu .wl-give{line-height:22px;font-size:12px;margin-bottom:25px}.cash-pop-wanliu .wl-btn{display:inline-block;width:105px;height:25px;line-height:25px;border-radius:4px;margin:0 6px;font-size:12px;text-decoration:none}.cash-pop-wanliu .wl-btn.gray{background:#d9d9d9;color:#878787}.cash-pop-wanliu .wl-btn.gold{color:#644016;background:linear-gradient(90deg,#f0d09e,#e7bb79);filter:progid:dximagetransform.microsoft.gradient(gradientType=1,startcolorstr="#fff0d09e",endcolorstr="#ffe7bb79")}@media screen and (min-width:0){.cash-pop-wanliu .cash-pop-title{background-image:url(//www.iqiyipic.com/common/fix/vipcash/cash-wanliu-head@2x.png);background-repeat:no-repeat;background-size:cover}} \ No newline at end of file diff --git a/test/RESTAPIMock.unittest.js b/test/RESTAPIMock.unittest.js index 255e834..722b5cb 100644 --- a/test/RESTAPIMock.unittest.js +++ b/test/RESTAPIMock.unittest.js @@ -2,1026 +2,30 @@ const createRes = require('../lib/createRes') const RESTAPIMock = require("../lib/RESTAPIMock"); const getParas = require('./getParas') -const diamondLoginMockMap = { +const normalMockMap = { "request": { "queries": { - "vipType": "4", - "P00001": "1el6tTVC2n4q6CVz3zbaLTBr7l0fnDm10IjRLWyNOQGSIT89QqcC1tbYnNlqeXlb5m2gd9" + "protected": "0" } }, - "body": { - "code": "A00000", - "data": { - "msg": "成功", - "code": "A00000", - "data": { - "vipTypeName": "钻石VIP会员2", - "autoRenewSuits": [{ - "amount": 1, - "autorenewTip": "", - "originalPrice": 4980, - "payAutoRenew": "3", - "description": "连续包月", - "pid": "adb3376b039b970b", - "recommend": 1, - "sort": 1, - "privilege": 0, - "type": 1, - "payTypeOptions": [{ - "supportType": "", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 4980, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1427, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "银行卡支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "ALI,WECHAT,BAIDU", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 1, - "privilege": 0, - "needPayFee": 4980, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1018, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": null, - "needPayFee": 4980, - "price": 4980, - "id": 14653, - "marketingPositionUrl": null, - "supportCoupon": 1, - "giftMonths": 0, - "promotion": null, - "marketingPositionWords": null - }, { - "amount": 3, - "autorenewTip": "", - "originalPrice": 14800, - "payAutoRenew": "3", - "description": "连续包季", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 2, - "privilege": 0, - "type": 1, - "payTypeOptions": [{ - "supportType": "", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 14800, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1429, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "银行卡支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "ALI,WECHAT", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 1, - "privilege": 0, - "needPayFee": 14800, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1019, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": null, - "needPayFee": 14800, - "price": 14800, - "id": 14654, - "marketingPositionUrl": null, - "supportCoupon": 1, - "giftMonths": 0, - "promotion": null, - "marketingPositionWords": null - }, { - "amount": 12, - "autorenewTip": "", - "originalPrice": 49800, - "payAutoRenew": "3", - "description": "连续包年", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 3, - "privilege": 20000, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 1, - "privilege": 20000, - "needPayFee": 29800, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1426, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 0, - "privilege": 20000, - "needPayFee": 29800, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1431, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "银行卡支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": null, - "needPayFee": 29800, - "price": 29800, - "id": 14656, - "marketingPositionUrl": null, - "supportCoupon": 0, - "giftMonths": 0, - "promotion": null, - "marketingPositionWords": null - }], - "userInfo": { - "vipSuperscript": "", - "type": "1", - "vipDeadline": "2019-01-30 17:07:42", - "isVipUser": true - }, - "userAutoRenew": 1, - "storeNodeLocations": { - "vipTypeCornerLocation": { - "icon": "http://www.iqiyipic.com/common/fix/vipcash/cash-icon-diamonds.png", - "text": "钻石VIP会员", - "url": "" - }, - "tabActivityLocation": { - "icon": "", - "text": "适用于电视/电脑/手机/iPad", - "url": "" - } - }, - "vipType": 4, - "showAutoRenew": "2", - "suits": [{ - "amount": 1, - "autorenewTip": "", - "originalPrice": 49800, - "payAutoRenew": "0", - "description": "1个月", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 1, - "privilege": 49799, - "type": 1, - "payTypeOptions": [{ - "supportType": "", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 0, - "privilege": 49799, - "needPayFee": 1, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1425, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "ALI,WECHAT", - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 49799, - "needPayFee": 1, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 978, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 1, - "price": 1, - "id": 15674, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "钻石月简体PCW", - "marketingPositionWords": "" - }, { - "amount": 3, - "autorenewTip": "", - "originalPrice": 49800, - "payAutoRenew": "0", - "description": "3个月", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 2, - "privilege": 49799, - "type": 1, - "payTypeOptions": [{ - "supportType": "", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 0, - "privilege": 49799, - "needPayFee": 1, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1428, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "ALI,WECHAT,BAIDU", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 1, - "privilege": 49799, - "needPayFee": 1, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1020, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 1, - "price": 1, - "id": 15675, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": "" - }, { - "amount": 12, - "autorenewTip": "", - "originalPrice": 49800, - "payAutoRenew": "0", - "description": "12个月", - "pid": "adb3376b039b970b", - "recommend": 1, - "sort": 3, - "privilege": 49799, - "type": 1, - "payTypeOptions": [{ - "supportType": "", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 0, - "privilege": 49799, - "needPayFee": 1, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1430, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "ALI,WECHAT", - "payAutoRenew": 0, - "icon": "http://pic3.qiyipic.com/common/20180507/CARDPAY.png", - "description": "", - "recommend": 1, - "privilege": 49799, - "needPayFee": 1, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 1021, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": null, - "needPayFee": 1, - "price": 1, - "id": 14657, - "marketingPositionUrl": null, - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": null - }] - } + "body": [{ + "name": "master1", + "commit": { + "sha": "51a0a39acfb1d029345e896cca6a6a2c3625816b", + "url": "https://api.github.com/repos/temberature/anymock/commits/51a0a39acfb1d029345e896cca6a6a2c3625816b" } - } -} -const diamondNotLoginMockMap = { - "body": { - "code": "A00000", - "data": { - "msg": "成功", - "code": "A00000", - "data": { - "vipTypeName": "钻石VIP会员3", - "autoRenewSuits": [{ - "amount": 12, - "autorenewTip": "到期后自动续费1年,可随时取消", - "originalPrice": 49800, - "payAutoRenew": "3", - "description": "连续包年", - "pid": "adb3376b039b970b", - "recommend": 1, - "sort": 1, - "privilege": 16800, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 16800, - "needPayFee": 33000, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 990, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 33000, - "price": 33000, - "id": 7840, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "推荐", - "marketingPositionWords": "" - }, { - "amount": 3, - "autorenewTip": "到期后自动续费3个月,可随时取消", - "originalPrice": 14800, - "payAutoRenew": "3", - "description": "连续包季", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 2, - "privilege": 6000, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 6000, - "needPayFee": 8800, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 989, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 8800, - "price": 8800, - "id": 7841, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": "" - }, { - "amount": 1, - "autorenewTip": "到期后自动续费1个月,可随时取消", - "originalPrice": 4980, - "payAutoRenew": "3", - "description": "连续包月", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 3, - "privilege": 1980, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 1980, - "needPayFee": 3000, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 988, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 1, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 3000, - "price": 3000, - "id": 7842, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "热销", - "marketingPositionWords": "" - }], - "userInfo": { - "vipSuperscript": "", - "isVipUser": false - }, - "userAutoRenew": 0, - "storeNodeLocations": { - "vipTypeCornerLocation": { - "icon": "http://www.iqiyipic.com/common/fix/vipcash/cash-icon-diamonds.png", - "text": "钻石VIP会员", - "url": "" - }, - "tabActivityLocation": { - "icon": "", - "text": "适用于电视/电脑/手机/iPad", - "url": "" - }, - "topActivityLocation": { - "icon": "", - "text": "特惠0.5元/天升级钻石会员,增加TV端超爽大屏特权", - "url": "" - } - }, - "vipType": 4, - "showAutoRenew": "1", - "suits": [{ - "amount": 12, - "autorenewTip": "", - "originalPrice": 26800, - "payAutoRenew": "0", - "description": "12个月", - "pid": "adb3376b039b970b", - "recommend": 1, - "sort": 1, - "privilege": 0, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 0, - "needPayFee": 36000, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 679, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 36000, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 680, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 36000, - "payType": 32, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 683, - "lang": "zh_CN", - "amount": 12, - "autoRenewTip": "", - "sort": 3, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "奇豆支付", - "moneyUnit": "CNY", - "payChannel": 6, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 36000, - "price": 36000, - "id": 7460, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "推荐", - "marketingPositionWords": "" - }, { - "amount": 3, - "autorenewTip": "", - "originalPrice": 14800, - "payAutoRenew": "0", - "description": "3个月", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 2, - "privilege": 2800, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 2800, - "needPayFee": 12000, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 677, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 2800, - "needPayFee": 12000, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 678, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 2800, - "needPayFee": 12000, - "payType": 32, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 682, - "lang": "zh_CN", - "amount": 3, - "autoRenewTip": "", - "sort": 3, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "奇豆支付", - "moneyUnit": "CNY", - "payChannel": 6, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 12000, - "price": 12000, - "id": 7459, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": "" - }, { - "amount": 1, - "autorenewTip": "", - "originalPrice": 4980, - "payAutoRenew": "0", - "description": "1个月", - "pid": "adb3376b039b970b", - "recommend": 0, - "sort": 3, - "privilege": 0, - "type": 1, - "payTypeOptions": [{ - "supportType": "ALI,WECHAT,BAIDU", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 1, - "privilege": 0, - "needPayFee": 4980, - "payType": 378, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 675, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 1, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "扫码支付", - "moneyUnit": "CNY", - "payChannel": 0, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 4980, - "payType": 95, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 676, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 2, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "银行卡", - "moneyUnit": "CNY", - "payChannel": 8, - "region": "cn", - "subPromotion": "", - "promotion": "" - }, { - "supportType": "", - "supportSignFree": 0, - "payAutoRenew": 0, - "icon": "", - "description": "", - "recommend": 0, - "privilege": 0, - "needPayFee": 4980, - "payType": 32, - "balance": "", - "autoRenew": 0, - "iconUrl": "", - "id": 681, - "lang": "zh_CN", - "amount": 1, - "autoRenewTip": "", - "sort": 3, - "dealType": "", - "supportPurchase": false, - "enableAUtoRenew": false, - "monthly": 0, - "name": "奇豆支付", - "moneyUnit": "CNY", - "payChannel": 6, - "region": "cn", - "subPromotion": "", - "promotion": "" - }], - "actCode": "", - "marketingPositionIcon": "", - "needPayFee": 4980, - "price": 4980, - "id": 7458, - "marketingPositionUrl": "", - "supportCoupon": 0, - "giftMonths": 0, - "promotion": "", - "marketingPositionWords": "" - }] - } - } - } + }] } describe("RESTAPIMock", () => { - it("diamondLogin matched", () => { - const [URLO, ...paras] = getParas('diamondLogin'); - expect(RESTAPIMock(...paras)).toEqual({ - match: true, - response: createRes(paras[2], diamondLoginMockMap) - }); - }); - it("diamondNotLogin matched", () => { - const [URLO, ...paras] = getParas('diamondNotLogin'); + it("normal matched", () => { + const [url, ...paras] = getParas('normal'); expect(RESTAPIMock(...paras)).toEqual({ match: true, - response: createRes(paras[2], diamondNotLoginMockMap) + response: createRes(paras[2], normalMockMap) }); }); - it("goldNotLogin notMatched", () => { - expect(RESTAPIMock(...getParas('goldNotLogin').splice(1))).toEqual({ + it("protected notMatched", () => { + expect(RESTAPIMock(...getParas('protected').splice(1))).toEqual({ match: false, response: undefined }); diff --git a/test/anyproxy.config.unittest.js b/test/anyproxy.config.unittest.js index 8f74398..530e45f 100644 --- a/test/anyproxy.config.unittest.js +++ b/test/anyproxy.config.unittest.js @@ -4,21 +4,21 @@ const RESTAPIMock = require("../lib/RESTAPIMock"); const getParas = require('./getParas') describe("anyproxy.config", () => { - it("beforeSendRequest diamondLoginMatched", () => { + it("beforeSendRequest normalMatched", () => { const config = getConfig(); var result = config.beforeSendRequest({ - url: getParas('diamondLogin').splice(0, 1), + url: getParas('normal').splice(0, 1), requestData: {} }).next(); - const rt = RESTAPIMock(...getParas('diamondLogin').splice(1)) + const rt = RESTAPIMock(...getParas('normal').splice(1)) expect(result.value).toEqual({ response: rt.response }); }); - it("beforeSendRequest goldNotLoginNotMatched", () => { + it("beforeSendRequest protectedNotMatched", () => { const config = getConfig(); var result = config.beforeSendRequest({ - url: getParas('goldNotLogin').splice(0, 1), + url: getParas('protected').splice(0, 1), requestData: {} }).next(); expect(result.value).toBeUndefined(); diff --git a/test/createRes.unittest.js b/test/createRes.unittest.js index 4f98841..69a1d8c 100644 --- a/test/createRes.unittest.js +++ b/test/createRes.unittest.js @@ -19,21 +19,23 @@ describe("createRes", () => { "Content-Type": "text/plain", "Access-Control-Allow-Origin": "*" }, - body: "callbackName(" + sampleJSONStr + ");" + body: "callbackName(" + sampleJSONStr + ")" } expect(Received).toEqual(Expected); }); it("has callbackName, Content-Type = text/html", () => { expect(createRes('callbackName', { "Content-Type": "text/html", - body: sampleJSON + body: sampleJSON, + "fileHead": fileHead, + "fileFooter": fileFooter })).toEqual({ statusCode: 200, header: { "Content-Type": "text/html", "Access-Control-Allow-Origin": "*" }, - body: fileHead + "callbackName(" + sampleJSONStr + ");" + fileFooter + body: fileHead + "callbackName(" + sampleJSONStr + ")" + fileFooter }); }); it("no callbackName, no Content-Type", () => { diff --git a/test/fileMock.unittest.js b/test/fileMock.unittest.js index c968318..88f5319 100644 --- a/test/fileMock.unittest.js +++ b/test/fileMock.unittest.js @@ -9,14 +9,14 @@ const fileMock = require("../lib/fileMock"); describe("fileMock", () => { it("js file", () => { - const URLO = new URL('http://static.iqiyi.com/js/lib/sea1.2.js'); + const URLO = new URL('https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js'); const myURL = removeProtocol(URLO.href); const searchParams = URLO.searchParams; const callbackName = searchParams.get('callback'); expect(fileMock(myURL, searchParams, callbackName)).toBeUndefined(); }); it("css file", () => { - const URLO = new URL('http://static.qiyi.com/css/common/v3-vipCash/vip_cash1.0.css'); + const URLO = new URL('https://cdn.bootcss.com/twitter-bootstrap/4.1.3/css/bootstrap.min.css'); const myURL = removeProtocol(URLO.href); const searchParams = URLO.searchParams; const callbackName = searchParams.get('callback'); diff --git a/test/getParas.js b/test/getParas.js index 691521f..bf26067 100644 --- a/test/getParas.js +++ b/test/getParas.js @@ -1,9 +1,7 @@ const removeProtocol = require('../lib/removeProtocol') const URLS = { - goldNotLogin: 'http://i.vip.iqiyi.com/client/store/pc/checkout.action?platform=b6c13e26323c537d&pid=a0226bd958843452&fs=&fsSign=&fc=a03a512fefb9eaf7&fv=&qc005=f1c1ee7ebee4b600f12d153351a38e48&vipType=1&aid=&P00001=&callback=window.jsonp_07077807149559778', - goldLogin: 'http://i.vip.iqiyi.com/client/store/pc/checkout.action?platform=b6c13e26323c537d&pid=a0226bd958843452&fs=&fsSign=&fc=a03a512fefb9eaf7&fv=&qc005=f1c1ee7ebee4b600f12d153351a38e48&vipType=1&aid=&P00001=1el6tTVC2n4q6CVz3zbaLTBr7l0fnDm10IjRLWyNOQGSIT89QqcC1tbYnNlqeXlb5m2gd9&callback=window.jsonp_06267915858114745', - diamondNotLogin: 'http://i.vip.iqiyi.com/client/store/pc/checkout.action?platform=b6c13e26323c537d&pid=adb3376b039b970b&fs=&fsSign=&fc=a03a512fefb9eaf7&fv=&qc005=1fdc266662b4dc9cc0a117f6d9a745ec&vipType=4&aid=&P00001=&callback=window.jsonp_04902291049807801', - diamondLogin: 'http://i.vip.iqiyi.com/client/store/pc/checkout.action?platform=b6c13e26323c537d&pid=adb3376b039b970b&fs=&fsSign=&fc=a03a512fefb9eaf7&fv=&qc005=f1c1ee7ebee4b600f12d153351a38e48&vipType=4&aid=&P00001=1el6tTVC2n4q6CVz3zbaLTBr7l0fnDm10IjRLWyNOQGSIT89QqcC1tbYnNlqeXlb5m2gd9&callback=window.jsonp_020797424733475012' + normal: 'https://api.github.com/repos/temberature/anymock/branches?protected=0', + protected: 'https://api.github.com/repos/temberature/anymock/branches?protected=1' }