今日分享:
心理学家陈默曾有这样一则可怕预言。
以后的家长见面,很可能是这样聊天的:
“你家孩子抑郁了吗?”
“嗯,抑郁了,重度。”
“我们家还好,轻度。”
她根据大量临床经验还发现了一个规律:
抑郁的学生中,优等生居多,且数量呈逐年上涨趋势。
真让人不寒而栗!
站起来的代价,是孩子们还未长大,就已经倒下了。
公开数据显示,每年有20000名孩子,走进了北京安定医院儿童精神科;
一到开学季,各大医院儿童精神科都挤满了小小的孩子。
因为心理问题休学、自杀的新闻屡见不鲜......
父母费劲心力,把孩子卷进名校,却忽略了阳光背后必有阴影,名校的背后也有我们看不见的暗伤。
清华大学社会科学学院等多家科研机构曾调研了三十多万中小学生,结果发现了他们身上都有惊人的“四无”现象:
学习无动力,对真实世界无兴趣,社交无能力,对生命价值无感受。
而“四无心理”,是比抑郁症还要严重的成长危机。
一个曾在某著名高中就读的女孩说,自己在高考结束后,忘记了如何用手机打字,如何用筷子吃饭,如何细细咀嚼食物。
因为在学校里,为了节省时间,她只用固定的铁饭勺,大口地囫囵吞饭。
更让人匪夷所思的,是她忘记了如何缓慢、清晰地吐字,她常常因为语速太快、说话含糊被人埋怨。
三年来,她习惯了争分夺秒,哪怕是等候跑操的两分钟,也要急吼吼地背两首古诗,而唯一的办法就是提高语速。
到了大学,她也因为“无知”闹了许多笑话。
不会用电脑打字,只能先写到纸上,再通过触控板手写输入。怕别人嘲笑,就偷偷躲在图书馆的隐秘角落进行。
不知道什么是微博、什么是热搜,怎么使用微信,怎么下载软件,总是在各种基础常识上犯错误。
甚至,她在搭地铁、拿快递时,会因为需要排队和等待,陷入痛苦和内耗。
因为在她的认知里,这些都是在浪费时间,是无意义的事。
以前,她除了学习和分数什么都不需要想。
可是到了大学,她完全适应不了,因为她作为“人”的属性早就被一点点磨去了。
最后,就如徐凯文教授的那句喟然长叹:
“你们用焦虑养出来的娃,都送到我这里了!”
你以为“为孩子好”的全力托举,却让孩子变成了脆弱的做题机器。
他们就活得就像行尸走肉,要么精神萎靡,麻木不仁,要么混吃等死,专心啃老,要么抑郁跳楼,结束生命。
未来不管遇到什么风浪变幻,他才能有抵挡的勇气,有前进的斗志。
与所有父母共勉。
家有小男孩我们为您推荐一个优质的育儿平台男孩派(微信号:boy666dj)每一个男孩,都是妈妈的软肋,也是铠甲。养得好聪明又绅士,养不好费心又劳神。关于养育男孩的干货,这里都有;关于养育男孩的苦甜,我们都懂。家有男孩,长按下图识别二维码关注,我们的故事,就开始了...你若喜欢
var first_sceen__time = (+new Date());
if ("" == 1 && document.getElementById('js_content')) {
document.getElementById('js_content').addEventListener("selectstart",function(e){ e.preventDefault(); });
}
阅读 10万+洞见已关注分享收藏12351836
喜欢此内容的人还喜欢 高考结束:请告诉孩子,未来什么最重要 高考结束:请告诉孩子,未来什么最重要 我常看的号 洞见 不喜欢 不看的原因 确定 内容低质 不看此公众号内容 今年高考 “冷冷清清” 的考完了!!! 今年高考 “冷冷清清” 的考完了!!! 随机漫步的书生 不喜欢 不看的原因 确定 内容低质 不看此公众号内容 《人民日报》:最好的抗抑郁药是运动、最好的养生是不养生、最好的睡眠是不怕失眠、最好的生活是吃喝玩乐 《人民日报》:最好的抗抑郁药是运动、最好的养生是不养生、最好的睡眠是不怕失眠、最好的生活是吃喝玩乐 4个朋友读过 阿尔法心理疗愈 不喜欢 不看的原因 确定 内容低质 不看此公众号内容 烟雨迷濛取消 发送 我的留言展开我的留言 留言被精选后将公开 96条留言写留言 轻点两下查看用户资料 🚀 黄金收售 车险大大的占位符河南49分钟前回复赞91洞见的文章总能针砭时弊一针见血今天女儿说还有9年就该高考了,儿子一句还有10年就高考了,顿时我都觉得有压力了置顶 轻点两下查看公众号 洞见大大的占位符(作者)46分钟前回复赞56作为父母,都希望孩子有一个大好前程,以后衣食无忧,这是人之常情,没有任何问题。但在此之前,我们做父母的也应该想想,自己是想要一个门门功课都满分,但心理不健全的孩子,还是要一个健康快乐,成绩却没那么优秀的孩子?想通了这个问题,很多教育问题,都能迎刃而解 轻点两下查看用户资料 Nuyoah大大的占位符北京43分钟前回复赞55孩子成绩不台理想,有点焦虑,关键是孩子一点都不发愁,能把家长愁死,听完洞见的文章释怀了,她除了成绩不好,其他都还好,洞见的文章就像过去了还是在这个阶段,全民素质就没办法提升。就是在内卷,卷得就是苦了祖国的这些花朵,所谓少年强则国强,这个我们现在就退步了,未来这一代真得很忧愁。时代造就了他们,他们真得也是很无奈。好好理解和爱这一代娃吧,他们太不容易了! 轻点两下查看用户资料 lianli大大的占位符广东1小时前回复赞35小学三四年级就开始了,完全没有童年… 轻点两下查看公众号 洞见大大的占位符(作者)24分钟前回复赞2还是想想,我们当时的童年,是真的好快乐 轻点两下查看用户资料 神明也爱我乔大大的占位符云南57分钟前回复赞32别说北京了,我们这十八线小县城,从幼儿园到高中,都是变态的卷 轻点两下查看用户资料 沐沐大大的占位符重庆57分钟前回复赞32这根本不是个别现象,是普遍现象 轻点两下查看用户资料 晓大大的占位符广东52分钟前回复赞27不知道这个社会到底是怎么了!我们几线城市也是这样,经济条件好的家长会通过考试或者其他方式把孩子送到私立中学,这样的话公办学校的生源质量和私立学校距离拉开很大,重点高中升学率高家长就更愿意花钱把孩子送到这些学校。公办学校教育资源和师资相差甚远!感觉教育已经变成一种生意了! 轻点两下查看用户资料 清流大大的占位符上海58分钟前回复赞26无情的内卷,不停的套路。
害惨了孩子,熬不住倒下。
教育变了态,必定是灾难。
先培养成人,比成才重要。 轻点两下查看用户资料 灰灰大大的占位符重庆1小时前回复赞25好可怜的孩子们 轻点两下查看用户资料 Dumbbell大大的占位符湖南58分钟前回复赞24教育的本质就是筛选人才。没有办法 轻点两下查看用户资料 煵瓜头大大的占位符福建1小时前回复赞22好文章 轻点两下查看用户资料 Ella大大的占位符江苏54分钟前回复赞21相当变态的了,所谓的减负家长更累了,更卷了,有钱人请私教一对一,普通家庭的父母才是最累的 轻点两下查看用户资料 轩哥大大的占位符贵州49分钟前回复赞19普通人家的孩子即便拼了命上了985名校大家都认为的好专业,在就业时也经常敌不过有家庭背景的民办三本的孩子,努力了作用都不大,那不努力的就只有世代相传下苦力。对普通人家的孩子唯分数论多少还有那么一点点希望,如果抛开分数论,那普通人家的孩子连读高中的机会都没有。请问还有更好的办法吗? 轻点两下查看用户资料 徐林茂大大的占位符陕西53分钟前回复赞17每一个家庭都是教育大环境下的一份子,如果大的指向标不改,大家都会无休止的卷下去。 轻点两下查看用户资料 曾大大的占位符福建59分钟前回复赞17想想最后岀来都没工作,都是送外卖当保安保姆护工,心里就平衡了没必要卷,不会读书的孩子内心强大不会玻璃心,至少还拥有自己的孩子,学霸就怕抑郁或跳楼得不偿失 轻点两下查看用户资料 鑫鑫天天大大的占位符河南58分钟前回复赞14我也想给孩子一个快乐的童年,但是大家都在卷。。。。。。 轻点两下查看用户资料 小静大大的占位符上海53分钟前回复赞13各种卷,现在小孩抑郁症多了,这个病千万不能得,得了这辈子就废掉了,我认为小孩身心健康第一位,其他的不重要。现在博士、硕士失业的多了去都在家躺平。 轻点两下查看用户资料 含光🌾大大的占位符天津46分钟前回复赞12问题这都是教育局自己制造的问题啊,考的都是教材上没有或者没有学过的,只能卷啊,只能各种报班了 轻点两下查看用户资料 顾北清歌寒大大的占位符江西60分钟前回复赞11血淋淋的现实,触目惊心 轻点两下查看用户资料 向阳生长大大的占位符山东52分钟前回复赞10教育的悲哀,一直减负,家长孩子压力越来越大 轻点两下查看用户资料 蔚然大大的占位符江苏55分钟前回复赞10现在孩子太苦了。 轻点两下查看用户资料 Moon大大的占位符江苏54分钟前回复赞9正处于这种水深火热的无奈之中,深渊里呼救的手如何也伸不出~ 轻点两下查看用户资料 咚咚咚咚大大的占位符重庆49分钟前回复赞8为什么不能小学就学小学的知识,非要超前学,就为了上个好中学,为了被当成尖子掐。 轻点两下查看用户资料 ...........大大的占位符湖南50分钟前回复赞8这代的孩子就像这代的大人一样累,大家都累 轻点两下查看用户资料 陆明大大的占位符河南60分钟前回复赞8哪里都是这样。天下乌鸦一般黑。 轻点两下查看用户资料 Zang yuh大大的占位符河南49分钟前回复赞7你们能写这样的文章,看到很欣慰 轻点两下查看用户资料 小树苗大大的占位符山东52分钟前回复赞7家长认知在卷,改变认知吧,接受自己接受平凡,活在当下。 轻点两下查看用户资料 逆风飞扬大大的占位符北京46分钟前回复赞6有个词叫“剧场效应”,说的是电影院里有一些人不守规则,站起来挡住了后面人的视线,最后所有人都不得不站起来。想想该怎么治理? 轻点两下查看用户资料 小蛮腰1982大大的占位符河南46分钟前回复赞6前几天我们这某外国语刚掐完尖,官准掐尖那种,小学六年级需要高考水平或是四级水平,据说孩子从三年级开始就要着手准备,得报三四个英语班、不断强化或许能入围,几率在百分之零点三左右,想想孩子哪有时间玩呢!都变态了,但是确实所谓的牛蛙真的考上了!小学就卷成这样,初中呢、高中呢,还有卷的后劲吗? 轻点两下查看公众号 洞见大大的占位符(作者)21分钟前回复赞1很多父母没有办法接受996的工作模式,却让孩子陷入比996还恐怖的教育内卷里,真的是细思极恐 轻点两下查看用户资料 每家凡文大大的占位符浙江50分钟前回复赞6洞见有良心 轻点两下查看用户资料 潘大大的占位符北京58分钟前回复赞5孩子真的不甘重负,学习学习再学习。 轻点两下查看用户资料 小鱼儿🌻大大的占位符广东25分钟前回复赞4小时候,村里的孩子不卷,父母更不卷。孩子能学就学,学不了就出去打工。大部分愿意读书的孩子反而也不用父母操心,学习的事自己上心,我都忘记了小时候有做过什么作业,父母也轻松。没有听过有哪位父母操心孩子读书的。虽然很多孩子也是没上大学,但是我们的童年真的非常非常快乐。我觉得也总比现在这样像流水线机器一样培养娃好,大人焦虑,小孩也痛苦。科技经济条件样样都比我小时候那会好,怎么大家反而活的更累呢。大家欲望膨胀,卷的人多了,不卷的人也不敢不卷,难! 轻点两下查看用户资料 🌸兔兔爱吃肉🌸大大的占位符马来西亚31分钟前回复赞4博士在读 想说中国的学历红利已经是过去式了 健康快乐三观正的长大成人才是未来的培养核心 轻点两下查看用户资料 没钞疯大大的占位符湖北31分钟前回复赞4孩子的未来是旷野而不是轨道,所以别的孩子放学后都在刷题,我家的玩两个小时足球,比起成绩我更希望他能有个健康的身体,坚韧的意志,乐观的心态! 轻点两下查看用户资料 致简8687大大的占位符河南35分钟前回复赞4现在的孩子哪有童年的快乐,父母们也是耗干精力和金钱 轻点两下查看用户资料 豆蔻大大的占位符江苏42分钟前回复赞4儿子10岁,他爸有点鸡娃,今年我告诉他你再这样下去,我就带娃和你离婚,你不同意,我就起诉,现在的娃太可怜了,换了我,这样鸡下去也得跳楼 轻点两下查看用户资料 不忆飘雪大大的占位符湖南44分钟前回复赞4除草剂不光只除了田里的草,现在是田埂子该长草的也除了草!!! 轻点两下查看用户资料 大闪闪🌀大大的占位符江苏44分钟前回复赞4因材施教,教育自己的孩子不能跟风,家长也可以省视一下自己是块什么料再去要求孩子 轻点两下查看用户资料 危成志大大的占位符湖南44分钟前回复赞4现在的孩子太累了,看着娃娃又心疼又没办法,压力大 轻点两下查看用户资料 不糊涂难得大大的占位符湖南51分钟前回复赞4择优录取才是最公平的。虽然我孩子是省三好,但成绩不拔尖,照样没被掐尖,我觉得也可以理解 轻点两下查看用户资料 孙昊天大大的占位符上海21分钟前回复赞3最后那句引用写的很好呀,明明是一颗小草,哪能硬要培养成大树。但问题是,怎么知道你的孩子他是小草还是小树呢。万一是小树,你按小草培养,不给营养不就枯萎了吗 轻点两下查看视频号 一路风景在征途大大的占位符陕西24分钟前回复赞3小升初,家长之痛,学生之累,社会之恨,教育之怪。
作为大二学生家长,想起小升初的过程,依然历历在目。补课补课补课,消息消息消息,校考点考盲考。最后抉择,可能还是不尽人意,勉强进的不能选班,能选班的又不是满意学校。现在都是过往,真的不想再看到新一批也这样。教育体制需要改变! 轻点两下查看用户资料 蒙蒙雨大大的占位符广西24分钟前回复赞3教育从畸形到变态,本该有血、有肉、有思想、有灵魂、有个性的孩子,全部被教育模具铸造成标准化,磨掉了个性,排除了差异,否定了个人想法......细思极恐! 轻点两下查看用户资料 心❤️如止水大大的占位符江苏32分钟前回复赞3现在的题也是太难了,数学题变成了语文,文字一堆,全靠理解。跳一个绳还要跳双飞,以前闻所未闻,唉,现在的孩子能不累嘛 轻点两下查看用户资料 十八子大大的占位符山东35分钟前回复赞3救救孩子! 轻点两下查看用户资料 过路神仙大大的占位符陕西35分钟前回复赞3我家儿子十天后就要中考了,回想过往的教育,我们是纠结的,一边特立独行内心想要快乐成长,一边随波逐流向分而行。幸运的是孩子成绩优秀,性格开朗,不幸的是我们做父母的终究还是庸俗了,在考前焦虑了。 轻点两下查看用户资料 冰山一角大大的占位符河北42分钟前回复赞3现在卷的不仅孩子的身心健康出现了问题,家长也很焦虑不安!找一对一或其他辅导班都需要太多的资金投入了,像我们这种底层的打工人承受不住,所以说弄的家长特别焦虑!为什么现在那么多霸凌,因为他们学不会,没钱学特长,没爱好,无事可做,没有理想!建议学校开展特长课,像体育,美术,音乐,画画,心理健康课。让不管因为自己学不会还是未上辅导班导致的学习落后的孩子们有条活路! 轻点两下查看用户资料 朱圆圆大大的占位符山西29分钟前回复赞2即使家长允许孩子不那么卷,老师们却不允许,教学任务重,布置作业一大堆,作业完不了找家长,为了孩子稍微在学校顺利一些,家长就不得不卷起来。教师任务压给孩子,家长压力给到孩子,最终孩子们不堪重负,一下压的再不愿意起来。 轻点两下查看用户资料 溪边有鱼大大的占位符河南33分钟前回复赞2我也是焦虑家长的一员,说实话,我不喜欢现在社会教育环境,太卷了,孩子现在高一,不止一次问我,如果学习不好还会不会要她,我是不是会失望之类的话,感觉好心酸呀 轻点两下查看用户资料 💓D静👑🔚大大的占位符河北42分钟前回复赞2今天和朋友去了解小升初预科班,主要想看看这个暑假怎么给孩子规划一下,结果老师问孩子学校、班级,才知道,已经有七八个同班同学把初一上学完了,暑假开始上初一下,我们初一入学,人家初一可以结课了,天呐,顿时懵了 轻点两下查看用户资料 一米阳光大大的占位符河南43分钟前回复赞2只有多建好的大学,让大多数孩子有大学可上,才能从根本上解决“卷”的问题! 轻点两下查看用户资料 天际云大大的占位符重庆44分钟前回复赞2教育的问题一直都在,父母在焦虑,孩子在煎熬。 轻点两下查看用户资料 追星星的人大大的占位符福建20分钟前回复赞1问题是很多家长都不认为自己的孩子是小草,认为他是一颗参天大树 轻点两下查看用户资料 ✨Z.love大大的占位符吉林21分钟前回复赞1此文必须收藏,只因思想同频!现在的教育除了“变态”,不知道还能用什么词汇去形容才更贴切!收藏只为时刻警醒自己,在娃步入更高学府的道路上,始终坚持本心! 轻点两下查看用户资料 skll大大的占位符广西22分钟前回复赞1这并不是家长单方面能解决的,这个需要社会大众,国家,各行各业,共同努力才能解决。 轻点两下查看用户资料 小薪大大的占位符河北24分钟前回复赞1都把孩子当成产品了。 轻点两下查看用户资料 随遇而安:yangfu大大的占位符江苏24分钟前回复赞1很到位,我家六年级,好的学生的确内定了 轻点两下查看用户资料 XM萧曼🍀大大的占位符广东26分钟前回复赞1的确,从小学就开始选拨,到初一再选,到初三再选,初三还另设冲刺班! 轻点两下查看用户资料 sun🌞大大的占位符山西28分钟前回复赞1我们这从一年级就开始了 轻点两下查看用户资料 书毅大大的占位符辽宁28分钟前回复赞1触目惊心的社会现实,洞见让我们看见清楚,不等长大就倒下了的悲哀什么时候能结来呀! 轻点两下查看用户资料 志存高远 脚踏实地大大的占位符江苏29分钟前回复赞1孩子们的心灵没有大人那么坚强,希望教育制度可以根据孩子的承受能力范围,制定合理的学习时间,而不是起早贪黑。让孩子们的承受能力逐渐增强,而不是一开始就制定这样的方案…… 轻点两下查看用户资料 勇往直前࿐ོ₂₀₂₂大大的占位符广西36分钟前回复赞1看了洞见这篇文章,我感觉看到的有点迟了,不过也不晚,我马上开始反省我自己,如果我能做一个品行端正的人,我才能去教孩子,我从现在开始,边学习,边教育,尽可能让孩子成为一个品行端正,有爱心的人,谢谢洞见! 轻点两下查看用户资料 朱银桂大大的占位符重庆43分钟前回复赞1站起代价己倒下,
孩子小大孜不倦。
学习动力价感受,
正确教育健康的。
洞见君文剖析透! 轻点两下查看用户资料 云淡风轻大大的占位符四川23分钟前回复赞我们家的都尽量调整心态,尽管我们本来就是在所谓的令人羡慕的火箭班,但我们却主动申请转到普通班去了,我们慢慢读女儿一下感觉轻松了许多,我们本来也考进了别人羡慕的奥数竞赛班,我们却选择放弃了 轻点两下查看用户资料 阿震🇨🇳大大的占位符广东24分钟前回复赞没办法,大家都卷,不卷就只能想办法换赛道。多赚钱,比鸡娃孩子强一万倍。全部留言 已无更多数据 发消息留言精选后,将对所有人可见并外显IP归属地关闭写留言提交更多表情关闭留言更多返回写回复回复更多: 表情
微信扫一扫
关注该公众号
继续滑动看下一个
洞见
1603
1.1万
1068
96
直播中洞见已关注18361.2万123596关闭96条留言更多烟雨迷濛取消 发送 我的留言展开我的留言 留言被精选后将公开 轻点两下查看用户资料 🚀 黄金收售 车险大大的占位符河南49分钟前回复赞91洞见的文章总能针砭时弊一针见血今天女儿说还有9年就该高考了,儿子一句还有10年就高考了,顿时我都觉得有压力了置顶 轻点两下查看公众号 洞见大大的占位符(作者)46分钟前回复赞56作为父母,都希望孩子有一个大好前程,以后衣食无忧,这是人之常情,没有任何问题。但在此之前,我们做父母的也应该想想,自己是想要一个门门功课都满分,但心理不健全的孩子,还是要一个健康快乐,成绩却没那么优秀的孩子?想通了这个问题,很多教育问题,都能迎刃而解 轻点两下查看用户资料 Nuyoah大大的占位符北京43分钟前回复赞55孩子成绩不台理想,有点焦虑,关键是孩子一点都不发愁,能把家长愁死,听完洞见的文章释怀了,她除了成绩不好,其他都还好,洞见的文章就像及时雨,总能在关键时刻解开我的心结,三年前关注洞见,听听文章,看看大家的评论,也看看洞见君给大家的回复,总能产生共勉,感谢有您一直关注到底置顶 轻点两下查看公众号 洞见大大的占位符(作者)40分钟前回复赞55首先孩子成绩不理想,但他不焦虑,说明他心态好,内心非常强大。其次你也说了,除了成绩不佳,其他方面都很好,说明你们的家庭教育是没有问题的。我们不得不承认,孩子的成绩跟智商天赋有关,所以鸡娃也没用,不如让他快乐长大。在学习上,多鼓励和引导他,不需要逼太紧。 轻点两下查看用户资料 潇潇大大的占位符上海30分钟前回复赞27每天接孩子的时间就是欣赏洞见的时间,心疼现在的孩子,也无奈当今的教育,你我都在其中,没得选择,只能引导孩子快乐就好,我在意成绩也不太在意成绩,真心的,健康就很好置顶 轻点两下查看公众号 洞见大大的占位符(作者)28分钟前回复赞15每个孩子都是我们的掌中宝,引导他们健康成长,是我们每个父母最在意的事。希望我们做家长的都能更多地去重视孩子的身心健康,为孩子提供一角快乐的天地。不要盲目陷入教育的内卷里。 轻点两下查看用户资料 尊嘟假嘟大大的占位符安徽38分钟前回复赞23感谢洞见君,今天这篇文章给我深深上了一课。在鸡娃的时代下,我们却忘记了初衷,难道所有家长的初衷,都不是为了让孩子开心快乐吗。一直给孩子压力,一直给孩子焦虑,他不仅童年不快乐,长大后也不会快乐。重视孩子学习是应该的,但一定要把握一下分寸置顶 轻点两下查看公众号 洞见大大的占位符(作者)37分钟前回复赞19是的,仔细想想,孩子在出生前,我们做父母的,唯一的期许,不就是希望孩子能健康、快乐的成长嘛。然而我们在养育孩子的过程中却忘了初心,在孩子身上附加越来越多的期望。我觉得,该重视学习,但该怎么抓,怎么引导,是每个父母都要学习的课,因为每个孩子都是不一样的,要因材施教 轻点两下查看用户资料 最熟悉的陌生人大大的占位符甘肃51分钟前回复赞47不一样的洞见,不一样的灼见!道出了千千万万个家长的心声,一味地圈养,养不出身心健康的孩子!好学校,好老师,才有好学生;好家风,好家教,才有好孩子!感谢深度好文智慧分享,超赞洞见君置顶 轻点两下查看公众号 洞见大大的占位符(作者)49分钟前回复赞25是的,一味圈养,养不出健康的孩子,很多时候,教育拼的不只是孩子,也考验的是家长的智慧和心态,关注孩子的身心,量体裁衣,让孩子在轻松自在的氛围中,找到学习的方法和乐趣。同时也多多以身作则,才能引导孩子朝着更好的方向发展 轻点两下查看用户资料 敏大大的占位符重庆1小时前回复赞194怎么改变呢,这是个值得深思的问题!很多都是被迫卷进这个洪流当中,谁不想孩子拥有愉快的童年呢 轻点两下查看用户资料 蝦米〆大大的占位符广东1小时前回复赞125站起来的代价,是孩子们还未长大,就已经倒下了。 轻点两下查看用户资料 橙S大大的占位符浙江1小时前回复赞107没办法,只能随流,不进则退,其实国外也很卷,跨越阶层需要两代人甚至三代人的倾尽全力。 轻点两下查看视频号 美的YXQ大大的占位符山东1小时前回复赞99家长的压力是因为初中胜高中50%的分流,孩子还在懵懂中就被划拨开了,把分流比例调整为70%,焦虑就会大幅减小 轻点两下查看用户资料 相逢一笑泯恩仇大大的占位符内蒙古1小时前回复赞94孩子累,家长累,老师累,不知道好活谁了 轻点两下查看用户资料 西贝大大的占位符河南57分钟前回复赞87一定要我的留言上墙。海淀鸡妈,中国的历史罪人。她们是最先站起来的观众。 轻点两下查看公众号 洞见大大的占位符(作者)24分钟前回复赞4全国最有发言权的,当属海淀妈妈 轻点两下查看用户资料 龙哥大大的占位符浙江1小时前回复赞75该好好整治了 轻点两下查看用户资料 🍂艳阳🦋大大的占位符广西1小时前回复赞67这就是孩子们面临的现状,我只想有个健康快乐的孩子。可是环境逼迫于无奈啊,各种卷.在学校,没有个市级证书,觉得都不配活着。没有个特长,你似乎就是个废人。外地生源抢占本地学位资源,各种情况…… 轻点两下查看用户资料 艾琳大大的占位符上海1小时前回复赞62科技上有很大的进步,然而人类文明却退步了! 轻点两下查看用户资料 称程骋称大大的占位符湖北57分钟前回复赞59校外的培训机构也是把教育推向变态的推手之一。 轻点两下查看用户资料 张键大大的占位符四川60分钟前回复赞55赛道的不公平,让内卷变态化。 轻点两下查看用户资料 白云大大的占位符浙江1小时前回复赞54所以说现在很多小孩焦虑抑郁症很多,二眼无光,精神懒散,…他们学会躺平,保护自己!等待教育归于正常了,他们站起来,归队! 轻点两下查看用户资料 le大大的占位符湖南1小时前回复赞52没办法,高考就是人才选拔考试……进入好的大学就是一次人生转折点,因为好的就业岗位,永远是稀缺资源,都会看重毕业院校和学历。归根结底,还是好的就业岗位有限,且收入两极分化严重。 轻点两下查看用户资料 季凡大大的占位符浙江1小时前回复赞51看看都焦虑 轻点两下查看用户资料 雅君🍀大大的占位符辽宁1小时前回复赞50家长不是那块料,非要把孩子逼疯。 轻点两下查看用户资料 🌟高静 榛梓说大大的占位符北京56分钟前回复赞47不提前学,课本别一带而过呀,要知道我们的孩子只是孩子,没有天才 轻点两下查看用户资料 **~超~**大大的占位符湖北58分钟前回复赞44一个身边高中的学生、早上6点多起床。开始一天上学之路学习。中午吃饭半个小时。晚上半个小时。其余时间不是在学校上课就是在上课学习的路上。晚上9点多回家做作业到11—1点左右。早上又是6点多起床。试问这样的学习、成年人都受不了。还是一个孩子怎么能受得了这种时间去学习。成年人上班8小时。他们学习18个小时。真的是太恐怖了未来我的孩子也这样嘛, 轻点两下查看用户资料 海洋大大的占位符云南53分钟前回复赞42如果职业学校和技工学校能学到过硬的技术,谁还去卷高中 轻点两下查看用户资料 初心大大的占位符山西1小时前回复赞41现实就是这么残酷,不信你可以试试。这就是现状,这就是选拔,就是要既能学习好,又能承受生活的苦依然开朗阳光担当大任就是要这样的学生才是优秀的。不然呢?如同人生一样,历尽千帆归来仍是少年,生活虐我千百遍我待生活如初恋,心态要好。 轻点两下查看用户资料 志存高远 脚踏实地大大的占位符江苏1小时前回复赞39学习的本质是增强学习的能力,而不是为了分数,起早贪黑,那就没有意义了。希望教育的意义是为了让孩子们都能够发挥他/她们的大脑潜能,为祖国的科技创新,而发挥自己最大的潜力……规则是人制定的,也可以改。 轻点两下查看用户资料 琦琦大大的占位符福建49分钟前回复赞35教育就应该实现全民素质提升,应该全民义务教育至高中毕业,高中毕业18周岁了,这个时候就会选择自已未来的职业方向了,就业也是合法了还是继续深造学习都有得选择。而不是在初中时就分流了,这是我们教育最大的落伍。从我们小时定格在初中阶段,到现在三四十年过去了还是在这个阶段,全民素质就没办法提升。就是在内卷,卷得就是苦了祖国的这些花朵,所谓少年强则国强,这个我们现在就退步了,未来这一代真得很忧愁。时代造就了他们,他们真得也是很无奈。好好理解和爱这一代娃吧,他们太不容易了! 轻点两下查看用户资料 lianli大大的占位符广东1小时前回复赞35小学三四年级就开始了,完全没有童年… 轻点两下查看公众号 洞见大大的占位符(作者)24分钟前回复赞2还是想想,我们当时的童年,是真的好快乐 轻点两下查看用户资料 神明也爱我乔大大的占位符云南57分钟前回复赞32别说北京了,我们这十八线小县城,从幼儿园到高中,都是变态的卷 轻点两下查看用户资料 沐沐大大的占位符重庆57分钟前回复赞32这根本不是个别现象,是普遍现象 轻点两下查看用户资料 晓大大的占位符广东52分钟前回复赞27不知道这个社会到底是怎么了!我们几线城市也是这样,经济条件好的家长会通过考试或者其他方式把孩子送到私立中学,这样的话公办学校的生源质量和私立学校距离拉开很大,重点高中升学率高家长就更愿意花钱把孩子送到这些学校。公办学校教育资源和师资相差甚远!感觉教育已经变成一种生意了! 轻点两下查看用户资料 清流大大的占位符上海58分钟前回复赞26无情的内卷,不停的套路。
害惨了孩子,熬不住倒下。
教育变了态,必定是灾难。
先培养成人,比成才重要。 轻点两下查看用户资料 灰灰大大的占位符重庆1小时前回复赞25好可怜的孩子们 轻点两下查看用户资料 Dumbbell大大的占位符湖南58分钟前回复赞24教育的本质就是筛选人才。没有办法 轻点两下查看用户资料 煵瓜头大大的占位符福建1小时前回复赞22好文章 轻点两下查看用户资料 Ella大大的占位符江苏54分钟前回复赞21相当变态的了,所谓的减负家长更累了,更卷了,有钱人请私教一对一,普通家庭的父母才是最累的 轻点两下查看用户资料 轩哥大大的占位符贵州49分钟前回复赞19普通人家的孩子即便拼了命上了985名校大家都认为的好专业,在就业时也经常敌不过有家庭背景的民办三本的孩子,努力了作用都不大,那不努力的就只有世代相传下苦力。对普通人家的孩子唯分数论多少还有那么一点点希望,如果抛开分数论,那普通人家的孩子连读高中的机会都没有。请问还有更好的办法吗? 轻点两下查看用户资料 徐林茂大大的占位符陕西53分钟前回复赞17每一个家庭都是教育大环境下的一份子,如果大的指向标不改,大家都会无休止的卷下去。 轻点两下查看用户资料 曾大大的占位符福建59分钟前回复赞17想想最后岀来都没工作,都是送外卖当保安保姆护工,心里就平衡了没必要卷,不会读书的孩子内心强大不会玻璃心,至少还拥有自己的孩子,学霸就怕抑郁或跳楼得不偿失 轻点两下查看用户资料 鑫鑫天天大大的占位符河南58分钟前回复赞14我也想给孩子一个快乐的童年,但是大家都在卷。。。。。。 轻点两下查看用户资料 小静大大的占位符上海53分钟前回复赞13各种卷,现在小孩抑郁症多了,这个病千万不能得,得了这辈子就废掉了,我认为小孩身心健康第一位,其他的不重要。现在博士、硕士失业的多了去都在家躺平。 轻点两下查看用户资料 含光🌾大大的占位符天津46分钟前回复赞12问题这都是教育局自己制造的问题啊,考的都是教材上没有或者没有学过的,只能卷啊,只能各种报班了 轻点两下查看用户资料 顾北清歌寒大大的占位符江西60分钟前回复赞11血淋淋的现实,触目惊心 轻点两下查看用户资料 向阳生长大大的占位符山东52分钟前回复赞10教育的悲哀,一直减负,家长孩子压力越来越大 轻点两下查看用户资料 蔚然大大的占位符江苏55分钟前回复赞10现在孩子太苦了。 轻点两下查看用户资料 Moon大大的占位符江苏54分钟前回复赞9正处于这种水深火热的无奈之中,深渊里呼救的手如何也伸不出~ 轻点两下查看用户资料 咚咚咚咚大大的占位符重庆49分钟前回复赞8为什么不能小学就学小学的知识,非要超前学,就为了上个好中学,为了被当成尖子掐。 轻点两下查看用户资料 ...........大大的占位符湖南50分钟前回复赞8这代的孩子就像这代的大人一样累,大家都累 轻点两下查看用户资料 陆明大大的占位符河南60分钟前回复赞8哪里都是这样。天下乌鸦一般黑。 轻点两下查看用户资料 Zang yuh大大的占位符河南49分钟前回复赞7你们能写这样的文章,看到很欣慰 轻点两下查看用户资料 小树苗大大的占位符山东52分钟前回复赞7家长认知在卷,改变认知吧,接受自己接受平凡,活在当下。 轻点两下查看用户资料 逆风飞扬大大的占位符北京46分钟前回复赞6有个词叫“剧场效应”,说的是电影院里有一些人不守规则,站起来挡住了后面人的视线,最后所有人都不得不站起来。想想该怎么治理? 轻点两下查看用户资料 小蛮腰1982大大的占位符河南46分钟前回复赞6前几天我们这某外国语刚掐完尖,官准掐尖那种,小学六年级需要高考水平或是四级水平,据说孩子从三年级开始就要着手准备,得报三四个英语班、不断强化或许能入围,几率在百分之零点三左右,想想孩子哪有时间玩呢!都变态了,但是确实所谓的牛蛙真的考上了!小学就卷成这样,初中呢、高中呢,还有卷的后劲吗? 轻点两下查看公众号 洞见大大的占位符(作者)21分钟前回复赞1很多父母没有办法接受996的工作模式,却让孩子陷入比996还恐怖的教育内卷里,真的是细思极恐 轻点两下查看用户资料 每家凡文大大的占位符浙江50分钟前回复赞6洞见有良心 轻点两下查看用户资料 潘大大的占位符北京58分钟前回复赞5孩子真的不甘重负,学习学习再学习。 轻点两下查看用户资料 小鱼儿🌻大大的占位符广东25分钟前回复赞4小时候,村里的孩子不卷,父母更不卷。孩子能学就学,学不了就出去打工。大部分愿意读书的孩子反而也不用父母操心,学习的事自己上心,我都忘记了小时候有做过什么作业,父母也轻松。没有听过有哪位父母操心孩子读书的。虽然很多孩子也是没上大学,但是我们的童年真的非常非常快乐。我觉得也总比现在这样像流水线机器一样培养娃好,大人焦虑,小孩也痛苦。科技经济条件样样都比我小时候那会好,怎么大家反而活的更累呢。大家欲望膨胀,卷的人多了,不卷的人也不敢不卷,难! 轻点两下查看用户资料 🌸兔兔爱吃肉🌸大大的占位符马来西亚30分钟前回复赞4博士在读 想说中国的学历红利已经是过去式了 健康快乐三观正的长大成人才是未来的培养核心 轻点两下查看用户资料 没钞疯大大的占位符湖北31分钟前回复赞4孩子的未来是旷野而不是轨道,所以别的孩子放学后都在刷题,我家的玩两个小时足球,比起成绩我更希望他能有个健康的身体,坚韧的意志,乐观的心态! 轻点两下查看用户资料 致简8687大大的占位符河南35分钟前回复赞4现在的孩子哪有童年的快乐,父母们也是耗干精力和金钱 轻点两下查看用户资料 豆蔻大大的占位符江苏42分钟前回复赞4儿子10岁,他爸有点鸡娃,今年我告诉他你再这样下去,我就带娃和你离婚,你不同意,我就起诉,现在的娃太可怜了,换了我,这样鸡下去也得跳楼 轻点两下查看用户资料 不忆飘雪大大的占位符湖南44分钟前回复赞4除草剂不光只除了田里的草,现在是田埂子该长草的也除了草!!! 轻点两下查看用户资料 大闪闪🌀大大的占位符江苏44分钟前回复赞4因材施教,教育自己的孩子不能跟风,家长也可以省视一下自己是块什么料再去要求孩子 轻点两下查看用户资料 危成志大大的占位符湖南44分钟前回复赞4现在的孩子太累了,看着娃娃又心疼又没办法,压力大 轻点两下查看用户资料 不糊涂难得大大的占位符湖南51分钟前回复赞4择优录取才是最公平的。虽然我孩子是省三好,但成绩不拔尖,照样没被掐尖,我觉得也可以理解 轻点两下查看用户资料 孙昊天大大的占位符上海21分钟前回复赞3最后那句引用写的很好呀,明明是一颗小草,哪能硬要培养成大树。但问题是,怎么知道你的孩子他是小草还是小树呢。万一是小树,你按小草培养,不给营养不就枯萎了吗 轻点两下查看视频号 一路风景在征途大大的占位符陕西24分钟前回复赞3小升初,家长之痛,学生之累,社会之恨,教育之怪。
作为大二学生家长,想起小升初的过程,依然历历在目。补课补课补课,消息消息消息,校考点考盲考。最后抉择,可能还是不尽人意,勉强进的不能选班,能选班的又不是满意学校。现在都是过往,真的不想再看到新一批也这样。教育体制需要改变! 轻点两下查看用户资料 蒙蒙雨大大的占位符广西24分钟前回复赞3教育从畸形到变态,本该有血、有肉、有思想、有灵魂、有个性的孩子,全部被教育模具铸造成标准化,磨掉了个性,排除了差异,否定了个人想法......细思极恐! 轻点两下查看用户资料 心❤️如止水大大的占位符江苏32分钟前回复赞3现在的题也是太难了,数学题变成了语文,文字一堆,全靠理解。跳一个绳还要跳双飞,以前闻所未闻,唉,现在的孩子能不累嘛 轻点两下查看用户资料 十八子大大的占位符山东35分钟前回复赞3救救孩子! 轻点两下查看用户资料 过路神仙大大的占位符陕西35分钟前回复赞3我家儿子十天后就要中考了,回想过往的教育,我们是纠结的,一边特立独行内心想要快乐成长,一边随波逐流向分而行。幸运的是孩子成绩优秀,性格开朗,不幸的是我们做父母的终究还是庸俗了,在考前焦虑了。 轻点两下查看用户资料 冰山一角大大的占位符河北42分钟前回复赞3现在卷的不仅孩子的身心健康出现了问题,家长也很焦虑不安!找一对一或其他辅导班都需要太多的资金投入了,像我们这种底层的打工人承受不住,所以说弄的家长特别焦虑!为什么现在那么多霸凌,因为他们学不会,没钱学特长,没爱好,无事可做,没有理想!建议学校开展特长课,像体育,美术,音乐,画画,心理健康课。让不管因为自己学不会还是未上辅导班导致的学习落后的孩子们有条活路! 轻点两下查看用户资料 朱圆圆大大的占位符山西29分钟前回复赞2即使家长允许孩子不那么卷,老师们却不允许,教学任务重,布置作业一大堆,作业完不了找家长,为了孩子稍微在学校顺利一些,家长就不得不卷起来。教师任务压给孩子,家长压力给到孩子,最终孩子们不堪重负,一下压的再不愿意起来。 轻点两下查看用户资料 溪边有鱼大大的占位符河南33分钟前回复赞2我也是焦虑家长的一员,说实话,我不喜欢现在社会教育环境,太卷了,孩子现在高一,不止一次问我,如果学习不好还会不会要她,我是不是会失望之类的话,感觉好心酸呀 轻点两下查看用户资料 💓D静👑🔚大大的占位符河北42分钟前回复赞2今天和朋友去了解小升初预科班,主要想看看这个暑假怎么给孩子规划一下,结果老师问孩子学校、班级,才知道,已经有七八个同班同学把初一上学完了,暑假开始上初一下,我们初一入学,人家初一可以结课了,天呐,顿时懵了 轻点两下查看用户资料 一米阳光大大的占位符河南43分钟前回复赞2只有多建好的大学,让大多数孩子有大学可上,才能从根本上解决“卷”的问题! 轻点两下查看用户资料 天际云大大的占位符重庆44分钟前回复赞2教育的问题一直都在,父母在焦虑,孩子在煎熬。 轻点两下查看用户资料 追星星的人大大的占位符福建20分钟前回复赞1问题是很多家长都不认为自己的孩子是小草,认为他是一颗参天大树 轻点两下查看用户资料 ✨Z.love大大的占位符吉林21分钟前回复赞1此文必须收藏,只因思想同频!现在的教育除了“变态”,不知道还能用什么词汇去形容才更贴切!收藏只为时刻警醒自己,在娃步入更高学府的道路上,始终坚持本心! 轻点两下查看用户资料 skll大大的占位符广西22分钟前回复赞1这并不是家长单方面能解决的,这个需要社会大众,国家,各行各业,共同努力才能解决。 轻点两下查看用户资料 小薪大大的占位符河北24分钟前回复赞1都把孩子当成产品了。 轻点两下查看用户资料 随遇而安:yangfu大大的占位符江苏24分钟前回复赞1很到位,我家六年级,好的学生的确内定了 轻点两下查看用户资料 XM萧曼🍀大大的占位符广东26分钟前回复赞1的确,从小学就开始选拨,到初一再选,到初三再选,初三还另设冲刺班! 轻点两下查看用户资料 sun🌞大大的占位符山西28分钟前回复赞1我们这从一年级就开始了 轻点两下查看用户资料 书毅大大的占位符辽宁28分钟前回复赞1触目惊心的社会现实,洞见让我们看见清楚,不等长大就倒下了的悲哀什么时候能结来呀! 轻点两下查看用户资料 志存高远 脚踏实地大大的占位符江苏29分钟前回复赞1孩子们的心灵没有大人那么坚强,希望教育制度可以根据孩子的承受能力范围,制定合理的学习时间,而不是起早贪黑。让孩子们的承受能力逐渐增强,而不是一开始就制定这样的方案…… 轻点两下查看用户资料 勇往直前࿐ོ₂₀₂₂大大的占位符广西36分钟前回复赞1看了洞见这篇文章,我感觉看到的有点迟了,不过也不晚,我马上开始反省我自己,如果我能做一个品行端正的人,我才能去教孩子,我从现在开始,边学习,边教育,尽可能让孩子成为一个品行端正,有爱心的人,谢谢洞见! 轻点两下查看用户资料 朱银桂大大的占位符重庆43分钟前回复赞1站起代价己倒下,
孩子小大孜不倦。
学习动力价感受,
正确教育健康的。
洞见君文剖析透! 轻点两下查看用户资料 云淡风轻大大的占位符四川23分钟前回复赞我们家的都尽量调整心态,尽管我们本来就是在所谓的令人羡慕的火箭班,但我们却主动申请转到普通班去了,我们慢慢读女儿一下感觉轻松了许多,我们本来也考进了别人羡慕的奥数竞赛班,我们却选择放弃了 轻点两下查看用户资料 阿震🇨🇳大大的占位符广东24分钟前回复赞没办法,大家都卷,不卷就只能想办法换赛道。多赚钱,比鸡娃孩子强一万倍。暂无留言全部留言 已无更多数据 发消息写留言关闭写留言提交更多表情关闭回复更多返回写回复回复更多: 表情
轻触阅读原文
洞见
向上滑动看下一个
<div class="weui-loadmore weui-loadmore_default wx_network_msg">
<span class="weui-primary-loading">
<i class="weui-primary-loading__dot"></i>
</span>
</div>
<div class="wx_network_msg">因网络连接问题,剩余内容暂无法加载。</div>
当前内容可能存在未经审核的第三方商业营销信息,请确认是否继续访问。继续访问取消微信公众平台广告规范指引
知道了
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', '600885910');
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');
});
}
})();
(function () {
'use strict';
function _arrayLikeToArray(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;
}
function _arrayWithoutHoles(arr) {
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
}
function _iterableToArray(iter) {
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
function _unsupportedIterableToArray(o, minLen) {
if (!o) return;
if (typeof o === "string") return _arrayLikeToArray(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(o, minLen);
}
function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _toConsumableArray(arr) {
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
}
var containers = [document.getElementById('page-content')];
var bgPlaceholder = 'url("data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==")';
var isCareMode = window.a_value_which_never_exists || '' * 1 || 0;
var isCartoonCopyright = window.a_value_which_never_exists || '0' * 1 || 0;
if (!window.__second_open__ && !isCareMode && !isCartoonCopyright) {
containers.forEach(function (dom) {
var containsBackground = dom.querySelectorAll('[style*="background-image"]');
_toConsumableArray(containsBackground).forEach(function (node) {
if (node && node.style && typeof node.getAttribute === 'function' && !node.getAttribute('data-lazy-bgimg') && !window.__lazyload_detected) {
var bgImg = node.style.backgroundImage;
var bgImgUrl = bgImg && bgImg.match(/url\(['"]?(.*?)['"]?\)/);
if (bgImgUrl && bgImgUrl[1]) {
node.style.backgroundImage = bgImg.replace(/url\(['"]?.*?['"]?\)/, bgPlaceholder);
node.setAttribute('data-lazy-bgimg', bgImgUrl[1]);
node.classList.add('wx_imgbc_placeholder');
}
}
});
});
}
})();var __INLINE_SCRIPT__ = (function () {
'use strict';
var __setTitle = function __setTitle(showTitle, dom) {
var title = showTitle;
if (showTitle.indexOf('——') > -1) {
var replaceHtml = '<span style="letter-spacing:normal">——</span>';
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 = '1718025605';
var oriCreateTime = '1718022027';
var createTime = '2024-06-10 20:20';
__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' || Device.os.version === '17.4')) {
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 = '<span class="weui-primary-loading"><span class="weui-primary-loading__dot"></span></span>';
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 = "2651811945" || "" || "2651811945";
var biz = "MjM5MDc0NTY2OA==" || "MjM5MDc0NTY2OA==";
var sessionid = "1718026578" || "svr_1a045adb0b0";
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_b988c7e2f64b";
if (ori === 2 && selfUserName !== hit_username) {
var videoBar = document.createElement('div');
var videoBarHtml = '<div class="wx-edui-video_source_link js_wx_tap_highlight wx_tap_card" id="' + (hit_username + index) + '" data-hit-username="' + hit_username + '" data-hit-biz="' + sourceBiz + '">';
videoBarHtml += '<div class="wx-edui-video_source_word">以下视频来源于</div>';
videoBarHtml += '<div class="wx-edui-video_account_info">';
videoBarHtml += '<div class="wx-edui-video_account_avatar" id="' + (hit_biz_headimg + index) + '" data-src="' + hit_biz_headimg + '"></div>';
videoBarHtml += '<div class="wx-edui-video_account_name">' + hit_nickname + '</div>';
videoBarHtml += '<i class="wx-edui-video_account_arrow"></i>';
videoBarHtml += '</div>';
videoBarHtml += '<div class="wx-edui-video_source_link__layer_mask"></div>';
videoBarHtml += '</div>';
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;
}
});
}
function on(eventName, callback) {
ready(function () {
if (isAcrossOrigin$1) return false;
if (_typeof(top.window.WeixinJSBridge) !== 'object' || !top.window.WeixinJSBridge.on) {
return false;
}
if (!JSAPIEventCallbackMap[eventName]) {
JSAPIEventCallbackMap[eventName] = [];
}
JSAPIEventCallbackMap[eventName].push(callback);
if (JSAPIEventCallbackMap[eventName].length > 1) {
return false;
}
top.window.WeixinJSBridge.on(eventName, function () {
try {
for (var _len2 = arguments.length, rets = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
rets[_key2] = arguments[_key2];
}
var ret = rets[0];
var errMsg = ret && ret.err_msg ? ', err_msg-> ' + ret.err_msg : '';
console.info('[system]', '[jsapi] event->' + eventName + errMsg);
if (JSAPIEventCallbackMap[eventName] && JSAPIEventCallbackMap[eventName].length) {
var result;
for (var i = 0; i < JSAPIEventCallbackMap[eventName].length; i++) {
result = JSAPIEventCallbackMap[eventName][i].apply(window, rets);
}
return result;
}
} catch (e) {
__moon_report$1([{
offset: MOON_JSAPI_KEY_OFFSET,
log: 'on;eventName:' + eventName,
e: e
}]);
throw e;
}
});
});
}
function remove(eventName, callback) {
ready(function () {
if (!JSAPIEventCallbackMap[eventName]) {
return false;
}
var result = false;
for (var i = JSAPIEventCallbackMap[eventName].length - 1; i >= 0; i--) {
if (JSAPIEventCallbackMap[eventName][i] === callback) {
JSAPIEventCallbackMap[eventName].splice(i, 1);
result = true;
}
}
return result;
});
}
var JSAPI = mmversion.isNewMpApp ? {
ready: connectWebViewJavascriptBridge,
invoke: invoke$1,
call: invoke$1,
on: on$1,
remove: remove$1
} : {
ready: ready,
invoke: invoke,
call: call,
on: on,
remove: remove
};
function parseUrl(url) {
var len = url.length;
var ques_pos = url.indexOf('?');
var hash_pos = url.indexOf('#');
hash_pos = hash_pos == -1 ? len : hash_pos;
ques_pos = ques_pos == -1 ? hash_pos : ques_pos;
var host = url.substring(0, ques_pos);
var query_str = url.substring(ques_pos + 1, hash_pos);
var hash = url.substring(hash_pos + 1);
return {
host: host,
query_str: query_str,
hash: hash
};
}
function join(url, args, noEncode) {
var ret = parseUrl(url);
var query_str = ret.query_str;
var args_arr = [];
if (_typeof(args) === 'object') {
for (var key in args) {
if (args.hasOwnProperty(key)) {
args_arr.push(key + '=' + (noEncode ? args[key] : encodeURIComponent(args[key])));
}
}
} else {
args_arr.push(noEncode ? args : encodeURIComponent(args));
}
if (args_arr.length > 0) {
query_str += (query_str !== "" ? "&" : "") + args_arr.join("&");
}
return ret.host + (query_str !== "" ? "?" + query_str : "") + (ret.hash !== "" ? "#" + ret.hash : "");
}
function addParam(url, param, value, forceReplace) {
url = url || location.href;
var firstAndPos = url.indexOf("&");
var len = url.length;
var reverseUrl = url.replace(/^[\w\d]+:[/\\]+/g, "").split("").reverse();
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function (searchElement, fromIndex) {
var k;
if (this == null) {
throw new TypeError('"this" is null or not defined');
}
var O = Object(this);
var len = O.length >>> 0;
if (len === 0) {
return -1;
}
var n = fromIndex || 0;
if (Math.abs(n) === Infinity) {
n = 0;
}
if (n >= len) {
return -1;
}
k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);
while (k < len) {
if (k in O && O[k] === searchElement) {
return k;
}
k++;
}
return -1;
};
}
var lastSlashPos = len - 1 - reverseUrl.indexOf("/");
if (firstAndPos !== -1 && url.indexOf("?") == -1 && firstAndPos > lastSlashPos) {
url = url.replace("&", "?");
}
var reg = new RegExp("([\\?&]" + param + "=)[^&#]*");
if (!url.match(reg)) {
var _pos = url.indexOf("?");
if (_pos == -1) {
return url + "?" + param + "=" + value;
} else {
if (_pos == url.length - 1) {
return url + param + "=" + value;
}
return url + "&" + param + "=" + value;
}
}
if (forceReplace === true) {
return url.replace(reg, "$1" + value);
}
return url;
}
function removeParam(url, param) {
var _URL = new URL(url),
protocol = _URL.protocol,
host = _URL.host,
pathname = _URL.pathname,
search = _URL.search,
hash = _URL.hash;
var queryParams = new URLSearchParams(search);
queryParams["delete"](param);
var newSearch = queryParams.toString();
var newUrl = new URL("".concat(protocol, "//").concat(host).concat(pathname).concat(newSearch ? "?".concat(decodeURIComponent(newSearch)) : "").concat(hash));
return newUrl.toString();
}
function getQuery(name, url) {
var u = url || window.location.search;
var reg = new RegExp("(^|&)".concat(name, "=([^&]*)(&|$)"));
var r = u.substring(u.indexOf('?') + 1).match(reg);
return r !== null ? r[2] : '';
}
function encodeBase64(value) {
try {
return window.btoa(value);
} catch (e) {
return '';
}
}
function decodeBase64(value) {
try {
return window.atob(value);
} catch (e) {
return '';
}
}
function joinUrl(url) {
var obj = {};
if (typeof window.uin !== 'undefined') {
obj.uin = window.uin;
}
if (typeof window.key !== 'undefined') {
obj.key = window.key;
}
if (typeof window.pass_ticket !== 'undefined') {
obj.pass_ticket = window.pass_ticket;
}
if (typeof window.wxtoken !== 'undefined') {
obj.wxtoken = window.wxtoken;
}
if (typeof window.devicetype !== 'undefined') {
obj.devicetype = window.devicetype;
}
if (typeof window.clientversion !== 'undefined') {
obj.clientversion = window.clientversion;
}
if (window.biz) {
obj['__biz'] = window.biz;
}
if (getQuery('enterid')) {
obj.enterid = getQuery('enterid');
}
if (typeof window.appmsg_token !== 'undefined') {
obj.appmsg_token = window.appmsg_token;
} else if (url.indexOf('advertisement_report') > -1) {
new Image().src = location.protocol + '//mp.weixin.qq.com/mp/jsmonitor?idkey=68064_13_1&r=' + Math.random();
}
obj.x5 = navigator.userAgent.indexOf('TBS/') !== -1 ? '1' : '0';
obj.f = 'json';
return join(url, obj);
}
var Url = {
parseUrl: parseUrl,
join: join,
addParam: addParam,
getQuery: getQuery,
encodeBase64: encodeBase64,
decodeBase64: decodeBase64,
joinUrl: joinUrl,
removeParam: removeParam
};
function _log(level, msg) {
if (level === 'log') {
level = 'info';
msg = '[WechatFe]' + msg;
} else {
var prefix = '__wap__' + (window.__second_open__ ? ' (sec)' : '');
msg = prefix + ' ' + msg + ' location:[' + location.href + ']';
}
msg += new Error().stack;
if (mmversion.isMpapp) {
invoke$1('WNNativeCallbackLog', msg);
} else if (mmversion.isWechat) {
if (mmversion.isAndroid) {
console.warn('[system]', '[MicroMsg.JsApiLog][' + level + '] jslog : ' + msg);
} else if (mmversion.isIOS) {
JSAPI.invoke('writeLog', {
level: level,
msg: msg
});
} else {
JSAPI.invoke('log', {
level: level,
msg: msg
});
}
}
}
var Log = {
info: function info() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_log('info', args.join(' '));
},
warn: function warn() {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
_log('warn', args.join(' '));
},
error: function error() {
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
args[_key3] = arguments[_key3];
}
_log('error', args.join(' '));
},
debug: function debug() {
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
args[_key4] = arguments[_key4];
}
_log('debug', args.join(' '));
},
log: function log() {
for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
args[_key5] = arguments[_key5];
}
_log('info', args.join(' '));
}
};
var html = function html(_str, encode) {
if (!_str) return '';
var replace = ['`', '`', ''', '\'', '"', '"', ' ', ' ', '>', '>', '<', '<', '¥', '¥', '&', '&', '<', '<', '>', '>'];
var replaceReverse = ['&', '&', '¥', '¥', '<', '<', '>', '>', ' ', ' ', '"', '"', '\'', ''', '`', '`'];
var str = _str;
var target;
if (encode) {
target = replaceReverse;
} else {
target = replace;
}
for (var i = 0; i < target.length; i += 2) {
str = str.replace(new RegExp(target[i], 'g'), target[i + 1]);
}
return str;
};
var htmlLite = function htmlLite(_str, encode) {
if (!_str) return '';
var replace = ['`', '`', ''', '\'', '"', '"', '>', '>', '<', '<', '&', '&'];
var replaceReverse = ['&', '&', '<', '<', '>', '>', '"', '"', '\'', ''', '`', '`'];
var str = _str;
var target;
if (encode) {
target = replaceReverse;
} else {
target = replace;
}
for (var i = 0; i < target.length; i += 2) {
str = str.replace(new RegExp(target[i], 'g'), target[i + 1]);
}
return str;
};
var htmlEncode = function htmlEncode(str) {
return html(str, true);
};
var htmlDecode = function htmlDecode(str) {
return html(str, false);
};
var htmlEncodeLite = function htmlEncodeLite(str) {
return htmlLite(str, true);
};
var htmlDecodeLite = function htmlDecodeLite(str) {
return htmlLite(str, false);
};
String.prototype.html = function (encode) {
return html(this.toString(), encode);
};
String.prototype.htmlEncode = function () {
return htmlEncode(this.toString());
};
String.prototype.htmlDecode = function () {
return htmlDecode(this.toString());
};
String.prototype.htmlLite = function (encode) {
return htmlLite(this.toString(), encode);
};
String.prototype.htmlEncodeLite = function () {
return htmlEncodeLite(this.toString());
};
String.prototype.htmlDecodeLite = function () {
return htmlDecodeLite(this.toString());
};
var _a;
var METHOD_ENUM = {
GET: 0,
POST: 1
};
var __moon_report = window.__moon_report || function () {};
var MOON_AJAX_SUCCESS_OFFSET = 3;
var MOON_AJAX_NETWORK_OFFSET = 4;
var MOON_AJAX_ERROR_OFFSET = 5;
var MOON_AJAX_TIMEOUT_OFFSET = 6;
var MOON_AJAX_COMPLETE_OFFSET = 7;
var LENGTH_LIMIT = 4096;
var doc;
var isAcrossOrigin = false;
try {
doc = (_a = window.top) === null || _a === void 0 ? void 0 : _a.window.document;
} catch (e) {
isAcrossOrigin = true;
}
function networkStartLog(item) {
var _a, _b, _c;
console.log('[system]', "< [request ".concat(item.requestType, "]"), item.method, item);
if ((_a = window.vConsole) === null || _a === void 0 ? void 0 : _a.network) {
try {
return (_c = (_b = window.vConsole.network).add) === null || _c === void 0 ? void 0 : _c.call(_b, Object.assign({}, item, {
startTime: Date.now(),
endTime: Date.now(),
status: 0,
readyState: 2,
response: ''
}));
} catch (err) {}
}
return Object.assign({}, item, {
id: '__system_log__'
});
}
function networkEndLog(item) {
var _a, _b, _c;
console.log('[system]', "> [response ".concat(item.requestType, "]"), item.response, item);
if (((_a = window.vConsole) === null || _a === void 0 ? void 0 : _a.network) && item.id !== '__system_log__') {
try {
return (_c = (_b = window.vConsole.network).update) === null || _c === void 0 ? void 0 : _c.call(_b, item.id, Object.assign({}, item, {
readyState: 4
}));
} catch (err) {}
}
}
function reqType(obj, path) {
return obj.url.indexOf(path) > -1 && obj.url.indexOf('action=') === -1 && (!obj.data || !obj.data.action);
}
function reportRtError(type, id, key, content) {
var log = '';
var prefix = type === 'rt' ? 'rtCheckError' : 'Ajax Length Limit';
if (content === null || content === void 0 ? void 0 : content.length) {
var loglen = 1000,
len = content.length,
lc = Math.ceil(len / loglen);
log = ['&lc=' + lc];
for (var i = 0; i < lc; ++i) {
log.push('&log' + i + '=' + '[' + prefix + '][' + i + ']' + encodeURIComponent(content.substring(i * loglen, i * loglen + loglen)));
}
log = log.join('');
}
var data = 'idkey=' + id + '_' + key + '_1' + log + '&r=' + Math.random();
var xmlobj = new XMLHttpRequest();
xmlobj.open('POST', location.protocol + '//mp.weixin.qq.com/mp/jsmonitor?', true);
xmlobj.setRequestHeader('cache-control', 'no-cache');
xmlobj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
xmlobj.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xmlobj.send(data);
if (type === 'ajaxLen') {
monitor$1.setLogs({
id: id,
key: key,
value: 1,
log: log
});
}
}
function reportRt(id, key, content) {
reportRtError('rt', id, key, content);
}
function reportAjaxLength(id, key, content) {
reportRtError('ajaxLen', id, key, content);
}
function setCurrentMpInfo(ifShow) {
var supportNewTopBar = mmversion.isIOS && mmversion.gtVersion('7.0.10', true) || mmversion.isAndroid && mmversion.gtVersion('7.0.12', true);
var supportLiveStatus = mmversion.isIOS && mmversion.gtVersion('8.0.46', true) || mmversion.isAndroid && mmversion.gtVersion('8.0.46', true);
JSAPI.invoke('currentMpInfo', {
userName: window.user_name,
brandName: !!supportNewTopBar && window.nickname === '' ? '未命名公众号' : window.title,
title: window.msg_title || '',
brandIcon: window.hd_head_img.replace(/\/0$/, '/132'),
itemShowType: window.item_show_type,
isPaySubscribe: window.isPaySubscribe,
topBarStyle: supportNewTopBar ? 1 : 0,
topBarShowed: ifShow,
disableShowFinderLiveTopBar: !ifShow && supportLiveStatus ? 1 : 0
}, function () {});
}
function findAjaxScopeByConfig(url, config) {
var pathname = new URL(url, location.href).pathname || '';
var scope = config[pathname.slice(1)];
if (scope) {
Log.log('ajax transfer config: ', JSON.stringify(config));
return scope;
}
}
function getAjaxScope(ajaxUrl) {
if (Url.getQuery('no_transfer', location.href) !== '1' && mmversion.isWechat && !mmversion.isInMiniProgram && !mmversion.isWxWork && !mmversion.isMpapp && !isAcrossOrigin && window.__ajaxTransferConfig && _typeof(window.__ajaxTransferConfig) === 'object' && (
mmversion.isIOS && mmversion.getInner() >= '1800282f' || mmversion.isAndroid && mmversion.getInner() >= '28002234' || mmversion.isWindowsWechat && mmversion.cpVersion('3.9.5', 1, true, 'windows') || mmversion.isMacWechat && mmversion.cpVersion('3.7.1', 1, true, 'mac'))) {
try {
return findAjaxScopeByConfig(ajaxUrl, window.__ajaxTransferConfig);
} catch (err) {
}
}
}
function Ajax(obj) {
if (obj.usePb) {
obj.type = 'POST';
obj.data = {
data: JSON.stringify(obj.data)
};
}
var ajaxScope = getAjaxScope(obj.url);
var type = (obj.type || 'GET').toUpperCase();
var timer;
var url;
if (obj.notJoinUrl) {
url = obj.url;
} else {
url = Url.joinUrl(obj.url);
}
if (obj.f === 'html') {
url = url.replace('&f=json', '');
}
var data = null;
if (_typeof(obj.data) === 'object') {
var d = obj.data;
var ds = [];
for (var k in d) {
if (d.hasOwnProperty(k)) {
ds.push(k + '=' + encodeURIComponent(d[k]));
}
}
data = ds.join('&');
} else {
data = typeof obj.data === 'string' ? obj.data : null;
}
var beginTs;
var beforeReq = function beforeReq() {
if (reqType(obj, '/mp/getappmsgext')) {
window.startGetAppmsgExtTime = Date.now();
Log.log('start get appmsgext, url: ', obj.url);
}
if (reqType(obj, '/mp/getappmsgad')) {
window.startGetAppmsgAdTime = Date.now();
Log.log('start get appmsgad, url: ', obj.url);
}
beginTs = Date.now();
};
var beforeResp = function beforeResp(xhr) {
if (reqType(obj, '/mp/getappmsgext')) {
window.receiveGetAppmsgExt = xhr.status + '|' + Date.now();
Log.log('receive appmsgext response, status: ' + xhr.status);
}
if (reqType(obj, '/mp/getappmsgad')) {
window.receiveGetAppmsgAd = xhr.status + '|' + Date.now();
Log.log('receive appmsgad response, status: ' + xhr.status);
}
if (Math.random() < 0.01 && window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) {
try {
var key = ajaxScope ? 'transfer' : 'xhr';
var interval = 250;
var time = Date.now() - beginTs;
var range = Math.floor(time / interval) * interval;
var pathname = new URL(obj.url, location.href).pathname || '';
window.WX_BJ_REPORT.BadJs.report("".concat(key, "_perf:").concat(pathname), JSON.stringify({
status: xhr.status,
time: "[".concat(range, "-").concat(range + interval, ")")
}), {
mid: 'mmbizwap:ajaxtransfer',
view: 'wap_business'
});
} catch (err) {}
}
};
var handleRespSucc = function handleRespSucc(xhr) {
var _a;
try {
var responseText = xhr.responseText;
var resp = responseText;
if (obj.dataType === 'json') {
try {
resp = eval('(' + resp + ')');
var rtId = obj.rtId;
var rtKey = obj.rtKey || 0;
var rtDesc = obj.rtDesc;
if (rtId && rtDesc && RespTypes && !RespTypes.check(resp, rtDesc)) {
reportRt(+rtId, +rtKey, RespTypes.getMsg() + '[detail]' + responseText + ';' + obj.url);
}
if (resp && resp.base_resp && ((_a = resp.base_resp) === null || _a === void 0 ? void 0 : _a.ret) !== 0 && typeof window.WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs && Math.random() < 0.001) {
var reportUrl = url;
if (url.indexOf('?') !== -1) {
reportUrl = url.substring(0, url.indexOf('?'));
if (Url.getQuery('action', url)) {
reportUrl = reportUrl + '?action=' + Url.getQuery('action', url);
}
}
if (!((reportUrl === '/mp/getappmsgext' || reportUrl === '/mp/getappmsgad') && typeof resp.base_resp.ret === 'undefined')) {
window.WX_BJ_REPORT.BadJs.report(reportUrl, 'ret=' + resp.base_resp.ret, {
mid: window.PAGE_MID,
view: 'wap_retcode'
});
}
}
} catch (e) {
obj.error && obj.error(xhr, {
type: 1,
error: e,
status: xhr.status
});
return;
}
}
obj.success && obj.success(resp);
} catch (e) {
__moon_report({
offset: MOON_AJAX_SUCCESS_OFFSET,
e: e
});
throw e;
}
};
var handleRespErr = function handleRespErr(xhr, error) {
try {
obj.error && obj.error(xhr, {
type: 2,
error: error,
status: xhr.status
});
} catch (e) {
__moon_report({
offset: MOON_AJAX_ERROR_OFFSET,
e: e
});
throw e;
}
};
var handleRespComplete = function handleRespComplete() {
clearTimeout(timer);
try {
obj.complete && obj.complete();
} catch (e) {
__moon_report({
offset: MOON_AJAX_COMPLETE_OFFSET,
e: e
});
throw e;
}
obj.complete = null;
};
var handleReqTimeout = function handleReqTimeout(xhr) {
if (typeof obj.timeout !== 'undefined') {
timer = setTimeout(function () {
xhr.abort();
try {
obj.complete && obj.complete();
} catch (e) {
__moon_report({
offset: MOON_AJAX_COMPLETE_OFFSET,
e: e
});
throw e;
}
obj.complete = null;
__moon_report({
offset: MOON_AJAX_TIMEOUT_OFFSET,
log: 'ajax_timeout_error: ' + url,
e: ''
});
}, obj.timeout);
}
};
var retryXhrFn = function retryXhrFn(res, isTimeout, reqLogItem) {
var retryXhr = new XMLHttpRequest();
try {
retryXhr._noVConsole = true;
} catch (err) {}
retryXhr.open(type, url);
retryXhr.onreadystatechange = function () {
if (isTimeout) return;
if (retryXhr.readyState === 3) {
obj.received && obj.received(retryXhr);
}
if (retryXhr.readyState === 4) {
beforeResp(retryXhr);
var retryStatus = retryXhr.status;
if (retryStatus >= 200 && retryStatus < 400) {
handleRespSucc(retryXhr);
} else {
handleRespErr(retryXhr, res);
window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report('req_failure', JSON.stringify({
retryXhrStatus: retryStatus,
transferRes: res
}), {
mid: 'mmbizwap:ajaxtransfer',
view: 'wap_business'
});
}
reqLogItem.status = retryStatus;
reqLogItem.endTime = Date.now();
reqLogItem.response = retryXhr.responseText;
handleRespComplete();
networkEndLog(reqLogItem);
}
};
retryXhr.send(data);
};
if (ajaxScope) {
var header = {
'User-Agent': navigator.userAgent,
'Cookie': (window.__test_env__ ? 'uniproxy_route=1; ' : '') + document.cookie,
'Referer': location.href
};
if (obj.contentType) {
header['Content-Type'] = obj.contentType;
} else if (type === 'POST') {
header['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
}
if (!obj.noXRequestedWidthHeader) {
header['X-Requested-With'] = 'XMLHttpRequest';
}
var reqUrl = new URL(url, location.href).href;
var method = METHOD_ENUM[type] || 0;
var params = Device.os.pc ? {
url: reqUrl,
req_json: data || '',
scope: ajaxScope,
webcgi_method: method,
webcgi_header: Object.keys(header).map(function (headerItemKey) {
return {
key: headerItemKey,
value: header[headerItemKey]
};
}),
cgi_type: 1
} : {
reqUrl: reqUrl,
reqBody: data,
scope: ajaxScope,
method: method,
header: header
};
var reqLogItem = networkStartLog({
method: type,
url: url,
postData: obj.data || {},
requestHeader: header,
requestType: 'transfer'
});
var isTimeout = false;
handleReqTimeout({
abort: function abort() {
isTimeout = true;
reqLogItem.endTime = Date.now();
reqLogItem.response = 'timeout';
networkEndLog(reqLogItem);
}
});
Device.os.pc && monitor$1.setSum(115849, 69, 1);
JSAPI.invoke(Device.os.pc ? 'H5ExtTransfer' : 'webTransfer', params, function (res) {
var _a, _b, _c, _d, _e, _f;
if (isTimeout) return;
var status = 400;
var result = '';
if (Device.os.pc) {
try {
var retFlag = res.base_resp.ret === 0 && res.jsapi_resp.ret === 0 && res.err_msg.indexOf(':ok') > -1;
var respJsonFlag = res.jsapi_resp.resp_json;
status = retFlag && respJsonFlag ? 200 : 400;
result = res.jsapi_resp.resp_json;
} catch (err) {
console.error(err);
}
} else {
status = res && res.errCode * 1 === 0 && typeof res.result === 'string' && res.result ? 200 : 400;
result = res.result;
}
if (status >= 200 && status < 400) {
obj.received && obj.received(null);
beforeResp({
status: status
});
handleRespSucc({
status: status,
responseText: result
});
reqLogItem.status = status;
reqLogItem.endTime = Date.now();
reqLogItem.response = result;
handleRespComplete();
networkEndLog(reqLogItem);
} else if (window.__second_open__) {
JSAPI.invoke('request', {
url: params.reqUrl,
method: type,
data: data,
header: header
}, function (retryRes) {
if (isTimeout) return;
var retryStatus = retryRes.statusCode;
obj.received && obj.received(null);
beforeResp({
status: retryStatus
});
if (retryRes.err_msg.indexOf(':ok') > -1 && retryStatus >= 200 && retryStatus < 400) {
handleRespSucc({
status: retryStatus,
responseText: retryRes.data
});
} else if (retryRes.err_msg.indexOf('no permission') > -1) {
retryXhrFn(res, isTimeout, reqLogItem);
} else {
handleRespErr({
status: retryStatus
}, res);
window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs && window.WX_BJ_REPORT.BadJs.report('req_failure', JSON.stringify({
retryReqJsapiRes: retryRes,
transferRes: res
}), {
mid: 'mmbizwap:ajaxtransfer',
view: 'wap_business'
});
}
reqLogItem.status = retryStatus;
reqLogItem.endTime = Date.now();
reqLogItem.response = retryRes.data;
handleRespComplete();
networkEndLog(reqLogItem);
});
} else {
retryXhrFn(res, isTimeout, reqLogItem);
}
if (Device.os.pc) {
if (!res.err_msg.includes(':ok')) {
(_b = (_a = window.WX_BJ_REPORT) === null || _a === void 0 ? void 0 : _a.BadJs) === null || _b === void 0 ? void 0 : _b.report("pc transfer res no ok: ".concat(res.err_msg), params.url || '', {
mid: window.PAGE_MID,
_info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res))
});
}
try {
if (res.jsapi_resp.resp_json && JSON.parse(res.jsapi_resp.resp_json).base_resp.ret !== 0 || res.base_resp.ret !== 0 || res.jsapi_resp.ret !== 0) {
(_d = (_c = window.WX_BJ_REPORT) === null || _c === void 0 ? void 0 : _c.BadJs) === null || _d === void 0 ? void 0 : _d.report("pc transfer res invalid ret", params.url || '', {
mid: window.PAGE_MID,
_info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res))
});
}
} catch (err) {}
} else {
try {
if (res.errCode !== 0) {
(_f = (_e = window.WX_BJ_REPORT) === null || _e === void 0 ? void 0 : _e.BadJs) === null || _f === void 0 ? void 0 : _f.report("mobile transfer res invalid ret", params.url || '', {
mid: window.PAGE_MID,
_info: "".concat(JSON.stringify(params), " || ").concat(JSON.stringify(res))
});
}
} catch (err) {}
}
});
beforeReq();
return;
}
var xhr = new XMLHttpRequest();
var mayAbort = !!obj.mayAbort;
var async = typeof obj.async === 'undefined' ? true : obj.async;
var _onreadystatechange = xhr.onreadystatechange;
xhr.open(type, url, async);
xhr.onreadystatechange = function () {
if (typeof _onreadystatechange === 'function') {
_onreadystatechange.apply(xhr);
}
if (xhr.readyState === 3) {
obj.received && obj.received(xhr);
}
if (xhr.readyState === 4) {
beforeResp(xhr);
xhr.onreadystatechange = null;
var status = xhr.status;
if (status >= 200 && status < 400) {
handleRespSucc(xhr);
} else {
handleRespErr(xhr, 'status error');
if (!!status || !mayAbort) {
var __ajaxtest = window.__ajaxtest || '0';
__moon_report({
offset: MOON_AJAX_NETWORK_OFFSET,
log: 'ajax_network_error[' + status + '][' + __ajaxtest + ']: ' + url + ';host:' + location.host,
e: ''
});
}
}
handleRespComplete();
}
};
if (obj.contentType) {
xhr.setRequestHeader('Content-Type', obj.contentType);
} else if (type === 'POST') {
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
}
if (!obj.noXRequestedWidthHeader) {
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
}
handleReqTimeout(xhr);
try {
xhr.send(data);
try {
if (url && url.length > LENGTH_LIMIT) {
reportAjaxLength(27613, 17, 'ajax get limit[length: ' + url.length + ']' + url.substring(0, 1024));
}
if (data && data.length > LENGTH_LIMIT) {
reportAjaxLength(27613, 18, 'ajax post limit[length: ' + data.length + ']' + data.substring(0, 1024));
}
} catch (e) {
}
} catch (e) {
obj.error && obj.error(xhr, {
type: 3,
error: e,
status: 0
});
}
beforeReq();
return xhr;
}
function AjaxWx(obj) {
obj.url += obj.url.indexOf('?') === -1 ? '?fasttmplajax=1' : '&fasttmplajax=1';
if (getAjaxScope(obj.url)) {
Ajax(obj);
return;
}
if (obj.usePb) {
obj.type = 'POST';
obj.data = {
data: JSON.stringify(obj.data)
};
}
if (!/^(http:\/\/|https:\/\/|\/\/)/.test(obj.url)) {
obj.url = 'https://mp.weixin.qq.com/' + obj.url.replace(/^\//, '');
} else if (/^\/\//.test(obj.url)) {
obj.url = 'https:' + obj.url;
}
if (obj.f !== 'html' && (obj.url.indexOf('?f=json') === -1 || obj.url.indexOf('&f=json') === -1)) {
obj.url += '&f=json';
}
if (!obj.notJoinUrl && obj.f !== 'html') {
obj.url = Url.joinUrl(obj.url);
}
var data = null;
if (_typeof(obj.data) === 'object') {
var d = obj.data;
var ds = [];
for (var k in d) {
if (d.hasOwnProperty(k)) {
ds.push(k + '=' + encodeURIComponent(d[k]));
}
}
data = ds.join('&');
} else {
data = typeof obj.data === 'string' ? obj.data : null;
}
var header = {
Cookie: document.cookie,
referer: location.href
};
var reqLogItem = networkStartLog({
method: obj.type || 'GET',
url: obj.url,
postData: obj.data || {},
requestHeader: header,
requestType: 'jsapi'
});
var retryTime = 1;
var jsapiRequest = function jsapiRequest(obj, data) {
return JSAPI.invoke('request', {
url: obj.url,
method: obj.type,
data: data,
header: header
}, function (res) {
var _a;
if (res.err_msg.indexOf(':ok') > -1) {
if (reqType(obj, '/mp/getappmsgext')) {
window.receiveGetAppmsgExt = res.statusCode + '|' + Date.now();
}
if (reqType(obj, '/mp/getappmsgad')) {
window.receiveGetAppmsgAd = res.statusCode + '|' + Date.now();
}
if (retryTime === 1) {
obj.received && obj.received(null);
}
var resData = {};
if (res.data) {
try {
if (obj.dataType === 'json') {
resData = JSON.parse(res.data);
} else {
resData = res.data;
}
if (resData && resData.base_resp && ((_a = resData.base_resp) === null || _a === void 0 ? void 0 : _a.ret) !== 0 && typeof window.WX_BJ_REPORT !== 'undefined' && window.WX_BJ_REPORT.BadJs && Math.random() < 0.001) {
var reportUrl = obj.url;
if (obj.url.indexOf('?') !== -1) {
reportUrl = obj.url.substring(0, obj.url.indexOf('?'));
if (Url.getQuery('action', obj.url)) {
reportUrl = reportUrl + '?action=' + Url.getQuery('action', obj.url);
}
}
if (!((reportUrl === '/mp/getappmsgext' || reportUrl === '/mp/getappmsgad') && typeof resData.base_resp.ret === 'undefined')) {
window.WX_BJ_REPORT.BadJs.report(reportUrl, 'ret=' + resData.base_resp.ret, {
mid: window.PAGE_MID,
view: 'wap_retcode'
});
}
}
} catch (e) {
console.error(e);
obj.error && obj.error(null, {
type: 1,
error: e,
status: res.statusCode
});
obj.complete && obj.complete();
reqLogItem.endTime = Date.now();
reqLogItem.response = res;
networkEndLog(reqLogItem);
return;
}
}
var tmpResData = {};
try {
tmpResData = JSON.parse(res.data);
} catch (e) {}
if (tmpResData && tmpResData.base_resp && tmpResData.base_resp.ret === -3 && retryTime < 2 && (mmversion.isIOS || mmversion.isAndroid && mmversion.getInner() > '27000600')) {
var _retryTime = retryTime++;
JSAPI.invoke('updatePageAuth', {}, function (res) {
console.log('[skeleton] updatePageAuth', res);
monitor$1.setSum(112287, 3, 1);
if (res && res.err_msg && res.err_msg.indexOf(':ok') > -1) {
window.top.pass_ticket = encodeURIComponent(Url.getQuery('pass_ticket', res.fullUrl).html(false).replace(/\s/g, '+'));
if (obj.pass_ticket) {
obj.pass_ticket = window.top.pass_ticket;
}
console.warn('[skeleton] updatePageAuth resetTopbar');
var supportNewTopBar = mmversion.isIOS && mmversion.gtVersion('7.0.10', true);
var showBottomBar = window.show_version === 2 && !Device.os.pc && !mmversion.isNewMpApp && document.querySelector('#article_bottom_bar_area');
if (window.top.item_show_type === '0' && supportNewTopBar) {
var _top = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop || 0;
setCurrentMpInfo(_top > 40 && !showBottomBar);
}
try {
obj.url = Url.addParam(obj.url, 'retry', _retryTime, true);
} catch (err) {
console.error(err);
}
jsapiRequest(obj, data);
monitor$1.setSum(112287, 4, 1);
} else {
obj.success && obj.success(resData);
obj.complete && obj.complete();
if (mmversion.isIOS) {
monitor$1.setSum(112287, 35, 1);
} else {
monitor$1.setSum(112287, 36, 1);
}
reqLogItem.status = 200;
reqLogItem.endTime = Date.now();
reqLogItem.response = resData;
networkEndLog(reqLogItem);
}
});
} else {
obj.success && obj.success(resData);
obj.complete && obj.complete();
reqLogItem.status = 200;
reqLogItem.endTime = Date.now();
reqLogItem.response = resData;
networkEndLog(reqLogItem);
}
} else if (res.err_msg.indexOf('no permission') > -1 || !mmversion.isOnlyWechat) {
Ajax(obj);
if (res.err_msg.indexOf('no permission') > -1) {
console.warn('[JSAPI Request] No permission');
monitor$1.setSum(112287, 31, 1);
}
reqLogItem.status = 302;
reqLogItem.endTime = Date.now();
reqLogItem.response = res;
networkEndLog(reqLogItem);
} else {
obj.error && obj.error(null, {
type: 3,
error: res,
status: 0
});
obj.complete && obj.complete();
monitor$1.setSum(112287, 32, 1);
var sample = 0.001;
if (Math.random() < sample) {
var msg = 'request: ' + JSON.stringify(obj.type) + ' ' + JSON.stringify(obj.url) + ' ;;;; cookie: ' + JSON.stringify(document.cookie) + ' ;;;; data: ' + JSON.stringify(data) + ' ;;;; resp: ' + JSON.stringify(res);
if (window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) {
window.WX_BJ_REPORT.BadJs.report('ajax_wx_request_error', msg, {
mid: 'mmbizwap:Monitor'
});
}
}
reqLogItem.status = 400;
reqLogItem.endTime = Date.now();
reqLogItem.response = res;
networkEndLog(reqLogItem);
}
});
};
if (reqType(obj, '/mp/getappmsgext')) {
window.startGetAppmsgExtTime = Date.now();
}
if (reqType(obj, '/mp/getappmsgad')) {
window.startGetAppmsgAdTime = Date.now();
}
return jsapiRequest(obj, data);
}
function AjaxMpapp(obj) {
var urlMatch = obj.url.match(/^http(s?):\/\/([^\/]+)/);
if (!mmversion.isNewMpApp
|| urlMatch && urlMatch[2] && urlMatch[2] !== 'mp.weixin.qq.com'
) {
Ajax(obj);
return;
}
var body = '';
if (_typeof(obj.data) === 'object') {
var d = obj.data;
var ds = [];
for (var k in d) {
if (d.hasOwnProperty(k)) {
ds.push(k + '=' + encodeURIComponent(d[k]));
}
}
body = ds.join('&');
} else {
body = typeof obj.data === 'string' ? obj.data : '';
}
var url = new URL(obj.url, location.href).href;
if (obj.type === 'GET' && _typeof(obj.data) === 'object') {
url = Url.join(url, obj.data);
}
if (obj.f !== 'html' && (url.indexOf('?f=json') === -1 || url.indexOf('&f=json') === -1)) {
url += '&f=json';
}
if (!obj.notJoinUrl && obj.f !== 'html') {
url = Url.joinUrl(url);
}
var rawHeader = {
Cookie: document.cookie,
referer: location.href
};
var reqLogItem = networkStartLog({
method: obj.type || 'GET',
url: url,
postData: obj.data || {},
requestHeader: rawHeader,
requestType: 'waproute'
});
var requestOptions = {
url: url,
body: body,
header: Object.keys(rawHeader).map(function (key) {
return {
key: key,
value: rawHeader[key]
};
}),
method: obj.type || 'GET',
timeout: obj.timeout || 5000
};
JSAPI.invoke('wapRoute', requestOptions, function (res) {
if (res.code === 0) {
try {
if (obj.dataType === 'json') {
var data = JSON.parse(res.content);
typeof obj.success === 'function' && obj.success(data);
reqLogItem.response = data;
} else {
typeof obj.success === 'function' && obj.success(res.content);
reqLogItem.response = res.content;
}
reqLogItem.status = 200;
reqLogItem.endTime = Date.now();
} catch (e) {
typeof obj.error === 'function' && obj.error(null, {
type: 1,
error: e,
status: 0
});
reqLogItem.endTime = Date.now();
reqLogItem.response = res;
}
} else {
typeof obj.error === 'function' && obj.error(null, {
type: 3,
error: res,
status: 0
});
reqLogItem.status = 400;
reqLogItem.endTime = Date.now();
reqLogItem.response = res;
var msg = 'request: ' + JSON.stringify(requestOptions.method) + ' ' + JSON.stringify(requestOptions.url) + ' ;;;; cookie: ' + JSON.stringify(document.cookie) + ' ;;;; data: ' + body + ' ;;;; resp: ' + JSON.stringify(res) + ' ;;;; timegap: ' + (reqLogItem.endTime - reqLogItem.startTime);
if (window.WX_BJ_REPORT && window.WX_BJ_REPORT.BadJs) {
window.WX_BJ_REPORT.BadJs.report('ajax_mpapp_request_error', msg, {
mid: 'mmbizwap:Monitor'
});
}
}
typeof obj.complete === 'function' && obj.complete();
networkEndLog(reqLogItem);
});
}
var ajax = function ajax(obj) {
if (mmversion.isNewMpApp) {
return AjaxMpapp(obj);
} else if (!mmversion.isWxWork && (window.__second_open__ || !isAcrossOrigin && top.window.__second_open__) && window.__is_page_auth_return__) {
return AjaxWx(obj);
} else {
return Ajax(obj);
}
};
var timer = null;
var jsmonitorReport = {};
window.__monitor_unload_has_done__ = false;
jsmonitorReport.setSum = function (id, key, value) {
monitor$1.setSum(id, key, value);
return jsmonitorReport;
};
jsmonitorReport.setAvg = function (id, key, value) {
monitor$1.setAvg(id, key, value);
return jsmonitorReport;
};
jsmonitorReport.setLogs = function (opt) {
monitor$1.setLogs(opt);
return jsmonitorReport;
};
jsmonitorReport.send = function (async) {
if (async !== false) {
async = true;
}
monitor$1.send(async, ajax);
return jsmonitorReport;
};
function reportInterval(fn, delay) {
timer = window.setTimeout(function () {
fn();
reportInterval(fn, delay);
}, delay);
}
reportInterval(function () {
jsmonitorReport.send();
}, 1 * 1000);
window.addEventListener('unload', function () {
if (window.__monitor_report_has_done__) return;
window.__ajaxtest = '2';
if (timer) {
window.clearTimeout(timer);
timer = null;
}
jsmonitorReport.send(false);
window.__monitor_unload_has_done__ = true;
}, false);
if (window.__jsmonitorReport) {
jsmonitorReport = window.__jsmonitorReport;
} else {
window.__jsmonitorReport = jsmonitorReport;
}
var jsmonitorReport$1 = jsmonitorReport;
function saveSpeeds(opt) {
var sample = 0.001;
if (typeof opt.sample == 'number') {
sample = opt.sample;
}
var rand = Math.random();
if (rand < sample) {
wxgsdk.saveSpeeds(opt);
}
}
function setBasicTime(opt) {
var sample = opt.sample || 0.001;
var rand = Math.random();
if (rand < sample) {
wxgsdk.setBasicTime(opt);
}
}
function send() {
wxgsdk.send();
}
function jsmonitor(opt) {
opt = opt || [];
if (!Array.isArray(opt)) {
var item = opt;
opt = [];
opt.push(item);
}
for (var i = 0; i < opt.length; i++) {
var _item = opt[i];
var id = _item.id;
var key = _item.key;
var value = _item.value || 1;
if (id !== undefined && key !== undefined) {
jsmonitorReport$1.setSum(id, key, value);
}
}
}
var wxgspeedsdk = {
saveSpeeds: saveSpeeds,
setBasicTime: setBasicTime,
send: send,
jsmonitor: jsmonitor
};
function _toPrimitive(input, hint) {
if (_typeof(input) !== "object" || input === null) return input;
var prim = input[Symbol.toPrimitive];
if (prim !== undefined) {
var res = prim.call(input, hint || "default");
if (_typeof(res) !== "object") return res;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (hint === "string" ? String : Number)(input);
}
function _toPropertyKey(arg) {
var key = _toPrimitive(arg, "string");
return _typeof(key) === "symbol" ? key : String(key);
}
function _defineProperty(obj, key, value) {
key = _toPropertyKey(key);
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _arrayWithHoles(arr) {
if (Array.isArray(arr)) return arr;
}
function _iterableToArrayLimit(arr, i) {
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
if (null != _i) {
var _s,
_e,
_x,
_r,
_arr = [],
_n = !0,
_d = !1;
try {
if (_x = (_i = _i.call(arr)).next, 0 === i) {
if (Object(_i) !== _i) return;
_n = !1;
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
} catch (err) {
_d = !0, _e = err;
} finally {
try {
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
} finally {
if (_d) throw _e;
}
}
return _arr;
}
}
function _arrayLikeToArray(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;
}
function _unsupportedIterableToArray(o, minLen) {
if (!o) return;
if (typeof o === "string") return _arrayLikeToArray(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(o, minLen);
}
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _slicedToArray(arr, i) {
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
}
function _arrayWithoutHoles(arr) {
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
}
function _iterableToArray(iter) {
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _toConsumableArray(arr) {
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
}
var uuid = function uuid() {
return ((1 + Math.random()) * 0x10000 | 0).toString(16).substring(1);
};
var WRAP_TAG = 'span';
var IMG_TAG = 'IMG';
var NODE_TYPE = {
text: 1,
img: 2
};
var blockEleTagName = ['P', 'DIV', 'SECTION', 'LI', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'TABLE', 'PRE', 'BLOCKQUOTE'];
var exceptEleClassName = ['js_product_container', 'js_blockquote_wrap'];
var ignoreTagName = ['IFRAME', 'VIDEO', 'MPVOICE', 'MPGONGYI', 'QQMUSIC', 'MPSHOP', 'MP-WEAPP', 'MP-MINIPROGRAM', 'MPPRODUCT', 'MPCPS'];
var ignoreEleId = ['js_mpvideo'];
var ignoreEleClassName = ['js_product_container'];
var TEMP_NODES = {};
var childNodesHasEle = function childNodesHasEle(element) {
var tagNameList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : blockEleTagName;
if (!element || element.nodeType !== 1) {
return false;
}
for (var i = 0; i < element.children.length; i++) {
if (tagNameList.indexOf(element.children[i].tagName) !== -1) {
return true;
}
}
return false;
};
function eleHasAttr(ele) {
var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'className';
var AttrList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : exceptEleClassName;
for (var i = 0; i < AttrList.length; i++) {
if (ele[attr] && typeof ele[attr] === 'string' && ele[attr].indexOf(AttrList[i]) > -1) {
return true;
}
}
return false;
}
var removeChildMedia = function removeChildMedia(element) {
var parentNode = element.parentNode;
element.parentNode.removeChild(element);
if (parentNode.children && parentNode.children.length) {
return false;
}
return true;
};
var getParaList = function getParaList(element, _ref) {
var _ref$getNestedStructu = _ref.getNestedStructure,
getNestedStructure = _ref$getNestedStructu === void 0 ? true : _ref$getNestedStructu,
_ref$removeIgoreEle = _ref.removeIgoreEle,
removeIgoreEle = _ref$removeIgoreEle === void 0 ? false : _ref$removeIgoreEle;
var paraList = function getParaListWithIndex(ele, getNested) {
var childNodes = ele.children;
if (!childNodes) return [];
if (!childNodes.length) {
return childNodes;
}
var child;
var paragraphList = [];
for (var i = 0; i < childNodes.length; i++) {
child = childNodes[i];
if (eleHasAttr(child, 'id', ignoreEleId) || eleHasAttr(child, 'className', ignoreEleClassName)) {
if (removeIgoreEle) {
child.parentNode.removeChild(child);
i -= 1;
}
continue;
}
if (childNodesHasEle(child, ignoreTagName)) {
if (removeIgoreEle) {
removeChildMedia(child);
i -= 1;
}
continue;
}
if (childNodesHasEle(child, blockEleTagName) && !eleHasAttr(child)) {
paragraphList = paragraphList.concat(getParaListWithIndex(child, getNested));
if (getNested) {
if (!child.getAttribute('data-index')) {
paragraphList.push(child);
}
}
} else {
if (!child.getAttribute('data-index')) {
paragraphList.push(child);
}
}
}
return paragraphList;
}(element, getNestedStructure);
return [].slice.call(paraList);
};
getParaList.paragraphStartIdx = 1000000;
var getSplitTextNode = function getSplitTextNode($textNode, startOffset, endOffset, paraIndex) {
try {
$textNode.splitText(startOffset);
} catch (err) {
if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) {
WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', {
mid: 'mmbizwap:articlemask_Monitor',
view: 'wap_business',
_info: {
type: 'getSplitTextNode textnode',
startOffset: startOffset,
endOffset: endOffset
}
});
}
}
var selectedNode = $textNode.nextSibling;
try {
selectedNode.splitText(endOffset - startOffset);
} catch (e) {
if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) {
WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', {
mid: 'mmbizwap:articlemask_Monitor',
view: 'wap_business',
_info: {
type: 'getSplitTextNode nextSibling',
startOffset: startOffset,
endOffset: endOffset
}
});
}
}
return [{
$node: selectedNode,
type: NODE_TYPE.text,
idx: paraIndex
}];
};
var getBlockNode = function getBlockNode($node) {
if (blockEleTagName.indexOf($node.tagName) !== -1 && typeof $node.dataset.index !== 'undefined') {
return $node;
}
return getBlockNode($node.parentNode);
};
var getPureBlockNode = function getPureBlockNode($node) {
if (!$node) return $node;
if (blockEleTagName.indexOf($node.tagName) !== -1) {
return $node;
}
return getPureBlockNode($node.parentNode);
};
var getNodesByDFS = function getNodesByDFS(range) {
var start = range.start,
end = range.end,
$container = range.$container;
var $startNode = start.$node,
startOffset = start.offset;
var $endNode = end.$node,
endOffset = end.offset;
var queue = [];
var result = [];
var withinSelectRange = false;
var achiveSelectRangeEnd = false;
var paraIndex = 0;
queue.push($container);
while (queue.length > 0) {
var item = queue.pop();
var nodeType = item.nodeType,
tagName = item.tagName;
if (item.dataset && item.dataset.index) {
paraIndex = +item.dataset.index;
}
if (withinSelectRange && !achiveSelectRangeEnd) {
if (nodeType === 3) {
result.push({
$node: item,
type: NODE_TYPE.text,
idx: paraIndex
});
}
if (tagName === IMG_TAG) {
result.push({
$node: item,
type: NODE_TYPE.img,
idx: paraIndex
});
}
}
if (item === $startNode) {
if (nodeType === 3) {
try {
item.splitText(startOffset);
} catch (e) {
WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', {
mid: 'mmbizwap:articlemask_Monitor',
view: 'wap_business',
_info: {
type: 'getNodes startNode',
startOffset: startOffset,
endOffset: endOffset
}
});
}
var $startTextNode = item.nextSibling;
result.push({
$node: $startTextNode,
type: NODE_TYPE.text,
idx: paraIndex
});
} else if (tagName === IMG_TAG) {
result.push({
$node: item,
type: NODE_TYPE.img,
idx: paraIndex
});
} else {
result.push({
$node: item,
type: NODE_TYPE.text,
idx: paraIndex
});
}
withinSelectRange = true;
}
if (item === $endNode || achiveSelectRangeEnd) {
if (!achiveSelectRangeEnd) {
achiveSelectRangeEnd = true;
}
if (item === $endNode) result.pop();
if (nodeType === 3) {
try {
item.splitText(endOffset);
} catch (e) {
if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) {
WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', {
mid: 'mmbizwap:articlemask_Monitor',
view: 'wap_business',
_info: {
type: 'getSplitTextNode endNode',
startOffset: startOffset,
endOffset: endOffset
}
});
}
}
result.push({
$node: item,
type: NODE_TYPE.text,
idx: paraIndex
});
break;
} else if (tagName === IMG_TAG) {
result.push({
$node: item,
type: NODE_TYPE.img,
idx: paraIndex
});
break;
} else {
var _children = item.childNodes;
for (var i = _children.length - 1; i >= 0; i--) {
queue.push(_children[i]);
}
}
}
var children = item.childNodes;
for (var _i = children.length - 1; _i >= 0; _i--) {
queue.push(children[_i]);
}
}
return result;
};
var getSelectedNodes = function getSelectedNodes(range) {
var start = range.start,
end = range.end;
var $startNode = start.$node,
startOffset = start.offset;
var $endNode = end.$node,
endOffset = end.offset;
if ($startNode === $endNode && $startNode instanceof Text) {
return getSplitTextNode($startNode, startOffset, endOffset, start.paraIndex);
}
return getNodesByDFS(range);
};
var checkTextNode = function checkTextNode($node) {
return $node && ($node.nodeValue || $node.innerText);
};
var connectSiblingText = function connectSiblingText(prev, next, target) {
var $delete = target === prev ? next : prev;
if (!checkTextNode(prev) || !checkTextNode(next)) {
return $delete;
}
var text = (prev.nodeValue || prev.innerText) + (next.nodeValue || next.innerText);
target.nodeValue = text;
target.parentNode.removeChild($delete);
return target;
};
var getTextNodeByOffset = function getTextNodeByOffset($parentNode, offset) {
var queue = [];
var curOffset = 0;
var startOffset = 0;
var $curNode;
queue.push($parentNode);
while (queue.length > 0) {
$curNode = queue.pop();
if ($curNode.nodeType === 3) {
startOffset = offset - curOffset;
curOffset += $curNode.textContent.length;
if (curOffset >= offset) {
break;
}
}
var children = $curNode.childNodes;
for (var i = children.length - 1; i >= 0; i--) {
queue.push(children[i]);
}
}
return {
$parentNode: $parentNode,
$node: $curNode,
offset: startOffset
};
};
function getBlockOffset(_ref2) {
var $blockNode = _ref2.$blockNode,
$node = _ref2.$node;
if ($blockNode === null) {
return null;
}
var queue = [];
var offset = 0;
queue.push($blockNode);
while (queue.length > 0) {
var item = queue.pop();
if (item.nodeType === 3 && item.nodeValue !== $node.nodeValue) {
offset += item.textContent.length;
} else if (item.nodeType === 1) {
offset += 1;
if (item === $node) break;
} else if (item.nodeValue === $node.nodeValue) {
offset += item.textContent.length;
break;
}
var children = item.childNodes;
for (var i = children.length - 1; i >= 0; i--) {
queue.push(children[i]);
}
}
return offset;
}
var getDomMeta = function getDomMeta(selection) {
selection.$node;
var $parentNode = selection.$parentNode;
var parentIndex = Number($parentNode.dataset.index);
var offset = getBlockOffset($parentNode);
return {
parentIndex: parentIndex,
fromParentoffset: offset
};
};
function nodeToSelection($node) {
var $blockNode = getBlockNode($node);
var paraIndex = +$blockNode.dataset.index;
var offset = 0;
var item = {
$blockNode: $blockNode,
$node: $node,
paraIndex: paraIndex,
offset: offset
};
var id = uuid();
return {
start: item,
end: item,
id: id
};
}
var getSelection = function getSelection() {
var selection = window.getSelection();
if (selection.anchorNode === null) {
return null;
}
var selectionRange = selection.getRangeAt(0);
if (!selectionRange || !selection.toString()) {
return null;
}
var startContainer = selectionRange.startContainer,
endContainer = selectionRange.endContainer,
commonAncestorContainer = selectionRange.commonAncestorContainer,
startOffset = selectionRange.startOffset,
endOffset = selectionRange.endOffset;
var $startBlockNode = getBlockNode(startContainer);
var $endBlockNode = getBlockNode(endContainer);
var startIndex = $startBlockNode && $startBlockNode.dataset.index;
var endIndex = $endBlockNode && $endBlockNode.dataset.index;
var start = {
$blockNode: $startBlockNode,
$node: startContainer,
offset: startOffset,
paraIndex: Number(startIndex)
};
var end = {
$blockNode: $endBlockNode,
$node: endContainer,
offset: endOffset,
paraIndex: Number(endIndex)
};
var $container = typeof commonAncestorContainer === 'string' ? commonAncestorContainer.parentNode : commonAncestorContainer;
var id = uuid();
return {
start: start,
end: end,
$container: $container,
id: id
};
};
var transferTextToElement = function transferTextToElement($node, id) {
if (!$node) return null;
if ($node.nodeType === 3) {
var $wrap = document.createElement(WRAP_TAG);
$wrap.setAttribute('data-splitid', id);
$wrap.appendChild($node.cloneNode(false));
if ($node.parentNode) {
$node.parentNode.replaceChild($wrap, $node);
}
return $wrap;
}
return $node;
};
var serialize = function serialize(selectionRange) {
var start = selectionRange.start,
end = selectionRange.end,
id = selectionRange.id;
var startParaOffset = getBlockOffset(start);
var endParaOffset = start.$node === end.$node ? end.offset - start.offset + startParaOffset : getBlockOffset(end);
var meta = {
id: id,
start: {
para_offset: startParaOffset,
para_index: start.paraIndex
},
end: {
para_offset: endParaOffset,
para_index: end.paraIndex
}
};
return meta;
};
var mapMetaToLocal = function mapMetaToLocal(paraList) {
return function (meta) {
var paraOffset = meta.para_offset,
paraIndex = meta.para_index;
var $blockNode = paraList[paraIndex];
var queue = [];
var curOffset = 0;
var offset = 0;
var $curNode;
queue.push($blockNode);
while (queue.length > 0) {
$curNode = queue.pop();
if ($curNode.nodeType === 3) {
offset = paraOffset - curOffset;
curOffset += $curNode.textContent.length;
if (curOffset >= paraOffset) {
break;
}
}
if ($curNode.nodeType === 1) {
offset = paraOffset - curOffset;
curOffset += 1;
if (curOffset >= paraOffset) {
break;
}
}
var children = $curNode.childNodes;
for (var i = children.length - 1; i >= 0; i--) {
queue.push(children[i]);
}
}
return {
$blockNode: $blockNode,
$node: $curNode,
offset: offset,
paraIndex: paraIndex
};
};
};
var deSerialize = function deSerialize(meta, paraList, $container) {
var desparaList = mapMetaToLocal(paraList);
return {
start: desparaList(meta.start),
end: desparaList(meta.end),
id: meta.id,
$container: $container
};
};
function getTextNode($node) {
if ($node.tagName === IMG_TAG || $node.nodeType === 3) {
return $node;
}
return $node.childNodes[0];
}
var resetRange = function resetRange(selectionRange) {
window.getSelection().removeAllRanges();
var selection = window.getSelection();
var range = document.createRange();
var $startnode = getTextNode(TEMP_NODES.start);
var $endnode = getTextNode(TEMP_NODES.end);
range.setStart($startnode, selectionRange.start.offset);
range.setEnd($endnode, selectionRange.end.offset);
selection.addRange(range);
};
var getNodeIndex = function getNodeIndex($block, $node) {
var queue = [];
var index = 0;
queue.push($block);
while (queue.length > 0) {
var $item = queue.pop();
if ($item === $node) break;
index++;
var children = $item.children;
for (var i = 0; i < children.length; i++) {
queue.push(children[i]);
}
}
return index;
};
var getNodeByIndex = function getNodeByIndex($block, index) {
var queue = [];
var cursor = 0;
var $result = null;
queue.push($block);
while (queue.length > 0) {
var $item = queue.pop();
if (cursor === index) {
$result = $item;
break;
}
cursor++;
var children = $item.children;
for (var i = 0; i < children.length; i++) {
queue.push(children[i]);
}
}
return $result;
};
var hasClass = function hasClass(cls, className) {
if (cls && typeof cls === 'string' && cls.indexOf(className) !== -1) {
return true;
}
return false;
};
var inWhiteList = function inWhiteList(classAttr) {
var classWhiteList = 'rich_pages,blockquote_info,blockquote_biz,blockquote_other,blockquote_article,js_jump_icon,h5_image_link,js_banner_container,js_list_container,js_cover,js_tx_video_container,js_product_err_container,js_product_loop_content,js_product_container,img_loading,list-paddingleft-1,list-paddingleft-2,list-paddingleft-3,selectTdClass,noBorderTable,ue-table-interlace-color-single,ue-table-interlace-color-double,__bg_gif,weapp_image_link,js_img_loading,wx_video_context,db,wx_video_thumb_primary,wx_video_play_btn,wx_video_mask,qqmusic_area,tc,tips_global,unsupport_tips,qqmusic_wrp,appmsg_card_context,appmsg_card_active,wx_tap_card,js_wx_tap_highlight,wx_tap_link,qqmusic_bd,play_area,icon_qqmusic_switch,pic_qqmusic_default,qqmusic_thumb,access_area,qqmusic_songname,qqmusic_singername,qqmusic_source,js_audio_frame,share_audio_context,flex_context,pages_reset,share_audio_switch,icon_share_audio_switch,share_audio_info,flex_bd,share_audio_title,share_audio_tips,share_audio_progress_wrp,share_audio_progress,share_audio_progress_inner,share_audio_progress_buffer,share_audio_progress_loading,share_audio_progress_loading_inner,share_audio_progress_handle,share_audio_desc,share_audio_length_current,share_audio_length_total,video_iframe,vote_iframe,js_editor_vote_card,res_iframe,card_iframe,js_editor_card,weapp_display_element,js_weapp_display_element,weapp_card,app_context,weapp_card_bd,weapp_card_profile,radius_avatar,weapp_card_avatar,weapp_card_nickname,weapp_card_info,weapp_card_title,weapp_card_thumb_wrp,weapp_card_ft,weapp_card_logo,js_pay_btn,pay,pay__mask,wx_video_loading,js_redpacketcover,js_uneditable,js_uneditablemouseover,js_editor_qqmusic,js_img_placeholder,js_editor_audio,ct_geography_loc_tip,js_poi_entry,js_mention_entry'.split(',');
var qaClassPrefix = 'qa__';
var classWhiteListReg = [new RegExp('^weui'), new RegExp('^appmsg'), new RegExp('^audio'), new RegExp('^music'), new RegExp('^cps_inner'), new RegExp('^bizsvr_'), new RegExp('^code-snippet'), new RegExp('^' + qaClassPrefix), new RegExp('^wx-edui-'), new RegExp('^wx_'), new RegExp('^wx-'), new RegExp('^custom_select_card_')
];
if (!classAttr) return null;
var classList = classAttr.split(/\s+/);
var newClassList = [];
for (var i = 0, len = classList.length; i < len; ++i) {
var className = classList[i];
if (className && classWhiteList.indexOf(className) !== -1) {
newClassList.push(className);
} else {
for (var j = 0, jl = classWhiteListReg.length; j < jl; j++) {
if (classWhiteListReg[j].test(className)) {
newClassList.push(className);
break;
}
}
}
}
var str = newClassList.join('.');
return str && '.' + str;
};
var getNodeSelector = function getNodeSelector(node) {
var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
var root = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document.body;
if (!node || node === root) return selector;
var id = node.getAttribute('id');
var className = node.getAttribute('class');
var tagName = node.tagName.toLowerCase();
var currentSelector = null;
if (id && !hasClass(className, 'articlepart-selector-area_choice-button_wrap')) return selector ? "#".concat(id, ">").concat(selector) : "#".concat(id);
var whiteClassName = inWhiteList(className);
if (whiteClassName) {
currentSelector = whiteClassName;
} else if (hasClass(className, 'js_choice-img')) {
currentSelector = '.js_choice-img';
} else if (hasClass(className, 'articlepart-selector-area_choice')) {
currentSelector = node.dataset.splitid ? '' : tagName;
} else {
currentSelector = tagName;
}
return getNodeSelector(node.parentNode, [currentSelector, selector].filter(function (item) {
return !!item;
}).join('>'), root);
};
var getNodeSelectorWrap = function getNodeSelectorWrap(node, root) {
var selector = getNodeSelector(node, '', root);
var collect = [];
try {
collect = root.querySelectorAll(selector);
} catch (error) {
console.log('get node selector wrap err', error);
}
var len = collect.length;
var index = null;
for (var i = 0; i < len; i++) {
if (node === collect[i]) {
index = i;
break;
}
}
if (index === null) {
if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) {
WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'selector:node not find', {
mid: 'mmbizwap:articlemask_Monitor',
view: 'wap_business',
_info: {
selector: selector
}
});
}
}
var newSelector = (selector || '').replace('>.js_choice-img>', '>') + "|".concat(len, " ").concat(index || 0);
return newSelector;
};
var serializeToC = function serializeToC(nodes) {
return nodes.map(function (item) {
var $node = item.$node,
type = item.type,
idx = item.idx;
var index = 0;
var data = null;
var meta = '';
var blockItem = getBlockNode($node);
if (type === NODE_TYPE.text) {
var nodeIndex = getNodeIndex(blockItem, $node.parentNode);
if ($node && $node.data) {
index = nodeIndex;
data = $node.data;
meta = $node.previousSibling && $node.previousSibling.data;
}
} else if (type === NODE_TYPE.img) {
var imgs = blockItem.getElementsByTagName('img');
data = $node.src;
index = Array.prototype.slice.call(imgs).slice(0).indexOf($node);
}
return {
data: data,
index: index,
idx: idx,
type: type,
meta: meta
};
}).filter(function (item) {
return item.index > -1 && !!item.data;
});
};
var serializeToC2 = function serializeToC2(nodes, $container) {
var root = $container || document.getElementById('js_content');
return nodes.map(function (item) {
var $node = item.$node,
type = item.type,
idx = item.idx;
var selector = null;
var data = null;
var meta = '';
if (type === NODE_TYPE.text) {
if ($node && $node.data) {
selector = getNodeSelectorWrap($node.parentNode, root);
data = $node.data;
meta = $node.previousSibling && $node.previousSibling.data;
}
} else if (type === NODE_TYPE.img) {
selector = getNodeSelectorWrap($node, root);
data = $node.src;
}
return {
data: data,
idx: idx,
type: type,
meta: meta,
selector: selector
};
}).filter(function (item) {
return !!item.selector && !!item.data;
});
};
function setProperty(el, name, value, priority) {
if (!!el.style.setProperty) {
priority = priority || null;
el.style.setProperty(name, value, priority);
} else if (typeof el.style.cssText !== 'undefined') {
priority = priority ? '!' + priority : '';
el.style.cssText += ';' + name + ':' + value + priority + ';';
}
}
function hasImgNode($el) {
if (!$el) return false;
var nodeType = $el.nodeType,
tagName = $el.tagName;
if (nodeType === 3) {
return false;
}
if (tagName === IMG_TAG) {
return true;
}
return false;
}
function getContent(tree) {
return tree.reduce(function (acc, cur, idx) {
if (idx === 0) {
if (cur.type === NODE_TYPE.text) {
acc.text.push(cur.data);
} else if (cur.type === NODE_TYPE.img) {
acc.pic.push(cur.data);
}
return acc;
}
if (cur.type === NODE_TYPE.text) {
if (tree[idx - 1].type === NODE_TYPE.text) {
var text = acc.text.pop();
text += cur.data;
acc.text.push(text);
} else {
acc.text.push(cur.data);
}
return acc;
}
if (cur.type === NODE_TYPE.img) {
acc.pic.push(cur.data);
}
return acc;
}, {
audio: [],
pic: [],
video: [],
text: []
});
}
function saveNode($node, key) {
TEMP_NODES[key] = $node;
}
function serializeNode($node, $wrap) {
var range = nodeToSelection($node);
var anchorTree = serializeToC2([{
$node: $node,
type: NODE_TYPE.img,
idx: range.start.paraIndex
}], $wrap);
var anchorMeta = serialize(range);
var anchorBrief = getContent(anchorTree);
return {
meta: {
anchorTree: anchorTree,
anchorMeta: anchorMeta,
anchorBrief: anchorBrief
},
range: range
};
}
function findChildIndex(parent, offset) {
var childNodes = parent.childNodes;
var realOffset = offset;
var $node = null;
var i = 0;
for (i = 0; i < childNodes.length; i++) {
$node = childNodes[i];
if ($node.nodeType === 3) {
var len = $node.length;
if (len > realOffset) {
break;
} else {
realOffset -= len;
}
}
}
return {
$node: $node,
cursor: realOffset
};
}
var qs = function qs(selector, el) {
return (el || document).querySelector(selector);
};
var qsAll = function qsAll(selector, el) {
return (el || document).querySelectorAll(selector);
};
var dom = {
getDomMeta: getDomMeta,
getContent: getContent,
getParaList: getParaList,
getBlockNode: getBlockNode,
getSelectedNodes: getSelectedNodes,
connectSiblingText: connectSiblingText,
getTextNodeByOffset: getTextNodeByOffset,
getBlockOffset: getBlockOffset,
getSelection: getSelection,
transferTextToElement: transferTextToElement,
serialize: serialize,
deSerialize: deSerialize,
resetRange: resetRange,
serializeToC: serializeToC,
setProperty: setProperty,
hasImgNode: hasImgNode,
nodeToSelection: nodeToSelection,
saveNode: saveNode,
serializeNode: serializeNode,
getNodeByIndex: getNodeByIndex,
findChildIndex: findChildIndex,
serializeToC2: serializeToC2,
blockEleTagName: blockEleTagName,
getPureBlockNode: getPureBlockNode,
qs: qs,
qsAll: qsAll,
hasClass: hasClass
};
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var paraList = [];
var totalHit = 0;
var STATUS = {
auditing: 1,
ban: 2
};
function keyby(arr, key) {
return arr.reduce(function (acc, item) {
if (typeof item[key] === 'undefined') return acc;
if (!acc[item[key]]) acc[item[key]] = [];
acc[item[key]].push(item);
return acc;
}, {});
}
function getBannerWord(anchor) {
return '以下内容存在争议 <a style="color: var(--weui-LINK);" target="_blank" href="https://mp.weixin.qq.com/s/_2kC-fXw7UjneZSrsC9CVQ">了解更多</a>';
}
function addBanner(node, text) {
var paraNode = _typeof(node) === 'object' ? node : paraList[node];
if (paraNode.dataset.hasBanner) return;
var divNode = document.createElement('div');
divNode.dataset.hasBanner = 1;
divNode.style = 'background-color: var(--weui-BG-1);font-size: 14px;color: var(--weui-FG-2);text-align: left;margin-top: 20px;margin-bottom: 4px;padding: 4px 8px 6px 8px;border-radius:4px;';
var iconNode = document.createElement('span');
iconNode.style = 'color: var(--weui-FG-0);padding: 2px;display: inline-block;vertical-align: middle; width: 20px;height: 20px;margin-right: 4px; background-size: cover;background-position: center center;-webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'20\' height=\'20\' viewBox=\'0 0 20 20\'%3E %3Cpath fill-opacity=\'.3\' fill-rule=\'evenodd\' d=\'M10 1.667a8.333 8.333 0 1 1 0 16.666 8.333 8.333 0 0 1 0-16.666zm-.004 11.115a.732.732 0 0 0-.746.735c0 .416.33.735.746.735a.73.73 0 0 0 .752-.735.73.73 0 0 0-.752-.735zm.638-7.669h-1.27l.091 6.33h1.088l.091-6.33z\'/%3E%3C/svg%3E") no-repeat 50% 50%;mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'20\' height=\'20\' viewBox=\'0 0 20 20\'%3E %3Cpath fill-opacity=\'.3\' fill-rule=\'evenodd\' d=\'M10 1.667a8.333 8.333 0 1 1 0 16.666 8.333 8.333 0 0 1 0-16.666zm-.004 11.115a.732.732 0 0 0-.746.735c0 .416.33.735.746.735a.73.73 0 0 0 .752-.735.73.73 0 0 0-.752-.735zm.638-7.669h-1.27l.091 6.33h1.088l.091-6.33z\'/%3E%3C/svg%3E") no-repeat 50% 50%;background-color: currentColor;';
var textNode = document.createElement('span');
textNode.style = 'display: inline-block;line-height: 14px;vertical-align: middle;';
textNode.innerHTML = text;
divNode.appendChild(iconNode);
divNode.appendChild(textNode);
paraNode.parentNode.insertBefore(divNode, paraNode, null);
paraNode.dataset.hasBanner = 1;
}
function maskText(data, domNode, cursor) {
var len = data.length;
var maskMat = _toConsumableArray(Array(len)).map(function () {
return '〇';
}).join('');
var childNodes = domNode.childNodes;
var newCursor = cursor;
for (var i = 0; i < childNodes.length; i++) {
var node = childNodes[i];
if (node.nodeType === 3) {
if (newCursor > node.data.length) {
newCursor -= node.data.length;
} else {
node.data = node.data.slice(0, newCursor).concat(maskMat).concat(node.data.slice(newCursor + len));
}
} else if (node.nodeText === 1) {
newCursor -= node.innerText && node.innerText.length || 0;
}
}
}
function disputeText(data, domNode, cursor) {
var len = data.length;
var _dom$findChildIndex = dom.findChildIndex(domNode, cursor),
textNode = _domnode,
realOffset = _dom$findChildIndex.realOffset;
try {
textNode.splitText(realOffset);
} catch (e) {
if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) {
WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', {
mid: 'mmbizwap:articlemask_Monitor',
view: 'wap_business',
_info: {
type: 'disputeText textNode',
data: data,
cursor: cursor
}
});
}
}
var repalcedNode = textNode.nextSibling;
try {
repalcedNode.splitText(len);
} catch (e) {
if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) {
WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', {
mid: 'mmbizwap:articlemask_Monitor',
view: 'wap_business',
_info: {
type: 'disputeText nextSibling',
data: data,
cursor: cursor
}
});
}
}
var spanNode = document.createElement('span');
spanNode.style = 'background-color: rgba(0,0,0,0.10);';
spanNode.appendChild(repalcedNode.cloneNode(true));
repalcedNode.parentNode.replaceChild(spanNode, repalcedNode);
}
function disputeImage(data, domNode) {
var spanNode = document.createElement('span');
spanNode.style = 'position:relative;display: inline-block;';
var iconNode = document.createElement('span');
iconNode.style = "\n position: absolute;\n top: 4px;\n left: 4px;\n display: inline-block;\n vertical-align: middle;\n width: 24px;\n height: 24px;\n background-size: cover;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E %3Cpath fill='%23FFF' fill-rule='evenodd' d='M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm-.004 13.339a.878.878 0 0 0-.896.882c0 .499.396.882.896.882.512 0 .902-.383.902-.882 0-.5-.39-.882-.902-.882zm.765-9.203h-1.524l.11 7.596h1.305l.11-7.596z'/%3E%3C/svg%3E\");\n ";
var parent = domNode.parentNode;
spanNode.appendChild(domNode.cloneNode(false));
parent.replaceChild(spanNode, domNode);
spanNode.appendChild(iconNode);
}
function maskImage(data, domNode) {
domNode.style.filter = 'blur(10px)';
domNode.style['-webkit-filter'] = 'blur(10px)';
}
function hitMaskText(anchor, domNode) {
var data = anchor.data,
meta = anchor.meta,
index = anchor.index,
idx = anchor.idx;
var wholeText = domNode.data;
var prefixText = (meta || '') + data;
if (wholeText.indexOf(prefixText) === -1) {
return {
hit: false
};
}
var itemNode = dom.getNodeByIndex(paraList[idx], index);
if (itemNode) {
totalHit++;
} else {
if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) {
WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'text node cannot find', {
mid: 'mmbizwap:articlemask_Monitor',
view: 'wap_business',
_info: {
anchor: anchor,
wholeText: wholeText
}
});
}
}
var cursor = itemNode && itemNode.innerText.indexOf(prefixText) + (meta || '').length;
return {
hit: !!itemNode,
$hitDom: itemNode,
cursor: cursor
};
}
function hitMaskImage(anchor, domNode) {
var index = anchor.index,
idx = anchor.idx,
data = anchor.data;
var para = paraList[idx];
var allImgNode = para.querySelectorAll('img');
var hitItenNode = allImgNode[index];
var src = hitItenNode && (hitItenNode.getAttribute('data-src') || hitItenNode.getAttribute('src'));
if (src === data) {
totalHit++;
return {
hit: true,
$hitDom: domNode,
cursor: 0
};
}
return {
hit: false
};
}
function createMask(anchor, domNode) {
return function (hitFn, maskFn, next) {
var _hitFn = hitFn(anchor, domNode),
hit = _hitFn.hit,
$hitDom = _hitFn.$hitDom,
cursor = _hitFn.cursor;
if (hit) {
maskFn(anchor.data, $hitDom, cursor);
next();
}
};
}
function maskAnchors(anchors, paraNode) {
var queue = [];
var cloneAnchors = _toConsumableArray(anchors);
queue.push(paraNode);
var anchor = null;
var next = function next() {
anchor = cloneAnchors.shift();
};
next();
while (queue.length > 0 && cloneAnchors.length >= 0 && anchor) {
var itemNode = queue.pop();
if (!itemNode) continue;
if (!anchor) continue;
var nodeType = itemNode.nodeType,
tagName = itemNode.tagName;
var createMaskFn = createMask(anchor, itemNode);
if (nodeType === 3) {
if (anchor.type === NODE_TYPE.text) {
createMaskFn(hitMaskText, anchor.status === STATUS.ban ? maskText : disputeText, next);
}
continue;
}
if (nodeType === 1 && tagName === IMG_TAG) {
if (anchor.type === NODE_TYPE.img) {
createMaskFn(hitMaskImage, anchor.status === STATUS.ban ? maskImage : disputeImage, next);
}
continue;
}
var children = itemNode.childNodes;
for (var i = children.length - 1; i >= 0; i--) {
queue.push(children[i]);
}
}
}
function parseSelector(selectorStr) {
if (!selectorStr) return {};
var _selectorStr$split = selectorStr.split('|'),
_selectorStr$split2 = _slicedToArray(_selectorStr$split, 2),
selector = _selectorStr$split2[0],
other = _selectorStr$split2[1];
var _other$split = other.split(' '),
_other$split2 = _slicedToArray(_other$split, 2),
total = _other$split2[0],
index = _other$split2[1];
return {
selector: selector.replace(/>/g, '>'),
total: total * 1,
index: index * 1
};
}
function hitNode(node, anchor) {
if (!node) return null;
var type = anchor.type,
data = anchor.data,
meta = anchor.meta;
if (type === NODE_TYPE.text) {
var nodeText = node.innerText || node.innerHTML || '';
var prefixText = ((meta || '') + data).replace(/&/g, '&');
if (nodeText.indexOf(prefixText) !== -1) {
var cursor = nodeText.indexOf(prefixText) + (meta || '').length;
return {
cursor: cursor,
node: node
};
}
}
if (type === NODE_TYPE.img) {
var src = node && (node.getAttribute('data-src') || node.getAttribute('src'));
if (src === data.replace(/&/g, '&')) {
return {
cursor: 0,
node: node
};
}
}
return null;
}
function maskNode(anchor, domNode, cursor) {
var type = anchor.type,
data = anchor.data,
status = anchor.status;
if (status !== STATUS.ban) return;
if (type === NODE_TYPE.text) maskText(data, domNode, cursor);
if (type === NODE_TYPE.img) maskImage(data, domNode);
}
function initOld(wrapNode, anchors) {
paraList = dom.getParaList(wrapNode, {
getNestedStructure: true,
removeIgoreEle: false
});
var formatAnchor = keyby(anchors, 'idx');
if (!paraList) return;
(paraList || []).forEach(function (para, index) {
var paraAnchors = formatAnchor[index];
if (paraAnchors && paraAnchors.length > 0) {
addBanner(index, getBannerWord(paraAnchors[0]));
maskAnchors(paraAnchors, para);
}
});
if (anchors && anchors.length !== totalHit) {
if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) {
WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'totalHit', {
mid: 'mmbizwap:articlemask_Monitor',
view: 'wap_business',
_info: {
totalHit: totalHit,
anchors: anchors
}
});
}
}
}
function addChildBanner(node, anchor) {
var blockNode = dom.getPureBlockNode(node);
if (!blockNode) return;
addBanner(blockNode, getBannerWord());
}
function maskAnchors2(wrapNode, anchors) {
var missNodes = [];
var countList = [];
var maskNodeList = [];
var cacheSelector = {};
anchors.forEach(function (anchor, i) {
var _parseSelector = parseSelector(anchor.selector),
selector = _parseSelector.selector,
index = _parseSelector.index,
total = _parseSelector.total;
var nodes = cacheSelector[selector] || [];
if (nodes.length === 0) {
try {
nodes = wrapNode.querySelectorAll(selector);
cacheSelector[selector] = nodes;
} catch (e) {
if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) {
WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'splitText Error', {
mid: 'mmbizwap:articlemask_Monitor',
view: 'wap_business',
_info: {
anchor: anchor
}
});
}
}
}
var cursorLeft = index;
var cursorRight = index;
var queue = [];
var node = null;
var cursor = 0;
var count = 0;
queue.push(nodes[index]);
while (queue.length) {
var current = queue.pop();
var hitData = hitNode(current, anchor);
count++;
if (hitData && hitData.node) {
node = hitData.node;
cursor = hitData.cursor;
break;
}
if (cursorLeft - 1 >= 0 && nodes[cursorLeft - 1]) {
queue.push(nodes[cursorLeft - 1]);
cursorLeft -= 1;
}
if (cursorRight + 1 < nodes.length && nodes[cursorRight + 1]) {
queue.push(nodes[cursorRight + 1]);
cursorRight += 1;
}
}
if (node) {
maskNodeList.push({
anchor: anchor,
node: node,
cursor: cursor
});
addChildBanner(node);
} else if (selector && selector.lastIndexOf('>') !== -1) {
missNodes.push(_objectSpread(_objectSpread({}, anchor), {}, {
selector: selector && selector.slice(0, selector.lastIndexOf('>')) + "|".concat(total, " ").concat(index)
}));
}
countList[i] = count;
});
maskNodeList.forEach(function (item) {
maskNode(item.anchor, item.node, item.cursor);
});
if (missNodes.length) {
maskAnchors2(wrapNode, missNodes);
if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) {
WX_BJ_REPORT.BadJs.report('ArticleMask:Error', 'missNodes', {
mid: 'mmbizwap:articlemask_Monitor',
view: 'wap_business',
_info: {
missNodes: missNodes
}
});
}
}
if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) {
WX_BJ_REPORT.BadJs.report('ArticleMask:Info', 'querycount', {
mid: 'mmbizwap:articlemask_Monitor',
view: 'wap_business',
_info: {
countList: countList
}
});
}
}
function init2(wrapNode, anchors) {
maskAnchors2(wrapNode, anchors);
}
function init(wrapNode, anchors) {
var oldAnchors = [];
var newAnchors = [];
anchors.forEach(function (anchor) {
if (anchor.selector) {
newAnchors.push(anchor);
} else {
oldAnchors.push(anchor);
}
});
init2(wrapNode, newAnchors);
if (oldAnchors.length > 0) {
initOld(wrapNode, oldAnchors);
}
}
var complainPainter = {
init: init
};
try {
if (anchor_tree_msg) {
var start = Date.now();
var $wrap = document.getElementById('js_content');
var anchors = anchor_tree_msg ? JSON.parse(anchor_tree_msg).anchor_tree : [];
var protocol = window.location.protocol;
complainPainter.init($wrap, anchors);
wxgspeedsdk.saveSpeeds({
sample: 1,
uin: uin,
pid: protocol == 'https:' ? 462 : 417,
speeds: {
sid: 38,
time: Date.now() - start
}
});
wxgspeedsdk.send();
}
} catch (error) {
if (typeof WX_BJ_REPORT !== 'undefined' && WX_BJ_REPORT.BadJs) {
WX_BJ_REPORT.BadJs.onError(error, {
anchor_tree_msg: anchor_tree_msg
});
}
}
})();(function () {
'use strict';
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);
}
window.__page_cls_ctrl__canRenderSilently = '__page_cls_ctrl__canRenderSilently' in window ? window.__page_cls_ctrl__canRenderSilently : true;
window.__page_cls_ctrl__forceRenderSilentlyList = '__page_cls_ctrl__forceRenderSilentlyList' in window ? window.__page_cls_ctrl__forceRenderSilentlyList : [];
window.__page_cls_ctrl__compRenderInfo = '__page_cls_ctrl__compRenderInfo' in window ? window.__page_cls_ctrl__compRenderInfo : {};
var g = {
defaultContentTpl: '<span class="js_img_placeholder wx_widget_placeholder" style="width:#width# !important;height:#height#px !important;text-indent: 0"><span class="weui-primary-loading"><span class="weui-primary-loading__dot"></span></span>',
config: [{
querySelector: 'redpacketcover',
genId: function genId() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return decodeURIComponent(opt.node.getAttribute('data-coveruri') || '');
},
calW: function calW() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return opt.parentWidth * 0.7854;
},
calH: function calH() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return this.calW({
parentWidth: opt.parentWidth
}) / 0.73346 + 27 + 37;
},
replaceContentCssText: '',
outerContainerLeft: '',
outerContainerRight: ''
},
{
querySelector: 'mppoi',
genId: function genId() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return opt.node.getAttribute('data-id') || '';
},
calW: function calW() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return opt.parentWidth * 1;
},
calH: function calH() {
return 219;
},
replaceContentCssText: '',
appendContentCssText: 'diplay:block;',
outerContainerLeft: '',
outerContainerRight: ''
},
{
querySelector: 'mpsearch',
genId: function genId() {
return decodeURIComponent('mp-common-search');
},
calW: function calW() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return opt.parentWidth * 1;
},
calH: function calH() {
return 100;
},
replaceContentCssText: '',
appendContentCssText: 'diplay:block;',
outerContainerLeft: '',
outerContainerRight: ''
},
{
querySelector: 'mpvideosnap',
genId: function genId() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var type = opt.node.getAttribute('data-type') || 'video';
if (type === 'live') {
return decodeURIComponent(opt.node.getAttribute('data-noticeid') || '');
}
return decodeURIComponent(opt.node.getAttribute('data-id') || '');
},
calW: function calW() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var type = opt.node.getAttribute('data-type') || 'video';
var width = opt.node.getAttribute('data-width') || '';
var height = opt.node.getAttribute('data-height') || '';
if (type === 'live' || type === 'topic') {
return opt.parentWidth;
}
var ratio = 1;
ratio = width / height;
var computedHeight = 0;
var computedWidth = 0;
var isHorizontal = false;
if (ratio === 1 || ratio === 3 / 4) ; else if (ratio === 4 / 3 || ratio === 16 / 9) {
isHorizontal = true;
} else if (ratio < 3 / 4) {
ratio = 3 / 4;
} else if (ratio > 1 && ratio < 4 / 3) {
ratio = 1;
} else if (ratio > 4 / 3) {
isHorizontal = true;
} else if (typeof ratio === 'number' && !Object.is(ratio, NaN)) ; else {
ratio = 1;
}
opt.node.setAttribute('data-ratio', ratio);
opt.node.setAttribute('data-isHorizontal', isHorizontal);
if (isHorizontal === true) {
computedWidth = opt.parentWidth;
} else {
if (window.innerWidth < 1024) {
computedWidth = window.innerWidth * 0.65;
} else {
computedWidth = opt.parentWidth * 0.65;
}
}
computedHeight = computedWidth / ratio;
computedHeight = Math.round(computedHeight);
computedWidth = Math.round(computedWidth);
opt.node.setAttribute('data-computedWidth', computedWidth);
opt.node.setAttribute('data-computedHeight', computedHeight);
return computedWidth;
},
calH: function calH() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var desc = opt.node.getAttribute('data-desc') || '';
var type = opt.node.getAttribute('data-type') || 'video';
var computedHeight = opt.node.getAttribute('data-computedHeight') || '';
switch (type) {
case 'live':
return desc ? 152 : 116;
case 'topic':
return 201;
case 'image':
case 'video':
return parseFloat(computedHeight);
}
},
getBorderRadius: function getBorderRadius() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var type = opt.node.getAttribute('data-type') || 'video';
if (type === 'video') {
return 4;
}
return 8;
},
replaceContentCssText: '',
appendContentCssText: 'display:flex;margin:0px auto;',
outerContainerLeft: '',
outerContainerRight: ''
}, {
querySelector: 'mp-wxaproduct',
genId: function genId() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return decodeURIComponent(opt.node.getAttribute('data-wxaproduct-productid') || '');
},
calW: function calW() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return opt.parentWidth * 1 || '100%';
},
calH: function calH() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var cardtype = opt.node.getAttribute('data-wxaproduct-cardtype') || '';
return cardtype === 'mini' ? 124 : 466;
},
replaceContentCssText: '',
outerContainerLeft: '',
outerContainerRight: ''
}, {
querySelector: 'mpprofile',
genId: function genId(opt) {
return opt.node.getAttribute('data-id') || '';
},
calW: function calW() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return opt.parentWidth * 1;
},
calH: function calH() {
return 143;
},
replaceContentCssText: '',
appendContentCssText: 'diplay:block;',
outerContainerLeft: '',
outerContainerRight: ''
},
{
querySelector: 'mp-common-product',
genId: function genId(opt) {
return opt.node.getAttribute('data-windowproduct') || '';
},
calW: function calW() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return opt.parentWidth * 1 || '100%';
},
calH: function calH(opt) {
var customstyle = opt.node.getAttribute('data-customstyle') || '{}';
if (customstyle) {
try {
var _JSON$parse = JSON.parse(customstyle),
display = _JSON$parse.display,
height = _JSON$parse.height;
if (display !== 'none') {
var customHeight = height.split('px')[0];
var ratio = opt.parentWidth / 350.0 || 1;
customHeight = Math.round(customHeight * ratio);
return customHeight;
}
return 0;
} catch (err) {
console.error(err);
}
}
return 0;
},
replaceContentCssText: '',
appendContentCssText: 'diplay:block;',
outerContainerLeft: '<div style="display: flex; margin: 0 auto 24px;">',
outerContainerRight: '</div>'
}
]
};
function preloadingInit() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
if (typeof document.querySelectorAll !== 'function') {
return;
}
var g = {
maxWith: document.getElementById('img-content').getBoundingClientRect().width,
idAttr: 'data-preloadingid'
};
for (var i = 0, il = opt.config.length; i < il; i++) {
var a = opt.config[i];
var list = document.querySelectorAll(a.querySelector);
for (var j = 0, jl = list.length; j < jl; j++) {
var node = list[j];
var parentWidth = node.parentNode.getBoundingClientRect().width;
parentWidth = Math.min(parentWidth, g.maxWith);
if (node.getAttribute('has-insert-preloading')) {
continue;
}
var nodeW = a.calW({
parentWidth: parentWidth,
node: node
});
var nodeH = a.calH({
parentWidth: parentWidth,
node: node
});
var nodeId = a.genId({
index: j,
node: node
});
var nodeBorderRadius = typeof a.getBorderRadius === 'function' ? a.getBorderRadius({
index: j,
node: node
}) : 8;
if (typeof nodeW === 'number') {
nodeW += 'px';
}
var imgHtml = opt.defaultContentTpl.replace(/#height#/g, nodeH).replace(/#width#/g, nodeW).replace(/#borderRadius#/g, nodeBorderRadius);
var tmpNode = document.createElement('div');
tmpNode.innerHTML = imgHtml;
if (a.replaceContentCssText) {
var replaceContentCssText = a.replaceContentCssText.replace(/#height#/g, nodeH).replace(/#width#/g, nodeW);
tmpNode.firstChild.style.cssText = replaceContentCssText;
} else if (a.appendContentCssText) {
tmpNode.firstChild.style.cssText += a.appendContentCssText;
}
var html = (a.outerContainerLeft || '') + tmpNode.innerHTML + (a.outerContainerRight || '');
tmpNode.innerHTML = html;
tmpNode.firstChild.setAttribute(g.idAttr, nodeId);
node.parentNode.insertBefore(tmpNode.firstChild, node.nextSibling);
node.setAttribute('has-insert-preloading', '1');
}
}
}
function init() {
preloadingInit(g);
}
function decode(str) {
var replace = ["`", "`", "'", "'", """, '"', " ", " ", ">", ">", "<", "<", "¥", "¥", "&", "&"];
for (var i = 0; i < replace.length; i += 2) {
str = str.replace(new RegExp(replace[i], 'g'), replace[i + 1]);
}
return str;
}
function getQuery(url) {
url = url || 'http://qq.com/s?a=b#rd';
var tmp = url.split('?'),
query = (tmp[1] || '').split('#')[0].split('&'),
params = {};
for (var i = 0; i < query.length; i++) {
var eqIndex = query[i].indexOf('=');
if (eqIndex > -1) {
var arg = query[i].substring(0, eqIndex);
params[arg] = query[i].substring(eqIndex + 1);
}
}
if (params['pass_ticket']) {
params['pass_ticket'] = encodeURIComponent(decode(params['pass_ticket']).replace(/\s/g, '+'));
}
return params;
}
function insertAfter(dom, afterDom) {
var _p = afterDom.parentNode;
if (!_p) {
return;
}
if (_p.lastChild === afterDom) {
_p.appendChild(dom);
} else {
_p.insertBefore(dom, afterDom.nextSibling);
}
}
if (typeof getComputedStyle === 'undefined') {
if (document.body.currentStyle) {
window.getComputedStyle = function (el) {
return el.currentStyle;
};
} else {
window.getComputedStyle = {};
}
}
function getMaxWith() {
var container = document.getElementById('img-content');
var max_width = container.offsetWidth;
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 - 32;
}
return max_width;
}
function getParentWidth(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;
}
if (parent_width < 0) {
return 0;
}
return parent_width;
}
function getOuterW(dom) {
var style = getComputedStyle(dom),
w = 0;
if (!!style) {
w = parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);
}
return w;
}
function getOuterH(dom) {
var style = getComputedStyle(dom),
h = 0;
if (!!style) {
h = parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
}
return h;
}
function getVideoWh(dom) {
var max_width = getMaxWith(),
width = max_width,
ratio_ = dom.getAttribute('data-ratio') * 1 || 4 / 3,
arr = [4 / 3, 16 / 9],
ret = arr[0],
abs = Math.abs(ret - ratio_);
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,
rwidth = width > parent_width ? parent_width : width,
outerW = getOuterW(dom) || 0,
outerH = getOuterH(dom) || 0,
videoW = rwidth - outerW,
videoH = videoW / ratio_,
speedDotH = 12,
rheight = videoH + outerH + speedDotH;
return {
w: Math.ceil(rwidth),
h: Math.ceil(rheight),
vh: videoH,
vw: videoW,
ratio: ratio_,
sdh: speedDotH
};
}
function setImgSize(item, widthNum, widthUnit, ratio, breakParentWidth) {
var imgPaddingBorder = getOuterW(item) || 0;
var imgPaddingBorderTopBottom = getOuterH(item) || 0;
if (widthNum > getParentWidth(item) && !breakParentWidth) {
widthNum = getParentWidth(item);
}
var heightNum = (widthNum - imgPaddingBorder) * ratio + imgPaddingBorderTopBottom;
widthNum !== 'auto' && (item.style.cssText += ";width: ".concat(widthNum).concat(widthUnit, " !important;"));
widthNum !== 'auto' && (item.style.cssText += ";height: ".concat(heightNum).concat(widthUnit, " !important;"));
}
var isAccessibilityKey = 'isMpUserAccessibility';
var imgPlaceholderClass = 'js_img_placeholder';
var isAccessMode = window.localStorage.getItem(isAccessibilityKey);
var imgSizeData;
var validArr = ',' + [0.875, 1, 1.125, 1.25, 1.375].join(',') + ',';
var match = window.location.href.match(/winzoom=(\d+(?:\.\d+)?)/);
if (match && match[1]) {
var winzoom = parseFloat(match[1]);
if (validArr.indexOf(',' + winzoom + ',') >= 0) ;
}
function getImgSrcMainInfo(src) {
var pathName = new URL(src).pathname;
var lastIndex = pathName.lastIndexOf('/');
return lastIndex > 0 ? pathName.slice(0, lastIndex) : pathName;
}
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);
}
function setSize(images, videos, data) {
var noWidth = !document.body.clientWidth || !document.getElementById('img-content') || !document.getElementById('img-content').offsetWidth;
var _loop = function _loop() {
if (noWidth) {
return 0;
}
if (window.__second_open__ && videos[vi].getAttribute('__sec_open_place_holder__')) {
return 1;
}
var a = videos[vi];
var src_ = a.getAttribute('src') || a.getAttribute('data-src') || '';
var vid = getQuery(src_).vid || a.getAttribute('data-mpvid');
if (!vid) {
return 1;
}
vid = vid.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
a.removeAttribute('src');
a.style.display = 'none';
var obj = getVideoWh(a);
var videoPlaceHolderSpan = document.createElement('span');
videoPlaceHolderSpan.className = "".concat(imgPlaceholderClass, " wx_widget_placeholder");
videoPlaceHolderSpan.setAttribute('data-vid', vid);
videoPlaceHolderSpan.innerHTML = '<span class="weui-primary-loading"><span class="weui-primary-loading__dot"></span></span>';
videoPlaceHolderSpan.style.cssText = "width: " + obj.w + "px !important;";
insertAfter(videoPlaceHolderSpan, a);
a.style.cssText += ';width: ' + obj.w + 'px !important;';
a.setAttribute('width', obj.w);
{
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);
a.setAttribute('data-src', 'https://v.qq.com/iframe/player.html?vid=' + vid + '&width=' + obj.vw + '&height=' + obj.vh + '&auto=0');
a.setAttribute('__sec_open_place_holder__', true);
a.parentNode;
var index = vi;
var mid = window.dataaaa.mid;
var biz = window.dataaaa.bizuin;
var idx = window.dataaaa.idx;
ajax({
url: "/mp/videoplayer?vid=".concat(vid, "&mid=").concat(mid, "&idx=").concat(idx, "&__biz=").concat(biz, "&f=json"),
type: 'GET',
dataType: 'json',
success: function success() {
var json = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var ret = JSON.parse(json);
var ori = ret.ori_status;
var hitBizHeadimg = ret.hit_biz_headimg + '/64';
var hitNickname = ret.hit_nickname;
var hitUsername = ret.hit_username;
if (ori === 2 && hitUsername !== data.user_name) {
var videoBar = document.createElement('div');
videoBar.innerHTML = "<div class=\"wx-edui-video_source_link\" id=\"".concat(hitUsername + index, "\" data-hit-username=\"").concat(hitUsername, "\">") + '<div class="video_source_word">以下视频来源于</div>' + '<div class="wx-edui-video_account_info">' + "<div class=\"wx-edui-video_account_avatar\" id=\"".concat(vid + index, "\" data-src=\"").concat(hitBizHeadimg, "\"></div>") + "<div class=\"wx-edui-video_account_name\">".concat(hitNickname, "</div>") + '<i class="wx-edui-video_account_arrow"></i>' + '</div>' + '</div>' + '<div class="wx-edui-video_source_link__layer_mask"></div>';
document.querySelectorAll('.video_iframe').forEach(function (item) {
if (item.getAttribute('data-mpvid') === vid && item.getAttribute('data-hasSource') !== '1') {
item.setAttribute('data-hasSource', 1);
item.parentNode.insertBefore(videoBar, item);
}
});
var avatorEle = document.getElementById(vid + index);
var avatorSrc = avatorEle.dataset.src;
console.log('avatorSrc' + avatorSrc);
if (ret.hit_biz_headimg) {
avatorEle.style.backgroundImage = "url(".concat(avatorSrc, ")");
}
}
},
error: function error(xhr) {}
});
},
_ret;
for (var vi = 0, viLen = videos.length; vi < viLen; vi++) {
_ret = _loop();
if (_ret === 0) break;
if (_ret === 1) continue;
}
var isCarton = data.copyright_info.is_cartoon_copyright * 1 || data.user_info.is_care_mode * 1 || isAccessMode === '1';
var max_width = getMaxWith();
if (!imgSizeData) {
imgSizeData = {};
data.picture_page_info_list = data.picture_page_info_list || [];
var noWidthHeightCount = 0;
var hasWidthHeightCount = 0;
data.picture_page_info_list.forEach(function (imgData) {
try {
var width = Number(imgData.width);
var height = Number(imgData.height);
if (width && height) {
imgSizeData[getImgSrcMainInfo(imgData.cdn_url)] = {
ratio: height / width,
width: width
};
hasWidthHeightCount++;
} else {
noWidthHeightCount++;
}
} catch (err) {
console.error(err);
}
});
if (Math.random() < 0.01 && Number(data.create_timestamp) > 1682352000) {
hasWidthHeightCount && (new Image().src = "//mp.weixin.qq.com/mp/jsmonitor?idkey=330742_20_".concat(hasWidthHeightCount, "&r=").concat(Math.random()));
noWidthHeightCount && (new Image().src = "//mp.weixin.qq.com/mp/jsmonitor?idkey=330742_21_".concat(noWidthHeightCount, "&r=").concat(Math.random()));
if (!data.picture_page_info_list.length) {
setTimeout(function () {
noWidthHeightCount = document.querySelectorAll('#js_content img').length;
noWidthHeightCount && (new Image().src = "//mp.weixin.qq.com/mp/jsmonitor?idkey=330742_21_".concat(noWidthHeightCount, "&r=").concat(Math.random()));
}, 300);
}
}
}
for (var im = 0, imLen = images.length; im < imLen; im++) {
if (window.__second_open__ && images[im].getAttribute('__sec_open_place_holder__')) {
continue;
}
var img = images[im];
var imgDataSrc = img.getAttribute('data-src');
var realSrc = img.getAttribute('src');
if (!imgDataSrc || realSrc) continue;
var imgStyle = img.getAttribute('style');
img.setAttribute('data-original-style', imgStyle);
var width_ = img.dataset.w;
var imgRatio = 1 * img.dataset.ratio;
img.setAttribute('data-index', im);
var width_num = 0;
var width_unit = 'px';
try {
var imgSizeFromBackend = imgSizeData[getImgSrcMainInfo(imgDataSrc)];
if (imgSizeFromBackend) {
if (imgSizeFromBackend.ratio) {
imgRatio = imgSizeFromBackend.ratio;
img.setAttribute('data-ratio', imgSizeFromBackend.ratio);
}
if (imgSizeFromBackend.width) {
width_ = imgSizeFromBackend.width;
img.setAttribute('data-w', imgSizeFromBackend.width);
}
}
} catch (err) {
console.error(err);
}
if (imgRatio && imgRatio > 0) {
if (!isCarton) {
img.src = "data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='1px' height='1px' viewBox='0 0 1 1' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0'%3E%3Cg transform='translate(-249.000000, -126.000000)' fill='%23FFFFFF'%3E%3Crect x='249' y='126' width='1' height='1'%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
if (noWidth) {
var fallbackWidth = img.style.width || img.getAttribute('width') || width_;
var fallbackMaxWidth = 360;
fallbackWidth = parseFloat(fallbackWidth, 10) > fallbackMaxWidth ? fallbackMaxWidth : fallbackWidth;
if (fallbackWidth === 'inherit') {
fallbackWidth = fallbackMaxWidth;
}
if (fallbackWidth) {
img.setAttribute('_width', !isNaN(fallbackWidth * 1) ? fallbackWidth + 'px' : fallbackWidth);
}
if (typeof fallbackWidth === 'string' && fallbackWidth.indexOf('%') !== -1) {
fallbackWidth = parseFloat(fallbackWidth.replace('%', ''), 10) / 100 * fallbackMaxWidth;
}
if (fallbackWidth === 'auto') {
fallbackWidth = width_;
if (width_ === 'auto' || !width_) {
fallbackWidth = fallbackMaxWidth;
} else {
fallbackWidth = width_;
}
}
var fallbackRes = /^(\d+(?:\.\d+)?)([a-zA-Z%]+)?$/.exec(init_width);
var fallbackLastWidth = fallbackRes && fallbackRes.length >= 2 ? fallbackRes[1] : 0;
var fallbackUnit = fallbackRes && fallbackRes.length >= 3 && fallbackRes[2] ? fallbackRes[2] : 'px';
setImgSize(img, fallbackLastWidth, fallbackUnit, imgRatio, true);
img.classList.add(imgPlaceholderClass, "wx_img_placeholder");
continue;
}
img.classList.add(imgPlaceholderClass, "wx_img_placeholder");
}
var parent_width = getParentWidth(img) || max_width;
var init_width = img.style.width || img.getAttribute('width') || width_ || parent_width;
init_width = parseFloat(init_width, 10) > max_width ? max_width : init_width;
if (init_width === 'inherit') {
init_width = parent_width;
}
if (init_width) {
img.setAttribute('_width', !isNaN(init_width * 1) ? init_width + 'px' : init_width);
}
if (typeof init_width === 'string' && init_width.indexOf('%') !== -1) {
init_width = parseFloat(init_width.replace('%', ''), 10) / 100 * parent_width;
}
if (init_width === 'auto') {
init_width = width_;
if (width_ === 'auto' || !width_) {
init_width = parent_width;
} else {
init_width = width_;
}
}
var res = /^(\d+(?:\.\d+)?)([a-zA-Z%]+)?$/.exec(init_width);
width_num = res && res.length >= 2 ? res[1] : 0;
width_unit = res && res.length >= 3 && res[2] ? res[2] : 'px';
var imgWidth = width_num;
if (isCarton) {
img.src = imgDataSrc;
img.style.height = 'auto';
} else {
setImgSize(img, imgWidth, width_unit, imgRatio, true);
setImgSize(img, imgWidth, width_unit, imgRatio, false);
}
}
if (!data.is_h5_render) {
img.setAttribute('__sec_open_place_holder__', true);
}
}
init();
}
var ua = navigator.userAgent;
/mac\sos/i.test(ua) && !/(iPhone|iPad|iPod|iOS)/i.test(ua) || /windows\snt/i.test(ua);
var images = document.getElementsByTagName('img');
var videos = [];
var user_name = "gh_b988c7e2f64b";
var isCartoonCopyright = '0';
var is_care_mode = '';
var createTimestamp = '1718022027';
var picturePageInfoList = "[{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_gif/SL01kv8vjY0DNhd4EFgibkFY2LDhPKHb7SyCvSXrswgrJ5KKzXeKiaKxRNOlf5WCmMtY55Y7ZLhGkyiaAv5IwZ7qw/640?wx_fmt=gif\x26amp;amp;wxfrom=5\x26amp;amp;wx_lazy=1\x26amp;amp;tp=webp','width':'580','height':'60'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_jpg/SL01kv8vjY2xzMUcib2IiblBA7wWCTicBQ9e8EhKbbwRYfSwL3vIjxNbXjHibibxtBmal9CmatE685ahpVcyZEf6aSw/640?wx_fmt=jpeg\x26amp;amp;from=appmsg','width':'1000','height':'667'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_gif/v4vz52CcB13JzTTXXg3mC439fK28gxRKDGnzLBX1Rm1yvuZYaVibibFLKzjw28tc48iayicA2r0TE0gF98zAZsJnDQ/640?wx_fmt=gif','width':'329','height':'330'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_png/5BiccaWJiaQncFViaKj3sPLIicGmGbhthZm6B8ftMkN8PPBOoDtGC9vfRRCHnVqFgAdJ04VYnMCqgaiaQpOPsQ1xaFQ/640?wx_fmt=other\x26amp;amp;from=appmsg\x26amp;amp;tp=webp\x26amp;amp;wxfrom=5\x26amp;amp;wx_lazy=1\x26amp;amp;wx_co=1','width':'640','height':'360'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_png/5BiccaWJiaQncFViaKj3sPLIicGmGbhthZm6rmh385ibKcicKZMI5vcfKkFO5hPQzpibJ9wljjtgnKMgQWH8x0FhxC20w/640?wx_fmt=other\x26amp;amp;from=appmsg\x26amp;amp;tp=webp\x26amp;amp;wxfrom=5\x26amp;amp;wx_lazy=1\x26amp;amp;wx_co=1','width':'1080','height':'608'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_png/5BiccaWJiaQncFViaKj3sPLIicGmGbhthZm6LGYg1k9wcr5sbhDicY0osB2JbHKZwMC9DyeStKsHv3yx8qGo7IpHVxw/640?wx_fmt=other\x26amp;amp;from=appmsg\x26amp;amp;tp=webp\x26amp;amp;wxfrom=5\x26amp;amp;wx_lazy=1\x26amp;amp;wx_co=1','width':'934','height':'524'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_png/5BiccaWJiaQncFViaKj3sPLIicGmGbhthZm6KuUzoEpoSHP8HJib3Ke851JrkicUmcR8jVZVPGPP4vO43ZhsHUvwwzOQ/640?wx_fmt=other\x26amp;amp;from=appmsg\x26amp;amp;tp=webp\x26amp;amp;wxfrom=5\x26amp;amp;wx_lazy=1\x26amp;amp;wx_co=1','width':'909','height':'920'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_png/5BiccaWJiaQncFViaKj3sPLIicGmGbhthZm6icpdgibWBMEZKZUqKpoLiaKQQ1Sl6xdJWqZrAsylWnW2Oz1t2UJbAMGBg/640?wx_fmt=other\x26amp;amp;from=appmsg\x26amp;amp;tp=webp\x26amp;amp;wxfrom=5\x26amp;amp;wx_lazy=1\x26amp;amp;wx_co=1','width':'1080','height':'606'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_gif/v4vz52CcB13JzTTXXg3mC439fK28gxRKDGnzLBX1Rm1yvuZYaVibibFLKzjw28tc48iayicA2r0TE0gF98zAZsJnDQ/640?wx_fmt=gif','width':'329','height':'330'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_png/5BiccaWJiaQncFViaKj3sPLIicGmGbhthZm6Qr160aMkoKLytbUg0e7Kc6eD1uv0jWIU4FFXibibDGvB1icDhrRnBLFGA/640?wx_fmt=other\x26amp;amp;from=appmsg\x26amp;amp;tp=webp\x26amp;amp;wxfrom=5\x26amp;amp;wx_lazy=1\x26amp;amp;wx_co=1','width':'810','height':'1179'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_gif/v4vz52CcB13JzTTXXg3mC439fK28gxRKDGnzLBX1Rm1yvuZYaVibibFLKzjw28tc48iayicA2r0TE0gF98zAZsJnDQ/640?wx_fmt=gif','width':'329','height':'330'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_png/5BiccaWJiaQncFViaKj3sPLIicGmGbhthZm6y9nxJy9nzJIic21ChHqGsq41bia6My7pSGXsEKjGaRXAjsiauUjL0JhiaA/640?wx_fmt=other\x26amp;amp;from=appmsg\x26amp;amp;tp=webp\x26amp;amp;wxfrom=5\x26amp;amp;wx_lazy=1\x26amp;amp;wx_co=1','width':'560','height':'315'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_png/5BiccaWJiaQncFViaKj3sPLIicGmGbhthZm6EXcyEJo9LgSkoFXbemJmlOQbdvqic6wz0IBduG1VdbSffiaZOvmUCcTg/640?wx_fmt=other\x26amp;amp;from=appmsg\x26amp;amp;tp=webp\x26amp;amp;wxfrom=5\x26amp;amp;wx_lazy=1\x26amp;amp;wx_co=1','width':'734','height':'784'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_png/5BiccaWJiaQncFViaKj3sPLIicGmGbhthZm6KShnvJHtbxfsnMl505oCAp8nOtT4ctuNGic6ibYnnsk7aFApgKbTEtog/640?wx_fmt=other\x26amp;amp;from=appmsg\x26amp;amp;tp=webp\x26amp;amp;wxfrom=5\x26amp;amp;wx_lazy=1\x26amp;amp;wx_co=1','width':'607','height':'854'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_gif/v4vz52CcB13JzTTXXg3mC439fK28gxRKDGnzLBX1Rm1yvuZYaVibibFLKzjw28tc48iayicA2r0TE0gF98zAZsJnDQ/640?wx_fmt=gif','width':'329','height':'330'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_gif/v4vz52CcB13JzTTXXg3mC439fK28gxRKDGnzLBX1Rm1yvuZYaVibibFLKzjw28tc48iayicA2r0TE0gF98zAZsJnDQ/640?wx_fmt=gif','width':'329','height':'330'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz/wyice8kFQhf7WrYjynsDMjRbgCwiack4E9nqoERbCmDibsRhEpUq58oKwIEyc4VuxVGROQSQL7lXIrSo2yr3no1IA/640?wx_fmt=gif\x26amp;amp;wxfrom=5\x26amp;amp;wx_lazy=1\x26amp;amp;tp=webp','width':'400','height':'400'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_gif/SL01kv8vjY04rJR8bHFIXBmiaeJupNpmA9AVeia7HOb8bEgmWHvderKiaNmiaVqqJBTevmtqR1QQsmmXic8SRXibwaiaw/640?wx_fmt=gif\x26amp;amp;wxfrom=5\x26amp;amp;wx_lazy=1\x26amp;amp;tp=webp','width':'639','height':'401'},{'cdn_url':'https://mmbiz.qpic.cn/mmbiz_gif/GtWwdCwkv7FoZELv8KXyj9QRscWJkKCzpmiaqCmVvWQp2PaS7NWwlHojLQz6HQoloicvjichnlSfTVVelMlM5YcSg/640?wx_fmt=gif\x26amp;amp;wxfrom=5\x26amp;amp;wx_lazy=1\x26amp;amp;tp=webp','width':'20','height':'34'},]";
picturePageInfoList = picturePageInfoList.includes(',]') ? picturePageInfoList.replace(',]', ']') : picturePageInfoList;
try {
picturePageInfoList = JSON.parse(picturePageInfoList.replace(/'/g, '"'));
} catch (err) {
picturePageInfoList = [];
console.error(err);
}
var data = {
is_h5_render: true,
user_name: user_name,
copyright_info: {
is_cartoon_copyright: isCartoonCopyright
},
picture_page_info_list: picturePageInfoList,
create_timestamp: createTimestamp,
user_info: {
is_care_mode: is_care_mode
}
};
setSize(images, videos, data);
})();(function () {
'use strict';
window.__page_cls_ctrl__canRenderSilently = '__page_cls_ctrl__canRenderSilently' in window ? window.__page_cls_ctrl__canRenderSilently : true;
window.__page_cls_ctrl__forceRenderSilentlyList = '__page_cls_ctrl__forceRenderSilentlyList' in window ? window.__page_cls_ctrl__forceRenderSilentlyList : [];
window.__page_cls_ctrl__compRenderInfo = '__page_cls_ctrl__compRenderInfo' in window ? window.__page_cls_ctrl__compRenderInfo : {};
var g = {
defaultContentTpl: '<span class="js_img_placeholder wx_widget_placeholder" style="width:#width# !important;height:#height#px !important;text-indent: 0"><span class="weui-primary-loading"><span class="weui-primary-loading__dot"></span></span>',
config: [{
querySelector: 'redpacketcover',
genId: function genId() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return decodeURIComponent(opt.node.getAttribute('data-coveruri') || '');
},
calW: function calW() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return opt.parentWidth * 0.7854;
},
calH: function calH() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return this.calW({
parentWidth: opt.parentWidth
}) / 0.73346 + 27 + 37;
},
replaceContentCssText: '',
outerContainerLeft: '',
outerContainerRight: ''
},
{
querySelector: 'mppoi',
genId: function genId() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return opt.node.getAttribute('data-id') || '';
},
calW: function calW() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return opt.parentWidth * 1;
},
calH: function calH() {
return 219;
},
replaceContentCssText: '',
appendContentCssText: 'diplay:block;',
outerContainerLeft: '',
outerContainerRight: ''
},
{
querySelector: 'mpsearch',
genId: function genId() {
return decodeURIComponent('mp-common-search');
},
calW: function calW() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return opt.parentWidth * 1;
},
calH: function calH() {
return 100;
},
replaceContentCssText: '',
appendContentCssText: 'diplay:block;',
outerContainerLeft: '',
outerContainerRight: ''
},
{
querySelector: 'mpvideosnap',
genId: function genId() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var type = opt.node.getAttribute('data-type') || 'video';
if (type === 'live') {
return decodeURIComponent(opt.node.getAttribute('data-noticeid') || '');
}
return decodeURIComponent(opt.node.getAttribute('data-id') || '');
},
calW: function calW() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var type = opt.node.getAttribute('data-type') || 'video';
var width = opt.node.getAttribute('data-width') || '';
var height = opt.node.getAttribute('data-height') || '';
if (type === 'live' || type === 'topic') {
return opt.parentWidth;
}
var ratio = 1;
ratio = width / height;
var computedHeight = 0;
var computedWidth = 0;
var isHorizontal = false;
if (ratio === 1 || ratio === 3 / 4) ; else if (ratio === 4 / 3 || ratio === 16 / 9) {
isHorizontal = true;
} else if (ratio < 3 / 4) {
ratio = 3 / 4;
} else if (ratio > 1 && ratio < 4 / 3) {
ratio = 1;
} else if (ratio > 4 / 3) {
isHorizontal = true;
} else if (typeof ratio === 'number' && !Object.is(ratio, NaN)) ; else {
ratio = 1;
}
opt.node.setAttribute('data-ratio', ratio);
opt.node.setAttribute('data-isHorizontal', isHorizontal);
if (isHorizontal === true) {
computedWidth = opt.parentWidth;
} else {
if (window.innerWidth < 1024) {
computedWidth = window.innerWidth * 0.65;
} else {
computedWidth = opt.parentWidth * 0.65;
}
}
computedHeight = computedWidth / ratio;
computedHeight = Math.round(computedHeight);
computedWidth = Math.round(computedWidth);
opt.node.setAttribute('data-computedWidth', computedWidth);
opt.node.setAttribute('data-computedHeight', computedHeight);
return computedWidth;
},
calH: function calH() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var desc = opt.node.getAttribute('data-desc') || '';
var type = opt.node.getAttribute('data-type') || 'video';
var computedHeight = opt.node.getAttribute('data-computedHeight') || '';
switch (type) {
case 'live':
return desc ? 152 : 116;
case 'topic':
return 201;
case 'image':
case 'video':
return parseFloat(computedHeight);
}
},
getBorderRadius: function getBorderRadius() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var type = opt.node.getAttribute('data-type') || 'video';
if (type === 'video') {
return 4;
}
return 8;
},
replaceContentCssText: '',
appendContentCssText: 'display:flex;margin:0px auto;',
outerContainerLeft: '',
outerContainerRight: ''
}, {
querySelector: 'mp-wxaproduct',
genId: function genId() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return decodeURIComponent(opt.node.getAttribute('data-wxaproduct-productid') || '');
},
calW: function calW() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return opt.parentWidth * 1 || '100%';
},
calH: function calH() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var cardtype = opt.node.getAttribute('data-wxaproduct-cardtype') || '';
return cardtype === 'mini' ? 124 : 466;
},
replaceContentCssText: '',
outerContainerLeft: '',
outerContainerRight: ''
}, {
querySelector: 'mpprofile',
genId: function genId(opt) {
return opt.node.getAttribute('data-id') || '';
},
calW: function calW() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return opt.parentWidth * 1;
},
calH: function calH() {
return 143;
},
replaceContentCssText: '',
appendContentCssText: 'diplay:block;',
outerContainerLeft: '',
outerContainerRight: ''
},
{
querySelector: 'mp-common-product',
genId: function genId(opt) {
return opt.node.getAttribute('data-windowproduct') || '';
},
calW: function calW() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return opt.parentWidth * 1 || '100%';
},
calH: function calH(opt) {
var customstyle = opt.node.getAttribute('data-customstyle') || '{}';
if (customstyle) {
try {
var _JSON$parse = JSON.parse(customstyle),
display = _JSON$parse.display,
height = _JSON$parse.height;
if (display !== 'none') {
var customHeight = height.split('px')[0];
var ratio = opt.parentWidth / 350.0 || 1;
customHeight = Math.round(customHeight * ratio);
return customHeight;
}
return 0;
} catch (err) {
console.error(err);
}
}
return 0;
},
replaceContentCssText: '',
appendContentCssText: 'diplay:block;',
outerContainerLeft: '<div style="display: flex; margin: 0 auto 24px;">',
outerContainerRight: '</div>'
}
]
};
function preloadingInit() {
var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
if (typeof document.querySelectorAll !== 'function') {
return;
}
var g = {
maxWith: document.getElementById('img-content').getBoundingClientRect().width,
idAttr: 'data-preloadingid'
};
for (var i = 0, il = opt.config.length; i < il; i++) {
var a = opt.config[i];
var list = document.querySelectorAll(a.querySelector);
for (var j = 0, jl = list.length; j < jl; j++) {
var node = list[j];
var parentWidth = node.parentNode.getBoundingClientRect().width;
parentWidth = Math.min(parentWidth, g.maxWith);
if (node.getAttribute('has-insert-preloading')) {
continue;
}
var nodeW = a.calW({
parentWidth: parentWidth,
node: node
});
var nodeH = a.calH({
parentWidth: parentWidth,
node: node
});
var nodeId = a.genId({
index: j,
node: node
});
var nodeBorderRadius = typeof a.getBorderRadius === 'function' ? a.getBorderRadius({
index: j,
node: node
}) : 8;
if (typeof nodeW === 'number') {
nodeW += 'px';
}
var imgHtml = opt.defaultContentTpl.replace(/#height#/g, nodeH).replace(/#width#/g, nodeW).replace(/#borderRadius#/g, nodeBorderRadius);
var tmpNode = document.createElement('div');
tmpNode.innerHTML = imgHtml;
if (a.replaceContentCssText) {
var replaceContentCssText = a.replaceContentCssText.replace(/#height#/g, nodeH).replace(/#width#/g, nodeW);
tmpNode.firstChild.style.cssText = replaceContentCssText;
} else if (a.appendContentCssText) {
tmpNode.firstChild.style.cssText += a.appendContentCssText;
}
var html = (a.outerContainerLeft || '') + tmpNode.innerHTML + (a.outerContainerRight || '');
tmpNode.innerHTML = html;
tmpNode.firstChild.setAttribute(g.idAttr, nodeId);
node.parentNode.insertBefore(tmpNode.firstChild, node.nextSibling);
node.setAttribute('has-insert-preloading', '1');
}
}
}
function init() {
preloadingInit(g);
}
init();
})();
function htmlDecode(str) {
return str
.replace(/'/g, '\'')
.replace(/<br\s*(\/)?\s*>/g, '\n')
.replace(/ /g, ' ')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"')
.replace(/&/g, '&')
.replace(/ /g, ' ');
}
var uin = '';
var key = '';
var pass_ticket = '';
var new_appmsg = 1;
var item_show_type = "0";
var real_item_show_type = "0";
var can_see_complaint = "1";
var tid = "";
var aid = "";
var clientversion = "";
var appuin = "MjM5MDc0NTY2OA==" || "MjM5MDc0NTY2OA==";
var voiceid = "";
var create_time = "1718022027" * 1;
var source = "90";
var ascene = "56";
var subscene = "93";
var sessionid = "1718026578" || "svr_1a045adb0b0";
var abtest_cookie = "";
var finder_biz_enter_id = "4" * 1;
var scene = 75;
var itemidx = "";
var appmsg_token = "" || "";
var _copyright_stat = "2";
var _ori_article_type = "";
var is_follow = "";
var nickname = htmlDecode("洞见");
var appmsg_type = "9";
var ct = "1718022027";
var user_name = "gh_b988c7e2f64b";
var fakeid = "";
var version = "";
var is_limit_user = "0";
var cps_article_data = "";
var round_head_img = "http://mmbiz.qpic.cn/mmbiz_png/SL01kv8vjY1a81kLfVric147gvuxTnlEzuvKF1XDmk45oLGbAmfXKWiczrBW4xNRUJXxgE4j6pibrpjNN00NTsDEA/0?wx_fmt=png";
var hd_head_img = "http://wx.qlogo.cn/mmhead/Q3auHgzwzM7MJ5xbkMOj8WYxKEMYPFlqfqHeMibxic4KPjNz0Dfq5TOA/0" || "";
var ori_head_img_url = "http://wx.qlogo.cn/mmhead/Q3auHgzwzM7MJ5xbkMOj8WYxKEMYPFlqfqHeMibxic4KPjNz0Dfq5TOA/132";
var msg_title = '央视暗访小升初掐尖招生:教育从畸形走向变态,是双减之后最大的悲哀'.html(false);
var msg_desc = htmlDecode("不是每一种观点,都可以叫洞见");
var msg_cdn_url = "https://mmbiz.qpic.cn/mmbiz_jpg/SL01kv8vjY2xzMUcib2IiblBA7wWCTicBQ9pqtYQR43yZut1LlQvDxVJxibVQUxhdy6qB1YZJiaSbgibMjHlCUIxF2Tw/0?wx_fmt=jpeg";
var cdn_url_1_1 = "https://mmbiz.qpic.cn/mmbiz_jpg/SL01kv8vjY2xzMUcib2IiblBA7wWCTicBQ9rnvDNgwZHk6aasicINaXIyaQlLlDCeGaYQbmGyicoIuE1QaWhv5ZUnpw/0?wx_fmt=jpeg";
var cdn_url_235_1 = "https://mmbiz.qpic.cn/mmbiz_jpg/SL01kv8vjY2xzMUcib2IiblBA7wWCTicBQ9pqtYQR43yZut1LlQvDxVJxibVQUxhdy6qB1YZJiaSbgibMjHlCUIxF2Tw/0?wx_fmt=jpeg";
var msg_link = "http://mp.weixin.qq.com/s?__biz=MjM5MDc0NTY2OA==&mid=2651811945&idx=1&sn=5cdc04c80e5aaa08ca02269359e65fce&chksm=bdbbc5428acc4c541e8e5a14dd29788103f28824c58af3eab9ce5db7c913a06387c3e486f91a#rd";
var user_uin = "2585604115" * 1;
var msg_source_url = '';
var img_format = 'jpeg';
var srcid = '0610NemHiLhf1ktd9uKlzJ3O';
var req_id = '';
var networkType;
var appmsgid = "2651811945" || '' || '2651811945';
var comment_id = "3496784491836801025" || "3496784491836801025" * 1;
var mp_comment_id = "3275212552154595328" || "3275212552154595328" * 1;
var comment_enabled = "" * 1;
var open_fansmsg = "0" * 1;
var is_https_res = ("" * 1) && (location.protocol == "https:");
var msg_daily_idx = "1" || "";
var profileReportInfo = "" || "";
var devicetype = "android";
var source_encode_biz = "MzUyNzE4OTE1Mw==";
var source_username = "gh_b2758d690d9a";
var reprint_ticket = "qqfw3CR3ns2jU0Ukzq9vpL5X6fiQ3UFuYKhM1Hxa6jFk3kYoKfx3G3glbNmK%2By%2FO";
var source_mid = "2247765760";
var source_idx = "1";
var source_biz = "3527189153";
var author = "男孩派";
var author_id = "";
var author_cancel = "" * 1 || 0;
var reward_wording = "";
var optimizing_flag = "0" * 1;
var show_comment = "0";
var __appmsgCgiData = {
wxa_product: "" * 1,
wxa_cps: "" * 1,
show_msg_voice: "0" * 1,
can_use_page: "0" * 1,
is_wxg_stuff_uin: "0" * 1,
card_pos: "1",
copyright_stat: "2",
source_biz: "3527189153",
hd_head_img: "http://wx.qlogo.cn/mmhead/Q3auHgzwzM7MJ5xbkMOj8WYxKEMYPFlqfqHeMibxic4KPjNz0Dfq5TOA/0" || (window.location.protocol + "//" + window.location.host + "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/pic/pic_rumor_link.jpg"),
has_red_packet_cover: "0" * 1 || 0,
minishopCardData: ""
};
var _empty_v = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/audios/empty.mp3";
var publicTagInfo = [
];
var appmsg_album_info = (function () {
var curAlbumId = '';
for (var i = 0; i < publicTagInfo.length; i++) {
if (curAlbumId) {
if (curAlbumId === publicTagInfo[i].id) {
return publicTagInfo[i];
}
} else {
if (publicTagInfo[i].continousReadOn) {
return publicTagInfo[i];
}
}
}
return {};
})();
var copyright_stat = "2" * 1;
var hideSource = "1" * 1;
var pay_fee = "" * 1;
var pay_timestamp = "";
var need_pay = "" * 1;
var is_pay_subscribe = "0" * 1;
var need_report_cost = "0" * 1;
var use_tx_video_player = "0" * 1;
var appmsg_fe_filter = "contenteditable";
var friend_read_source = "" || "";
var friend_read_version = "" || "";
var friend_read_class_id = "" || "";
var is_only_read = "1" * 1;
var read_num = "" * 1;
var like_num = "" * 1;
var liked = "" == 'true' ? true : false;
var is_temp_url = "" ? 1 : 0;
var tempkey = "";
var send_time = "";
var icon_emotion_switch = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/emotion/icon_emotion_switch.svg";
var icon_emotion_switch_active = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/emotion/icon_emotion_switch_active.svg";
var icon_emotion_switch_primary = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/emotion/icon_emotion_switch_primary.svg";
var icon_emotion_switch_active_primary = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/emotion/icon_emotion_switch_active_primary.svg";
var icon_loading_white = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/common/icon_loading_white.gif";
var icon_audio_unread = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/audio/icon_audio_unread.png";
var icon_qqmusic_default = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/audio/icon_qqmusic_default.png";
var icon_qqmusic_source = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/audio/icon_qqmusic_source.svg";
var icon_kugou_source = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/audio/icon_kugou_source.png";
var topic_default_img = '//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/pic/pic_book_thumb.png';
var comment_edit_icon = '//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/common/icon_edit.png';
var comment_loading_img = '//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/common/icon_loading_white.gif';
var comment_c2c_not_support_img = '//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/pic/pic_discuss_more.png';
var use_line = '1' * 1;
var can_feedback = '' * 1;
var frontend_exp_list = [
];
var tts_is_ban = '' * 1 || 0;
var tts_is_show = '1' * 1 || 0;
var tts_heard_person_cnt = '1861' * 1 || 0;
var voice_in_appmsg = {
"MjM5MDc0NTY2OF8yNjUxODExOTQx": {
sn: "1c09bc5fd79b406e1db37b61ad2edf3a",
bizuin: "",
appmsgid: "",
idx: "",
transState: '' * 1,
voiceVerifyState: '' * 1
},
};
var voiceList = {};
voiceList={"voice_in_appmsg":[{"voice_id":"MjM5MDc0NTY2OF8yNjUxODExOTQx","sn":"1c09bc5fd79b406e1db37b61ad2edf3a","voice_md5":""}]}
var reprint_style = '0' * 1;
var reprint_type = '3' * 1;
var wxa_img_alert = "" != 'false';
var weapp_sn_arr_json = "" || "";
var videoPageInfos = [
];
window.__videoPageInfos = videoPageInfos;
var video_snap_json = "{\x22list\x22:[{\x22username\x22:\x22v2_060000231003b20faec8c4e18018c4d2cb00ee30b0770d2f0051b17ee0e174d7cf940e7da812@finder\x22,\x22export_id\x22:\x22\x22,\x22notice_id\x22:\x22finderlivenotice-v2_060000231003b20faec8c4e18018c4d2cb00ee30b0770d2f0051b17ee0e174d7cf940e7da812@finder-1716262265238883-1743270836\x22,\x22event_id\x22:\x22\x22,\x22listen_id\x22:\x22\x22},{\x22username\x22:\x22v2_060000231003b20faec8c4e18018c4d2cb00ee30b0770d2f0051b17ee0e174d7cf940e7da812@finder\x22,\x22export_id\x22:\x22\x22,\x22notice_id\x22:\x22finderlivenotice-v2_060000231003b20faec8c4e18018c4d2cb00ee30b0770d2f0051b17ee0e174d7cf940e7da812@finder-1716262401750137-212694234\x22,\x22event_id\x22:\x22\x22,\x22listen_id\x22:\x22\x22}]}" || "";
var mp_profile = [
{
fakeid: 'MjM5MDc0NTY2OA==',
nickname: '洞见',
alias: 'DJ00123987',
round_head_img: 'http://mmbiz.qpic.cn/mmbiz_png/SL01kv8vjY1a81kLfVric147gvuxTnlEzuvKF1XDmk45oLGbAmfXKWiczrBW4xNRUJXxgE4j6pibrpjNN00NTsDEA/0?wx_fmt=png',
signature: '不是每一种观点,都可以叫洞见',
original_num: '2690' * 1,
is_biz_ban: '0' * 1,
biz_account_status: '0' * 1,
username: 'gh_b988c7e2f64b'
}
];
var ban_scene = "0" * 1;
var ban_jump_link = {
};
var svr_time = "1718025605" * 1;
var is_transfer_msg = "" * 1 || 0;
var malicious_title_reason_id = "0" * 1;
var malicious_content_type = "0" * 1;
var modify_time = "" * 1;
var modify_detail = [];
var isprofileblock = "0";
var jumpInfo = [
];
window.service_type = '0' * 1;
var hasRelatedArticleInfo = '0' * 1 || 0;
var relatedArticleFlag = '' * 1 || 0;
var canUseAutoTypeSetting;
canUseAutoTypeSetting = '3' * 1 || 0;
var styleType = '10000';
var originTypeSetting = '3';
var originStyleType = '10000';
var reprintEditable = '1';
var currentSvrStyleType, originSvrStyleType;
if (!isNaN(parseInt(styleType)) && parseInt(styleType) > 0) {
currentSvrStyleType = parseInt(styleType);
} else if (!isNaN(parseInt(canUseAutoTypeSetting))) {
currentSvrStyleType = parseInt(canUseAutoTypeSetting);
} else {
currentSvrStyleType = 0;
}
if (!isNaN(parseInt(originStyleType)) && parseInt(originStyleType) > 0) {
originSvrStyleType = parseInt(originStyleType);
} else if (!isNaN(parseInt(originTypeSetting))) {
originSvrStyleType = parseInt(originTypeSetting);
} else {
originSvrStyleType = 0;
}
if (reprint_type > 0 && originSvrStyleType !== currentSvrStyleType && parseInt(reprintEditable) === 0) {
var dc = document.getElementById('js_content').classList;
dc.remove('autoTypeSetting');
dc.remove('autoTypeSetting24');
dc.remove('autoTypeSetting24psection');
var finalSetting = parseInt(originSvrStyleType);
if (finalSetting === 1) {
dc.add('autoTypeSetting');
} else if (finalSetting === 2) {
dc.add('autoTypeSetting24');
} else if (finalSetting === 3) {
dc.add('autoTypeSetting24psection');
}
}
window.wxtoken = "";
window.is_login = '1' * 1;
window.__moon_initcallback = function () {
if (!!window.__initCatch) {
window.__initCatch({
idkey: 27611 + 2,
startKey: 0,
limit: 128,
badjsId: 43,
reportOpt: {
uin: uin,
biz: biz,
mid: mid,
idx: idx,
sn: sn
},
extInfo: {
network_rate: 0.01,
badjs_rate: 0.1
}
});
}
}
var title = "洞见";
var is_new_msg = true;
var is_wash = '' * 1;
var topbarEnable = false;
var enterid = "1718026580" * 1 || "1718025605" * 1 || "1718026580" * 1 || parseInt(Date.now() / 1000);
var reloadid = '' * 1 || parseInt(Date.now() / 1000);
var reloadseq = '' * 1 || 1;
var miniprogram_appid = "";
var defaultAvatarUrl = '//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/icon/common/icon_avatar_default.svg';
document.addEventListener('DOMContentLoaded', function () {
window.domCompleteTime = Date.now();
});
var hasRecommendMsg = 0;
;
var isPayTopic = '' * 1;
var payTopicPrice = '' * 1;
var isRemovedFromPayTopic = '' * 1;
var isPaySubscribe = '0' * 1;
var isPaid = '0' * 1;
var isRefund = '' * 1;
var payShowIAPPrice = 1;
var payProductId = '' || '';
var previewPercent = '0' || '';
var payGiftsCount = '0' * 1 || 0;
var payDesc = htmlDecode('');
var payFreeGift = '' * 1 || 0;
var is_finished_preview = 0;
var jump2pay = '' * 1;
var isFans;
var can_reward = '0' * 1 || 0;
var is_need_reward = (isPaySubscribe && !isPaid) ? 0 : "0" * 1;
var is_teenager = '' * 1 || 0;
var is_care_mode = '' * 1 || 0;
var zhuge_user_limit = '' * 1 || 0;
var colorScheme = '';
var iapPriceInfo = {
};
var productPayPackage = {
iap_price_info: iapPriceInfo
};
var isCartoonCopyright = '0' * 1;
var show_msg_voice = '0' * 1;
var qnaCardData = '';
var exptype = '' || '';
var expsessionid = '' || '';
var goContentId = '';
var goReplyId = '';
var show_related_article = '' * 1;
var wwdistype = '';
window.cgiData = {
appImg: '//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/pic/pic_tencent_video.png',
}
window.ip_wording = {
countryName: '中国',
countryId: '156',
provinceName: '安徽',
provinceId: '',
cityName: '',
cityId: ''
};
window.show_ip_wording = '1' * 1;
window.source_appid = 'wx7947dbdfc7d86a99';
window.is_over_sea = '0' * 1;
window.showAdMark = "0" * 1;
window.claim_source = {
claim_source_type: '',
claim_source: '',
};
window.hideAdMarkOnCps = ("" || "0" * 1) ? 1 : 0;
window.show_version = '2' * 1;
window.bar_version = '5' * 1;
window.appmsg_bar_data = {
show_like: '1' * 1,
like_count: '1068' * 1,
show_share: '1' * 1,
share_count: '11023' * 1,
show_old_like: '1' * 1,
old_like_count: '1603' * 1,
show_collect: '0' * 1,
collect_count: '1379' * 1,
comment_enabled: '1' * 1,
comment_count: '96' * 1,
};
window.show_comment_bar = '0' * 1;
window.search_keywords = [
];
window.s1s_keywords_exp_info = '';
var need_baike_preload = true;
;
var show_adv_keyword = false;
window.ad_keywords = [
];
window.mmlisten_playlist_info_buffer = '';
window.key_text = '[]';
var __INLINE_SCRIPT__ = (function () {
'use strict';
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(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(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(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(o, minLen); }
function _arrayLikeToArray(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;
}
}
({
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 doc = {};
try {
doc = top.window.document;
} catch (e) {
}
var setImmersiveMode = function setImmersiveMode(itemShowType) {
var envStr = window.__wxWebEnv && typeof window.__wxWebEnv.getEnv === 'function' && window.__wxWebEnv.getEnv();
if (!envStr) return;
var envObj = {};
if (!envStr) return;
try {
envObj = JSON.parse(envStr);
} catch (err) {
console.info(err);
}
var immersiveListMode = envObj.immersiveListMode || 0;
window.__immersiveListMode = Number(immersiveListMode) === 1 ? 1 : 0;
window.__test_immersive_list = 0;
if (window.__test_immersive_list) {
window.__immersiveListMode = 1;
}
var wxExpandArticleEle = document.getElementById('wx_expand_article');
document.getElementById('js_article');
var bottomLoadingTip = document.getElementById('js_network_msg_wrp');
if (!itemShowType && itemShowType !== 0) {
itemShowType = window.item_show_type;
}
itemShowType = Number(itemShowType);
if (window.__immersiveListMode) {
try {
var immersiveSafeBottom = localStorage.getItem('__immersivefeed_safe_bottom__');
if (immersiveSafeBottom) {
document.documentElement.style.setProperty('--immersive-safe-bottom', immersiveSafeBottom);
}
} catch (error) {
console.log(error);
}
if (wxExpandArticleEle) {
wxExpandArticleEle.style.display = 'block';
}
if (bottomLoadingTip) {
bottomLoadingTip.style.display = 'none';
}
if (itemShowType === 10 || itemShowType === 7) {
document.body.classList.add('ellapse_short_content');
} else {
document.body.classList.add('ellapse_stream_article');
}
if (itemShowType === 0) {
document.body.classList.add('article_extensive_background');
} else {
document.body.classList.add('media_content_extensive_background');
}
var interactionPlaceholderEle = document.getElementById('js_interaction_placeholder');
if (interactionPlaceholderEle) {
interactionPlaceholderEle.style.display = 'block';
}
}
};
if (!window.__second_open__) {
setImmersiveMode();
}
return setImmersiveMode;
})();var __INLINE_SCRIPT__ = (function () {
'use strict';
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);
}
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(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(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(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(o, minLen); }
function _arrayLikeToArray(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 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 = {};
var isAcrossOrigin = false;
var __moon_report = window.__moon_report || function () {};
var MOON_JSAPI_KEY_OFFSET = 8;
try {
doc = top.window.document;
} catch (e) {
isAcrossOrigin = true;
}
var JSAPIEventCallbackMap = {};
function ready(onBridgeReady) {
var bridgeReady = function bridgeReady() {
try {
if (onBridgeReady) {
window.onBridgeReadyTime = window.onBridgeReadyTime || Date.now();
onBridgeReady();
}
} catch (e) {
__moon_report([{
offset: MOON_JSAPI_KEY_OFFSET,
log: 'ready',
e: e
}]);
throw e;
}
window.jsapiReadyTime = Date.now();
};
if (!isAcrossOrigin && (typeof top.window.WeixinJSBridge === 'undefined' || !top.window.WeixinJSBridge.invoke)) {
if (doc.addEventListener) {
doc.addEventListener('WeixinJSBridgeReady', bridgeReady, false);
} else if (doc.attachEvent) {
doc.attachEvent('WeixinJSBridgeReady', bridgeReady);
doc.attachEvent('onWeixinJSBridgeReady', bridgeReady);
}
} else {
bridgeReady();
}
}
function invoke(methodName, args, callback) {
ready(function () {
if (isAcrossOrigin) 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([{
offset: MOON_JSAPI_KEY_OFFSET,
log: 'invoke;methodName:' + methodName,
e: e
}]);
throw e;
}
});
});
}
function call(methodName) {
ready(function () {
if (isAcrossOrigin) return false;
if (_typeof(top.window.WeixinJSBridge) !== 'object') {
return false;
}
try {
top.window.WeixinJSBridge.call(methodName);
} catch (e) {
__moon_report([{
offset: MOON_JSAPI_KEY_OFFSET,
log: 'call;methodName:' + methodName,
e: e
}]);
throw e;
}
});
}
function on(eventName, callback) {
ready(function () {
if (isAcrossOrigin) return false;
if (_typeof(top.window.WeixinJSBridge) !== 'object' || !top.window.WeixinJSBridge.on) {
return false;
}
if (!JSAPIEventCallbackMap[eventName]) {
JSAPIEventCallbackMap[eventName] = [];
}
JSAPIEventCallbackMap[eventName].push(callback);
if (JSAPIEventCallbackMap[eventName].length > 1) {
return false;
}
top.window.WeixinJSBridge.on(eventName, function () {
try {
for (var _len2 = arguments.length, rets = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
rets[_key2] = arguments[_key2];
}
var ret = rets[0];
var errMsg = ret && ret.err_msg ? ', err_msg-> ' + ret.err_msg : '';
console.info('[system]', '[jsapi] event->' + eventName + errMsg);
if (JSAPIEventCallbackMap[eventName] && JSAPIEventCallbackMap[eventName].length) {
var result;
for (var i = 0; i < JSAPIEventCallbackMap[eventName].length; i++) {
result = JSAPIEventCallbackMap[eventName][i].apply(window, rets);
}
return result;
}
} catch (e) {
__moon_report([{
offset: MOON_JSAPI_KEY_OFFSET,
log: 'on;eventName:' + eventName,
e: e
}]);
throw e;
}
});
});
}
function remove(eventName, callback) {
ready(function () {
if (!JSAPIEventCallbackMap[eventName]) {
return false;
}
var result = false;
for (var i = JSAPIEventCallbackMap[eventName].length - 1; i >= 0; i--) {
if (JSAPIEventCallbackMap[eventName][i] === callback) {
JSAPIEventCallbackMap[eventName].splice(i, 1);
result = true;
}
}
return result;
});
}
var JSAPI = mmversion.isNewMpApp ? {
ready: connectWebViewJavascriptBridge,
invoke: invoke$1,
call: invoke$1,
on: on$1,
remove: remove$1
} : {
ready: ready,
invoke: invoke,
call: call,
on: on,
remove: remove
};
function initBodyStyle() {
window.scrollTo({
top: 0,
behavior: 'smooth'
});
setTimeout(function () {
document.body.scrollTop = document.documentElement.scrollTop = 0;
document.body.style.overflow = 'hidden';
}, 100);
}
var setRowImmersiveMode = function setRowImmersiveMode(itemShowType) {
var envStr = window.__wxWebEnv && typeof window.__wxWebEnv.getEnv === 'function' && window.__wxWebEnv.getEnv();
if (!envStr) return;
var envObj = {};
try {
envObj = JSON.parse(envStr);
} catch (err) {
console.info(err);
}
var immersiveListMode = envObj.immersiveListMode || 0;
window.__immersiveListMode = Number(immersiveListMode) === 1 ? 1 : 0;
window.__rowImmersiveStream = Number(immersiveListMode) === 2 ? 1 : 0;
console.log("iiiiiiimmersiveListMode", immersiveListMode, window.__immersiveListMode, window.__rowImmersiveStream);
window.__test_row_immersive_list = 0;
if (window.__test_row_immersive_list) {
window.__rowImmersiveStream = 1;
}
if (window.__rowImmersiveStream) {
initBodyStyle();
var rowImmersiveStreamWrap = document.getElementById('js_row_immersive_stream_wrap');
if (rowImmersiveStreamWrap) {
rowImmersiveStreamWrap.style.display = 'block';
}
var bottomBar = document.getElementById('js_article_bottom_bar');
if (bottomBar) {
bottomBar.classList.add('row_immersive_bottom_bar');
}
var immersiveStreamMask = document.getElementById('js_row_immersive_stream_mask');
var enterBigWebview = function enterBigWebview() {
immersiveStreamMask.style.display = 'none';
document.body.style.overflow = 'auto';
if (bottomBar) {
bottomBar.classList.add('row_immersive_bigview_bottom_bar');
}
};
var exitBigWebview = function exitBigWebview() {
initBodyStyle();
immersiveStreamMask.style.display = 'block';
if (bottomBar) {
bottomBar.classList.remove('row_immersive_bigview_bottom_bar');
}
};
immersiveStreamMask.addEventListener('click', function (e) {
e.preventDefault();
e.stopPropagation();
JSAPI.invoke('handleImmersiveStream', {
action: 'enterFullArticle',
params: {
enterTime: Date.now()
}
}, function (res) {
console.log("[immersive] handleImmersiveStream:", res);
if (res && res.err_msg && res.err_msg.includes('ok')) {
enterBigWebview();
}
if (__test_row_immersive_list) {
setTimeout(function () {
console.log("xxxxx ok");
enterBigWebview();
}, 2000);
}
});
});
JSAPI.on('immersiveStreamExposeArticle', function (res) {
console.log("[immersive] immersiveStreamExposeArticle", res);
});
JSAPI.on('immersiveStreamExitFullArticle', function (res) {
console.log("[immersive] immersiveStreamExitFullArticle", res);
exitBigWebview();
});
JSAPI.on('immersiveStreamEnterFullArticle', function (res) {
console.log("[immersive] immersiveStreamEnterFullArticle", res);
enterBigWebview();
});
JSAPI.on('immersiveStreamSlideOutArticle', function (res) {
console.log("[immersive] immersiveStreamSlideOutArticle", res);
exitBigWebview();
});
}
};
if (!window.__second_open__) {
setRowImmersiveMode();
}
return setRowImmersiveMode;
})();var __INLINE_SCRIPT__ = (function () {
'use strict';
var getIpWoridng = function getIpWoridng(ipConfig) {
var ipWording = '';
if (parseInt(ipConfig.countryId, 10) === 156) {
ipWording = ipConfig.provinceName;
} else if (ipConfig.countryId) {
ipWording = ipConfig.countryName;
}
return ipWording;
};
var __setIpWording = function __setIpWording(ipConfig, userInfo) {
var ipWrp = document.getElementById('js_ip_wording_wrp');
var ipWording = document.getElementById('js_ip_wording');
if (ipConfig) {
window.ip_wording = {
countryName: ipConfig.country_name,
countryId: ipConfig.country_id,
provinceName: ipConfig.province_name
};
}
if (userInfo && userInfo.isoversea) {
window.is_over_sea = parseInt(userInfo.isoversea, 10);
}
if (window.ip_wording && ipWrp && ipWording && window.is_over_sea !== 1) {
var ipWordingDisplay = getIpWoridng(window.ip_wording);
if (ipWordingDisplay !== '') {
ipWording.innerHTML = ipWordingDisplay;
ipWrp.style.display = 'inline-block';
}
}
};
if (!window.__second_open__) {
__setIpWording();
window.__setIpWording = __setIpWording;
}
return __setIpWording;
})();var __INLINE_SCRIPT__ = (function () {
'use strict';
var dealLikeReadShow_en = function dealLikeReadShow_en(realNum) {
if (typeof LANG === 'undefined' || !LANG) {
return parseInt(realNum) === 0 ? '' : realNum;
}
if (LANG == 'en') {
var showHTML = '';
if (parseInt(realNum) > 100000) {
showHTML = 100 + 'k+';
} else if (parseInt(realNum) > 10000 && parseInt(realNum) <= 100000) {
var num = '' + parseInt(realNum) / 1000;
var dotIndex = num.indexOf('.');
if (dotIndex === -1) {
showHTML = num + 'k';
} else {
showHTML = num.substring(0, dotIndex) + '.' + num.charAt(dotIndex + 1) + 'k';
}
} else if (parseInt(realNum) === 0) {
showHTML = '';
} else {
showHTML = realNum;
}
return showHTML;
}
return '';
};
var i18n = {
dealLikeReadShow_en: dealLikeReadShow_en
};
function getWordCount (dom) {
if (!dom) return 0;
var textContet = dom.textContent || '';
var fillCharReg = new RegExp("\u200B", 'g');
var bookmarkFillCharReg = new RegExp("\u200D", 'g');
return textContet.replace(fillCharReg, '')
.replace(bookmarkFillCharReg, '')
.replace(/(\b|^)\w+(\b|$)/g, '#')
.replace(/\s/g, '')
.length;
}
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(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(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(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(o, minLen); }
function _arrayLikeToArray(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$1() {
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$1();
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$1,
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 isIOS = mmVersion.isIOS,
getInner = mmVersion.getInner,
isAndroid = mmVersion.isAndroid;
var formatReadNum = function formatReadNum(value) {
if (window.LANG === 'en') {
return i18n.dealLikeReadShow_en(value);
}
var result = '';
if (parseInt(value, 10) > 100000) {
result = '10万+';
} else if (parseInt(value, 10) > 10000 && parseInt(value, 10) <= 100000) {
var num = '' + parseInt(value, 10) / 10000;
var dotIndex = num.indexOf('.');
if (dotIndex === -1) {
result = num + '万';
} else {
result = num.substr(0, dotIndex) + '.' + num.charAt(dotIndex + 1) + '万';
}
} else if (parseInt(value, 10) === 0) {
result = '';
} else {
result = value || '';
}
return result;
};
var __setTingHeard = function __setTingHeard(container, dom, cnt, isTempUrl) {
var articleWordCnt = getWordCount(container || document.querySelector('#js_content'));
window.article_word_cnt = articleWordCnt;
if (!dom || articleWordCnt <= 300 || isTempUrl) return;
if (isIOS && getInner() >= '18002622' || isAndroid && getInner() >= '2800253A') {
if (cnt > 100000) dom.innerText = "".concat(formatReadNum(cnt), "听过");else if (cnt > 0) dom.innerText = "".concat(formatReadNum(cnt), "人听过");else {
dom.innerText = "听全文";
}
dom.style.removeProperty('display');
}
};
if (!window.__second_open__) {
var tempkey = window.tempkey || '';
var tingHeardDom = document.querySelector('#js_ting_heard');
var tingIsShow = window.tts_is_show || '1';
var tingHeardCnt = window.tts_heard_person_cnt || '1861';
console.log('tingIsShow, tingHeardCnt', tingIsShow, tingHeardCnt);
!!(tingIsShow * 1) && __setTingHeard(document.querySelector('#js_content'), tingHeardDom, tingHeardCnt * 1, !!tempkey);
window.__setTingHeard = __setTingHeard;
}
return __setTingHeard;
})();var __INLINE_SCRIPT__ = (function () {
'use strict';
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);
}
function _toPrimitive(input, hint) {
if (_typeof(input) !== "object" || input === null) return input;
var prim = input[Symbol.toPrimitive];
if (prim !== undefined) {
var res = prim.call(input, hint || "default");
if (_typeof(res) !== "object") return res;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (hint === "string" ? String : Number)(input);
}
function _toPropertyKey(arg) {
var key = _toPrimitive(arg, "string");
return _typeof(key) === "symbol" ? key : String(key);
}
function _defineProperty(obj, key, value) {
key = _toPropertyKey(key);
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
Object.defineProperty(Constructor, "prototype", {
writable: false
});
return Constructor;
}
var prefix = '__WXLS__';
var localStorage$1 = window.localStorage || {
getItem: function getItem() {},
setItem: function setItem() {},
removeItem: function removeItem() {},
key: function key() {},
clear: function clear() {
var _a, _b;
(_b = (_a = window.localStorage) === null || _a === void 0 ? void 0 : _a.clear) === null || _b === void 0 ? void 0 : _b.call(_a);
},
length: 0
};
var evictionPolicies = {
noeviction: function noeviction(data) {
return data;
},
'allkeys-random': function allkeysRandom(data, size) {
var keys = Object.keys(data);
var memCnt = 0;
while (memCnt < size) {
var len = keys.length;
var randomKeyIdx = Math.floor(Math.random() * len);
var randomKey = keys[randomKeyIdx];
memCnt += JSON.stringify(data[randomKey]).length;
delete data[randomKey];
keys = Object.keys(data);
}
return data;
},
'volatile-ttl': function volatileTtl(data, size) {
var keys = Object.keys(data);
keys = keys.sort(function (key1, key2) {
var d1 = data[key1],
d2 = data[key2];
if (d1.exp < d2.exp) return -1;
if (d1.exp > d2.exp) return 1;
return 0;
});
var memCnt = 0;
for (var i = 0; i < keys.length; i++) {
if (memCnt >= size) break;
var key = keys[i];
memCnt += JSON.stringify(data[key]).length;
delete data[key];
}
return data;
},
'clear-all': function clearAll() {
localStorage$1.clear();
return {};
}
};
function formatLogMsg(str) {
return "[WXLS] ".concat(str);
}
var LS = function () {
function LS(func, evictionPolicy, logger) {
_classCallCheck(this, LS);
this.logger = function () {};
if (!func) throw 'require function name.';
this.evictionPolicy = 'noeviction';
this.key = func;
if (typeof logger === 'function') {
this.logger = function (str, type) {
return logger(formatLogMsg(str), type);
};
}
if (evictionPolicy && Object.keys(evictionPolicies).indexOf(evictionPolicy) !== -1) {
this.evictionPolicy = evictionPolicy;
}
this.init();
}
_createClass(LS, [{
key: "init",
value: function init() {
var _a, _b;
this.check();
if (Math.random() * 1000 < 1) {
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.call(this, "LSlen: ".concat(((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length) || localStorage$1.length), 'report');
}
}
}, {
key: "getData",
value: function getData() {
var data = LS.getItem(this.key) || '{}';
try {
data = JSON.parse(data);
} catch (e) {
this.logger("getData error: ".concat(e), 'error');
localStorage$1.removeItem(prefix + this.key);
data = {};
}
return data;
}
}, {
key: "check",
value: function check(isReturn) {
var data = this.getData();
var temp = {};
var now = +new Date();
var key, val;
for (key in data) {
val = data[key];
if (+val.exp > now) {
temp[key] = val;
}
}
this.logger("check info: isReturn:".concat(isReturn, " data:").concat(JSON.stringify(temp)), 'info');
if (isReturn) return temp;
LS.setItem(this.key, JSON.stringify(temp), this.logger);
}
}, {
key: "set",
value: function set(key, val, exp) {
var _a, _b;
var data = this.check(true);
data[key] = {
val: val,
exp: exp || +new Date()
};
try {
if (localStorage$1.getItem(prefix + this.key)) localStorage$1.removeItem(prefix + this.key);
localStorage$1.setItem(prefix + this.key, JSON.stringify(data));
this.logger("first set success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data)), 'success');
} catch (e) {
this.logger("first set error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(prefix + this.key, " data:").concat(JSON.stringify(data), " k:").concat(key, " v:").concat(val, " exp:").concat(exp), 'error');
localStorage$1.clear();
LS.setItem(this.key, JSON.stringify(_defineProperty({}, key, {
val: val,
exp: exp || +new Date()
})), this.logger);
}
}
}, {
key: "get",
value: function get(key) {
var data = this.getData();
data = data[key];
return data ? data.val || null : null;
}
}, {
key: "remove",
value: function remove(key) {
var data = this.getData();
if (data[key]) delete data[key];
LS.setItem(this.key, JSON.stringify(data), this.logger);
}
}], [{
key: "getItem",
value: function getItem(key) {
key = prefix + key;
return localStorage$1.getItem(key);
}
}, {
key: "setItem",
value: function setItem(key, val, logger) {
var _a, _b;
key = prefix + key;
var n = 3;
while (n--) {
try {
if (localStorage$1.getItem(key)) localStorage$1.removeItem(key);
localStorage$1.setItem(key, val);
typeof logger === 'function' && logger("setItem success: LSlen:".concat((_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.length, " key:").concat(key, " val:").concat(val), 'success');
break;
} catch (e) {
typeof logger === 'function' && logger("setItem error: LSlen:".concat((_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.length, " error:").concat(e, " key:").concat(key, " val:").concat(val), 'error');
LS.clear();
}
}
}
}, {
key: "clear",
value: function clear() {
var i, k;
for (i = localStorage$1.length - 1; i >= 0; i--) {
k = localStorage$1.key(i);
if (k.indexOf(prefix) == 0) {
localStorage$1.removeItem(k);
}
}
}
}, {
key: "getSupportEvicationPolicy",
value: function getSupportEvicationPolicy() {
return Object.keys(evictionPolicies);
}
}]);
return LS;
}();
var key = 'stream_last_read_pos';
new LS(key);
var interactionStatusLS = new LS('bottom_interaction_status');
function getInteractionStatus(opt) {
var biz = opt.biz || window.biz;
var sn = opt.sn || window.sn;
var mid = opt.mid || window.mid;
var idx = opt.idx || window.idx;
var interactionStatusKey = [biz, sn, mid, idx].join('_');
var interactionStatusInfo = interactionStatusLS.get(interactionStatusKey);
if (Object.prototype.toString.call(interactionStatusInfo) !== '[object Object]') {
interactionStatusInfo = {};
}
return interactionStatusInfo;
}
var __setBarData = function __setBarData(appmsgBarData, cgiData) {
if (!appmsgBarData) {
return;
}
function formatReadNum(value) {
var unit = '万';
if (window.LANG === 'en') {
unit = 'k';
}
var result = '';
if (parseInt(value, 10) > 100000) {
result = 10 + unit + '+';
} else if (parseInt(value, 10) > 10000 && parseInt(value, 10) <= 100000) {
var num = '' + parseInt(value, 10) / 10000;
var dotIndex = num.indexOf('.');
if (dotIndex === -1) {
result = num + unit;
} else {
result = num.substr(0, dotIndex) + '.' + num.charAt(dotIndex + 1) + unit;
}
} else if (parseInt(value, 10) === 0) {
result = '';
} else {
result = value || '';
}
return result;
}
try {
var bottomBarSafeBottomKey = '__bottom_bar_safe_bottom__';
var bottomBarSafeBottom = localStorage.getItem(bottomBarSafeBottomKey);
if (bottomBarSafeBottom) {
document.documentElement.style.setProperty('--immersive-safe-bottom', bottomBarSafeBottom);
}
var barOldlikeBtn = document.getElementById('js_bar_oldlike_btn');
var barShareBtn = document.getElementById('js_bar_share_btn');
var barLikeBtn = document.getElementById('js_bar_like_btn');
var barCommentBtn = document.getElementById('js_bar_comment_btn');
var barCollectBtn = document.getElementById('js_bar_collect_btn');
var interactionStatus = getInteractionStatus({
biz: cgiData.biz,
mid: cgiData.mid,
sn: cgiData.sn,
idx: cgiData.idx
});
if (interactionStatus.is_my_old_like) {
var oldLikeEl = barOldlikeBtn.parentElement;
oldLikeEl.classList.add('praised');
}
if (interactionStatus.is_my_like) {
var likeEl = barLikeBtn.parentElement;
likeEl.classList.add('like_btn_liked');
}
var old_like_count = interactionStatus.old_like_count * 1 ? Math.max(interactionStatus.old_like_count * 1, appmsgBarData.old_like_count) : appmsgBarData.old_like_count || 0;
var share_count = appmsgBarData.share_count || 0;
var like_count = interactionStatus.like_count * 1 ? Math.max(interactionStatus.like_count * 1, appmsgBarData.like_count) : appmsgBarData.like_count || 0;
var comment_count = appmsgBarData.comment_count || 0;
var collect_count = appmsgBarData.collect_count || 0;
if (old_like_count && barOldlikeBtn) {
barOldlikeBtn.innerText = formatReadNum(old_like_count);
}
if (share_count && barShareBtn) {
barShareBtn.innerText = formatReadNum(share_count);
}
if (like_count && barLikeBtn) {
barLikeBtn.innerText = formatReadNum(like_count);
}
if (comment_count && barCommentBtn) {
barCommentBtn.innerText = formatReadNum(comment_count);
}
if (collect_count && barCollectBtn) {
barCollectBtn.innerText = formatReadNum(collect_count);
}
} catch (error) {
console.log(error);
}
};
if (!window.__second_open__) {
var tmpAppmsgBarData = {
show_like: '1' * 1,
like_count: '1068' * 1,
show_share: '1' * 1,
share_count: '11023' * 1,
show_old_like: '1' * 1,
old_like_count: '1603' * 1,
comment_enabled: '1' * 1,
comment_count: '96' * 1,
show_collect: '0' * 1,
collect_count: '1379' * 1
};
var cgiData = {
idx: '1' ,
biz: 'MjM5MDc0NTY2OA==' ,
mid: '2651811945' ,
sn: '5cdc04c80e5aaa08ca02269359e65fce'
};
__setBarData(tmpAppmsgBarData, cgiData);
window.__setBarData = __setBarData;
}
return __setBarData;
})();(function () {
'use strict';
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
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);
}
function _toPrimitive(input, hint) {
if (_typeof(input) !== "object" || input === null) return input;
var prim = input[Symbol.toPrimitive];
if (prim !== undefined) {
var res = prim.call(input, hint || "default");
if (_typeof(res) !== "object") return res;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (hint === "string" ? String : Number)(input);
}
function _toPropertyKey(arg) {
var key = _toPrimitive(arg, "string");
return _typeof(key) === "symbol" ? key : String(key);
}
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
Object.defineProperty(Constructor, "prototype", {
writable: false
});
return Constructor;
}
function _assertThisInitialized(self) {
if (self === void 0) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
return self;
}
function _possibleConstructorReturn(self, call) {
if (call && (_typeof(call) === "object" || typeof call === "function")) {
return call;
} else if (call !== void 0) {
throw new TypeError("Derived constructors may only return object or undefined");
}
return _assertThisInitialized(self);
}
function _getPrototypeOf(o) {
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
return o.__proto__ || Object.getPrototypeOf(o);
};
return _getPrototypeOf(o);
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function");
}
subClass.prototype = Object.create(superClass && superClass.prototype, {
constructor: {
value: subClass,
writable: true,
configurable: true
}
});
Object.defineProperty(subClass, "prototype", {
writable: false
});
if (superClass) _setPrototypeOf(subClass, superClass);
}
var classWhiteList = ['rich_pages', 'blockquote_info', 'blockquote_biz', 'blockquote_other', 'blockquote_article', 'h5_image_link', 'img_loading', 'list-paddingleft-1', 'list-paddingleft-2', 'list-paddingleft-3', 'selectTdClass', 'noBorderTable', 'ue-table-interlace-color-single', 'ue-table-interlace-color-double', '__bg_gif', 'weapp_text_link', 'weapp_image_link', 'qqmusic_area', 'tc', 'tips_global', 'unsupport_tips', 'qqmusic_wrp', 'appmsg_card_context', 'appmsg_card_active', 'qqmusic_bd', 'play_area', 'icon_qqmusic_switch', 'pic_qqmusic_default', 'qqmusic_thumb', 'access_area', 'qqmusic_songname', 'qqmusic_singername', 'qqmusic_source', 'share_audio_context', 'flex_context', 'pages_reset', 'share_audio_switch', 'icon_share_audio_switch', 'share_audio_info', 'flex_bd', 'share_audio_title', 'share_audio_tips', 'share_audio_progress_wrp', 'share_audio_progress', 'share_audio_progress_inner', 'share_audio_progress_buffer', 'share_audio_progress_loading', 'share_audio_progress_loading_inner', 'share_audio_progress_handle', 'share_audio_desc', 'share_audio_length_current', 'share_audio_length_total', 'video_iframe', 'vote_iframe', 'res_iframe', 'card_iframe', 'weapp_display_element', 'weapp_card', 'app_context', 'weapp_card_bd', 'weapp_card_profile', 'radius_avatar', 'weapp_card_avatar', 'weapp_card_nickname', 'weapp_card_info', 'weapp_card_title', 'weapp_card_thumb_wrp', 'weapp_card_ft', 'weapp_card_logo', 'pay', 'pay__mask', 'ct_geography_loc_tip', 'subsc_context', 'subsc_btn', 'reset_btn', 'icon_subsc', 'weui-primary-loading', 'weui-primary-loading__dot', 'wxw-img', 'mp-caret', 'appmsg_poi_iframe', 'cpc_iframe', 'channels_iframe_wrp', 'channels_iframe', 'videosnap_video_iframe', 'videosnap_live_iframe', 'videosnap_image_iframe', 'channels_live_iframe', 'minishop_iframe_wrp', 'minishop_iframe', 'mp_profile_iframe', 'mp_profile_iframe_wrp', 'mp_search_iframe_wrp', 'appmsg_search_iframe_wrp', 'appmsg_search_iframe', 'vote_area', 'vote_iframe', 'mp_vote_iframe_wrp', 'mp_vote_iframe', 'qqmusic_iframe', 'blockquote_iframe', 'blockquote_tips_iframe', 'video_iframe', 'shopcard_iframe', 'topic_iframe', 'weapp_app_iframe', 'img_fail_iframe', 'mp_miniprogram_iframe', 'appmsg_cpslink_iframe', 'js_editor_mpcpslink', 'mp-cpslink-iframe-wrp', 'mp_common_sticker_iframe', 'mp_common_sticker_iframe_wrp', 'mp_common_product_iframe', 'mp_common_product_iframe_wrp', 'new_cps_iframe', 'redpackage_iframe', 'mp_redpacket_iframe_wrp'];
var classWhiteListReg = [new RegExp('^editor__content__'), new RegExp('^wxw'), new RegExp('^js_'), new RegExp('^cps_inner'), new RegExp('^bizsvr_'),
new RegExp('^code-snippet'),
new RegExp('^wx_'),
new RegExp('^wx-'),
new RegExp('^icon_emoji_'),
new RegExp('^custom_select_card')
];
var contentStyle = {
classWhiteList: classWhiteList,
classWhiteListReg: classWhiteListReg
};
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function DomFilter (cgiOptData) {
return function (Plugin) {
var isMMVersionSetted = false;
var contentDom = document.getElementById('js_content');
var classWhiteList = contentStyle.classWhiteList,
classWhiteListReg = contentStyle.classWhiteListReg;
var removeClassByWhiteList = function removeClassByWhiteList(node) {
var classAttr = node.getAttribute('class');
if (classAttr) {
var classList = classAttr.split(/\s+/);
var newClassList = [];
for (var i = 0, len = classList.length; i < len; ++i) {
var className = classList[i];
if (className && classWhiteList.indexOf(className) != -1) {
newClassList.push(className);
} else {
for (var j = 0, jl = classWhiteListReg.length; j < jl; j++) {
if (classWhiteListReg[j].test(className)) {
newClassList.push(className);
break;
}
}
}
}
node.setAttribute('class', newClassList.join(' '));
}
};
var langBlackList = ['zh-cn', 'en-us'];
var removeLangByBlackList = function removeLangByBlackList(node) {
var langAttr = node.getAttribute('lang');
if (langAttr) {
var lang = langAttr.toLowerCase();
for (var i = 0; i < langBlackList.length; i++) {
if (lang === langBlackList[i]) {
node.removeAttribute('lang');
return;
}
}
}
};
var isAccessMode = window.localStorage.getItem('isMpUserAccessibility');
var isCarton = (cgiOptData === null || cgiOptData === void 0 ? void 0 : cgiOptData.copyright_info.is_cartoon_copyright) || (cgiOptData === null || cgiOptData === void 0 ? void 0 : cgiOptData.user_info.is_care_mode) || isAccessMode === '1';
var bgPlaceholder = 'url("data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==")';
var lazyloadBackgroundImage = function lazyloadBackgroundImage(node) {
if (window.__second_open__ && !isCarton && node && node.style && typeof node.getAttribute === 'function' && !node.getAttribute('data-lazy-bgimg')) {
var bgImg = node.style.backgroundImage;
var bgImgUrl = bgImg && bgImg.match(/url\(['"]?(.*?)['"]?\)/);
if (bgImgUrl && bgImgUrl[1]) {
node.style.backgroundImage = bgImg.replace(/url\(['"]?.*?['"]?\)/, bgPlaceholder);
node.setAttribute('data-lazy-bgimg', bgImgUrl[1]);
node.classList.add('wx_imgbc_placeholder');
}
}
};
return function (_Plugin) {
_inherits(_class, _Plugin);
function _class() {
_classCallCheck(this, _class);
return _callSuper(this, _class, arguments);
}
_createClass(_class, [{
key: "beforeConvertNode",
value: function beforeConvertNode(el) {
if (el && el.tagName) {
var tagName = el.tagName.toLowerCase();
if (tagName !== 'iframe') {
removeClassByWhiteList(el);
removeLangByBlackList(el);
lazyloadBackgroundImage(el);
} else {
if (el.getAttribute('class') === 'video_ad_iframe') {
el.setAttribute('class', '');
}
}
}
}
}, {
key: "afterConvertNode",
value: function afterConvertNode(el) {
if (!isMMVersionSetted) {
var ua = navigator.userAgent;
/(iPhone|iPad|iPod|iOS|mac\sos)/i.test(ua) ? contentDom.classList.add('fix_apple_default_style') : null;
isMMVersionSetted = true;
}
if (el.style && el.style.webkitTextSizeAdjust !== '' && el.style.webkitTextSizeAdjust !== 'none') {
el.style.webkitTextSizeAdjust = 'inherit';
}
if (el.tagName === 'animate' && el.getAttribute('attributeName') === 'height') {
var repeatCountVal = el.getAttribute('repeatCount');
if (repeatCountVal === 'indefinite' || repeatCountVal > '10') {
if (el.getAttribute('begin') !== 'click' && el.getAttribute('end') !== 'click') {
el.setAttribute('repeatCount', 'undefined');
el.setAttribute('attributeName', 'undefined');
new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=306525_1_1';
}
}
}
if (el.tagName === 'OL') {
if ((el.parentNode === document.getElementById('js_content') || el.parentNode.getAttribute('id') === 'js_secopen_content') && el.getAttribute('style') && el.getAttribute('style').indexOf('padding-left') < 0) {
if (el.childNodes.length >= 10 && el.childNodes.length < 100) {
el.classList.add('extra-list-padding-level1');
el.style.paddingLeft = '2.2em';
} else if (el.childNodes.length > 100) {
el.classList.add('extra-list-padding-level2');
el.style.paddingLeft = '3.2em';
}
}
}
if (el.tagName === 'MP-STYLE-TYPE') {
var styleType = parseInt(el.getAttribute('data-value'), 10);
if (styleType === 3) {
if (el.parentNode && el.parentNode.previousSibling) {
var realLastP = el.parentNode.previousSibling;
if ((realLastP.tagName === 'P' || realLastP.tagName === 'SECTION') && realLastP.style && !realLastP.style.marginBottom) {
realLastP.style.marginBottom = '0';
}
}
}
}
}
}]);
return _class;
}(Plugin);
};
}
if (!window.__second_open__ && window.Darkmode) {
var cost = 0;
window.Darkmode.extend([DomFilter()]);
window.Darkmode.run(document.querySelectorAll('#js_content *'), {
mode: '',
defaultDarkBgColor: '',
error: function error() {
new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_0_1';
},
begin: function begin(isSwitch) {
new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_2_1';
isSwitch && (new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_4_1');
cost = new Date() * 1;
},
showFirstPage: function showFirstPage() {
document.getElementById('js_content').style.removeProperty('opacity');
cost = new Date() * 1 - cost;
var isTop = (document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop) === 0;
if (cost <= 10) {
new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_6_1';
isTop && (new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_13_1');
} else if (cost > 10 && cost <= 20) {
new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_7_1';
isTop && (new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_14_1');
} else if (cost > 20 && cost <= 30) {
new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_8_1';
isTop && (new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_15_1');
} else if (cost > 30 && cost <= 40) {
new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_9_1';
isTop && (new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_16_1');
} else if (cost > 40 && cost <= 50) {
new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_10_1';
isTop && (new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_17_1');
} else if (cost > 50 && cost <= 60) {
new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_11_1';
isTop && (new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_18_1');
} else {
new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_12_1';
isTop && (new Image().src = 'https://mp.weixin.qq.com/mp/jsmonitor?idkey=125617_19_1');
}
}
});
document.getElementById('js_content').style.removeProperty('visibility');
}
})();var __INLINE_SCRIPT__ = (function (exports) {
'use strict';
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);
}
function _toPrimitive(input, hint) {
if (_typeof(input) !== "object" || input === null) return input;
var prim = input[Symbol.toPrimitive];
if (prim !== undefined) {
var res = prim.call(input, hint || "default");
if (_typeof(res) !== "object") return res;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (hint === "string" ? String : Number)(input);
}
function _toPropertyKey(arg) {
var key = _toPrimitive(arg, "string");
return _typeof(key) === "symbol" ? key : String(key);
}
function _defineProperty(obj, key, value) {
key = _toPropertyKey(key);
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
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;
}
function _arrayWithoutHoles(arr) {
if (Array.isArray(arr)) return _arrayLikeToArray$1(arr);
}
function _iterableToArray(iter) {
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
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 _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _toConsumableArray(arr) {
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread();
}
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(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(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(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(o, minLen); }
function _arrayLikeToArray(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; }
function updateProfileAttr(profiles, infos) {
if (!profiles || !Array.isArray(profiles) || !infos || !Array.isArray(infos)) {
return;
}
var _iterator = _createForOfIteratorHelper(profiles),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var profile = _step.value;
var profileId = profile.getAttribute('data-id');
var profileInfo = findBizCardInfo(infos, profileId);
if (profileInfo) {
var is_biz_ban = profileInfo.is_biz_ban,
original_num = profileInfo.original_num,
biz_account_status = profileInfo.biz_account_status;
profile.setAttribute('data-origin_num', original_num * 1);
profile.setAttribute('data-is_biz_ban', is_biz_ban * 1);
profile.setAttribute('data-isban', is_biz_ban * 1);
profile.setAttribute('data-biz_account_status', biz_account_status * 1);
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
function findBizCardInfo(infos, id) {
return infos.find(function (info) {
return info.fakeid === id;
});
}
function dealWithProfileData(data) {
var _data$biz_card;
if (!window.__second_open__) {
return data;
}
var profileData = (data === null || data === void 0 ? void 0 : (_data$biz_card = data.biz_card) === null || _data$biz_card === void 0 ? void 0 : _data$biz_card.list) || [];
profileData.map(function (item) {
return item['original_num'] = item['orignal_num'];
});
return profileData;
}
function updateCustomElementAttrs(dom, data) {
if (!dom || !data) return;
var profiles = dom.querySelectorAll('mp-common-profile');
updateProfileAttr(Array.from(profiles), dealWithProfileData(data));
}
function preprocessMpAudios(dom, data) {
var voiceList = window.__second_open__ ? data === null || data === void 0 ? void 0 : data.voice_in_appmsg_list_json : data.voiceList;
if (typeof voiceList === 'string') {
try {
voiceList = JSON.parse(voiceList);
} catch (e) {
return;
}
}
if (!dom || !voiceList) return;
var albumlist = [];
if (voiceList.voice_in_appmsg && voiceList.voice_in_appmsg.length > 0) {
albumlist = voiceList.voice_in_appmsg;
}
var mpvoices = _toConsumableArray(dom.querySelectorAll('mpvoice'));
mpvoices.forEach(function (mpvoice) {
var mpaudio = document.createElement('mp-common-mpaudio');
var attrs = mpvoice.getAttributeNames().reduce(function (acc, name) {
if (name === 'data-trans_state' || name === 'err_tips') return acc;
return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, name, mpvoice.getAttribute(name)));
}, {});
for (var key in attrs) {
mpaudio.setAttribute(key, attrs[key]);
}
mpaudio.setAttribute('data-trans_state', 1);
mpvoice.parentNode.replaceChild(mpaudio, mpvoice);
});
var mpaudios = _toConsumableArray(dom.querySelectorAll('mp-common-mpaudio'));
mpaudios.forEach(function (mpaudio) {
mpaudio.style.opacity = 0;
mpaudio.setAttribute('author', data.nick_name || '');
var album = albumlist.find(function (a) {
var voice_encode_fileid = mpaudio.getAttribute('voice_encode_fileid');
try {
voice_encode_fileid = decodeURIComponent(voice_encode_fileid);
} catch (e) {}
return a.voice_id === voice_encode_fileid && a.appmsgalbuminfo;
});
if (album) {
mpaudio.setAttribute('data-topic_id', album.appmsgalbuminfo.album_id || 0);
mpaudio.setAttribute('data-topic_name', album.appmsgalbuminfo.title || '');
mpaudio.setAttribute('data-topic_link', album.appmsgalbuminfo.link.html(false).replace('#wechat_redirect', '') + '#wechat_redirect');
mpaudio.setAttribute('data-topic_num', album.appmsgalbuminfo.tag_content_num || 0);
}
});
var claudios = _toConsumableArray(dom.querySelectorAll('mp-common-claudio'));
claudios.forEach(function (claudio) {
claudio.style.opacity = 0;
});
}
function handleTagReplacement(ele, newTagName) {
var newTag = document.createElement(newTagName);
var _iterator2 = _createForOfIteratorHelper(ele.attributes),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var attr = _step2.value;
newTag.setAttribute(attr.name, attr.value);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
newTag.innerHTML = ele.innerHTML;
ele.parentNode.replaceChild(newTag, ele);
return newTag;
}
function preprocessMpMusic(root) {
var qqmusicEles = _toConsumableArray(root.querySelectorAll('qqmusic'));
qqmusicEles.forEach(function (ele) {
return handleTagReplacement(ele, 'mp-common-qqmusic');
});
}
if (!window.__second_open__) {
updateCustomElementAttrs(window.document, window.mp_profile);
preprocessMpAudios(window.document, {
voiceList: window.voiceList,
nick_name: window.nickname
});
preprocessMpMusic(window.document);
}
exports.preprocessMpAudios = preprocessMpAudios;
exports.preprocessMpMusic = preprocessMpMusic;
exports.updateCustomElementAttrs = updateCustomElementAttrs;
exports.updateProfileAttr = updateProfileAttr;
Object.defineProperty(exports, '__esModule', { value: true });
return exports;
})({});var __INLINE_SCRIPT__ = (function (exports) {
'use strict';
function setProfileName() {
var ua = window.navigator.userAgent;
if (/wxwork/i.test(ua)) {
var profileName = document.getElementById('js_name');
var authorName = document.getElementById('js_author_name');
var accountNames = document.getElementsByClassName('account_nickname_inner');
if (profileName) {
profileName.classList.add('tips_global_primary');
}
if (authorName) {
authorName.classList.add('tips_global_primary');
}
if (accountNames && accountNames.length) {
accountNames[0].classList.add('tips_global_primary');
}
}
}
if (!window.__second_open__) {
setProfileName();
}
exports.setProfileName = setProfileName;
Object.defineProperty(exports, '__esModule', { value: true });
return exports;
})({});var __INLINE_SCRIPT__ = (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;
var __setFeedback = function __setFeedback() {
var richMediaMetaAll = document.querySelectorAll('.rich_media_meta');
var richMediaMetaList = document.querySelector('.rich_media_meta_list');
var richMediaMeta = Array.prototype.filter.call(richMediaMetaAll, function (element) {
var style = window.getComputedStyle(element);
return style.display !== 'none' && style.visibility !== 'hidden' && style.opacity !== '0';
});
if (richMediaMeta.length >= 2) {
var gap = richMediaMetaList.clientWidth - (richMediaMeta[richMediaMeta.length - 2].offsetLeft + richMediaMeta[richMediaMeta.length - 2].offsetWidth) - richMediaMeta[richMediaMeta.length - 1].offsetWidth;
if (gap < 16) {
var breakElement = document.createElement('div');
breakElement.style.display = 'block';
richMediaMeta[richMediaMeta.length - 2].parentNode.insertBefore(breakElement, richMediaMeta[richMediaMeta.length - 2]);
}
}
};
if (!window.__second_open__) {
window.can_feedback && !Device.os.pc && __setFeedback();
}
return __setFeedback;
})();
(function(_g){
_g.appmsg_like_type = "2" * 1 ? "2" * 1 : 1;
_g.clientversion = "";
_g.passparam = "";
if(!_g.msg_link) {
_g.msg_link = "http://mp.weixin.qq.com/s?__biz=MjM5MDc0NTY2OA==&mid=2651811945&idx=1&sn=5cdc04c80e5aaa08ca02269359e65fce&chksm=bdbbc5428acc4c541e8e5a14dd29788103f28824c58af3eab9ce5db7c913a06387c3e486f91a#rd";
}
_g.appmsg_type = "9";
_g.devicetype = "android";
_g.kanyikan_video_educate_pic = "//res.wx.qq.com/mmbizappmsg/zh_CN/htmledition/js/images/pic/pic_like_comm