好久不读,舌头不听话

2024-04-17 20:40:4904:51 48
所属专辑:晓秋读诗
声音简介
对一朵花微笑
我一回头,身后的草全开花了。一大片。好像谁说了一个笑话,把一滩草惹笑了。
我正躺在土坡上想事情。是否我想的事情——一个人头脑中的奇怪想法让草觉得好笑,在微风中笑得前仰后合。有的哈哈大笑,有的半掩芳唇,忍俊不禁。靠近我身边的两朵,一朵面朝我,张开薄薄的粉红花瓣,似有吟吟笑声入耳。另一朵则扭头掩面,仍不能遮住笑颜。我禁不住也笑了起来。先是微笑,继而哈哈大笑。
这是我第一次在荒野中,一个人笑出声来。
还有一次,我在麦地南边的一片绿草中睡了一觉。我太喜欢这片绿草了,墨绿墨绿,和周围的枯黄野地形成鲜明对比。
我想大概是一个月前,浇灌麦地的人没看好水,或许他把水放进麦田后睡觉去了。水漫过田埂,顺这条干沟漫流而下。枯萎多年的荒草终于等来一次生机。那种绿,是积攒了多少年的,一如我目光中的饥渴。我虽不能像一头牛一样扑过去,猛吃一顿,但我可以在绿草中睡一觉。和我喜爱的东西一起睡一觉,做一个梦,也是满足。
一个在枯黄田野上劳忙半世的人,终于等来草木青青的一年。一小片。草木会不会等到我出人头地的一天。
这些简单地长几片叶、伸几条枝、开几瓣小花的草木,从没长高长大,没有茂盛过的草木,每年每年,从我少有笑容的脸和无精打采的行走中,看到的是否全是不景气。
我活得太严肃,呆板的脸似乎对生存已经麻木,忘了对一朵花微笑,为一片新叶欢欣和激动。这不容易开一次的花朵,难得长出的一片叶子,最重要的是不能总是没精打采,而应“看到一生中那些还未到来的美好前景”。
以后我觉得,我成了荒野中的一个。真正进入一片荒野其实不容易,荒野旷敞着,这个巨大的门让你在努力进入时不经意已经走出来,成为外面人。它的细部永远对你紧闭着。
走进一株草、一滴水、一粒小虫的路可能更远。弄懂一棵草,并不仅限于把草喂到嘴里嚼几下,尝尝味道。挖一个坑,把自己栽进去,浇点水,直愣愣站上半天,感觉到的可能只是腿酸脚麻和腰疼,并不能断定草木长在土里也是这般情景。人没有草木那样深的根,无法知道土深处的事情。人埋在自己的事情里,埋得暗无天日。人把一件件事情干完,干好,人就渐渐出来了。
我从草木身上得到的只是一些人的道理,并不是草木的道理。我自以为弄懂了它们,其实我弄懂了自己。我不懂它们。

ARBOR DAY
春天的步调
刚发现那只虫子时,我以为它在仰面朝天晒太阳呢。我正好走累了,坐在它旁边休息。其实我也想仰面朝天和它并排儿躺下来。我把铁锨插在地上。太阳正在头顶。春天刚刚开始,地还大片地裸露着。许多东西没有出来。包括草,只星星点点地探了个头儿,一半儿还是种子埋藏着。那些小虫子也是一半儿在漫长冬眠的苏醒中。这就是春天的步骤,几乎所有生命都留了一手。它们不会一下子全涌出来。即使早春的太阳再热烈,它们仍保持着应有的迟缓。因为,倒春寒是常有的。当一场寒流杀死先露头的绿芽儿,那些迟迟未发芽的草籽、未醒来的小虫子们便幸存下来,成为这片大地的又一次生机。
春天,我喜欢早早地走出村子,雪前脚消融,我后脚踩上冒着热气的荒地。我扛着锨,拿一截绳子。春天掀掉大地的雪被。雪消之后荒野上会露出许多东西:一截干树桩,半边埋入土中的柴火棍……大地像突然被掀掉被子,那些东西来不及躲藏起来。草长高还得些时日。天却一天天变长。我可以走得稍远一些,绕到河湾里那棵歪榆树下,折一截细枝,看看断茬处的水绿便知道它多有生气,又能旺势地活上一年。每年春天我都会最先来到这棵榆树下,看上几眼。它是我的树。那根直端端指着我们家房顶的横杈上少了两个细枝条,可能入冬后被谁砍去当筐把子了。上个秋天我爬在树上玩时就发现它是根好筐把子,我没舍得砍。再长粗些说不定是根好锨把呢。我想。它却没能长下去。
我无法把一棵树、树上的一根直爽枝条藏起来,让它秘密地为我一个人生长。我只藏埋过一个西瓜,它独独地为我长大、长熟了。
发现那棵西瓜时它已扯了一米来长的秧,而且结了拳头大的一个瓜蛋,梢上还挂着指头大两个小瓜蛋。我想是去年秋天挖柴的人在这儿吃西瓜掉的籽。正好这儿连根挖掉一棵红柳,土虚虚的,很肥沃,还有根挖走后留下的一个小蓄水坑,西瓜便长了起来。
那时候雨水盈足,荒野上常能看见野生的五谷作物:春天对任何生命的种子一视同仁。牛吃进肚子没消化掉又排出的整粒苞米,鸟飞过时一松嘴丢进土里的麦粒、油菜籽,鼠洞遭毁后埋下的稻米、葵花……都会在春天发芽生长起来。但都长不了多高又被牲畜、野动物啃掉。
这棵西瓜迟早也会被打柴人或动物发现。他们不会等到瓜蛋子长熟便会生吃了它。谁都知道荒野中的一棵瓜你不会第二次碰见。除非你有闲工夫,在这棵西瓜旁搭个草棚住下来,一直守着它长熟。我倒真想这样去做。我住在野地的草棚中看守过几个月麦垛,也替大人看守过一片西瓜地。在荒野中搭草棚住下,独独地看着一棵西瓜长大这件事,多少年后还在我的脑子想着。我却没做到。我想了另外一个办法:在那棵瓜蛋子下面挖了一个坑,让瓜蛋吊进去。小心地把坑顶封住。把秧上另两个小瓜蛋掐去。秧头打断,不要它再张扬着长。让人一看就知道这是一截啥都没结的西瓜秧,不会对它过多留意。
此后的一个多月里,我又来看过它三次。显然,有人和动物已经来过,瓜秧旁有新脚印。一只圆形的牛蹄印,险些踩在我挖的坑上。有一个人在旁边站了好一阵儿,留下一对深脚印。他可能不太相信自己的眼睛。还蹲下用手拨了拨西瓜叶——这么粗壮的一截瓜秧,怎么会没结西瓜呢?
又过了一些日子,我估摸着那个瓜该熟了。大田里的头茬瓜已经下秧。我夹了条麻袋,一大早悄悄溜出村子。当我双手微颤着扒开盖在坑顶的土、草叶和木棍——我简直惊住了,那么大一个西瓜,满满地挤在土坑里。抱出来发现它几乎是方的。我挖的坑太小,太方正,让它委屈地长成这样。
当我把这个瓜背回家,家里人更是一片惊喜。他们都不敢相信这个怪模怪样的东西是一个西瓜。它咋长成这样了。
出河湾向北三四里,那片低洼的荒野中蹲着另一棵大榆树,向它走去时我怀着一丝的幻想与侥幸:或许今年它能活过来。
这棵树去年春天就没发芽。夏天我赶车路过它时仍没长出一片叶子。老糊涂了,该做的事情就总是遗忘。我想它活糊涂了,把春天该发芽长叶子这件事忘记了。树老到这个年纪就这样,死一阵子活一阵子。有时我们以为它死彻底了,过两年却又从干裂的躯体上生出几条嫩枝,几片绿叶子。它对生死无所谓了。它已长得足够粗。有足够多的枝杈,尽管被砍得剩下三两个。它再不指点什么。它指向的绿地都已荒芜。在荒野上一棵大树的每个枝杈都指示一条路。有生路有死路。会看树的人能从一棵粗壮枝杈的指向找到水源和有人家的居住地。
我们到黄沙梁时,这片土地上的东西已经不多了——树、牲畜、野动物、人、草地,少一个我便能觉察出。我知道有些东西不能再少下去。
每年春天,让我早早走出村子的,也许就是那几棵孤零零的大榆树、洼地里的片片绿草,还有划过头顶的一声声鸟叫——鸟儿们从一棵树,飞向远远的另一棵。飞累了,落到地上喘气……如果没有了它们,我会一年四季待在屋子里,四面墙壁,把门和窗户封死。我会不喜欢周围的每一个人。恨我自己。
在这个村庄里,人可以再少几个,再走掉一些。那些树却不能再少了。那些鸟叫与虫鸣再不能没有。
在春天,有许多人和我一样早早地走出村子,有的扛把锨去看看自己的地。尽管地还泥泞。苞谷茬端扎着。秋收时为了进车平掉的一截毛渠、一段埂子,还原样地放着。没什么好看的,却还是要绕着地看一圈子。
有的出去拾一捆柴背回来。还有的人,大概跟我一样没什么事情,只是想在冒着热气的野外走走。整个冬天冰封雪盖,这会儿脚终于踩在松软的土上了。很少有人在这样的天气窝在家里。春天不出门的人,大都在家里生病。病也是一种生命,在春天暖暖的阳光中苏醒。它们很猛地生发时,村里就会死人了。这时候,最先走出村子挥锨挖土的人,就不是在翻地播种,而是挖一个坟坑。这样的年成命定亏损。人们还没下种时,已经把一个人埋进土里。
在早春我喜欢迎着太阳走。一大早朝东走出去十几里,下午面向西逛荡回来。肩上仍旧一把锨一截绳子。有时多几根干柴,顶多三两根。我很少捡一大捆柴压在肩上,让自己躬着背从荒野里回来——走得最远的人往往背回来的东西最少。
我只是喜欢让太阳照在我的前身。清早,刚吃过饭,太阳照着鼓鼓的肚子,感觉嚼碎的粮食又在身体里葱葱郁郁地生长。尤其平射的热烈阳光一缕缕穿过我两腿之间。我尽量把腿叉得开些走路,让更多的阳光照在那里。这时我才体会到阳光普照这个词。
我注意到牛在春天喜欢屁股对着太阳吃草。驴和马也这样。狗爱坐着晒太阳。老鼠和猫也爱后腿叉开坐在地上晒太阳。它们和我一样会享受太阳普照的亢兴与舒坦劲儿。
我同样能体会到这只常年爬行、腹部晒不到太阳的小甲壳虫,此刻仰面朝天躺在地上的舒服劲儿。一个爬行动物,当它想让自己一向阴潮的腹部也能晒上太阳时,它便有可能直立起来,最终成为智慧动物。仰面朝天是直立动物享乐的特有方式。一般的爬行动物只有死的时候才会仰面朝天。
这样想时突然发现这只甲壳虫朝天蹬腿的动作有些僵滞,像在很痛苦地抽搐。它是否快要死了?我躺在它旁边。它就在我头边上。我侧过身,用一个小木棍拨了它一下,它正过身来,光滑的甲壳上反射着阳光,却很快又一歪身,仰面朝天躺在地上。
我想它是快要死了。不知什么东西伤害了它。这片荒野上一只虫子大概有两种死法:死于奔走的大动物蹄下,或死于天敌之口。还有另一种死法——老死,我不太清楚。在小动物中我只认识老蚊子。其他的小虫子,它们的死太微小,我看不清。当它们在地上走来奔去时,我确实弄不清哪个老了,哪个正年轻。看上去它们是一样的。
老蚊子朝人飞来时往往带着很大的嗡嗡声。飞得也不稳,好像一只翅膀有劲,一只没劲。往人皮肤上落时腿脚也不轻盈,很容易让人觉察,死于一巴掌之下。
一次我躺在草垛上想事情,一只老蚊子朝我飞过来,它的嗡嗡声似乎把它吵晕了,绕着我转了几圈才落在手臂上。落下了也不赶紧吸血,仰着头,像在观察动静,又像在大口喘气。它犹豫不定时,已经触动我的一两根汗毛,若在晚上我会立马一巴掌拍在那里。可这次,我懒得拍它。我的手正在远处干一件想象中的美妙事。我不忍将它抽回来。况且,一只老蚊子,已经不怕死,又何必置它于死地。再说我一挥手也耗血气,何不让它吸一点血赶紧走呢?
它终于站稳当了。它的小吸血管可能有点钝,我发现它往下扎了一下,没扎进去,又抬起头,猛扎了一下。一点细细的疼传到心里,是我看见的。我的身体不会把这点细小的疼传到心里。它在我疼感不知觉的范围内吸吮鲜血。那是我可以失去的。我看见它的小肚子一点点红起来,皮肤才有了点痒,我下意识抬起一只手,做挥赶的动作。它没看见。还在不停地吸,半个小肚子都红了。我想它该走了。我也只能让它吸半肚子血。剩下的到别人身上去吸吧。再贪嘴也不能叮住一个人吃饱。这样太危险。可它不害怕,吸得投入极了。我动了动胳膊,它翅膀扇了一下,站稳身体,丝毫没影响嘴的吮吸。我真恼了,想一巴掌拍死它,又觉得那身体里满是我的血,拍死了可惜。
这会儿它已经吸饱了,小肚子红红鼓鼓的,我看见它拔出小吸管,头晃了晃,好像在我的一根汗毛根上擦了擦它吸管头上的血迹,一蹬腿飞起来。飞了不到两拃高,一头栽下去,掉在地上。
想不到,蚊子贪婪也能置自己于死地。这只贪婪的小东西,它拼命吸血时大概忘了自己是只老蚊子了。它的翅膀已驮不动一肚子血。它栽下去,立马就死了。它仰面朝天,细长的腿动了几下,我以为它在挣扎,想爬起来再飞。却不是。它的腿是风刮动的。
我知道有些看似在动的生命,其实早死亡了。风不住地刮着它们,从一个地方,到另一个地方,再回来。
这只甲壳虫没有马上死去。它挣扎了好一阵子了。我转过头看了会儿远处的荒野、荒野尽头的连片沙漠,又回过头,它还在蹬腿,只是动作越来越无力。它一下一下往空中蹬腿时,我仿佛看见一条天上的路。时光与正午的天空就这样被它朝天的小细腿一点点地西移了一截子。
接着它不动了。我用小棍拨了几下,仍没有反应。
我回过头开始想别的事情。或许我该起来走了。我不会为一只小虫子的死去悲哀。我最小的悲哀大于一只虫子的死亡。就像我最轻的疼痛在一只蚊子的叮咬之外。
我只是耐心地守候过一只小虫子的临终时光,在永无停息的生命喧哗中,我看到因为死了一只小虫而从此沉寂的这片土地。别的虫子在叫。别的鸟在飞。大地一片片明媚复苏时,在一只小虫子的全部感知里,大地暗淡下去。
内容选自《遥远的村庄:刘亮程散文精读》
《遥远的村庄:刘亮程散文精读》
刘亮程 著黄荣华 编注李又顺 责编复旦大学出版社
作者简介Spring
刘亮程,作家,著有《一个人的村庄》《在新疆》《凿空》等。曾获茅盾文学奖、冯牧文学奖、鲁迅文学奖、百花文学奖等。被誉为“20世纪中国最后一位散文家”和“乡村哲学家”。有多篇文章入选全国大学、中学语文课本。现任新疆作家协会副主席、木垒书院院长、菜籽沟艺术家村落村长。
师生推荐Spring


在刘亮程的“村庄”里,那里人花共笑,人虫共眠,人畜共居。读刘亮程的“村庄”,可帮助我们认识我们的“来路”。“我自哪里来?”这个永恒的命题在这里可以找到部分答案。我们都来自乡村,来自那个遥远的村庄。因此,当我们融入城市回眸早已逃离的村庄,我们会发现,我们已失去了很多,比如本色、自然、静观、默想、独处、从容、达观、感喟……这些最原始的生命印迹。我们还能拾回这些吗?——复旦大学附中 黄荣华(老师)

倘若一本书能唤醒你体内一些值得唤醒的东西,催发你去思考,那这本书便有了价值。如果读罢感觉自己挨了“闷棍”,发现以前根深蒂固的价值体系遭到动摇,发现了一种迥然不同的思维,那这本书的价值便无穷了,因为它唤醒了一个人体内的另一个生命。刘兄的文字实有闷棍之效。——复旦大学附中 邓天媛(学生)
物欲之心、功利之情,在这个被唤作刘二的庄稼人笔下顷刻被扫荡干净。所以阅读的时候,便只剩下了遗世独立的清幽与一种踏实的归属感。泥土是万物归属的终点,一切都将在它的安魂曲中沉眠。城市中不能轻易踏着土路,是遗憾。于是我们借助别人的脚,体味大地的自然气息。——复旦大学附中 杨宇晨(学生)


购书指南:扫描以上任一二维码即可购买《遥远的村庄:刘亮程散文精读》,亦可点击文末“阅读原文”前往微店购买。

本期编辑 | 李映潼转载及合作请联系:liyingtong25@163.com
点击名片 关注我们


var first_sceen__time = (+new Date());
if ("" == 1 && document.getElementById('js_content')) {
document.getElementById('js_content').addEventListener("selectstart",function(e){ e.preventDefault(); });
}




卿云32卿云 · 目录上一篇这些绝美的婉约词里,藏着春的万种柔情下一篇姚大力 | 解读《史记》的一把钥匙阅读原文阅读 5.8万复旦大学出版社关注 分享收藏246403







​喜欢此内容的人还喜欢凤凰树@宋取消 留言 我的留言作者已设置关注后才可以留言写留言展开我的留言 留言被精选后将公开 5条留言作者已设置关注后才可以留言写留言 轻点两下查看用户资料 宋雨桐ᶞ大大的占位符河南3月21日回复赞61我今天上午在城市里走路,本來心情特别不好,总想掉眼泪,一路努力绷住自己的脸,免得眼泪跑出来,然后拐过一个小街角,冷不防前面路中央端坐着一只白色长毛小流浪狗,在阳光下像是一个小惊喜,我看到它的同一秒就绷不住笑了,对它说,hi,hello,小狗没理我,但是我摸它脑袋,它只稍稍避让了一下,还是顺服在我的手掌下,我顺了几下它脑袋上的毛,给它拍了两张照片,然后起身继续走路,我的脸已经不再绷着了,眼泪退回老家了。谢谢你,小狗。

谢谢上帝,我的神。 轻点两下查看视频号 喵喵读书汇大大的占位符北京4月2日回复赞6你有一双善于发现美的眼睛,有一颗柔软善良的心。 轻点两下查看用户资料 Jessica Yang大大的占位符山东3月28日回复赞15这篇文章让我想起《瓦尔登湖》。
遇到人生中很大的挑战,才明白了人到中年之前都活在脖子以上的部份。与内在、感受和大自然完全失去了链接。 轻点两下查看用户资料 子豪大大的占位符上海3月29日回复赞13许多年之后你再看,骑快马飞奔的人和坐在牛背上慢悠悠赶路的人,一样老态龙钟回到村庄里,他们衰老的速度是一样的。时间才不管谁跑得多快多慢呢。 轻点两下查看用户资料 青青白玉盘大大的占位符新疆2天前回复赞也许是生活的忙碌的脚步太匆匆,也或是一成不变的生活使然忘记了心中那份本来悸动美好的心情,生活啊!改变了每个人应有的模样。不在年少青葱。作者已设置关注后才可以留言写留言全部留言 已无更多数据 作者已设置关注后才可以留言发消息留言精选后,将对所有人可见并外显IP归属地关闭写留言提交更多表情关闭留言更多返回写回复回复更多: 表情






微信扫一扫
关注该公众号







继续滑动看下一个














轻触阅读原文



















复旦大学出版社
























向上滑动看下一个













因网络连接问题,剩余内容暂无法加载。

当前内容可能存在未经审核的第三方商业营销信息,请确认是否继续访问。继续访问取消微信公众平台广告规范指引











知道了




window.img_popup = 1;

.weui-dialog_link{-webkit-transform:translateY(-75%);transform:translateY(-75%)}




微信扫一扫
使用小程序











取消
允许











取消
允许




window.logs.pagetime.page_begin = Date.now();
try {
var adIframeUrl = localStorage.getItem('__WXLS_ad_iframe_url');
if (window === top) {
if (adIframeUrl) {
if (navigator.userAgent.indexOf('iPhone') > -1) {
var img = new Image();
img.src = adIframeUrl;
} else {
var link = document.createElement('link');
link.rel = 'prefetch';
link.href = adIframeUrl;
document.getElementsByTagName('head')[0].appendChild(link);
}
}
}
} catch (err) {
}





视频
小程序

,轻点两下取消赞
在看
,轻点两下取消在看
分享
留言

(function () {
var totalCount = 0,
finishCount = 0;
function _addScript(uri, cb) {
totalCount++;
var node = document.createElement('SCRIPT');
node.type = 'text/javascript';
node.src = uri;
node.setAttribute('nonce', '992890652');
if (cb) {
node.onload = cb;
}
document.getElementsByTagName('head')[0].appendChild(node);
}
if ((document.cookie && document.cookie.indexOf('vconsole_open=1') > -1) || location.href.indexOf('vconsole=1') > -1) {
_addScript('https://mp.weixin.qq.com/mmbizappmsg/zh_CN/htmledition/js/scripts/vconsole-3.14.6.js', function () {
window.vConsole = new window.VConsole();
});
}
if (document.cookie && document.cookie.indexOf('__xweb_remote_debug_device_token__') > -1) {
_addScript('https://mp.weixin.qq.com/mmbizappmsg/zh_CN/htmledition/js/scripts/mprdev-0.2.5.js', function () {
_addScript('https://mp.weixin.qq.com/mmbizappmsg/zh_CN/htmledition/js/scripts/xwebrd-0.0.2.js');
});
}
})();

var __INLINE_SCRIPT__ = (function () {
'use strict';
var __setTitle = function __setTitle(showTitle, dom) {
var title = showTitle;
if (showTitle.indexOf('——') > -1) {
var replaceHtml = '——';
showTitle = showTitle.replace(/——/g, replaceHtml);
}
if (dom) {
dom.innerHTML = dom.innerHTML.replace(title, showTitle);
}
};
if (!window.__second_open__) {
var title = '刘亮程 | 我活得太严肃,忘了对一朵花微笑';
__setTitle(title, document.getElementById('activity-name'));
window.__setTitle = __setTitle;
}
return __setTitle;
})();var __INLINE_SCRIPT__ = (function () {
'use strict';
var __setPubTime = function __setPubTime(svrTime, oriCreateTime, createTime, dom) {
var oriTimestamp = oriCreateTime * 1;
var dateObj = new Date(oriTimestamp * 1000);
var padStart = function padStart(v) {
return "0".concat(v).slice(-2);
};
var year = dateObj.getFullYear();
var month = padStart(dateObj.getMonth() + 1);
var date = padStart(dateObj.getDate());
var hour = padStart(dateObj.getHours());
var minute = padStart(dateObj.getMinutes());
var showDate = year + '-' + month + '-' + date + ' ' + hour + ':' + minute;
if (dom) {
dom.innerText = showDate;
}
};
if (!window.__second_open__) {
var svrDate = '1713356068';
var oriCreateTime = '1710753181';
var createTime = '2024-03-18 17:13';
__setPubTime(svrDate, oriCreateTime, createTime, document.getElementById('publish_time'));
window.__setPubTime = __setPubTime;
}
return __setPubTime;
})();(function () {
'use strict';
var Device = {};
function detect(ua) {
var MQQBrowser = ua.match(/MQQBrowser\/(\d+\.\d+)/i);
var MQQClient = ua.match(/QQ\/(\d+\.(\d+)\.(\d+)\.(\d+))/i) || ua.match(/V1_AND_SQ_([\d\.]+)/);
var WeChat = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/) || ua.match(/MicroMessenger\/((\d+)\.(\d+))/);
var MacOS = ua.match(/Mac\sOS\sX\s(\d+[\.|_]\d+)/);
var WinOS = ua.match(/Windows(\s+\w+)?\s+?(\d+\.\d+)/);
var Linux = ua.match(/Linux\s/);
var MiuiBrowser = ua.match(/MiuiBrowser\/(\d+\.\d+)/i);
var M1 = ua.match(/MI-ONE/);
var MIPAD = ua.match(/MI PAD/);
var UC = ua.match(/UCBrowser\/(\d+\.\d+(\.\d+\.\d+)?)/) || ua.match(/\sUC\s/);
var IEMobile = ua.match(/IEMobile(\/|\s+)(\d+\.\d+)/) || ua.match(/WPDesktop/);
var ipod = ua.match(/(ipod).*\s([\d_]+)/i);
var ipad = ua.match(/(ipad).*\s([\d_]+)/i);
var iphone = ua.match(/(iphone)\sos\s([\d_]+)/i);
var Chrome = ua.match(/Chrome\/(\d+\.\d+)/);
var AndriodBrowser = ua.match(/Mozilla.*Linux.*Android.*AppleWebKit.*Mobile Safari/);
var android = ua.match(/(android)\s([\d\.]+)/i);
Device.browser = Device.browser || {}, Device.os = Device.os || {};
if (window.ActiveXObject) {
var vie = 6;
(window.XMLHttpRequest || ua.indexOf('MSIE 7.0') > -1) && (vie = 7);
(window.XDomainRequest || ua.indexOf('Trident/4.0') > -1) && (vie = 8);
ua.indexOf('Trident/5.0') > -1 && (vie = 9);
ua.indexOf('Trident/6.0') > -1 && (vie = 10);
Device.browser.ie = true, Device.browser.version = vie;
} else if (ua.indexOf('Trident/7.0') > -1) {
Device.browser.ie = true, Device.browser.version = 11;
}
if (android) {
Device.os.android = true;
Device.os.version = android[2];
}
if (ipod) {
Device.os.ios = Device.os.ipod = true;
Device.os.version = ipod[2].replace(/_/g, '.');
}
if (ipad) {
Device.os.ios = Device.os.ipad = true;
Device.os.version = ipad[2].replace(/_/g, '.');
}
if (iphone) {
Device.os.iphone = Device.os.ios = true;
Device.os.version = iphone[2].replace(/_/g, '.');
}
if (WinOS) Device.os.windows = true, Device.os.version = WinOS[2];
if (MacOS) Device.os.Mac = true, Device.os.version = MacOS[1];
if (Linux) Device.os.Linux = true;
if (ua.indexOf('lepad_hls') > 0) Device.os.LePad = true;
if (MIPAD) Device.os.MIPAD = true;
if (MQQBrowser) Device.browser.MQQ = true, Device.browser.version = MQQBrowser[1];
if (MQQClient) Device.browser.MQQClient = true, Device.browser.version = MQQClient[1];
if (WeChat) Device.browser.WeChat = true, Device.browser.mmversion = Device.browser.version = WeChat[1];
if (MiuiBrowser) Device.browser.MIUI = true, Device.browser.version = MiuiBrowser[1];
if (UC) Device.browser.UC = true, Device.browser.version = UC[1] || NaN;
if (IEMobile) Device.browser.IEMobile = true, Device.browser.version = IEMobile[2];
if (AndriodBrowser) {
Device.browser.AndriodBrowser = true;
}
if (M1) {
Device.browser.M1 = true;
}
if (Chrome) {
Device.browser.Chrome = true, Device.browser.version = Chrome[1];
}
if (Device.os.windows) {
if (typeof navigator.platform !== "undefined" && navigator.platform.toLowerCase() == "win64") {
Device.os.win64 = true;
} else {
Device.os.win64 = false;
}
}
if (Device.os.Mac || Device.os.windows || Device.os.Linux) {
Device.os.pc = true;
}
var osType = {
iPad7: 'iPad; CPU OS 7',
LePad: 'lepad_hls',
XiaoMi: 'MI-ONE',
SonyDTV: "SonyDTV",
SamSung: 'SAMSUNG',
HTC: 'HTC',
VIVO: 'vivo'
};
for (var os in osType) {
Device.os[os] = ua.indexOf(osType[os]) !== -1;
}
Device.os.phone = Device.os.phone || /windows phone/i.test(ua);
Device.os.getNumVersion = function () {
return parseFloat(Device.os.version);
};
Device.os.hasTouch = 'ontouchstart' in window;
if (Device.os.hasTouch && Device.os.ios && Device.os.getNumVersion() < 6) {
Device.os.hasTouch = false;
}
if (Device.browser.WeChat && Device.browser.version < 5.0) {
Device.os.hasTouch = false;
}
Device.browser.getNumVersion = function () {
return parseFloat(Device.browser.version);
};
Device.browser.isFFCanOcx = function () {
return !!Device.browser.firefox && Device.browser.getNumVersion() >= 3.0;
};
Device.browser.isCanOcx = function () {
return !!Device.os.windows && (!!Device.browser.ie || Device.browser.isFFCanOcx() || !!Device.browser.webkit);
};
Device.browser.isNotIESupport = function () {
return !!Device.os.windows && (!!Device.browser.webkit || Device.browser.isFFCanOcx());
};
Device.userAgent = {};
Device.userAgent.browserVersion = Device.browser.version;
Device.userAgent.osVersion = Device.os.version;
Device.os.unifiedPC = ua.match(/UnifiedPC/);
delete Device.userAgent.version;
}
detect(window.navigator.userAgent);
function canSupportH5Video() {
var ua = window.navigator.userAgent,
m = null;
if (!!Device.os.android) {
if (Device.browser.MQQ && Device.browser.getNumVersion() >= 4.2) {
return true;
}
if (ua.indexOf('MI2') != -1) {
return true;
}
if (Device.os.version >= '4' && (m = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/))) {
if (parseFloat(m[1]) >= 4.2) {
return true;
}
}
if (Device.os.version >= '4.1') {
return true;
}
}
return false;
}
function canSupportVideoMp4() {
var video = document.createElement('video');
if (typeof video.canPlayType === 'function') {
if (video.canPlayType('video/mp4; codecs="mp4v.20.8"') === 'probably') {
return true;
}
if (video.canPlayType('video/mp4; codecs="avc1.42E01E"') === 'probably' || video.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"') === 'probably') {
return true;
}
}
return false;
}
function canSupportAutoPlay() {
if (Device.os.ios && Device.os.getNumVersion() < 10) {
return false;
}
return true;
}
function isLockdownMode() {
if (!Device.os.ios || Device.os.getNumVersion() < 16) {
return false;
}
if (typeof WebAssembly === 'undefined' && typeof OfflineAudioContext === 'undefined' && typeof WebGLRenderingContext === 'undefined') {
return true;
}
return false;
}
Device.canSupportVideo = canSupportVideoMp4 || canSupportH5Video;
Device.canSupportVideoMp4 = canSupportVideoMp4;
Device.canSupportH5Video = canSupportH5Video;
Device.canSupportAutoPlay = canSupportAutoPlay;
Device.isLockdownMode = isLockdownMode;
function hasClass(obj, cls) {
if (obj.classList) {
return obj.classList.contains(cls);
} else {
return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
}
}
function addClass(obj, cls) {
if (obj.classList) {
obj.classList.add(cls);
} else if (!hasClass(obj, cls)) obj.className += " " + cls;
}
function removeClass(obj, cls) {
if (obj.classList) {
obj.classList.remove(cls);
} else if (hasClass(obj, cls)) {
var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
obj.className = obj.className.replace(reg, ' ');
}
}
function toggleClass(obj, cls) {
if (hasClass(obj, cls)) {
removeClass(obj, cls);
} else {
addClass(obj, cls);
}
}
var Class = {
hasClass: hasClass,
addClass: addClass,
removeClass: removeClass,
toggleClass: toggleClass
};
function isVersionGreaterThan(version1, version2) {
var v1 = version1.split('.').map(Number);
var v2 = version2.split('.').map(Number);
for (var i = 0; i < v1.length || i < v2.length; i++) {
var part1 = v1[i] || 0;
var part2 = v2[i] || 0;
if (part1 > part2) {
return true;
} else if (part1 < part2) {
return false;
}
}
return false;
}
if (Device.os.ios && (isVersionGreaterThan(Device.os.version, '17.4.1') || Device.os.version === '17.4.1')) {
Class.addClass(document.getElementById('js_content'), 'js_fix_ios');
}
})();


if (!window.console) window.console = { log: function() {} };
if (typeof getComputedStyle == 'undefined') {
if (document.body.currentStyle) {
window.getComputedStyle = function(el) {
return el.currentStyle;
}
} else {
window.getComputedStyle = {};
}
}
(function(){
window.__zoom = 1;
var ua = navigator.userAgent.toLowerCase();
var re = new RegExp("msie ([0-9]+[\.0-9]*)");
var version;
if (re.exec(ua) != null) {
version = parseInt(RegExp.$1);
}
var isIE = false;
if (typeof version != 'undefined' && version >= 6 && version <= 9) {
isIE = true;
}
var isAccessibilityKey = 'isMpUserAccessibility';
var isAccessMode = window.localStorage.getItem(isAccessibilityKey);
var isCarton = isIE || '0' === '1' || '' === '1' || isAccessMode === '1';
var bodyWidth = '' * 1;
if (bodyWidth) {
var styles = getComputedStyle(document.getElementById('page-content'));
bodyWidth - parseFloat(styles.paddingLeft) - parseFloat(styles.paddingRight);
}
var getMaxWith = function () {
var container = document.getElementById('img-content');
var max_width = container.offsetWidth;
!max_width && bodyWidth && (max_width = bodyWidth);
var container_padding = 0;
var container_style = getComputedStyle(container);
container_padding = parseFloat(container_style.paddingLeft) + parseFloat(container_style.paddingRight);
max_width -= container_padding;
if (!max_width) {
max_width = window.innerWidth - 30;
}
return max_width;
};
var getParentWidth = function (dom) {
var parent_width = 0;
var parent = dom.parentNode;
var outerWidth = 0;
while (true) {
if (!parent || parent.nodeType != 1) break;
var parent_style = getComputedStyle(parent);
if (!parent_style) break;
parent_width = parent.clientWidth - parseFloat(parent_style.paddingLeft) - parseFloat(parent_style.paddingRight) - outerWidth;
if (parent_width > 16) break;
outerWidth += parseFloat(parent_style.paddingLeft) + parseFloat(parent_style.paddingRight) + parseFloat(parent_style.marginLeft) + parseFloat(parent_style.marginRight) + parseFloat(parent_style.borderLeftWidth) + parseFloat(parent_style.borderRightWidth);
parent = parent.parentNode;
}
return parent_width;
}
var getOuterW = function (dom) {
var style = getComputedStyle(dom),
w = 0;
if (!!style) {
w = parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);
}
return w;
};
var getOuterH = function (dom) {
var style = getComputedStyle(dom),
h = 0;
if (!!style) {
h = parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
}
return h;
};
var insertAfter = function (dom, afterDom) {
var _p = afterDom.parentNode;
if (!_p) {
return;
}
if (_p.lastChild === afterDom) {
_p.appendChild(dom);
} else {
_p.insertBefore(dom, afterDom.nextSibling);
}
};
var getQuery = function (name, url) {
var u = arguments[1] || window.location.search,
reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"),
r = u.substr(u.indexOf("\?") + 1).match(reg);
return r != null ? r[2] : "";
};
function setImgSize(item, widthNum, widthUnit, ratio, breakParentWidth) {
setTimeout(function () {
var img_padding_border = getOuterW(item) || 0;
var img_padding_border_top_bottom = getOuterH(item) || 0;
if (widthNum > getParentWidth(item) && !breakParentWidth) {
widthNum = getParentWidth(item);
}
var height = (widthNum - img_padding_border) * ratio + img_padding_border_top_bottom;
if (isCarton) {
var url = item.getAttribute('data-src');
item.src = url;
item.style.height = 'auto';
} else {
widthNum !== 'auto' && (item.style.cssText += ";width: " + widthNum + widthUnit + " !important;");
widthNum !== 'auto' && (item.style.cssText += ";height: " + height + widthUnit + " !important;");
}
}, 10);
}
window.__videoDefaultRatio = 16 / 9;//默认值是16/9
window.__getVideoWh = function (dom) {
var max_width = getMaxWith(),
width = max_width,
ratio_ = dom.getAttribute('data-ratio') * 1,//mark16/9
arr = [4 / 3, 16 / 9],
ret = arr[0],
abs = Math.abs(ret - ratio_);
if (!ratio_) {
if (dom.getAttribute("data-mpvid")) {
ratio_ = 16 / 9;
} else {
ratio_ = 4 / 3;
}
} else {
for (var j = 1, jl = arr.length; j < jl; j++) {
var _abs = Math.abs(arr[j] - ratio_);
if (_abs < abs) {
abs = _abs;
ret = arr[j];
}
}
ratio_ = ret;
}
var parent_width = getParentWidth(dom) || max_width,
width = width > parent_width ? parent_width : width,
outerW = getOuterW(dom) || 0,
outerH = getOuterH(dom) || 0,
videoW = width - outerW,
videoH = videoW / ratio_,
speedDotH = 12,
height = videoH + outerH + speedDotH;
return { w: Math.ceil(width), h: Math.ceil(height), vh: videoH, vw: videoW, ratio: ratio_, sdh: speedDotH };
};
(function () {
var iframe = document.getElementsByTagName('iframe');
for (var i = 0, il = iframe.length; i < il; i++) {
if (window.__second_open__ && iframe[i].getAttribute('__sec_open_place_holder__')) {
continue;
}
var a = iframe[i];
var src_ = a.getAttribute('src') || a.getAttribute('data-src') || "";
var vid = getQuery("vid", src_) || a.getAttribute('data-mpvid');
if (!vid) {
continue;
}
vid = vid.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");//清除前后空格
a.removeAttribute('src');
a.style.display = "none";
var obj = window.__getVideoWh(a),
videoPlaceHolderSpan = document.createElement('span');
videoPlaceHolderSpan.className = "js_img_placeholder wx_widget_placeholder";
videoPlaceHolderSpan.setAttribute("data-vid", vid);
videoPlaceHolderSpan.innerHTML = '';
videoPlaceHolderSpan.style.cssText = "width: " + obj.w + "px !important;";
insertAfter(videoPlaceHolderSpan, a);
function ajax(obj) {
var url = obj.url;
var xhr = new XMLHttpRequest();
var data = null;
if (typeof obj.data == "object") {
var d = obj.data;
data = [];
for (var k in d) {
if (d.hasOwnProperty(k)) {
data.push(k + "=" + encodeURIComponent(d[k]));
}
}
data = data.join("&");
} else {
data = typeof obj.data == 'string' ? obj.data : null;
}
xhr.open('POST', url, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status >= 200 && xhr.status < 400) {
obj.success && obj.success(xhr.responseText);
} else {
obj.error && obj.error(xhr);
}
obj.complete && obj.complete();
obj.complete = null;
}
};
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.send(data);
}
var mid = "2651057325" || "" || "2651057325";
var biz = "MzA3NzA4ODAyMA%3D%3D" || "MzA3NzA4ODAyMA==";
var sessionid = "1713356515" || "svr_576cc3774a5";
var idx = "1" || "1";
(function sendReq(parentNode, copyIframe, index, vid) {
ajax({
url: '/mp/videoplayer?vid=' + vid + '&mid=' + mid + '&idx=' + idx + '&__biz=' + biz + '&sessionid=' + sessionid + '&f=json',
type: "GET",
dataType: 'json',
success: function (json) {
var ret = JSON.parse(json || '{}');
var ori = ret.ori_status;
var hit_biz_headimg = ret.hit_biz_headimg + '/64';
var hit_nickname = ret.hit_nickname;
var hit_username = ret.hit_username;
var sourceBiz = ret.source_encode_biz;
var selfUserName = "gh_73929475b13c";
if (ori === 2 && selfUserName !== hit_username) {
var videoBar = document.createElement('div');
var videoBarHtml = '';
videoBarHtml += '以下视频来源于';
videoBarHtml += '';
videoBarHtml += '';
videoBarHtml += '' + hit_nickname + '';
videoBarHtml += '';
videoBarHtml += '';
videoBarHtml += '';
videoBarHtml += '';
videoBar.innerHTML = videoBarHtml;
var spanContainer = document.getElementById('js_mp_video_container_' + index);
if (spanContainer) {
spanContainer.parentNode.insertBefore(videoBar, spanContainer);
} else if (parentNode.contains && parentNode.contains(copyIframe)) {
parentNode.insertBefore(videoBar, copyIframe);
} else {
parentNode.insertBefore(videoBar, parentNode.firstElementChild);
}
var avatorEle = document.getElementById(hit_biz_headimg + index);
var avatorSrc = avatorEle.dataset.src;
console.log('avatorSrc' + avatorSrc);
if (ret.hit_biz_headimg) {
avatorEle.style.backgroundImage = 'url(' + avatorSrc + ')';
}
}
},
error: function (xhr) {
}
});
})(a.parentNode, a, i, vid);
a.style.cssText += ";width: " + obj.w + "px !important;";
a.setAttribute("width", obj.w);
if (window.__zoom != 1) {
a.style.display = "block";
videoPlaceHolderSpan.style.display = "none";
a.setAttribute("_ratio", obj.ratio);
a.setAttribute("_vid", vid);
} else {
videoPlaceHolderSpan.style.cssText += "height: " + (obj.h - obj.sdh) + "px !important;margin-bottom: " + obj.sdh + "px !important;";
a.style.cssText += "height: " + obj.h + "px !important;";
a.setAttribute("height", obj.h);
}
a.setAttribute("data-vh", obj.vh);
a.setAttribute("data-vw", obj.vw);
if (a.getAttribute("data-mpvid")) {
a.setAttribute("data-src", location.protocol + "//mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&auto=0&vid=" + vid);
} else {
a.setAttribute("data-src", location.protocol + "//v.qq.com/iframe/player.html?vid=" + vid + "&width=" + obj.vw + "&height=" + obj.vh + "&auto=0");
}
}
})();
(function () {
if (window.__zoom != 1) {
if (!window.__second_open__) {
document.getElementById('page-content').style.zoom = window.__zoom;
var a = document.getElementById('activity-name');
var b = document.getElementById('meta_content');
if (!!a) {
a.style.zoom = 1 / window.__zoom;
}
if (!!b) {
b.style.zoom = 1 / window.__zoom;
}
}
var images = document.getElementsByTagName('img');
for (var i = 0, il = images.length; i < il; i++) {
if (window.__second_open__ && images[i].getAttribute('__sec_open_place_holder__')) {
continue;
}
images[i].style.zoom = 1 / window.__zoom;
}
var iframe = document.getElementsByTagName('iframe');
for (var i = 0, il = iframe.length; i < il; i++) {
if (window.__second_open__ && iframe[i].getAttribute('__sec_open_place_holder__')) {
continue;
}
var a = iframe[i];
a.style.zoom = 1 / window.__zoom;
var src_ = a.getAttribute('data-src') || "";
if (!/^http(s)*\:\/\/v\.qq\.com\/iframe\/(preview|player)\.html\?/.test(src_)
&& !/^http(s)*\:\/\/mp\.weixin\.qq\.com\/mp\/readtemplate\?t=pages\/video_player_tmpl/.test(src_)
) {
continue;
}
var ratio = a.getAttribute("_ratio");
var vid = a.getAttribute("_vid");
a.removeAttribute("_ratio");
a.removeAttribute("_vid");
var vw = a.offsetWidth - (getOuterW(a) || 0);
var vh = vw / ratio;
var h = vh + (getOuterH(a) || 0)
a.style.cssText += "height: " + h + "px !important;"
a.setAttribute("height", h);
if (/^http(s)*\:\/\/v\.qq\.com\/iframe\/(preview|player)\.html\?/.test(src_)) {
a.setAttribute("data-src", location.protocol + "//v.qq.com/iframe/player.html?vid=" + vid + "&width=" + vw + "&height=" + vh + "&auto=0");
}
a.style.display = "none";
var parent = a.parentNode;
if (!parent) {
continue;
}
for (var j = 0, jl = parent.children.length; j < jl; j++) {
var child = parent.children[j];
if (child.className.indexOf("js_img_placeholder") >= 0 && child.getAttribute("data-vid") == vid) {
child.style.cssText += "height: " + h + "px !important;";
child.style.display = "";
}
}
}
}
})();
})();
var anchor_tree_msg = '';

(function () {
'use strict';
var _Speed = {};
var _userDefine;
var _imgurl = 'https://badjs.weixinbridge.com/frontend/reportspeed?';
function saveSpeeds$1(obj) {
if (!obj.pid || !obj.speeds) {
return -1;
}
if (!Array.isArray(obj.speeds)) {
obj.speeds = [obj.speeds];
}
if (obj.user_define) {
_userDefine = obj.user_define;
}
var pid_uin_rid = _conbinUPRid(obj);
for (var i = 0; i < obj.speeds.length; i++) {
var os = obj.speeds[i];
os.time = Math.floor(+os.time);
if (os.sid > 20 && os.time >= 0) _setSidTime(pid_uin_rid, os.sid, os.time);
}
}
function send$1() {
_doFunc(function () {
setTimeout(function () {
for (var item in _Speed) {
_get({
pid_uin_rid: item,
speeds: _Speed[item],
user_define: _userDefine
}, _imgurl);
}
_Speed = {};
}, 100);
});
}
function setFirstViewTime(obj) {
_doFunc(function () {
if (!obj.pid || !obj.time) return -1;
var pid_uin_rid = _conbinUPRid(obj);
_setSidTime(pid_uin_rid, 9, obj.time);
});
}
function setBasicTime$1(obj) {
_doFunc(function () {
var pid_uin_rid = _conbinUPRid(obj);
if (!_Speed[pid_uin_rid]) _Speed[pid_uin_rid] = [];
var performance = window.performance || window.msPerformance || window.webkitPerformance || {};
if (!!performance && !!performance.timing) {
var timing = performance.timing || {};
_setSidTime(pid_uin_rid, 1, timing.domainLookupEnd - timing.domainLookupStart);
_setSidTime(pid_uin_rid, 2, location.protocol == "https:" && timing.secureConnectionStart != 0 ? timing.connectEnd - timing.secureConnectionStart : 0);
_setSidTime(pid_uin_rid, 3, timing.connectEnd - timing.connectStart);
_setSidTime(pid_uin_rid, 4, timing.responseStart - timing.requestStart);
_setSidTime(pid_uin_rid, 5, timing.responseEnd - timing.responseStart);
_setSidTime(pid_uin_rid, 6, timing.domContentLoadedEventStart - timing.domLoading);
_setSidTime(pid_uin_rid, 7, timing.domComplete == 0 ? 0 : timing.domComplete - timing.domLoading);
_setSidTime(pid_uin_rid, 8, timing.loadEventEnd == 0 ? 0 : timing.loadEventEnd - timing.loadEventStart);
(function (_Speed) {
setTimeout(function () {
if (timing.loadEventEnd) {
_setSidTime(pid_uin_rid, 7, timing.domComplete == 0 ? 0 : timing.domComplete - timing.domLoading);
_setSidTime(pid_uin_rid, 8, timing.loadEventEnd == 0 ? 0 : timing.loadEventEnd - timing.loadEventStart);
}
}, 0);
})();
if (!_Speed[pid_uin_rid][9])
_setSidTime(pid_uin_rid, 9, timing.domContentLoadedEventStart - timing.navigationStart);
_setSidTime(pid_uin_rid, 10, timing.redirectEnd - timing.redirectStart);
_setSidTime(pid_uin_rid, 11, timing.domainLookupStart - timing.fetchStart);
_setSidTime(pid_uin_rid, 12, timing.domLoading - timing.responseStart);
}
});
}
function _setSidTime(pid_uin_rid, sid, time) {
_Speed[pid_uin_rid] = _Speed[pid_uin_rid] || [];
_Speed[pid_uin_rid][sid] = _Speed[pid_uin_rid][sid] || [];
if (time < 0) return;
if (sid < 21) _Speed[pid_uin_rid][sid][0] = time;else _Speed[pid_uin_rid][sid].push(time);
}
function _conbinUPRid(obj) {
if (!obj || !obj.pid) {
console && console.error('Must provide a pid');
return '';
}
return obj.pid + '_' + (obj.uin || 0) + '_' + (obj.rid || 0);
}
function _get(obj, url) {
var apur = obj.pid_uin_rid.split('_');
var spur = '';
if (apur.length == 3) {
spur = 'pid=' + apur[0] + '&uin=' + apur[1] + '&rid=' + apur[2];
} else {
console && console.error('pid,uin,rid, invalid args');
return;
}
if (obj.user_define) {
spur += '&user_define=' + obj.user_define;
}
var url1 = url + spur + '&speeds=';
var url2 = '';
var urlarr = [];
for (var i = 1; i < obj.speeds.length; i++) {
if (obj.speeds[i]) {
for (var j = 0; j < obj.speeds[i].length; j++) {
var s = i + '_' + obj.speeds[i][j];
if (url1.length + url2.length + s.length < 1024) {
url2 = url2 + s + ';';
} else {
if (url2.length)
urlarr.push(url1 + url2.substring(0, url2.length - 1));
url2 = s + ';';
}
}
if (i == obj.speeds.length - 1) {
urlarr.push(url1 + url2.substring(0, url2.length - 1));
}
}
}
for (var _i = 0; _i < urlarr.length; _i++) {
new Image().src = urlarr[_i];
}
}
var cblist = [];
function _doFunc(fnc) {
if (document.readyState == "complete") {
fnc();
} else {
cblist.push(fnc);
}
}
window.addEventListener('load', onLoad, false);
function onLoad() {
for (var i = 0; i < cblist.length; i++) {
cblist[i]();
}
cblist = [];
}
var wxgsdk = {
saveSpeeds: saveSpeeds$1,
send: send$1,
setFirstViewTime: setFirstViewTime,
setBasicTime: setBasicTime$1
};
var reportLogs = [];
var reportExtraLogs = [];
var sendUrl = '/mp/jsmonitor?#wechat_redirect';
var monitor = {};
monitor._reportOptions = {
idkey: {}
};
function ObjWithoutProperty(source, exclude) {
if (source === null) return {};
var target = {};
var sourceKeys = Object.keys(source);
for (var i = 0; i < sourceKeys.length; i++) {
var key = sourceKeys[i];
if (exclude.indexOf(key) >= 0) continue;
target[key] = source[key];
}
return target;
}
function formatDataToString(data) {
var reportData = [];
for (var key in data) {
if (Object.prototype.hasOwnProperty.call(data, key)) {
reportData.push(key + '=' + encodeURIComponent(data[key]));
}
}
return reportData.join('&');
}
monitor.getReportData = function (opt) {
opt = opt || {};
var idkey = monitor._reportOptions.idkey || {};
var key = null;
var reportData = {};
var nextKey;
try {
for (key in idkey) {
if (Object.prototype.hasOwnProperty.call(idkey, key) && idkey[key]) {
reportLogs.push(key + '_' + idkey[key]);
}
}
} catch (e) {
return false;
}
if (reportLogs.length === 0) {
return false;
}
if (reportExtraLogs.length) {
reportData.lc = reportExtraLogs.length;
reportExtraLogs.forEach(function (extraLog, index) {
reportData["log".concat(index)] = extraLog;
});
}
try {
var reportOptions = monitor._reportOptions;
if (reportOptions !== null && reportOptions !== undefined) {
for (nextKey in reportOptions) {
if (Object.prototype.hasOwnProperty.call(reportOptions, nextKey)) {
reportData[nextKey] = reportOptions[nextKey];
}
}
}
} catch (e) {
reportData = {};
}
reportData.idkey = reportLogs.join(';');
reportData.t = Math.random();
if (opt.remove !== false) {
reportLogs = [];
reportExtraLogs = [];
monitor._reportOptions = {
idkey: {}
};
}
return reportData;
};
monitor.setLogs = function (opt) {
var id = opt.id;
var key = opt.key;
var value = opt.value;
var extraLog = opt.log;
var others = ObjWithoutProperty(opt, ['id', 'key', 'value', 'log']);
var idkey = monitor._reportOptions.idkey || {};
var param = id + '_' + key;
if (idkey[param]) {
idkey[param] += value;
} else {
idkey[param] = value;
}
monitor._reportOptions.idkey = idkey;
if (extraLog) {
reportExtraLogs.push(extraLog);
}
try {
if (others !== null && others !== undefined) {
for (var otherKey in others) {
if (Object.prototype.hasOwnProperty.call(others, otherKey)) {
monitor._reportOptions[otherKey] = others[otherKey];
}
}
}
} catch (e) {
console.log(e);
}
return monitor;
};
monitor.setAvg = function (id, key, value) {
var idkey = monitor._reportOptions.idkey || {};
var param1 = id + '_' + key;
var param2 = id + '_' + (key - 1);
if (idkey[param1]) {
idkey[param1] += value;
} else {
idkey[param1] = value;
}
if (idkey[param2]) {
idkey[param2] += 1;
} else {
idkey[param2] = 1;
}
monitor._reportOptions.idkey = idkey;
return monitor;
};
monitor.setSum = function (id, key) {
var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
var idkey = monitor._reportOptions.idkey;
var param = id + '_' + key;
if (idkey[param]) {
idkey[param] += value;
} else {
idkey[param] = value;
}
monitor._reportOptions.idkey = idkey;
return monitor;
};
monitor.send = function (async, ajax, origin) {
if (async !== false) {
async = true;
}
var data = monitor.getReportData();
origin = origin || '';
if (!data) {
return;
}
if (!!ajax && ajax instanceof Function) {
ajax({
url: origin + sendUrl,
type: 'POST',
mayAbort: true,
data: data,
async: async,
timeout: 2000
});
} else {
new Image().src = origin + '/mp/jsmonitor?' + formatDataToString(data) + '#wechat_redirect';
}
};
if (typeof window !== 'undefined' && window.__monitor) {
monitor = window.__monitor;
} else {
typeof window !== 'undefined' && (window.__monitor = monitor);
}
var monitor$1 = monitor;
function _typeof(obj) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
return typeof obj;
} : function (obj) {
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
}, _typeof(obj);
}
var logList = [];
var log = function log(msg) {
logList.push(msg);
};
var printLog = function printLog() {
for (var i = 0, len = logList.length; i < len; ++i) {
console.log("[RespType]".concat(logList[i]));
}
};
var isArray = function isArray(val) {
return Object.prototype.toString.call(val) === '[object Array]';
};
var getValueType = function getValueType(value) {
if (isArray(value)) {
return 'array';
}
return _typeof(value);
};
var parseRtDesc = function parseRtDesc(rtDesc, k) {
var type = 'mix';
var isRequired = false;
var key = k;
if (k) {
var requireKeyWord = '_R';
var pos = k.indexOf(requireKeyWord);
var len = k.length - requireKeyWord.length;
isRequired = pos !== -1 && pos === len;
key = isRequired ? k.substring(0, len) : k;
}
if (typeof rtDesc === 'string') {
type = rtDesc;
} else if (isArray(rtDesc)) {
type = 'array';
} else if (_typeof(rtDesc) === 'object') {
type = 'object';
}
return {
key: key,
type: type,
isRequired: isRequired
};
};
var checkForArrayRtDesc = function checkForArrayRtDesc(arr, rtDescs) {
if (!isArray(arr)) {
return false;
}
for (var i = 0, len = arr.length; i < len; ++i) {
var value = arr[i];
var rtDesc = void 0;
var j = 0;
var flag = rtDescs.length === 0;
while (rtDesc = rtDescs[j++]) {
if (checkForRtDesc(value, rtDesc)) {
flag = true;
break;
}
}
if (!flag) {
return false;
}
}
return true;
};
var checkForStringRtDesc = function checkForStringRtDesc(value, rtDesc) {
var valueType = getValueType(value);
var desc = parseRtDesc(rtDesc);
var ret = desc.type === valueType;
if (!ret) {
log("miss match type : ".concat(valueType, " !== ").concat(desc.type));
}
return ret;
};
var checkForObjectRtDesc = function checkForObjectRtDesc(json, rtDesc) {
if (_typeof(json) !== 'object' || isArray(json)) {
log('must be object');
return false;
}
var rootJson = json;
var nowCheckValue = json;
for (var k in rtDesc) {
if (rtDesc.hasOwnProperty(k)) {
var nowCheckDesc = rtDesc[k];
var desc = parseRtDesc(nowCheckDesc, k);
var key = desc.key;
nowCheckValue = rootJson[key];
var valueType = getValueType(nowCheckValue);
if (desc.isRequired && nowCheckValue === undefined) {
log("is required @key=".concat(key));
return false;
}
if (nowCheckValue !== undefined) {
if (valueType !== desc.type && desc.type !== 'mix') {
log("miss match type : ".concat(valueType, " !== ").concat(desc.type, " @key=").concat(key));
return false;
}
if ((valueType === 'array' || valueType === 'object') && desc.type !== 'mix') {
if (!checkForRtDesc(nowCheckValue, nowCheckDesc)) {
return false;
}
}
}
}
}
return true;
};
var checkForRtDesc = function checkForRtDesc(json, rtDesc) {
if (isArray(rtDesc)) {
return checkForArrayRtDesc(json, rtDesc);
}
if (_typeof(rtDesc) === 'object') {
return checkForObjectRtDesc(json, rtDesc);
}
if (typeof rtDesc === 'string') {
return checkForStringRtDesc(json, rtDesc);
}
return false;
};
var _check = function check(json, rtDescs) {
if (typeof json === 'string') {
try {
json = eval("(".concat(json, ")"));
} catch (e) {
log('parse json error');
return false;
}
}
if (_typeof(json) !== 'object') {
log('must be object');
return false;
}
if (!isArray(rtDescs)) {
rtDescs = [rtDescs];
}
var rtDesc;
var i = 0;
while (rtDesc = rtDescs[i++]) {
if (checkForRtDesc(json, rtDesc)) {
return true;
}
}
return false;
};
var RespTypes = {
check: function check(json, rtDesc) {
logList = [];
try {
var ret = _check(json, rtDesc);
if (!ret) {
printLog();
}
return ret;
} catch (e) {
logList.push("[rtException]".concat(e.toString()));
printLog();
return false;
}
},
getMsg: function getMsg() {
return logList.join(';');
}
};
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); }
function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var ua = navigator.userAgent;
var is_ios = /(iPhone|iPad|iPod|iOS)/i.test(ua);
var is_wp = /Windows\sPhone/i.test(ua);
var is_android = /(Android)/i.test(ua);
var is_wechat = /MicroMessenger\/([\d\.]+)/i.test(ua);
var is_mac = /mac\sos/i.test(ua) && !is_ios;
var is_windows = /windows\snt/i.test(ua) && !is_wp;
var is_mpapp = /MPAPP\/([\d\.]+)/i.test(ua);
var is_ipad = /iPad/i.test(ua);
var is_windows_wechat = /WindowsWechat/i.test(ua);
var is_mac_wechat = /MacWechat/i.test(ua) || /wechat.*mac os/i.test(ua);
var is_prefetch = is_wechat && window.WeixinPrefecherJSBridge;
var is_donut_app = /SAAASDK/i.test(ua);
var is_in_miniProgram = is_android && /miniprogram/.test(ua.toLowerCase()) || window.__wxjs_environment == 'miniprogram';
var is_wx_work = /wxwork/i.test(ua);
function getUrlParams() {
var vars = location.search.substring(1).split('&');
var params = {};
var _iterator = _createForOfIteratorHelper(vars),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var ele = _step.value;
var pair = ele.split('=');
var key = decodeURIComponent(pair[0]);
if (typeof params[key] === 'undefined') {
params[key] = decodeURIComponent(pair[1]);
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
return params;
}
function get() {
var reg = /MicroMessenger\/([\d\.]+)/i;
var ret = ua.match(reg);
if (ret && ret[1]) {
return ret[1];
}
return false;
}
function getMac() {
var reg = /MacWechat\/([\d\.]+)/i;
var ret = ua.match(reg);
if (ret && ret[1]) {
return ret[1];
}
return false;
}
function getMacOS() {
var reg = /Mac OS X ([\d_]+)/i;
var ret = ua.match(reg);
if (ret && ret[1]) {
return ret[1].replace(/_/g, '.');
}
return false;
}
function getWindows() {
var reg = /WindowsWechat\(0x(.+?)\)/i;
var ret = ua.match(reg);
if (ret && ret[1]) {
return ret[1];
}
return false;
}
function getWxWork() {
var reg = /wxwork\/([\d\.]+)/i;
var ret = ua.match(reg);
if (ret && ret[1]) {
return ret[1];
}
return false;
}
function getMpApp() {
var appVersion = [2, 4, 5];
var match = navigator.userAgent.match(/MPAPP\/(\d+(\.\d+)*)/);
if (match) {
appVersion = match[1].split('.').map(function (v) {
return Number(v);
});
}
return appVersion.join('.');
}
function getVersionNumber(hexStr) {
return Number(Number('0x' + hexStr).toString(10));
}
function getWindowsVersionFormat() {
var versionInfo = navigator.userAgent.match(/WindowsWechat\(0x(\w+?)\)/);
if (versionInfo && versionInfo.length === 2) {
var version = versionInfo[1];
var mainVersion = getVersionNumber(version.slice(1, 2));
var subVersion = getVersionNumber(version.slice(2, 4));
var subVersion2 = getVersionNumber(version.slice(4, 6));
return [mainVersion, subVersion, subVersion2].join('.');
}
return false;
}
function getInner() {
var reg = /MicroMessenger\/[\d\.]+\(0x(.+?)\)/i;
var ret = ua.match(reg);
if (ret && ret[1] && ret[1] != null) {
return ret[1];
}
if (!ret && /MicroMessenger\/[\d\.]+/i.test(ua)) {
var urlParams = getUrlParams();
if (urlParams.version) {
return urlParams.version;
}
}
return false;
}
var opfunc = {
'cp-1': function cp1(a, b) {
return a < b;
},
cp0: function cp0(a, b) {
return a === b;
},
cp1: function cp1(a, b) {
return a > b;
}
};
function cpVersion(ver, op, canEq, type) {
var mmver = false;
switch (type) {
case 'mac':
mmver = getMac();
break;
case 'windows':
mmver = getWindowsVersionFormat();
break;
case 'wxwork':
mmver = getWxWork();
break;
case 'mpapp':
mmver = getMpApp();
break;
default:
mmver = get();
break;
}
if (!mmver) {
return;
}
var mmversion = mmver.split('.');
var version = ver.split('.');
if (!/\d+/g.test(mmversion[mmversion.length - 1])) {
mmversion.pop();
}
for (var i = 0, len = Math.max(mmversion.length, version.length); i < len; ++i) {
var mmv = mmversion[i] || '';
var v = version[i] || '';
var mmvn = parseInt(mmv, 10) || 0;
var vn = parseInt(v, 10) || 0;
var eq = opfunc.cp0(mmvn, vn);
if (eq) {
continue;
}
var cp = opfunc["cp".concat(op)];
return cp(mmvn, vn);
}
return canEq || op === 0;
}
function eqVersion(version) {
return cpVersion(version, 0);
}
function gtVersion(version, canEq) {
return cpVersion(version, 1, canEq);
}
function ltVersion(version, canEq) {
return cpVersion(version, -1, canEq);
}
function getPlatform() {
if (is_ios) {
return 'ios';
} else if (is_android) {
return 'android';
} else if (is_mac) {
return 'mac_os';
} else if (is_windows) {
return 'windows';
}
return 'unknown';
}
var is_google_play = false;
var inner_ver_for_google_play_check = getInner();
if (is_android && inner_ver_for_google_play_check) {
var v = '0x' + inner_ver_for_google_play_check.substr(-2);
if (parseInt(v) >= 64 && parseInt(v) <= 79) {
is_google_play = true;
}
}
var mmversion = {
get: get,
getMac: getMac,
getMacOS: getMacOS,
getWindows: getWindows,
getInner: getInner,
getWxWork: getWxWork,
getMpApp: getMpApp,
cpVersion: cpVersion,
eqVersion: eqVersion,
gtVersion: gtVersion,
ltVersion: ltVersion,
getPlatform: getPlatform,
getVersionNumber: getVersionNumber,
isWp: is_wp,
isIOS: is_ios,
isAndroid: is_android,
isInMiniProgram: is_in_miniProgram,
isWechat: is_wechat,
isMac: is_mac,
isWindows: is_windows,
isMacWechat: is_mac_wechat,
isWindowsWechat: is_windows_wechat,
isWxWork: is_wx_work,
isOnlyWechat: is_wechat && !is_wx_work,
isMpapp: is_mpapp,
isNewMpApp: is_mpapp && cpVersion('3.0.0', 1, true, 'mpapp'),
isIPad: is_ipad,
isGooglePlay: is_google_play,
isPrefetch: is_prefetch,
isDonutAPP: is_donut_app
};
var Device = {};
function detect(ua) {
var MQQBrowser = ua.match(/MQQBrowser\/(\d+\.\d+)/i);
var MQQClient = ua.match(/QQ\/(\d+\.(\d+)\.(\d+)\.(\d+))/i) || ua.match(/V1_AND_SQ_([\d\.]+)/);
var WeChat = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/) || ua.match(/MicroMessenger\/((\d+)\.(\d+))/);
var MacOS = ua.match(/Mac\sOS\sX\s(\d+[\.|_]\d+)/);
var WinOS = ua.match(/Windows(\s+\w+)?\s+?(\d+\.\d+)/);
var Linux = ua.match(/Linux\s/);
var MiuiBrowser = ua.match(/MiuiBrowser\/(\d+\.\d+)/i);
var M1 = ua.match(/MI-ONE/);
var MIPAD = ua.match(/MI PAD/);
var UC = ua.match(/UCBrowser\/(\d+\.\d+(\.\d+\.\d+)?)/) || ua.match(/\sUC\s/);
var IEMobile = ua.match(/IEMobile(\/|\s+)(\d+\.\d+)/) || ua.match(/WPDesktop/);
var ipod = ua.match(/(ipod).*\s([\d_]+)/i);
var ipad = ua.match(/(ipad).*\s([\d_]+)/i);
var iphone = ua.match(/(iphone)\sos\s([\d_]+)/i);
var Chrome = ua.match(/Chrome\/(\d+\.\d+)/);
var AndriodBrowser = ua.match(/Mozilla.*Linux.*Android.*AppleWebKit.*Mobile Safari/);
var android = ua.match(/(android)\s([\d\.]+)/i);
Device.browser = Device.browser || {}, Device.os = Device.os || {};
if (window.ActiveXObject) {
var vie = 6;
(window.XMLHttpRequest || ua.indexOf('MSIE 7.0') > -1) && (vie = 7);
(window.XDomainRequest || ua.indexOf('Trident/4.0') > -1) && (vie = 8);
ua.indexOf('Trident/5.0') > -1 && (vie = 9);
ua.indexOf('Trident/6.0') > -1 && (vie = 10);
Device.browser.ie = true, Device.browser.version = vie;
} else if (ua.indexOf('Trident/7.0') > -1) {
Device.browser.ie = true, Device.browser.version = 11;
}
if (android) {
Device.os.android = true;
Device.os.version = android[2];
}
if (ipod) {
Device.os.ios = Device.os.ipod = true;
Device.os.version = ipod[2].replace(/_/g, '.');
}
if (ipad) {
Device.os.ios = Device.os.ipad = true;
Device.os.version = ipad[2].replace(/_/g, '.');
}
if (iphone) {
Device.os.iphone = Device.os.ios = true;
Device.os.version = iphone[2].replace(/_/g, '.');
}
if (WinOS) Device.os.windows = true, Device.os.version = WinOS[2];
if (MacOS) Device.os.Mac = true, Device.os.version = MacOS[1];
if (Linux) Device.os.Linux = true;
if (ua.indexOf('lepad_hls') > 0) Device.os.LePad = true;
if (MIPAD) Device.os.MIPAD = true;
if (MQQBrowser) Device.browser.MQQ = true, Device.browser.version = MQQBrowser[1];
if (MQQClient) Device.browser.MQQClient = true, Device.browser.version = MQQClient[1];
if (WeChat) Device.browser.WeChat = true, Device.browser.mmversion = Device.browser.version = WeChat[1];
if (MiuiBrowser) Device.browser.MIUI = true, Device.browser.version = MiuiBrowser[1];
if (UC) Device.browser.UC = true, Device.browser.version = UC[1] || NaN;
if (IEMobile) Device.browser.IEMobile = true, Device.browser.version = IEMobile[2];
if (AndriodBrowser) {
Device.browser.AndriodBrowser = true;
}
if (M1) {
Device.browser.M1 = true;
}
if (Chrome) {
Device.browser.Chrome = true, Device.browser.version = Chrome[1];
}
if (Device.os.windows) {
if (typeof navigator.platform !== "undefined" && navigator.platform.toLowerCase() == "win64") {
Device.os.win64 = true;
} else {
Device.os.win64 = false;
}
}
if (Device.os.Mac || Device.os.windows || Device.os.Linux) {
Device.os.pc = true;
}
var osType = {
iPad7: 'iPad; CPU OS 7',
LePad: 'lepad_hls',
XiaoMi: 'MI-ONE',
SonyDTV: "SonyDTV",
SamSung: 'SAMSUNG',
HTC: 'HTC',
VIVO: 'vivo'
};
for (var os in osType) {
Device.os[os] = ua.indexOf(osType[os]) !== -1;
}
Device.os.phone = Device.os.phone || /windows phone/i.test(ua);
Device.os.getNumVersion = function () {
return parseFloat(Device.os.version);
};
Device.os.hasTouch = 'ontouchstart' in window;
if (Device.os.hasTouch && Device.os.ios && Device.os.getNumVersion() < 6) {
Device.os.hasTouch = false;
}
if (Device.browser.WeChat && Device.browser.version < 5.0) {
Device.os.hasTouch = false;
}
Device.browser.getNumVersion = function () {
return parseFloat(Device.browser.version);
};
Device.browser.isFFCanOcx = function () {
return !!Device.browser.firefox && Device.browser.getNumVersion() >= 3.0;
};
Device.browser.isCanOcx = function () {
return !!Device.os.windows && (!!Device.browser.ie || Device.browser.isFFCanOcx() || !!Device.browser.webkit);
};
Device.browser.isNotIESupport = function () {
return !!Device.os.windows && (!!Device.browser.webkit || Device.browser.isFFCanOcx());
};
Device.userAgent = {};
Device.userAgent.browserVersion = Device.browser.version;
Device.userAgent.osVersion = Device.os.version;
Device.os.unifiedPC = ua.match(/UnifiedPC/);
delete Device.userAgent.version;
}
detect(window.navigator.userAgent);
function canSupportH5Video() {
var ua = window.navigator.userAgent,
m = null;
if (!!Device.os.android) {
if (Device.browser.MQQ && Device.browser.getNumVersion() >= 4.2) {
return true;
}
if (ua.indexOf('MI2') != -1) {
return true;
}
if (Device.os.version >= '4' && (m = ua.match(/MicroMessenger\/((\d+)\.(\d+))\.(\d+)/))) {
if (parseFloat(m[1]) >= 4.2) {
return true;
}
}
if (Device.os.version >= '4.1') {
return true;
}
}
return false;
}
function canSupportVideoMp4() {
var video = document.createElement('video');
if (typeof video.canPlayType === 'function') {
if (video.canPlayType('video/mp4; codecs="mp4v.20.8"') === 'probably') {
return true;
}
if (video.canPlayType('video/mp4; codecs="avc1.42E01E"') === 'probably' || video.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"') === 'probably') {
return true;
}
}
return false;
}
function canSupportAutoPlay() {
if (Device.os.ios && Device.os.getNumVersion() < 10) {
return false;
}
return true;
}
function isLockdownMode() {
if (!Device.os.ios || Device.os.getNumVersion() < 16) {
return false;
}
if (typeof WebAssembly === 'undefined' && typeof OfflineAudioContext === 'undefined' && typeof WebGLRenderingContext === 'undefined') {
return true;
}
return false;
}
Device.canSupportVideo = canSupportVideoMp4 || canSupportH5Video;
Device.canSupportVideoMp4 = canSupportVideoMp4;
Device.canSupportH5Video = canSupportH5Video;
Device.canSupportAutoPlay = canSupportAutoPlay;
Device.isLockdownMode = isLockdownMode;
var initJsBridge = false;
var JSAPIEventCallbackMap$1 = {};
function connectWebViewJavascriptBridge(callback) {
if (window.WebViewMPapp || window.WebViewJavascriptBridge) {
return callback(window.WebViewMPapp || window.WebViewJavascriptBridge);
}
if (window.WVJBCallbacks) {
return window.WVJBCallbacks.push(callback);
}
window.WVJBCallbacks = [callback];
if (!initJsBridge) {
initJsBridge = true;
var WVJBIframe = document.createElement('iframe');
WVJBIframe.style.display = 'none';
WVJBIframe.src = 'https://__bridge_loaded__';
document.body.appendChild(WVJBIframe);
setTimeout(function () {
initJsBridge = false;
document.body.removeChild(WVJBIframe);
}, 0);
}
return false;
}
function invoke$1(jsapiName, opt, callback) {
connectWebViewJavascriptBridge(function (bridge) {
try {
if (typeof opt === 'function') {
callback = opt;
}
if (_typeof(opt) !== 'object' && typeof opt !== 'string') {
opt = {};
}
bridge.callHandler(jsapiName, opt, function (res) {
try {
var ret = _typeof(res) === 'object' ? res : JSON.parse(res);
var errMsg = ret.err_msg || ret.errMsg;
console.info("[mpapp jsapi] invoke->".concat(jsapiName, " ").concat(opt.action || '', " ").concat(errMsg));
typeof callback === 'function' && callback(ret);
} catch (e) {
window.WX_BJ_REPORT.BadJs.report('invoke', "callback ".concat(jsapiName, " error:"), {
mid: 'mmbizwebapp:js_brridge',
_info: e
});
console.error("[mpapp jsapi] ".concat(jsapiName, " ").concat(opt.action || ''), e, res);
}
});
} catch (e) {
window.WX_BJ_REPORT.BadJs.report('invoke', 'callback error:', {
mid: 'mmbizwebapp:js_brridge',
_info: e
});
console.error('[mpapp jsapi]', e);
}
});
}
function on$1(eventName, callback) {
connectWebViewJavascriptBridge(function (bridge) {
if (!JSAPIEventCallbackMap$1[eventName]) {
JSAPIEventCallbackMap$1[eventName] = [];
}
JSAPIEventCallbackMap$1[eventName].push(callback);
if (JSAPIEventCallbackMap$1[eventName].length > 1) {
return false;
}
try {
bridge.registerHandler(eventName, function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
try {
var data = typeof args[0] === 'string' ? JSON.parse(args[0]) : args[0];
console.info('[mpapp jsapi] event->' + eventName + ' ' + data.err_msg);
if (JSAPIEventCallbackMap$1[eventName] && JSAPIEventCallbackMap$1[eventName].length) {
var result;
for (var i = 0; i < JSAPIEventCallbackMap$1[eventName].length; i++) {
result = JSAPIEventCallbackMap$1[eventName][i].apply(window, [data].concat(args.slice(1)));
}
return result;
}
} catch (e) {
window.WX_BJ_REPORT.BadJs.report('on', "callback ".concat(eventName, " error:"), {
mid: 'mmbizwebapp:js_brridge',
_info: e
});
console.error('[mpapp jsapi] ' + eventName, e, args[0]);
}
});
} catch (e) {
window.WX_BJ_REPORT.BadJs.report('on', 'callback error:', {
mid: 'mmbizwebapp:js_brridge',
_info: e
});
console.error('[mpapp jsapi]', e);
}
});
}
function remove$1(eventName, callback) {
connectWebViewJavascriptBridge(function () {
if (!JSAPIEventCallbackMap$1[eventName]) {
return false;
}
var result = false;
for (var i = JSAPIEventCallbackMap$1[eventName].length - 1; i >= 0; i--) {
if (JSAPIEventCallbackMap$1[eventName][i] === callback) {
JSAPIEventCallbackMap$1[eventName].splice(i, 1);
result = true;
}
}
return result;
});
}
var doc$1 = {};
var isAcrossOrigin$1 = false;
var __moon_report$1 = window.__moon_report || function () {};
var MOON_JSAPI_KEY_OFFSET = 8;
try {
doc$1 = top.window.document;
} catch (e) {
isAcrossOrigin$1 = true;
}
var JSAPIEventCallbackMap = {};
function ready(onBridgeReady) {
var bridgeReady = function bridgeReady() {
try {
if (onBridgeReady) {
window.onBridgeReadyTime = window.onBridgeReadyTime || Date.now();
onBridgeReady();
}
} catch (e) {
__moon_report$1([{
offset: MOON_JSAPI_KEY_OFFSET,
log: 'ready',
e: e
}]);
throw e;
}
window.jsapiReadyTime = Date.now();
};
if (!isAcrossOrigin$1 && (typeof top.window.WeixinJSBridge === 'undefined' || !top.window.WeixinJSBridge.invoke)) {
if (doc$1.addEventListener) {
doc$1.addEventListener('WeixinJSBridgeReady', bridgeReady, false);
} else if (doc$1.attachEvent) {
doc$1.attachEvent('WeixinJSBridgeReady', bridgeReady);
doc$1.attachEvent('onWeixinJSBridgeReady', bridgeReady);
}
} else {
bridgeReady();
}
}
function invoke(methodName, args, callback) {
ready(function () {
if (isAcrossOrigin$1) return false;
if (_typeof(top.window.WeixinJSBridge) !== 'object') {
alert('请在微信中打开此链接');
return false;
}
top.window.WeixinJSBridge.invoke(methodName, args, function () {
try {
for (var _len = arguments.length, rets = new Array(_len), _key = 0; _key < _len; _key++) {
rets[_key] = arguments[_key];
}
var ret = rets[0];
var errMsg = ret && ret.err_msg ? ', err_msg-> ' + ret.err_msg : '';
console.info('[system]', '[jsapi] invoke->' + methodName + errMsg);
if (callback) {
callback.apply(window, rets);
}
} catch (e) {
__moon_report$1([{
offset: MOON_JSAPI_KEY_OFFSET,
log: 'invoke;methodName:' + methodName,
e: e
}]);
throw e;
}
});
});
}
function call(methodName) {
ready(function () {
if (isAcrossOrigin$1) return false;
if (_typeof(top.window.WeixinJSBridge) !== 'object') {
return false;
}
try {
top.window.WeixinJSBridge.call(methodName);
} catch (e) {
__moon_report$1([{
offset: MOON_JSAPI_KEY_OFFSET,
log: 'call;methodName:' + methodName,
e: e
}]);
throw e;
}
});

用户评论

表情0/300
喵,没有找到相关结果~
暂时没有评论,下载喜马拉雅与主播互动
音频列表
猜你喜欢
好久不见

作者:桑玠20岁,她刚刚踏入演艺圈、与他在一起的时候,她才崭露头角,他已声名显赫。岁月能磨平棱角、骄傲、冲动,也能磨平最初那样浓烈的情感。但我们从未有过一刻,真...

by:小夕兮

吴大舌头外传

张大帅,张少帅已经是人人皆知的了:张大帅葬身皇姑屯,张少帅被囚在台湾孤岛,一生征战,自有历史的公断。这里又有一位吴大帅的外传,乃是与张大帅齐名的吴俊升是也。此人...

by:

好久不见面

这首歌写的是两个曾经相爱却最终没能在一起,久别之后又在他们熟悉的点重逢的故事。它是一个重逢的场景,两个多年未见的人的复杂情感全部都在你的歌声里,你想唱的是一种无...

by:华语音乐

Park的疯狂舌头英语

让Park老师带你畅游英语海洋,脱口秀的英语是你我都能主宰的,只要你用心、努力~!让我们一起成长吧~!请关注微信号:[100999103]加入Park疯...

by:我是你宇叔

听十九丨好久不贱

想找我记得看我联系方式哦互动QQ群:196930新浪微博|十九同学公众微信|大迷人十九

by:大迷人十九

顾先生,好久不见

【内容简介】十岁以前,我叫安然,是江城人人羡慕的公主。有爹疼,有娘爱。二十岁以后,我叫顾倾城,是曼夜城的皇后。身边除了自己,一无所有。遇见顾云琛的那天,我正在曼...

by:戴蓝帽子的喵

陆先生,好久不见

【内容简介】结婚两年,她爱他入骨,却被弃若敝履,粗暴折磨......多年后:“陆先生,好久不见!”让人感叹,漂亮智慧女人如何才能改变男人的?最终结局是喜是悲?【...

by:安静的小黎