add weibo test

This commit is contained in:
felinae98 2021-06-17 20:22:30 +08:00
parent 7b8f01b86f
commit 819c126722
No known key found for this signature in database
GPG Key ID: 00C8B010587FF610
10 changed files with 3332 additions and 3 deletions

22
poetry.lock generated
View File

@ -804,6 +804,22 @@ type = "legacy"
url = "https://mirrors.aliyun.com/pypi/simple"
reference = "aliyun"
[[package]]
name = "respx"
version = "0.16.3"
description = "A utility for mocking out the Python HTTPX and HTTP Core libraries."
category = "dev"
optional = false
python-versions = ">=3.6"
[package.dependencies]
httpx = ">=0.15"
[package.source]
type = "legacy"
url = "https://mirrors.aliyun.com/pypi/simple"
reference = "aliyun"
[[package]]
name = "rfc3986"
version = "1.5.0"
@ -1117,7 +1133,7 @@ reference = "aliyun"
[metadata]
lock-version = "1.1"
python-versions = "^3.9"
content-hash = "b78f7096fbd1fd4ac4c1c1b28c45c5ff9f126ee6fb0669233c84da4fc0dc5bfe"
content-hash = "7d6ad1a2770b9c772ef0e613b0d1f6dd23ffb103b130c4704b0cec213af1f931"
[metadata.files]
appdirs = [
@ -1403,6 +1419,10 @@ pyyaml = [
{file = "PyYAML-5.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db"},
{file = "PyYAML-5.4.1.tar.gz", hash = "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"},
]
respx = [
{file = "respx-0.16.3-py2.py3-none-any.whl", hash = "sha256:2db35e4af6bf25f58435457da7a0df52b34b8b3c2ea584d8a8cce27a7b00a614"},
{file = "respx-0.16.3.tar.gz", hash = "sha256:3f4781a7fc02d6162f63f33c1481b31d83c0b8c54e98a077932a4197182a7312"},
]
rfc3986 = [
{file = "rfc3986-1.5.0-py2.py3-none-any.whl", hash = "sha256:a86d6e1f5b1dc238b218b012df0aa79409667bb209e58da56d0b94704e712a97"},
{file = "rfc3986-1.5.0.tar.gz", hash = "sha256:270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835"},

View File

@ -34,6 +34,7 @@ apscheduler = "^3.7.0"
ipdb = "^0.13.4"
pytest = "^6.2.4"
pytest-asyncio = "^0.15.1"
respx = "^0.16.0"
[build-system]
requires = ["poetry>=0.12"]

View File

@ -6,3 +6,4 @@ from . import scheduler
from . import send
from . import post
from . import platform
from . import types

View File

@ -1,5 +1,11 @@
import pytest
import nonebot
import typing
if typing.TYPE_CHECKING:
import sys
sys.path.append('./src/plugins')
import nonebot_hk_reporter
@pytest.fixture#(scope="module")
def plugin_module(tmpdir):
@ -8,3 +14,13 @@ def plugin_module(tmpdir):
plugins = nonebot.get_loaded_plugins()
plugin = list(filter(lambda x: x.name == 'nonebot_hk_reporter', plugins))[0]
return plugin.module
@pytest.fixture
def dummy_user_subinfo(plugin_module: 'nonebot_hk_reporter'):
user = plugin_module.types.User('123', 'group')
return plugin_module.types.UserSubInfo(
user=user,
category_getter=lambda _: [],
tag_getter=lambda _: []
)

View File

View File

@ -1,12 +1,60 @@
import pytest
import typing
import respx
from datetime import datetime
from pytz import timezone
from httpx import Response
if typing.TYPE_CHECKING:
import sys
sys.path.append('./src/plugins')
import nonebot_hk_reporter
from .utils import get_json, get_file
@pytest.fixture
def weibo(plugin_module: 'nonebot_hk_reporter'):
return plugin_module.platform.platform_manager['weibo']
@pytest.mark.asyncio
async def test_get_name(plugin_module: 'nonebot_hk_reporter'):
weibo = plugin_module.platform.platform_manager['weibo']
async def test_get_name(weibo):
name = await weibo.get_account_name('6279793937')
assert(name == "明日方舟Arknights")
@pytest.mark.asyncio
@respx.mock
async def test_fetch_new(weibo, dummy_user_subinfo):
ak_list_router = respx.get("https://m.weibo.cn/api/container/getIndex?containerid=1076036279793937")
detail_router = respx.get("https://m.weibo.cn/detail/4649031014551911")
ak_list_router.mock(return_value=Response(200, json=get_json('weibo_ak_list_0.json')))
detail_router.mock(return_value=Response(200, text=get_file('weibo_detail_4649031014551911.html')))
target = '6279793937'
res = await weibo.fetch_new_post(target, [dummy_user_subinfo])
assert(ak_list_router.called)
assert(len(res) == 0)
assert(not detail_router.called)
mock_data = get_json('weibo_ak_list_1.json')
ak_list_router.mock(return_value=Response(200, json=mock_data))
res2 = await weibo.fetch_new_post(target, [dummy_user_subinfo])
assert(len(res2) == 0)
mock_data['data']['cards'][1]['mblog']['created_at'] = \
datetime.now(timezone('Asia/Shanghai')).strftime('%a %b %d %H:%M:%S %z %Y')
ak_list_router.mock(return_value=Response(200, json=mock_data))
res3 = await weibo.fetch_new_post(target, [dummy_user_subinfo])
assert(len(res3[0][1]) == 1)
post = res3[0][1][0]
assert(post.target_type == 'weibo')
assert(post.text == '#明日方舟#\nSideStory「沃伦姆德的薄暮」复刻现已开启 ')
assert(post.url == 'https://weibo.com/6279793937/KkBtUx2dv')
assert(post.target_name == '明日方舟Arknights')
assert(len(post.pics) == 1)
@pytest.mark.asyncio
async def test_classification(weibo):
mock_data = get_json('weibo_ak_list_1.json')
tuwen = mock_data['data']['cards'][1]
retweet = mock_data['data']['cards'][3]
video = mock_data['data']['cards'][0]
assert(weibo.get_category(retweet) == 1)
assert(weibo.get_category(video) == 2)
assert(weibo.get_category(tuwen) == 3)

12
tests/platforms/utils.py Normal file
View File

@ -0,0 +1,12 @@
from pathlib import Path
import json
path = Path(__file__).parent
def get_json(file_name: str):
with open(path / file_name, 'r') as f:
file_text = f.read()
return json.loads(file_text)
def get_file(file_name:str):
with open(path / file_name, 'r') as f:
file_text = f.read()
return file_text

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,187 @@
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<link rel="dns-prefetch" href="//h5.sinaimg.cn">
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no,viewport-fit=cover">
<meta name="format-detection" content="telephone=no">
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
<title>微博</title>
<meta content="随时随地发现新鲜事!微博带你欣赏世界上每一个精彩瞬间,了解每一个幕后故事。分享你想表达的,让全世界都能听到你的心声!" name="description">
<link rel="stylesheet" href="//h5.sinaimg.cn/marvel/v1.4.5/css/lib/base.css">
<link rel="stylesheet" href="//h5.sinaimg.cn/marvel/v1.4.5/css/card/cards.css">
<link rel="manifest" href="/manifest.json">
<script>!function(e){var a,i=navigator.userAgent.toLowerCase(),n=document.documentElement,t=parseInt(n.clientWidth);if(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)||i.indexOf("like mac os x")>0){var s=/os [\d._]*/gi,o=i.match(s);a=(o+"").replace(/[^0-9|_.]/gi,"").replace(/_/gi,".")}var r=a+"";"undefined"!=r&&r.length>0&&(a=parseInt(r),a>=8&&(375==t||667==t||320==t||568==t||480==t)?n.className="iosx2":(a>=8&&414==t||736==t)&&(n.className="iosx3")),/(Android)/i.test(navigator.userAgent)&&(n.className="android")}(window);</script>
<style>html, body {margin: 0 !important;padding: 0 !important;}html, body, #app {height: 100%;}[v-cloak] {display: none;}.wb-item-wrap .card9.card{margin:0}.f-weibo .m-img-box{background-color:#e6e6e6}.empty-bg{width:100%;background-color:#e6e6e6;height:.375rem}.inline-block{display:inline-block}.txt-margin{margin:0 0 1rem 0}.width-min{width:4.375rem}.anim-load{animation:load .5s ease-out;-moz-animation:load .5s ease-out;-webkit-animation:load .5s ease-out;-o-animation:load .5s ease-out}@keyframes load{0%{background-color:#fff}100%{background-color:#e6e6e6}}@-moz-keyframes load{0%{background-color:#fff}100%{background-color:#e6e6e6}}@-webkit-keyframes load{0%{background-color:#fff}100%{background-color:#e6e6e6}}.f-more{letter-spacing:.1rem}.f-weibo .f-card-title{margin:-1rem -1rem .5rem -1rem;padding:0 1rem;border-width:0}.f-weibo .m-avatar-box .m-img-box .m-icon{font-size:14px}.iosx3 .card9 .f-card-title{border-width:0}.iosx2 .card9 .f-card-title{border-width:0}.f-weibo.card9{border-bottom:1px solid #e6e6e6}.iosx3 .f-weibo.card9{border-bottom:.36px solid #e6e6e6}.iosx2 .f-weibo.card9{border-bottom:.5px solid #e6e6e6}.f-weibo.card9>.card-wrap{margin-left:.75rem;margin-right:.75rem}.f-weibo.card9.m-panel{border-top-width:0}.f-weibo.card .card-wrap .f-col-wrap{padding:0 .9375rem}.f-weibo.card9 .m-box-col{min-width:0}.f-weibo.card9 .weibo-top{padding:0 0 0 .25rem}.f-weibo.card9 .weibo-top .m-box-col .m-icon{margin-left:3px}.f-weibo.card9 .weibo-main .weibo-og{padding:.75rem 0 0 .25rem}.f-weibo.card9 .weibo-main .card-wrap ~ .weibo-rp{margin-top:0.5rem}.f-weibo.card9 .weibo-main .media-b{margin:.625rem 0 -.375rem}.f-weibo.card9 .weibo-main .media-b .m-auto-list{margin:0 0 -.25rem}.f-weibo .weibo-top .m-text-box{margin:.15rem 0 .15rem .5rem}.f-weibo .f-r{float:right}.f-weibo .weibo-main .weibo-og{font-size:.9375rem}.f-weibo .weibo-rp .weibo-text{font-size:.9375rem}.f-weibo .weibo-rp .f-footer-ctrl{padding:0.625rem 0 0}.f-weibo .f-bg-img{background-size:cover;background-repeat:no-repeat;background-position:center;position:absolute;width:100%;height:100%}.f-footer-ctrl{border-top-width:0;height:1.1rem;padding: 1rem .375rem 1rem 0;margin: 0 0.75rem}.f-footer-ctrl .m-diy-btn{color:rgba(40,47,60,0.8);height:100%;float:left}.f-footer-ctrl .m-diy-btn+.m-diy-btn{margin-left:1.6875rem}.f-footer-ctrl .m-diy-btn .m-icon{font-size:16px}.f-footer-ctrl aside{float:right;color:rgba(40,47,60,0.8)}.f-footer-ctrl .m-font{font-size:1rem;vertical-align:middle}.f-footer-ctrl .m-diy-btn h4{font-size:.8125rem;display:inline-block;margin-top:0;margin-left:.25rem}.dbfalls a {color: #333;}.dbfalls .m-icon-like {filter: contrast(0);}</style>
<style>
</style>
<link href="//h5.sinaimg.cn/m/weibo-lite/css/app.952c2508.css" rel="preload" as="style"><link href="//h5.sinaimg.cn/m/weibo-lite/css/vendor.d90db39c.css" rel="preload" as="style"><link href="//h5.sinaimg.cn/m/weibo-lite/js/app.fd9603ad.js" rel="preload" as="script"><link href="//h5.sinaimg.cn/m/weibo-lite/js/manifest.5ecace0f.js" rel="preload" as="script"><link href="//h5.sinaimg.cn/m/weibo-lite/js/vendor.36b3e5f0.js" rel="preload" as="script"><link href="//h5.sinaimg.cn/m/weibo-lite/css/vendor.d90db39c.css" rel="stylesheet"><link href="//h5.sinaimg.cn/m/weibo-lite/css/app.952c2508.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="//h5.sinaimg.cn/m/weibo-lite/favicon-32.png"><link rel="icon" type="image/png" sizes="16x16" href="//h5.sinaimg.cn/m/weibo-lite/favicon-16.png"><link rel="manifest" href="//h5.sinaimg.cn/m/weibo-lite/manifest.json"><meta name="theme-color" content="#F3F3F3"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="微博Lite"><link rel="apple-touch-icon" href="//h5.sinaimg.cn/m/weibo-lite/appicon.png"><link rel="mask-icon" href="//h5.sinaimg.cn/m/weibo-lite/mask-icon.svg" color="#F3F3F3"><meta name="msapplication-TileImage" content="//h5.sinaimg.cn/m/weibo-lite/appicon.png"><meta name="msapplication-TileColor" content="#000000"></head>
<body>
<div id="app" class="m-container-max">
<router-view>
<div class="wb-item-wrap"><div class="wb-item"><div class="card m-panel card9 f-weibo"><div class="card-wrap"><header class="weibo-top m-box"><div class="m-avatar-box"><a href="javascript:;" class="m-img-box anim-load"></a></div><div class="m-box-dir m-box-col"><div class="m-text-box"><h4 class="m-text-cut f-r"></h4><h3 class="m-text-cut empty-bg width-min inline-block anim-load"></h3></div></div></header><article class="weibo-main"><div class="weibo-og"><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p></div></article><footer class="f-footer-ctrl"><div class="m-diy-btn"><i class="m-font m-font-forward"></i><h4>转发</h4></div><div class="m-diy-btn"><i class="m-font m-font-comment"></i><h4>评论</h4></div><div class="m-diy-btn"><i class="m-icon m-icon-like"></i><h4></h4></div><aside><i class="f-more">...</i></aside></footer></div></div></div></div>
<div class="wb-item-wrap"><div class="wb-item"><div class="card m-panel card9 f-weibo"><div class="card-wrap"><header class="weibo-top m-box"><div class="m-avatar-box"><a href="javascript:;" class="m-img-box anim-load"></a></div><div class="m-box-dir m-box-col"><div class="m-text-box"><h4 class="m-text-cut f-r"></h4><h3 class="m-text-cut empty-bg width-min inline-block anim-load"></h3></div></div></header><article class="weibo-main"><div class="weibo-og"><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p></div></article><footer class="f-footer-ctrl"><div class="m-diy-btn"><i class="m-font m-font-forward"></i><h4>转发</h4></div><div class="m-diy-btn"><i class="m-font m-font-comment"></i><h4>评论</h4></div><div class="m-diy-btn"><i class="m-icon m-icon-like"></i><h4></h4></div><aside><i class="f-more">...</i></aside></footer></div></div></div></div>
<div class="wb-item-wrap"><div class="wb-item"><div class="card m-panel card9 f-weibo"><div class="card-wrap"><header class="weibo-top m-box"><div class="m-avatar-box"><a href="javascript:;" class="m-img-box anim-load"></a></div><div class="m-box-dir m-box-col"><div class="m-text-box"><h4 class="m-text-cut f-r"></h4><h3 class="m-text-cut empty-bg width-min inline-block anim-load"></h3></div></div></header><article class="weibo-main"><div class="weibo-og"><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p></div></article><footer class="f-footer-ctrl"><div class="m-diy-btn"><i class="m-font m-font-forward"></i><h4>转发</h4></div><div class="m-diy-btn"><i class="m-font m-font-comment"></i><h4>评论</h4></div><div class="m-diy-btn"><i class="m-icon m-icon-like"></i><h4></h4></div><aside><i class="f-more">...</i></aside></footer></div></div></div></div>
<div class="wb-item-wrap"><div class="wb-item"><div class="card m-panel card9 f-weibo"><div class="card-wrap"><header class="weibo-top m-box"><div class="m-avatar-box"><a href="javascript:;" class="m-img-box anim-load"></a></div><div class="m-box-dir m-box-col"><div class="m-text-box"><h4 class="m-text-cut f-r"></h4><h3 class="m-text-cut empty-bg width-min inline-block anim-load"></h3></div></div></header><article class="weibo-main"><div class="weibo-og"><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p><p class="empty-bg txt-margin anim-load"></p></div></article><footer class="f-footer-ctrl"><div class="m-diy-btn"><i class="m-font m-font-forward"></i><h4>转发</h4></div><div class="m-diy-btn"><i class="m-font m-font-comment"></i><h4>评论</h4></div><div class="m-diy-btn"><i class="m-icon m-icon-like"></i><h4></h4></div><aside><i class="f-more">...</i></aside></footer></div></div></div></div>
</router-view>
<mv-modal></mv-modal>
</div>
<script>
var config = {
env: 'prod',
version: 'v2.9.9',
login: [][0],
st: '4ae7c5',
uid: '',
pageConfig: [null][0] || {},
preferQuickapp: '0',
wm: ''
}
var $render_data = [{
"status": {
"visible": {
"type": 0,
"list_id": 0
},
"created_at": "Thu Jun 17 11:00:31 +0800 2021",
"id": "4649031014551911",
"mid": "4649031014551911",
"can_edit": false,
"show_additional_indication": 0,
"text": "<a href=\"https://m.weibo.cn/search?containerid=231522type%3D1%26t%3D10%26q%3D%23%E6%98%8E%E6%97%A5%E6%96%B9%E8%88%9F%23&isnewpage=1&luicode=20000061&lfid=4649031014551911\" data-hide=\"\"><span class=\"surl-text\">#明日方舟#</span></a> 06月17日16:00闪断更新公告 <br /><br />感谢您对《明日方舟》的关注与支持。《明日方舟》计划将于2021年06月17日16:00 ~ 16:10 期间进行服务器闪断更新。届时将造成玩家强制掉线,无法登录等问题。 为确保您的游戏内帐号数据正常,请在本次闪断更新时提前结束关卡。本次更新给各位玩家带来的不便,敬请谅解!<br /><br />闪断更新时间:<br />2021年06月17日16:00 ~ 16:10 期间<br /><br />更新内容:<br />◆SideStory「沃伦姆德的薄暮」复刻活动开启<br />◆调整了基建奖章下【家装建构奖章】的计数规则<br />◆修复了【绮良】技能“锚点捕捉”开启时,无法选中部分敌方单位的问题<br /><br />闪断补偿:合成玉*200<br />补偿范围2021年06月17日16:00更新前所有注册并创建角色的玩家含游客账号<br /><br />*本次维护不排除延迟开启的可能,如若延迟则请关注官方发布的具体开服时间*",
"textLength": 671,
"source": "微博 weibo.com",
"favorited": false,
"pic_ids": [
"006QZngZgy1grl2q3n98jj30rs2084qp"
],
"pic_types": "",
"thumbnail_pic": "https://wx1.sinaimg.cn/thumbnail/006QZngZgy1grl2q3n98jj30rs2084qp.jpg",
"bmiddle_pic": "http://wx1.sinaimg.cn/bmiddle/006QZngZgy1grl2q3n98jj30rs2084qp.jpg",
"original_pic": "https://wx1.sinaimg.cn/large/006QZngZgy1grl2q3n98jj30rs2084qp.jpg",
"is_paid": false,
"mblog_vip_type": 0,
"user": {
"id": 6279793937,
"screen_name": "明日方舟Arknights",
"profile_image_url": "https://tvax4.sinaimg.cn/crop.0.0.756.756.180/006QZngZly8gdj05mufr9j30l00l0dq4.jpg?KID=imgbed,tva&Expires=1623934220&ssig=peAOY3wvpb",
"profile_url": "https://m.weibo.cn/u/6279793937?uid=6279793937&luicode=20000061&lfid=4649031014551911",
"statuses_count": 1229,
"verified": true,
"verified_type": 2,
"verified_type_ext": 50,
"verified_reason": "上海鹰角网络科技有限公司",
"close_blue_v": false,
"description": "《明日方舟》官方微博欢迎咨询客服QQ服务号800830064",
"gender": "f",
"mbtype": 12,
"urank": 4,
"mbrank": 6,
"follow_me": false,
"following": false,
"followers_count": 1370671,
"follow_count": 33,
"cover_image_phone": "https://wx4.sinaimg.cn/crop.0.0.640.640.640/006QZngZly1gq8sa16csgj30u00u0akt.jpg",
"avatar_hd": "https://wx4.sinaimg.cn/orj480/006QZngZly8gdj05mufr9j30l00l0dq4.jpg",
"like": false,
"like_me": false,
"badge": {
"user_name_certificate": 1
}
},
"picStatus": "1",
"reposts_count": 83,
"comments_count": 583,
"attitudes_count": 16670,
"pending_approval_count": 0,
"isLongText": true,
"reward_exhibition_type": 0,
"hide_flag": 0,
"mlevel": 0,
"darwin_tags": [
{
"object_type": "fangle",
"object_id": "1022:23126100007595647269150721",
"display_name": "1 份奖品待领取",
"enterprise_uid": null,
"bd_object_type": "fangle"
}
],
"mblogtype": 0,
"more_info_type": 0,
"number_display_strategy": {
"apply_scenario_flag": 3,
"display_text_min_number": 1000000,
"display_text": "100万+"
},
"content_auth": 0,
"pic_num": 1,
"alchemy_params": {
"ug_red_envelope": false
},
"page_info": {
"type": "search_topic",
"object_type": 0,
"page_pic": {
"url": "https://wx4.sinaimg.cn/large/006QZngZly1gebqvb31dcj30dw0dwgn4.jpg"
},
"page_url": "https://m.weibo.cn/search?containerid=231522type%3D1%26t%3D10%26q%3D%23%E6%98%8E%E6%97%A5%E6%96%B9%E8%88%9F%23&isnewpage=1&luicode=20000061&lfid=4649031014551911",
"page_title": "#明日方舟#",
"content1": "0讨论 0阅读 "
},
"pics": [
{
"pid": "006QZngZgy1grl2q3n98jj30rs2084qp",
"url": "https://wx1.sinaimg.cn/orj360/006QZngZgy1grl2q3n98jj30rs2084qp.jpg",
"size": "orj360",
"geo": {
"width": 360,
"height": 936,
"croped": false
},
"large": {
"size": "large",
"url": "https://wx1.sinaimg.cn/large/006QZngZgy1grl2q3n98jj30rs2084qp.jpg",
"geo": {
"width": "1000",
"height": "2600",
"croped": false
}
}
}
],
"bid": "Kkzwhj69V",
"buttons": [
{
"type": "follow",
"name": "关注",
"sub_type": 0,
"params": {
"uid": 6279793937
}
}
],
"status_title": "家装建构奖章",
"ok": 1,
"scheme": "https://weibo.cn/appurl?scheme=sinaweibo%3A%2F%2Fdetail%3Fmblogid%3D4649031014551911%26luicode%3D20000061%26lfid%3D4649031014551911&luicode=20000061&lfid=4649031014551911",
"tipScheme": "https://weibo.cn/appurl?scheme=sinaweibo%3A%2F%2Fdetail%3Fmblogid%3D4649031014551911%26luicode%3D20000061%26lfid%3D4649031014551911&luicode=20000061&lfid=4649031014551911"
},
"hotScheme": "https://m.weibo.cn/p/index?containerid=106003type%3D25%26t%3D3%26disable_hot%3D1%26filter_type%3Drealtimehot&luicode=20000061&lfid=4649031014551911",
"appScheme": "https://m.weibo.cn?luicode=20000061&lfid=4649031014551911",
"callUinversalLink": false,
"callWeibo": false,
"hit": true,
"is_gray": 1,
"schemeOrigin": false,
"appLink": "sinaweibo://detail?mblogid=4649031014551911&luicode=20000061&lfid=4649031014551911",
"xianzhi_scheme": "xianzhi://mblogshow?mid=4649031014551911",
"third_scheme": "sinaweibo://detail?mblogid=4649031014551911&luicode=20000061&lfid=4649031014551911",
"call": "1"
}][0] || {};
var __wb_performance_data={v:"v8",m:"mainsite",pwa:1,sw:0};
</script>
<script src="https://h5.sinaimg.cn/upload/1005/16/2017/11/30/wbp.js" id="__wb_performance_log" data-rate="0.1"></script>
<script src="//h5.sinaimg.cn/m/weibo-lite/js/manifest.5ecace0f.js"></script><script src="//h5.sinaimg.cn/m/weibo-lite/js/vendor.36b3e5f0.js"></script><script src="//h5.sinaimg.cn/m/weibo-lite/js/app.fd9603ad.js"></script></body>
</html>