diff --git a/cdp-common/cdp-common-core/src/main/java/com/baiye/core/base/api/BaseTiktokRequest.java b/cdp-common/cdp-common-core/src/main/java/com/baiye/core/base/api/BaseTiktokRequest.java index 02f1e60..c201da2 100644 --- a/cdp-common/cdp-common-core/src/main/java/com/baiye/core/base/api/BaseTiktokRequest.java +++ b/cdp-common/cdp-common-core/src/main/java/com/baiye/core/base/api/BaseTiktokRequest.java @@ -9,6 +9,6 @@ import lombok.Setter; */ @Getter @Setter -public abstract class BaseTiktokRequest implements TiktokRequest { +public abstract class BaseTiktokRequest implements TiktokRequest { private String sessionKey; } diff --git a/cdp-common/cdp-common-core/src/main/java/com/baiye/core/base/api/BaseTiktokResponse.java b/cdp-common/cdp-common-core/src/main/java/com/baiye/core/base/api/BaseTiktokResponse.java index fd9e2be..8db8cee 100644 --- a/cdp-common/cdp-common-core/src/main/java/com/baiye/core/base/api/BaseTiktokResponse.java +++ b/cdp-common/cdp-common-core/src/main/java/com/baiye/core/base/api/BaseTiktokResponse.java @@ -11,6 +11,7 @@ import lombok.Setter; @Setter public class BaseTiktokResponse { + private String businessReqId; private Integer status; diff --git a/cdp-common/cdp-common-core/src/main/java/com/baiye/core/base/api/TiktokRequest.java b/cdp-common/cdp-common-core/src/main/java/com/baiye/core/base/api/TiktokRequest.java index de0139d..7c94933 100644 --- a/cdp-common/cdp-common-core/src/main/java/com/baiye/core/base/api/TiktokRequest.java +++ b/cdp-common/cdp-common-core/src/main/java/com/baiye/core/base/api/TiktokRequest.java @@ -4,12 +4,12 @@ package com.baiye.core.base.api; * @author Enzo * @date : 2022/8/24 */ -public interface TiktokRequest { +public interface TiktokRequest { /** * 获取返回参数 * @return */ - Class getResponseClass(); + Class getResponseClass(); } diff --git a/cdp-common/cdp-common-core/src/main/java/com/baiye/core/constant/TiktokRequestConstants.java b/cdp-common/cdp-common-core/src/main/java/com/baiye/core/constant/TiktokRequestConstants.java index 940f383..2e6da46 100644 --- a/cdp-common/cdp-common-core/src/main/java/com/baiye/core/constant/TiktokRequestConstants.java +++ b/cdp-common/cdp-common-core/src/main/java/com/baiye/core/constant/TiktokRequestConstants.java @@ -82,9 +82,30 @@ public interface TiktokRequestConstants { * 获取达人信息 */ String GET_USER_PROFILE = "/api/user/getUserProfile"; + /** * 获取粉丝列表 */ String GET_FOLLOWER_LIST = "/api/user/optFollowerList"; + + /** + * 抖音发送私信 + */ + String TIK_TOK_SEND_MESSAGE = "/api/user/sendMessage"; + + + /** + * 获取好友私信 + */ + String TIK_TOK_GET_FRIEND_MESSAGE = "/api/user/getFriendMessage"; + + + /** + * 获取陌生人私信 + */ + String TIK_TOK_GET_RECENT_STRANGER_MESSAGE = "/api/user/getFriendMessage"; + + + } diff --git a/cdp-common/cdp-common-core/src/main/java/com/baiye/core/util/AppUtils.java b/cdp-common/cdp-common-core/src/main/java/com/baiye/core/util/AppUtils.java index 5922ac6..0565889 100644 --- a/cdp-common/cdp-common-core/src/main/java/com/baiye/core/util/AppUtils.java +++ b/cdp-common/cdp-common-core/src/main/java/com/baiye/core/util/AppUtils.java @@ -1,7 +1,9 @@ package com.baiye.core.util; +import cn.hutool.core.util.TypeUtil; import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.asymmetric.KeyType; +import com.alibaba.fastjson.JSON; import com.baiye.core.constant.EncryptionConstants; import com.google.common.collect.Lists; @@ -114,11 +116,5 @@ public class AppUtils { return SecureUtil.rsa(null,publicKey).decryptStrFromBcd(str, KeyType.PublicKey); } - public static void main(String[] args) { - String str = "\"{\\\"user\\\":{\\\"card_entries\\\":[{\\\"sub_title\\\":\\\"148件好物\\\",\\\"goto_url\\\":\\\"sslocal://goods/store?sec_shop_id=rQPtIzz\\\",\\\"icon_dark\\\":{\\\"url_list\\\":[\\\"https://lf3-static.bytednsdoc.com/obj/eden-cn/fylmmlqeh7nupanuhog/ic_light-2x.png\\\",\\\"https://lf9-static.bytednsdoc.com/obj/eden-cn/fylmmlqeh7nupanuhog/ic_light-2x.png\\\",\\\"https://lf26-static.bytednsdoc.com/obj/eden-cn/fylmmlqeh7nupanuhog/ic_light-2x.png\\\",\\\"https://lf3-static.bytednsdoc.com/obj/eden-cn/fylmmlqeh7nupanuhog/ic_light-3x.png\\\",\\\"https://lf9-static.bytednsdoc.com/obj/eden-cn/fylmmlqeh7nupanuhog/ic_light-3x.png\\\",\\\"https://lf26-static.bytednsdoc.com/obj/eden-cn/fylmmlqeh7nupanuhog/ic_light-3x.png\\\"]},\\\"icon_light\\\":{\\\"url_list\\\":[\\\"https://lf3-static.bytednsdoc.com/obj/eden-cn/fylmmlqeh7nupanuhog/ic_dark-2x.png\\\",\\\"https://lf9-static.bytednsdoc.com/obj/eden-cn/fylmmlqeh7nupanuhog/ic_dark-2x.png\\\",\\\"https://lf26-static.bytednsdoc.com/obj/eden-cn/fylmmlqeh7nupanuhog/ic_dark-2x.png\\\",\\\"https://lf3-static.bytednsdoc.com/obj/eden-cn/fylmmlqeh7nupanuhog/ic_dark-3x.png\\\",\\\"https://lf9-static.bytednsdoc.com/obj/eden-cn/fylmmlqeh7nupanuhog/ic_dark-3x.png\\\",\\\"https://lf26-static.bytednsdoc.com/obj/eden-cn/fylmmlqeh7nupanuhog/ic_dark-3x.png\\\"]},\\\"card_data\\\":\\\"{\\\\\\\"is_order_card\\\\\\\":false,\\\\\\\"has_new\\\\\\\":true,\\\\\\\"is_store\\\\\\\":true,\\\\\\\"shop_id\\\\\\\":\\\\\\\"1477159\\\\\\\",\\\\\\\"product_count\\\\\\\":148,\\\\\\\"store_type\\\\\\\":\\\\\\\"shop\\\\\\\",\\\\\\\"icon_is_repeat\\\\\\\":false,\\\\\\\"icon_type\\\\\\\":\\\\\\\"\\\\\\\"}\\\",\\\"type\\\":1,\\\"title\\\":\\\"进入店铺\\\"},{\\\"icon_dark\\\":{\\\"uri\\\":\\\"\\\",\\\"url_list\\\":[\\\"https://p3.douyinpic.com/aweme-server-static-resource/music_card_dark_v1.png~tplv-obj.image\\\",\\\"https://p6.douyinpic.com/aweme-server-static-resource/music_card_dark_v1.png~tplv-obj.image\\\",\\\"https://p9.douyinpic.com/aweme-server-static-resource/music_card_dark_v1.png~tplv-obj.image\\\"]},\\\"icon_light\\\":{\\\"uri\\\":\\\"\\\",\\\"url_list\\\":[\\\"https://p3.douyinpic.com/aweme-server-static-resource/music_card_light_v1.png~tplv-obj.image\\\",\\\"https://p6.douyinpic.com/aweme-server-static-resource/music_card_light_v1.png~tplv-obj.image\\\",\\\"https://p9.douyinpic.com/aweme-server-static-resource/music_card_light_v1.png~tplv-obj.image\\\"]},\\\"type\\\":7,\\\"title\\\":\\\"Ta的音乐\\\",\\\"sub_title\\\":\\\"听听ta的歌单\\\"},{\\\"type\\\":2,\\\"title\\\":\\\"粉丝群\\\",\\\"sub_title\\\":\\\"4个群聊\\\",\\\"goto_url\\\":\\\"aweme://im/FansGroup/GuestState\\\",\\\"icon_dark\\\":{\\\"uri\\\":\\\"https://p3.douyinpic.com/obj/im-resource/old_fans_group_manage_dark.png\\\",\\\"url_list\\\":[\\\"https://p3.douyinpic.com/obj/im-resource/old_fans_group_manage_dark.png\\\",\\\"https://p6.douyinpic.com/obj/im-resource/old_fans_group_manage_dark.png\\\",\\\"https://p9.douyinpic.com/obj/im-resource/old_fans_group_manage_dark.png\\\"]},\\\"icon_light\\\":{\\\"uri\\\":\\\"https://p3.douyinpic.com/obj/im-resource/old_fans_group_manage_light.png\\\",\\\"url_list\\\":[\\\"https://p3.douyinpic.com/obj/im-resource/old_fans_group_manage_light.png\\\",\\\"https://p6.douyinpic.com/obj/im-resource/old_fans_group_manage_light.png\\\",\\\"https://p9.douyinpic.com/obj/im-resource/old_fans_group_manage_light.png\\\"]}},{\\\"card_data\\\":\\\"{\\\\\\\"has_yellow_point\\\\\\\":false,\\\\\\\"announcement_release_time\\\\\\\":0,\\\\\\\"preview_video_release_time\\\\\\\":0,\\\\\\\"precipitation_video_release_time\\\\\\\":0}\\\",\\\"type\\\":6,\\\"title\\\":\\\"直播动态\\\",\\\"sub_title\\\":\\\"明天7:00开播\\\",\\\"goto_url\\\":\\\"sslocal://webcast_lynxview?url=https%3A%2F%2Flf-webcast-sourcecdn-tos.bytegecko.com%2Fobj%2Fbyte-gurd-source%2Fwebcast%2Fmono%2Flynx%2Fdouyin_lynx_live_dynamic%2Ftemplate%2Fpages%2Flive_dynamic%2Ftemplate.js%3Fanchor_id%3D82914947908%26sec_anchor_id%3DMS4wLjABAAAAgFhVlynoQJoviiWBkDLc4FDHayST16Rwe_L8-R3WXjQ&type=fullscreen&hide_nav_bar=1&trans_status_bar=1&web_bg_color=%23ffffff&status_bar_color=black&fallback_url=sslocal%3A%2F%2Fwebcast_webview%3Furl%3Dhttps%253A%252F%252Flf-webcast-sourcecdn-tos.bytegecko.com%252Fobj%252Fbyte-gurd-source%252Fwebcast%252Fmono%252Flynx%252Fdouyin_lynx_live_dynamic%252Ftemplate%252Fpages%252Flive_dynamic%252Findex.html%253Fanchor_id%253D82914947908%2526sec_anchor_id%253DMS4wLjABAAAAgFhVlynoQJoviiWBkDLc4FDHayST16Rwe_L8-R3WXjQ%26type%3Dfullscreen%26hide_nav_bar%3D1%26trans_status_bar%3D1%26web_bg_color%3D%2523ffffff%26status_bar_color%3Dblack\\\",\\\"icon_dark\\\":{\\\"uri\\\":\\\"obj/aweme-web-babel/ic_livemod_v1\\\",\\\"url_list\\\":[\\\"http://p29-dy.byteimg.com/obj/aweme-web-babel/ic_livemod_v1.png\\\",\\\"http://p9-dy.byteimg.com/obj/aweme-web-babel/ic_livemod_v1.png\\\",\\\"https://p6-dy-ipv6.byteimg.com/obj/aweme-web-babel/ic_livemod_v1.png\\\"]},\\\"icon_light\\\":{\\\"uri\\\":\\\"obj/aweme-web-babel/ic_livemod_v1\\\",\\\"url_list\\\":[\\\"http://p29-dy.byteimg.com/obj/aweme-web-babel/ic_livemod_v2.png\\\",\\\"http://p9-dy.byteimg.com/obj/aweme-web-babel/ic_livemod_v2.png\\\",\\\"https://p6-dy-ipv6.byteimg.com/obj/aweme-web-babel/ic_livemod_v2.png\\\"]}},{\\\"type\\\":4,\\\"icon_dark\\\":{\\\"uri\\\":\\\"obj/aweme-web-babel/ic_topic_v3\\\",\\\"url_list\\\":[\\\"http://p29-dy.byteimg.com/obj/aweme-web-babel/ic_topic_v3.png\\\",\\\"http://p9-dy.byteimg.com/obj/aweme-web-babel/ic_topic_v3.png\\\",\\\"https://p6-dy-ipv6.byteimg.com/obj/aweme-web-babel/ic_topic_v3.png\\\"]},\\\"icon_light\\\":{\\\"uri\\\":\\\"obj/aweme-web-babel/ic_topic_l_v3\\\",\\\"url_list\\\":[\\\"http://p29-dy.byteimg.com/obj/aweme-web-babel/ic_topic_l_v3.png\\\",\\\"http://p9-dy.byteimg.com/obj/aweme-web-babel/ic_topic_l_v3.png\\\",\\\"https://p6-dy-ipv6.byteimg.com/obj/aweme-web-babel/ic_topic_l_v3.png\\\"]},\\\"card_data\\\":\\\"[{\\\\\\\"cid\\\\\\\":\\\\\\\"1722197842063389\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"二次元技术流运镜\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1722197842063389\\\\\\\",\\\\\\\"user_count\\\\\\\":1,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":167307,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1718906064710667\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"用张同学的方式打开二次元生活\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1718906064710667\\\\\\\",\\\\\\\"user_count\\\\\\\":1,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":201371,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1716059948081159\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"小贱宠粉\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1716059948081159\\\\\\\",\\\\\\\"user_count\\\\\\\":0,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":29175,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1714844954261516\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"三只松鼠奇妙de商店\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1714844954261516\\\\\\\",\\\\\\\"user_count\\\\\\\":6,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":219859,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1714828111034440\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"三只松鼠奇妙の商店\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1714828111034440\\\\\\\",\\\\\\\"user_count\\\\\\\":0,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":7,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1714672524438599\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"主人和松鼠的十年\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1714672524438599\\\\\\\",\\\\\\\"user_count\\\\\\\":291,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":17498433,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1708674034601038\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"这个中秋有点圆\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1708674034601038\\\\\\\",\\\\\\\"user_count\\\\\\\":588,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":6278077,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1695170059645960\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"寄整个春天给你\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1695170059645960\\\\\\\",\\\\\\\"user_count\\\\\\\":958,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":1899684,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1692749704135684\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"看见她们的力量\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1692749704135684\\\\\\\",\\\\\\\"user_count\\\\\\\":7,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":587413,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1687402124304398\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"助你健康快乐中国年\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1687402124304398\\\\\\\",\\\\\\\"user_count\\\\\\\":22516,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":381088301,\\\\\\\"hashtag_profile\\\\\\\":\\\\\\\"https://p26.douyinpic.com/img/douyin-admin-obj/22c0fd0b0512ab28~noop.jpeg?from=711579258\\\\\\\",\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1688297731788814\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"中国年送三只松鼠坚果礼\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1688297731788814\\\\\\\",\\\\\\\"user_count\\\\\\\":226,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":214864373,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1685042918589447\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"年度爱囤零食榜单\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1685042918589447\\\\\\\",\\\\\\\"user_count\\\\\\\":21,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":9263769,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1681334253923342\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"松鼠快乐创造营\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1681334253923342\\\\\\\",\\\\\\\"user_count\\\\\\\":1006,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":114620298,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1681062016268295\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"双11主人请多指教\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1681062016268295\\\\\\\",\\\\\\\"user_count\\\\\\\":1112,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":283031398,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1671631079963655\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"就要一起奶奶甜\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1671631079963655\\\\\\\",\\\\\\\"user_count\\\\\\\":7995,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":256480050,\\\\\\\"hashtag_profile\\\\\\\":\\\\\\\"https://p9.douyinpic.com/obj/31b06000344ae252d9bee?from=711579258\\\\\\\",\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null}]\\\"}],\\\"signature\\\":\\\"⭐吃坚果、找快乐、来三只松鼠就够了⭐\\\\n国潮坚果零食dou在三只松鼠\\\\n\uD83D\uDCC6每天早上7点准时开播\\\\n美丽漂亮的松鼠小姐姐给大家送浮力啦❗\\\\n\uD83E\uDDE7过年过节就送三只松鼠\uD83E\uDDE7\\\",\\\"unique_id\\\":\\\"songshu0619\\\",\\\"mplatform_followers_count\\\":5247469,\\\"twitter_id\\\":\\\"\\\",\\\"cover_url\\\":[{\\\"uri\\\":\\\"c8510002be9a3a61aad2\\\",\\\"url_list\\\":[\\\"https://p26-sign.douyinpic.com/c8510002be9a3a61aad2~tplv-dy-shrink:750:422.jpeg?x-expires=1645009200&x-signature=sEIhp4e45sG5j0%2BWfMRJZcOWZ%2Bg%3D&from=2480802190&s=profile&se=true&sh=750_422&sc=cover&l=202202141930400102091561642695070C&biz_tag=\\\",\\\"https://p26-sign.douyinpic.com/obj/c8510002be9a3a61aad2?x-expires=1645009200&x-signature=RRF0uaIcTDEqc8kKhtN4m4S9lpw%3D&from=2480802190&s=profile&se=false&sh=&sc=cover&l=202202141930400102091561642695070C&biz_tag=\\\",\\\"https://p9-sign.douyinpic.com/obj/c8510002be9a3a61aad2?x-expires=1645009200&x-signature=kYde27guWtvUQR%2F5BFLFQnIl0bY%3D&from=2480802190&s=profile&se=false&sh=&sc=cover&l=202202141930400102091561642695070C&biz_tag=\\\",\\\"https://p3-sign.douyinpic.com/obj/c8510002be9a3a61aad2?x-expires=1645009200&x-signature=n3ggTRawSAP7LOdGkcZdojsEAPU%3D&from=2480802190&s=profile&se=false&sh=&sc=cover&l=202202141930400102091561642695070C&biz_tag=\\\"]}],\\\"recommend_reason_relation\\\":\\\"\\\",\\\"general_permission\\\":{\\\"following_follower_list_toast\\\":1},\\\"new_friend_type\\\":0,\\\"follow_as_subscription\\\":1,\\\"template_count\\\":0,\\\"favoriting_count\\\":0,\\\"with_commerce_entry\\\":true,\\\"verification_type\\\":0,\\\"is_gov_media_vip\\\":false,\\\"avatar_168x168\\\":{\\\"width\\\":720,\\\"height\\\":720,\\\"uri\\\":\\\"aweme-avatar/mosaic-legacy_31915000811b51868fe24\\\",\\\"url_list\\\":[\\\"https://p11.douyinpic.com/aweme-avatar/mosaic-legacy_31915000811b51868fe24~tplv-dy-shrink:188:188.jpeg?from=2956013662\\\",\\\"https://p11.douyinpic.com/img/aweme-avatar/mosaic-legacy_31915000811b51868fe24~c5_168x168.jpeg?from=2956013662\\\",\\\"https://p6.douyinpic.com/img/aweme-avatar/mosaic-legacy_31915000811b51868fe24~c5_168x168.jpeg?from=2956013662\\\",\\\"https://p26.douyinpic.com/img/aweme-avatar/mosaic-legacy_31915000811b51868fe24~c5_168x168.jpeg?from=2956013662\\\"]},\\\"white_cover_url\\\":[{\\\"uri\\\":\\\"318f1000413827e122102\\\",\\\"url_list\\\":[\\\"https://p6-sign.douyinpic.com/318f1000413827e122102~tplv-dy-shrink:750:422.jpeg?x-expires=1645009200&x-signature=a6x%2FTUyR0tmdfb7xwFlzoLIApow%3D&from=2480802190&s=profile&se=true&sh=750_422&sc=cover&l=202202141930400102091561642695070C&biz_tag=\\\",\\\"https://p3-sign.douyinpic.com/obj/318f1000413827e122102?x-expires=1645009200&x-signature=LCElT5xUXTGWUneLkbN4761XnN8%3D&from=2480802190&s=profile&se=false&sh=&sc=cover&l=202202141930400102091561642695070C&biz_tag=\\\",\\\"https://p26-sign.douyinpic.com/obj/318f1000413827e122102?x-expires=1645009200&x-signature=KuSdeT%2FYTC0MsPsOfX26IZr6298%3D&from=2480802190&s=profile&se=false&sh=&sc=cover&l=202202141930400102091561642695070C&biz_tag=\\\",\\\"https://p9-sign.douyinpic.com/obj/318f1000413827e122102?x-expires=1645009200&x-signature=F2YcHX8YGsdt0zaV66Kqg1ykt%2Fs%3D&from=2480802190&s=profile&se=false&sh=&sc=cover&l=202202141930400102091561642695070C&biz_tag=\\\"]}],\\\"can_show_group_card\\\":1,\\\"user_not_show\\\":1,\\\"avatar_thumb\\\":{\\\"uri\\\":\\\"aweme-avatar/mosaic-legacy_31915000811b51868fe24\\\",\\\"url_list\\\":[\\\"https://p11.douyinpic.com/aweme-avatar/mosaic-legacy_31915000811b51868fe24~tplv-dy-shrink:188:188.jpeg?from=2956013662\\\",\\\"https://p11.douyinpic.com/aweme/100x100/aweme-avatar/mosaic-legacy_31915000811b51868fe24.jpeg?from=2956013662\\\",\\\"https://p6.douyinpic.com/aweme/100x100/aweme-avatar/mosaic-legacy_31915000811b51868fe24.jpeg?from=2956013662\\\",\\\"https://p26.douyinpic.com/aweme/100x100/aweme-avatar/mosaic-legacy_31915000811b51868fe24.jpeg?from=2956013662\\\"],\\\"width\\\":720,\\\"height\\\":720},\\\"avatar_medium\\\":{\\\"uri\\\":\\\"aweme-avatar/mosaic-legacy_31915000811b51868fe24\\\",\\\"url_list\\\":[\\\"https://p11.douyinpic.com/aweme-avatar/mosaic-legacy_31915000811b51868fe24~tplv-dy-shrink:188:188.jpeg?from=2956013662\\\",\\\"https://p11.douyinpic.com/aweme/720x720/aweme-avatar/mosaic-legacy_31915000811b51868fe24.jpeg?from=2956013662\\\",\\\"https://p6.douyinpic.com/aweme/720x720/aweme-avatar/mosaic-legacy_31915000811b51868fe24.jpeg?from=2956013662\\\",\\\"https://p26.douyinpic.com/aweme/720x720/aweme-avatar/mosaic-legacy_31915000811b51868fe24.jpeg?from=2956013662\\\"],\\\"width\\\":720,\\\"height\\\":720},\\\"following_count\\\":35,\\\"custom_verify\\\":\\\"\\\",\\\"follower_status\\\":0,\\\"city\\\":\\\"\\\",\\\"message_chat_entry\\\":true,\\\"pigeon_daren_status\\\":\\\"\\\",\\\"with_fusion_shop_entry\\\":true,\\\"birthday_hide_level\\\":0,\\\"urge_detail\\\":{\\\"user_urged\\\":0},\\\"is_series_user\\\":false,\\\"enable_wish\\\":false,\\\"commerce_info\\\":{\\\"challenge_list\\\":[{\\\"view_count\\\":167307,\\\"banner_list\\\":null,\\\"cid\\\":\\\"1722197842063389\\\",\\\"cha_name\\\":\\\"二次元技术流运镜\\\",\\\"user_count\\\":1,\\\"connect_music\\\":null,\\\"desc\\\":\\\"\\\",\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1722197842063389\\\",\\\"cha_attrs\\\":null,\\\"show_items\\\":null},{\\\"desc\\\":\\\"\\\",\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1718906064710667\\\",\\\"show_items\\\":null,\\\"cid\\\":\\\"1718906064710667\\\",\\\"cha_name\\\":\\\"用张同学的方式打开二次元生活\\\",\\\"user_count\\\":1,\\\"connect_music\\\":null,\\\"view_count\\\":201371,\\\"cha_attrs\\\":null,\\\"banner_list\\\":null},{\\\"connect_music\\\":null,\\\"cid\\\":\\\"1716059948081159\\\",\\\"cha_name\\\":\\\"小贱宠粉\\\",\\\"user_count\\\":0,\\\"view_count\\\":29175,\\\"cha_attrs\\\":null,\\\"banner_list\\\":null,\\\"show_items\\\":null,\\\"desc\\\":\\\"\\\",\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1716059948081159\\\"},{\\\"connect_music\\\":null,\\\"view_count\\\":219859,\\\"show_items\\\":null,\\\"user_count\\\":6,\\\"cha_attrs\\\":null,\\\"banner_list\\\":null,\\\"cid\\\":\\\"1714844954261516\\\",\\\"cha_name\\\":\\\"三只松鼠奇妙de商店\\\",\\\"desc\\\":\\\"\\\",\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1714844954261516\\\"},{\\\"user_count\\\":0,\\\"view_count\\\":7,\\\"banner_list\\\":null,\\\"cid\\\":\\\"1714828111034440\\\",\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1714828111034440\\\",\\\"connect_music\\\":null,\\\"cha_attrs\\\":null,\\\"show_items\\\":null,\\\"cha_name\\\":\\\"三只松鼠奇妙の商店\\\",\\\"desc\\\":\\\"\\\"},{\\\"cha_name\\\":\\\"主人和松鼠的十年\\\",\\\"desc\\\":\\\"\\\",\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1714672524438599\\\",\\\"user_count\\\":291,\\\"connect_music\\\":null,\\\"view_count\\\":17498433,\\\"banner_list\\\":null,\\\"cid\\\":\\\"1714672524438599\\\",\\\"show_items\\\":null,\\\"cha_attrs\\\":null},{\\\"cha_name\\\":\\\"这个中秋有点圆\\\",\\\"cha_attrs\\\":null,\\\"cid\\\":\\\"1708674034601038\\\",\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1708674034601038\\\",\\\"user_count\\\":588,\\\"connect_music\\\":null,\\\"view_count\\\":6278077,\\\"banner_list\\\":null,\\\"show_items\\\":null,\\\"desc\\\":\\\"\\\"},{\\\"cid\\\":\\\"1695170059645960\\\",\\\"cha_name\\\":\\\"寄整个春天给你\\\",\\\"view_count\\\":1899684,\\\"cha_attrs\\\":null,\\\"show_items\\\":null,\\\"desc\\\":\\\"\\\",\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1695170059645960\\\",\\\"user_count\\\":958,\\\"connect_music\\\":null,\\\"banner_list\\\":null},{\\\"desc\\\":\\\"\\\",\\\"user_count\\\":7,\\\"cha_attrs\\\":null,\\\"show_items\\\":null,\\\"cid\\\":\\\"1692749704135684\\\",\\\"cha_name\\\":\\\"看见她们的力量\\\",\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1692749704135684\\\",\\\"connect_music\\\":null,\\\"view_count\\\":587413,\\\"banner_list\\\":null},{\\\"cid\\\":\\\"1687402124304398\\\",\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1687402124304398\\\",\\\"view_count\\\":381088301,\\\"hashtag_profile\\\":\\\"https://p26.douyinpic.com/img/douyin-admin-obj/22c0fd0b0512ab28~noop.jpeg?from=711579258\\\",\\\"cha_attrs\\\":null,\\\"banner_list\\\":null,\\\"cha_name\\\":\\\"助你健康快乐中国年\\\",\\\"desc\\\":\\\"\\\",\\\"user_count\\\":22516,\\\"connect_music\\\":null,\\\"show_items\\\":null},{\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1688297731788814\\\",\\\"user_count\\\":226,\\\"view_count\\\":214864373,\\\"cha_attrs\\\":null,\\\"cid\\\":\\\"1688297731788814\\\",\\\"cha_name\\\":\\\"中国年送三只松鼠坚果礼\\\",\\\"desc\\\":\\\"\\\",\\\"connect_music\\\":null,\\\"banner_list\\\":null,\\\"show_items\\\":null},{\\\"connect_music\\\":null,\\\"show_items\\\":null,\\\"cid\\\":\\\"1685042918589447\\\",\\\"desc\\\":\\\"\\\",\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1685042918589447\\\",\\\"user_count\\\":21,\\\"view_count\\\":9263769,\\\"cha_attrs\\\":null,\\\"banner_list\\\":null,\\\"cha_name\\\":\\\"年度爱囤零食榜单\\\"},{\\\"view_count\\\":114620298,\\\"cid\\\":\\\"1681334253923342\\\",\\\"desc\\\":\\\"\\\",\\\"user_count\\\":1006,\\\"cha_attrs\\\":null,\\\"banner_list\\\":null,\\\"show_items\\\":null,\\\"cha_name\\\":\\\"松鼠快乐创造营\\\",\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1681334253923342\\\",\\\"connect_music\\\":null},{\\\"banner_list\\\":null,\\\"show_items\\\":null,\\\"cha_name\\\":\\\"双11主人请多指教\\\",\\\"desc\\\":\\\"\\\",\\\"user_count\\\":1112,\\\"connect_music\\\":null,\\\"view_count\\\":283031398,\\\"cha_attrs\\\":null,\\\"cid\\\":\\\"1681062016268295\\\",\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1681062016268295\\\"},{\\\"show_items\\\":null,\\\"cha_name\\\":\\\"就要一起奶奶甜\\\",\\\"desc\\\":\\\"\\\",\\\"connect_music\\\":null,\\\"hashtag_profile\\\":\\\"https://p9.douyinpic.com/obj/31b06000344ae252d9bee?from=711579258\\\",\\\"banner_list\\\":null,\\\"cid\\\":\\\"1671631079963655\\\",\\\"schema\\\":\\\"aweme://aweme/challenge/detail?cid=1671631079963655\\\",\\\"user_count\\\":7995,\\\"view_count\\\":256480050,\\\"cha_attrs\\\":null}],\\\"task_list\\\":null,\\\"head_image_list\\\":null,\\\"smart_phone_list\\\":null,\\\"head_image_url\\\":{\\\"uri\\\":\\\"31b770001847b6907c1b2\\\",\\\"url_list\\\":[\\\"http://p3-saiyan-sign.byteimg.com/31b770001847b6907c1b2~tplv-k9qcquo31z-profile-background:0:0.image?x-expires=1676374241&x-signature=DpIkKE2bUAWBE84lBUo5vMPV6RU%3D\\\",\\\"http://p3-saiyan-sign.byteimg.com/31b770001847b6907c1b2~tplv-k9qcquo31z-profile-background:0:0.image?x-expires=1676374241&x-signature=DpIkKE2bUAWBE84lBUo5vMPV6RU%3D\\\"]},\\\"offline_info_list\\\":[{\\\"action\\\":\\\"aweme://webview?url=https%3A%2F%2Faweme.snssdk.com%2Ffalcon%2Fpoi_rn_web%2Fshop_list%2F%3Fuser_id%3DMS4wLjABAAAAgFhVlynoQJoviiWBkDLc4FDHayST16Rwe_L8-R3WXjQ\\\",\\\"link_type\\\":\\\"address\\\",\\\"offline_info_type\\\":4,\\\"text\\\":\\\"查看门店\\\"},{\\\"action\\\":\\\"https://haohuo.jinritemai.com/views/shop/index?id=rQPtIzz&origin_type=604&origin_id=0&new_source_type=47&new_source_id=0&source_type=47&source_id=0\\\",\\\"offline_subtype\\\":0,\\\"link_type\\\":\\\"web_link\\\",\\\"offline_info_type\\\":1,\\\"text\\\":\\\"查看店铺\\\"}]},\\\"video_icon\\\":{\\\"uri\\\":\\\"\\\",\\\"url_list\\\":[],\\\"width\\\":720,\\\"height\\\":720},\\\"ins_id\\\":\\\"\\\",\\\"youtube_channel_id\\\":\\\"\\\",\\\"youtube_channel_title\\\":\\\"\\\",\\\"commerce_user_info\\\":{\\\"show_star_atlas_cooperation\\\":true,\\\"has_ads_entry\\\":true,\\\"ad_revenue_rits\\\":null,\\\"star_atlas\\\":1},\\\"commerce_permissions\\\":{\\\"enterprise\\\":1,\\\"head_image\\\":1},\\\"is_star\\\":false,\\\"show_subscription\\\":false,\\\"district\\\":\\\"\\\",\\\"cover_colour\\\":\\\"#02161823\\\",\\\"live_status\\\":1,\\\"has_subscription\\\":false,\\\"nickname\\\":\\\"三只松鼠\\\",\\\"birthday\\\":\\\"1992-01-01\\\",\\\"enterprise_verify_reason\\\":\\\"三只松鼠股份有限公司\\\",\\\"sync_to_toutiao\\\":1,\\\"secret\\\":0,\\\"is_mix_user\\\":true,\\\"series_count\\\":0,\\\"avatar_larger\\\":{\\\"uri\\\":\\\"aweme-avatar/mosaic-legacy_31915000811b51868fe24\\\",\\\"url_list\\\":[\\\"https://p11.douyinpic.com/aweme/1080x1080/aweme-avatar/mosaic-legacy_31915000811b51868fe24.jpeg?from=2956013662\\\",\\\"https://p6.douyinpic.com/aweme/1080x1080/aweme-avatar/mosaic-legacy_31915000811b51868fe24.jpeg?from=2956013662\\\",\\\"https://p26.douyinpic.com/aweme/1080x1080/aweme-avatar/mosaic-legacy_31915000811b51868fe24.jpeg?from=2956013662\\\"],\\\"width\\\":720,\\\"height\\\":720},\\\"aweme_count\\\":570,\\\"is_block\\\":false,\\\"room_id\\\":7064409397161741063,\\\"followers_detail\\\":[{\\\"icon\\\":\\\"https://p3.douyinpic.com/aweme-server-static-resource/follower_douyin_icon.png~tplv-obj.image\\\",\\\"fans_count\\\":5079222,\\\"open_url\\\":\\\"snssdk1128://user/profile/82914947908?\\\",\\\"apple_id\\\":\\\"1142110895\\\",\\\"download_url\\\":\\\"https://d.douyin.com/Y4Fy/\\\",\\\"package_name\\\":\\\"com.ss.android.ugc.aweme\\\",\\\"app_name\\\":\\\"aweme\\\",\\\"name\\\":\\\"抖音\\\"},{\\\"download_url\\\":\\\"https://d.toutiao.com/fUN5/\\\",\\\"package_name\\\":\\\"com.ss.android.article.news\\\",\\\"app_name\\\":\\\"news_article\\\",\\\"name\\\":\\\"头条\\\",\\\"icon\\\":\\\"https://p3.douyinpic.com/aweme-server-static-resource/follower_toutiao_icon.png~tplv-obj.image\\\",\\\"fans_count\\\":168247,\\\"open_url\\\":\\\"snssdk141://profile?uid=6590007101?\\\",\\\"apple_id\\\":\\\"529092160\\\"},{\\\"icon\\\":\\\"https://p3.douyinpic.com/aweme-server-static-resource/follower_hotsoon_icon.png~tplv-obj.image\\\",\\\"fans_count\\\":0,\\\"open_url\\\":\\\"snssdk1112://profile?id=0\\\",\\\"apple_id\\\":\\\"1086047750\\\",\\\"download_url\\\":\\\"http://d.huoshanzhibo.com/e7fw/\\\",\\\"package_name\\\":\\\"com.ss.android.ugc.live\\\",\\\"app_name\\\":\\\"live_stream\\\",\\\"name\\\":\\\"抖音火山版\\\"}],\\\"life_story_block\\\":{\\\"life_story_block\\\":false},\\\"room_data\\\":\\\"{\\\\\\\"id\\\\\\\":7064409397161741063,\\\\\\\"id_str\\\\\\\":\\\\\\\"7064409397161741063\\\\\\\",\\\\\\\"owner_user_id\\\\\\\":82914947908,\\\\\\\"stream_id\\\\\\\":110381402135462356,\\\\\\\"stream_id_str\\\\\\\":\\\\\\\"110381402135462356\\\\\\\",\\\\\\\"stream_url\\\\\\\":{\\\\\\\"id\\\\\\\":110381402135462356,\\\\\\\"id_str\\\\\\\":\\\\\\\"110381402135462356\\\\\\\",\\\\\\\"resolution_name\\\\\\\":{\\\\\\\"FULL_HD1\\\\\\\":\\\\\\\"蓝光\\\\\\\",\\\\\\\"HD1\\\\\\\":\\\\\\\"超清\\\\\\\",\\\\\\\"ORIGION\\\\\\\":\\\\\\\"原画\\\\\\\",\\\\\\\"SD1\\\\\\\":\\\\\\\"标清\\\\\\\",\\\\\\\"SD2\\\\\\\":\\\\\\\"高清\\\\\\\"},\\\\\\\"default_resolution\\\\\\\":\\\\\\\"HD1\\\\\\\",\\\\\\\"extra\\\\\\\":{\\\\\\\"height\\\\\\\":1920,\\\\\\\"width\\\\\\\":1080},\\\\\\\"rtmp_pull_url\\\\\\\":\\\\\\\"http://pull-flv-f1.douyincdn.com/gamereplay/stream-110381402135462356.flv\\\\\\\",\\\\\\\"flv_pull_url\\\\\\\":{\\\\\\\"FULL_HD1\\\\\\\":\\\\\\\"http://pull-flv-f1.douyincdn.com/gamereplay/stream-110381402135462356_uhd5.flv\\\\\\\",\\\\\\\"HD1\\\\\\\":\\\\\\\"http://pull-flv-f1.douyincdn.com/gamereplay/stream-110381402135462356_hd5.flv\\\\\\\",\\\\\\\"SD1\\\\\\\":\\\\\\\"http://pull-flv-f1.douyincdn.com/gamereplay/stream-110381402135462356_ld5.flv\\\\\\\",\\\\\\\"SD2\\\\\\\":\\\\\\\"http://pull-flv-f1.douyincdn.com/gamereplay/stream-110381402135462356_sd5.flv\\\\\\\"},\\\\\\\"candidate_resolution\\\\\\\":[\\\\\\\"SD1\\\\\\\",\\\\\\\"SD2\\\\\\\",\\\\\\\"HD1\\\\\\\",\\\\\\\"FULL_HD1\\\\\\\"],\\\\\\\"hls_pull_url\\\\\\\":\\\\\\\"http://pull-hls-f1.douyincdn.com/gamereplay/stream-110381402135462356_hd5/playlist.m3u8\\\\\\\",\\\\\\\"hls_pull_url_params\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"Auto\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"Demotion\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"StallCount\\\\\\\\\\\\\\\":4},\\\\\\\\\\\\\\\"Enable\\\\\\\\\\\\\\\":1},\\\\\\\\\\\\\\\"DroppingRepeatingDataDTSMaxDiff\\\\\\\\\\\\\\\":4000,\\\\\\\\\\\\\\\"DroppingRepeatingDataEnabled\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableBackupOriginInDecodeError\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableDecoderStall\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"EnableDemuxerStall\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"EnableIgnoreAudioInterruption\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableLowLatencyFLV\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"FastOpenDuration\\\\\\\\\\\\\\\":-1800,\\\\\\\\\\\\\\\"NetworkAdapt\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"Enabled\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"HurryMillisecond\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\"HurrySpeed\\\\\\\\\\\\\\\":1.1,\\\\\\\\\\\\\\\"HurryTime\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\"SlowMillisecond\\\\\\\\\\\\\\\":1500,\\\\\\\\\\\\\\\"SlowSpeed\\\\\\\\\\\\\\\":0.9,\\\\\\\\\\\\\\\"SlowTime\\\\\\\\\\\\\\\":1500},\\\\\\\\\\\\\\\"NotifyCompletedImmediately\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"StreamVoiceDBEnable\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"VCodec\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"bytevc1\\\\\\\\\\\\\\\"}\\\\\\\",\\\\\\\"rtmp_pull_url_params\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"Auto\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"Demotion\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"StallCount\\\\\\\\\\\\\\\":4},\\\\\\\\\\\\\\\"Enable\\\\\\\\\\\\\\\":1},\\\\\\\\\\\\\\\"DroppingRepeatingDataDTSMaxDiff\\\\\\\\\\\\\\\":4000,\\\\\\\\\\\\\\\"DroppingRepeatingDataEnabled\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableBackupOriginInDecodeError\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableDecoderStall\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"EnableDemuxerStall\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"EnableIgnoreAudioInterruption\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableLowLatencyFLV\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"FastOpenDuration\\\\\\\\\\\\\\\":-1800,\\\\\\\\\\\\\\\"NetworkAdapt\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"Enabled\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"HurryMillisecond\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\"HurrySpeed\\\\\\\\\\\\\\\":1.1,\\\\\\\\\\\\\\\"HurryTime\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\"SlowMillisecond\\\\\\\\\\\\\\\":1500,\\\\\\\\\\\\\\\"SlowSpeed\\\\\\\\\\\\\\\":0.9,\\\\\\\\\\\\\\\"SlowTime\\\\\\\\\\\\\\\":1500},\\\\\\\\\\\\\\\"NotifyCompletedImmediately\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"StreamVoiceDBEnable\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"VCodec\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"h264\\\\\\\\\\\\\\\"}\\\\\\\",\\\\\\\"flv_pull_url_params\\\\\\\":{\\\\\\\"FULL_HD1\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"DroppingRepeatingDataDTSMaxDiff\\\\\\\\\\\\\\\":4000,\\\\\\\\\\\\\\\"DroppingRepeatingDataEnabled\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableBackupOriginInDecodeError\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableIgnoreAudioInterruption\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableLowLatencyFLV\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"FastOpenDuration\\\\\\\\\\\\\\\":-1800,\\\\\\\\\\\\\\\"NetworkAdapt\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"Enabled\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"HurryMillisecond\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\"HurrySpeed\\\\\\\\\\\\\\\":1.1,\\\\\\\\\\\\\\\"HurryTime\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\"SlowMillisecond\\\\\\\\\\\\\\\":1500,\\\\\\\\\\\\\\\"SlowSpeed\\\\\\\\\\\\\\\":0.9,\\\\\\\\\\\\\\\"SlowTime\\\\\\\\\\\\\\\":1500},\\\\\\\\\\\\\\\"NotifyCompletedImmediately\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"StreamVoiceDBEnable\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"VCodec\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"bytevc1\\\\\\\\\\\\\\\"}\\\\\\\",\\\\\\\"HD1\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"Auto\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"Demotion\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"StallCount\\\\\\\\\\\\\\\":4},\\\\\\\\\\\\\\\"Enable\\\\\\\\\\\\\\\":1},\\\\\\\\\\\\\\\"DroppingRepeatingDataDTSMaxDiff\\\\\\\\\\\\\\\":4000,\\\\\\\\\\\\\\\"DroppingRepeatingDataEnabled\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableBackupOriginInDecodeError\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableDecoderStall\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"EnableDemuxerStall\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"EnableIgnoreAudioInterruption\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableLowLatencyFLV\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"FastOpenDuration\\\\\\\\\\\\\\\":-1800,\\\\\\\\\\\\\\\"NetworkAdapt\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"Enabled\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"HurryMillisecond\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\"HurrySpeed\\\\\\\\\\\\\\\":1.1,\\\\\\\\\\\\\\\"HurryTime\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\"SlowMillisecond\\\\\\\\\\\\\\\":1500,\\\\\\\\\\\\\\\"SlowSpeed\\\\\\\\\\\\\\\":0.9,\\\\\\\\\\\\\\\"SlowTime\\\\\\\\\\\\\\\":1500},\\\\\\\\\\\\\\\"NotifyCompletedImmediately\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"StreamVoiceDBEnable\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"VCodec\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"bytevc1\\\\\\\\\\\\\\\"}\\\\\\\",\\\\\\\"SD1\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"DroppingRepeatingDataDTSMaxDiff\\\\\\\\\\\\\\\":4000,\\\\\\\\\\\\\\\"DroppingRepeatingDataEnabled\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableBackupOriginInDecodeError\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableDecoderStall\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"EnableDemuxerStall\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"EnableIgnoreAudioInterruption\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableLowLatencyFLV\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"FastOpenDuration\\\\\\\\\\\\\\\":-1800,\\\\\\\\\\\\\\\"NetworkAdapt\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"Enabled\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"HurryMillisecond\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\"HurrySpeed\\\\\\\\\\\\\\\":1.1,\\\\\\\\\\\\\\\"HurryTime\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\"SlowMillisecond\\\\\\\\\\\\\\\":1500,\\\\\\\\\\\\\\\"SlowSpeed\\\\\\\\\\\\\\\":0.9,\\\\\\\\\\\\\\\"SlowTime\\\\\\\\\\\\\\\":1500},\\\\\\\\\\\\\\\"NotifyCompletedImmediately\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"StreamVoiceDBEnable\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"VCodec\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"bytevc1\\\\\\\\\\\\\\\"}\\\\\\\",\\\\\\\"SD2\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"Auto\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"Demotion\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"StallCount\\\\\\\\\\\\\\\":4},\\\\\\\\\\\\\\\"Enable\\\\\\\\\\\\\\\":1},\\\\\\\\\\\\\\\"DroppingRepeatingDataDTSMaxDiff\\\\\\\\\\\\\\\":4000,\\\\\\\\\\\\\\\"DroppingRepeatingDataEnabled\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableBackupOriginInDecodeError\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableDecoderStall\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"EnableDemuxerStall\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"EnableIgnoreAudioInterruption\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"EnableLowLatencyFLV\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"FastOpenDuration\\\\\\\\\\\\\\\":-1800,\\\\\\\\\\\\\\\"NetworkAdapt\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"Enabled\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"HurryMillisecond\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\"HurrySpeed\\\\\\\\\\\\\\\":1.1,\\\\\\\\\\\\\\\"HurryTime\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\"SlowMillisecond\\\\\\\\\\\\\\\":1500,\\\\\\\\\\\\\\\"SlowSpeed\\\\\\\\\\\\\\\":0.9,\\\\\\\\\\\\\\\"SlowTime\\\\\\\\\\\\\\\":1500},\\\\\\\\\\\\\\\"NotifyCompletedImmediately\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"StreamVoiceDBEnable\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\"VCodec\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"bytevc1\\\\\\\\\\\\\\\"}\\\\\\\"},\\\\\\\"live_core_sdk_data\\\\\\\":{\\\\\\\"pull_data\\\\\\\":{\\\\\\\"stream_data\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"common\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"session_id\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"037-202202141930400102091561642695070C\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"rule_ids\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"ab_version_trace\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":null,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"sched\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"result\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"hit\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"determined\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"cdn\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":513}}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"}\\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\\"data\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"uhd\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"main\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"flv\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"http://pull-flv-f1.douyincdn.com/gamereplay/stream-110381402135462356_uhd5.flv\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"hls\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"http://pull-hls-f1.douyincdn.com/gamereplay/stream-110381402135462356_uhd5/playlist.m3u8\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"cmaf\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"dash\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"lls\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tsl\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"sdk_params\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"DroppingRepeatingDataDTSMaxDiff\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":4000,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"DroppingRepeatingDataEnabled\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableBackupOriginInDecodeError\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableIgnoreAudioInterruption\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableLowLatencyFLV\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"FastOpenDuration\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":-1800,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"NetworkAdapt\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Enabled\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurryMillisecond\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurrySpeed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1.1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurryTime\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowMillisecond\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowSpeed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0.9,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowTime\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1500},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"NotifyCompletedImmediately\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"StreamVoiceDBEnable\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"VCodec\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"bytevc1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"gop\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":4,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"resolution\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"1080x1920\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"vbitrate\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":6000000}\\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\\"hd\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"main\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"flv\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"http://pull-flv-f1.douyincdn.com/gamereplay/stream-110381402135462356_hd5.flv\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"hls\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"http://pull-hls-f1.douyincdn.com/gamereplay/stream-110381402135462356_hd5/playlist.m3u8\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"cmaf\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"dash\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"lls\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tsl\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"sdk_params\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Auto\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Demotion\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"StallCount\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":4},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Enable\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"DroppingRepeatingDataDTSMaxDiff\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":4000,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"DroppingRepeatingDataEnabled\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableBackupOriginInDecodeError\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableDecoderStall\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableDemuxerStall\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableIgnoreAudioInterruption\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableLowLatencyFLV\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"FastOpenDuration\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":-1800,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"NetworkAdapt\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Enabled\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurryMillisecond\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurrySpeed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1.1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurryTime\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowMillisecond\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowSpeed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0.9,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowTime\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1500},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"NotifyCompletedImmediately\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"StreamVoiceDBEnable\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"VCodec\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"bytevc1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"gop\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":4,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"resolution\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"540x960\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"vbitrate\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":2000000}\\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\\"sd\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"main\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"flv\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"http://pull-flv-f1.douyincdn.com/gamereplay/stream-110381402135462356_sd5.flv\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"hls\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"http://pull-hls-f1.douyincdn.com/gamereplay/stream-110381402135462356_sd5/playlist.m3u8\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"cmaf\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"dash\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"lls\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tsl\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"sdk_params\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Auto\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Demotion\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"StallCount\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":4},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Enable\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"DroppingRepeatingDataDTSMaxDiff\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":4000,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"DroppingRepeatingDataEnabled\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableBackupOriginInDecodeError\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableDecoderStall\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableDemuxerStall\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableIgnoreAudioInterruption\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableLowLatencyFLV\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"FastOpenDuration\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":-1800,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"NetworkAdapt\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Enabled\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurryMillisecond\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurrySpeed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1.1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurryTime\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowMillisecond\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowSpeed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0.9,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowTime\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1500},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"NotifyCompletedImmediately\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"StreamVoiceDBEnable\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"VCodec\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"bytevc1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"gop\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":4,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"resolution\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"480x853\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"vbitrate\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1600000}\\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\\"ld\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"main\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"flv\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"http://pull-flv-f1.douyincdn.com/gamereplay/stream-110381402135462356_ld5.flv\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"hls\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"http://pull-hls-f1.douyincdn.com/gamereplay/stream-110381402135462356_ld5/playlist.m3u8\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"cmaf\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"dash\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"lls\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tsl\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"sdk_params\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"DroppingRepeatingDataDTSMaxDiff\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":4000,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"DroppingRepeatingDataEnabled\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableBackupOriginInDecodeError\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableDecoderStall\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableDemuxerStall\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableIgnoreAudioInterruption\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableLowLatencyFLV\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"FastOpenDuration\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":-1800,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"NetworkAdapt\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Enabled\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurryMillisecond\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurrySpeed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1.1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurryTime\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowMillisecond\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowSpeed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0.9,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowTime\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1500},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"NotifyCompletedImmediately\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"StreamVoiceDBEnable\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"VCodec\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"bytevc1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"gop\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":4,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"resolution\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"540x960\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"vbitrate\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1000000}\\\\\\\\\\\\\\\"}},\\\\\\\\\\\\\\\"origin\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"main\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\"flv\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"http://pull-flv-f1.douyincdn.com/gamereplay/stream-110381402135462356.flv\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"hls\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"http://pull-hls-f1.douyincdn.com/gamereplay/stream-110381402135462356/playlist.m3u8\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"cmaf\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"dash\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"lls\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"tsl\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"sdk_params\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\"{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Auto\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Demotion\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"StallCount\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":4},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Enable\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"DroppingRepeatingDataDTSMaxDiff\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":4000,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"DroppingRepeatingDataEnabled\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableBackupOriginInDecodeError\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableDecoderStall\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableDemuxerStall\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableIgnoreAudioInterruption\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"EnableLowLatencyFLV\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"FastOpenDuration\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":-1800,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"NetworkAdapt\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Enabled\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurryMillisecond\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurrySpeed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1.1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"HurryTime\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":3500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowMillisecond\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1500,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowSpeed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":0.9,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SlowTime\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1500},\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"NotifyCompletedImmediately\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"StreamVoiceDBEnable\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"VCodec\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"h264\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"gop\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":4,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"resolution\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"1080x1920\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"vbitrate\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\":2440}\\\\\\\\\\\\\\\"}}}}\\\\\\\",\\\\\\\"options\\\\\\\":{\\\\\\\"default_quality\\\\\\\":{\\\\\\\"name\\\\\\\":\\\\\\\"超清\\\\\\\",\\\\\\\"sdk_key\\\\\\\":\\\\\\\"hd\\\\\\\",\\\\\\\"v_codec\\\\\\\":\\\\\\\"bytevc1\\\\\\\",\\\\\\\"resolution\\\\\\\":\\\\\\\"540x960\\\\\\\",\\\\\\\"level\\\\\\\":3},\\\\\\\"qualities\\\\\\\":[{\\\\\\\"name\\\\\\\":\\\\\\\"标清\\\\\\\",\\\\\\\"sdk_key\\\\\\\":\\\\\\\"ld\\\\\\\",\\\\\\\"v_codec\\\\\\\":\\\\\\\"bytevc1\\\\\\\",\\\\\\\"resolution\\\\\\\":\\\\\\\"540x960\\\\\\\",\\\\\\\"level\\\\\\\":1},{\\\\\\\"name\\\\\\\":\\\\\\\"高清\\\\\\\",\\\\\\\"sdk_key\\\\\\\":\\\\\\\"sd\\\\\\\",\\\\\\\"v_codec\\\\\\\":\\\\\\\"bytevc1\\\\\\\",\\\\\\\"resolution\\\\\\\":\\\\\\\"480x853\\\\\\\",\\\\\\\"level\\\\\\\":2},{\\\\\\\"name\\\\\\\":\\\\\\\"超清\\\\\\\",\\\\\\\"sdk_key\\\\\\\":\\\\\\\"hd\\\\\\\",\\\\\\\"v_codec\\\\\\\":\\\\\\\"bytevc1\\\\\\\",\\\\\\\"resolution\\\\\\\":\\\\\\\"540x960\\\\\\\",\\\\\\\"level\\\\\\\":3},{\\\\\\\"name\\\\\\\":\\\\\\\"蓝光\\\\\\\",\\\\\\\"sdk_key\\\\\\\":\\\\\\\"uhd\\\\\\\",\\\\\\\"v_codec\\\\\\\":\\\\\\\"bytevc1\\\\\\\",\\\\\\\"resolution\\\\\\\":\\\\\\\"1080x1920\\\\\\\",\\\\\\\"level\\\\\\\":4}]}},\\\\\\\"push_data\\\\\\\":{\\\\\\\"push_stream_level\\\\\\\":4}},\\\\\\\"hls_pull_url_map\\\\\\\":{\\\\\\\"FULL_HD1\\\\\\\":\\\\\\\"http://pull-hls-f1.douyincdn.com/gamereplay/stream-110381402135462356_uhd5/playlist.m3u8\\\\\\\",\\\\\\\"HD1\\\\\\\":\\\\\\\"http://pull-hls-f1.douyincdn.com/gamereplay/stream-110381402135462356_hd5/playlist.m3u8\\\\\\\",\\\\\\\"SD1\\\\\\\":\\\\\\\"http://pull-hls-f1.douyincdn.com/gamereplay/stream-110381402135462356_ld5/playlist.m3u8\\\\\\\",\\\\\\\"SD2\\\\\\\":\\\\\\\"http://pull-hls-f1.douyincdn.com/gamereplay/stream-110381402135462356_sd5/playlist.m3u8\\\\\\\"},\\\\\\\"stream_control_type\\\\\\\":4,\\\\\\\"stream_orientation\\\\\\\":1},\\\\\\\"live_type_third_party\\\\\\\":true,\\\\\\\"live_room_mode\\\\\\\":1,\\\\\\\"paid_live_data\\\\\\\":{},\\\\\\\"appearance\\\\\\\":{\\\\\\\"preview_style\\\\\\\":1}}\\\",\\\"is_not_show\\\":false,\\\"follow_status\\\":0,\\\"total_favorited\\\":17809987,\\\"dongtai_count\\\":0,\\\"with_new_goods\\\":true,\\\"r_fans_group_info\\\":{},\\\"location\\\":\\\"\\\",\\\"recommend_user_reason_source\\\":0,\\\"enterprise_user_info\\\":\\\"{\\\\\\\"commerce_info\\\\\\\":{\\\\\\\"head_image_url\\\\\\\":{\\\\\\\"uri\\\\\\\":\\\\\\\"31b770001847b6907c1b2\\\\\\\",\\\\\\\"url_list\\\\\\\":[\\\\\\\"http://p3-saiyan-sign.byteimg.com/31b770001847b6907c1b2~tplv-k9qcquo31z-profile-background:0:0.image?x-expires=1676374241&x-signature=DpIkKE2bUAWBE84lBUo5vMPV6RU%3D\\\\\\\",\\\\\\\"http://p3-saiyan-sign.byteimg.com/31b770001847b6907c1b2~tplv-k9qcquo31z-profile-background:0:0.image?x-expires=1676374241&x-signature=DpIkKE2bUAWBE84lBUo5vMPV6RU%3D\\\\\\\"]},\\\\\\\"offline_info_list\\\\\\\":[{\\\\\\\"offline_info_type\\\\\\\":4,\\\\\\\"text\\\\\\\":\\\\\\\"查看门店\\\\\\\",\\\\\\\"action\\\\\\\":\\\\\\\"aweme://webview?url=https%3A%2F%2Faweme.snssdk.com%2Ffalcon%2Fpoi_rn_web%2Fshop_list%2F%3Fuser_id%3DMS4wLjABAAAAgFhVlynoQJoviiWBkDLc4FDHayST16Rwe_L8-R3WXjQ\\\\\\\",\\\\\\\"link_type\\\\\\\":\\\\\\\"address\\\\\\\"},{\\\\\\\"offline_info_type\\\\\\\":1,\\\\\\\"text\\\\\\\":\\\\\\\"查看店铺\\\\\\\",\\\\\\\"action\\\\\\\":\\\\\\\"https://haohuo.jinritemai.com/views/shop/index?id=rQPtIzz&origin_type=604&origin_id=0&new_source_type=47&new_source_id=0&source_type=47&source_id=0\\\\\\\",\\\\\\\"offline_subtype\\\\\\\":0,\\\\\\\"link_type\\\\\\\":\\\\\\\"web_link\\\\\\\"}],\\\\\\\"challenge_list\\\\\\\":[{\\\\\\\"cid\\\\\\\":\\\\\\\"1722197842063389\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"二次元技术流运镜\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1722197842063389\\\\\\\",\\\\\\\"user_count\\\\\\\":1,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":167307,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1718906064710667\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"用张同学的方式打开二次元生活\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1718906064710667\\\\\\\",\\\\\\\"user_count\\\\\\\":1,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":201371,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1716059948081159\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"小贱宠粉\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1716059948081159\\\\\\\",\\\\\\\"user_count\\\\\\\":0,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":29175,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1714844954261516\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"三只松鼠奇妙de商店\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1714844954261516\\\\\\\",\\\\\\\"user_count\\\\\\\":6,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":219859,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1714828111034440\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"三只松鼠奇妙の商店\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1714828111034440\\\\\\\",\\\\\\\"user_count\\\\\\\":0,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":7,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1714672524438599\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"主人和松鼠的十年\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1714672524438599\\\\\\\",\\\\\\\"user_count\\\\\\\":291,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":17498433,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1708674034601038\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"这个中秋有点圆\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1708674034601038\\\\\\\",\\\\\\\"user_count\\\\\\\":588,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":6278077,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1695170059645960\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"寄整个春天给你\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1695170059645960\\\\\\\",\\\\\\\"user_count\\\\\\\":958,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":1899684,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1692749704135684\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"看见她们的力量\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1692749704135684\\\\\\\",\\\\\\\"user_count\\\\\\\":7,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":587413,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1687402124304398\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"助你健康快乐中国年\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1687402124304398\\\\\\\",\\\\\\\"user_count\\\\\\\":22516,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":381088301,\\\\\\\"hashtag_profile\\\\\\\":\\\\\\\"https://p26.douyinpic.com/img/douyin-admin-obj/22c0fd0b0512ab28~noop.jpeg?from=711579258\\\\\\\",\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1688297731788814\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"中国年送三只松鼠坚果礼\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1688297731788814\\\\\\\",\\\\\\\"user_count\\\\\\\":226,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":214864373,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1685042918589447\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"年度爱囤零食榜单\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1685042918589447\\\\\\\",\\\\\\\"user_count\\\\\\\":21,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":9263769,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1681334253923342\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"松鼠快乐创造营\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1681334253923342\\\\\\\",\\\\\\\"user_count\\\\\\\":1006,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":114620298,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1681062016268295\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"双11主人请多指教\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1681062016268295\\\\\\\",\\\\\\\"user_count\\\\\\\":1112,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":283031398,\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null},{\\\\\\\"cid\\\\\\\":\\\\\\\"1671631079963655\\\\\\\",\\\\\\\"cha_name\\\\\\\":\\\\\\\"就要一起奶奶甜\\\\\\\",\\\\\\\"desc\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://aweme/challenge/detail?cid=1671631079963655\\\\\\\",\\\\\\\"user_count\\\\\\\":7995,\\\\\\\"connect_music\\\\\\\":null,\\\\\\\"view_count\\\\\\\":256480050,\\\\\\\"hashtag_profile\\\\\\\":\\\\\\\"https://p9.douyinpic.com/obj/31b06000344ae252d9bee?from=711579258\\\\\\\",\\\\\\\"cha_attrs\\\\\\\":null,\\\\\\\"banner_list\\\\\\\":null,\\\\\\\"show_items\\\\\\\":null}],\\\\\\\"task_list\\\\\\\":null,\\\\\\\"head_image_list\\\\\\\":[{\\\\\\\"uri\\\\\\\":\\\\\\\"31b770001847b6907c1b2\\\\\\\",\\\\\\\"url_list\\\\\\\":[\\\\\\\"http://p3-saiyan-sign.byteimg.com/31b770001847b6907c1b2~tplv-k9qcquo31z-profile-background:0:0.image?x-expires=1676374241&x-signature=DpIkKE2bUAWBE84lBUo5vMPV6RU%3D\\\\\\\",\\\\\\\"http://p3-saiyan-sign.byteimg.com/31b770001847b6907c1b2~tplv-k9qcquo31z-profile-background:0:0.image?x-expires=1676374241&x-signature=DpIkKE2bUAWBE84lBUo5vMPV6RU%3D\\\\\\\"]}],\\\\\\\"smart_phone_list\\\\\\\":null},\\\\\\\"homepage_bottom_toast\\\\\\\":null,\\\\\\\"permissions\\\\\\\":[{\\\\\\\"Id\\\\\\\":3,\\\\\\\"Key\\\\\\\":\\\\\\\"ItemShop\\\\\\\",\\\\\\\"Name\\\\\\\":\\\\\\\"视频电商\\\\\\\",\\\\\\\"AppId\\\\\\\":1128,\\\\\\\"Status\\\\\\\":1,\\\\\\\"Extra\\\\\\\":null,\\\\\\\"Customization\\\\\\\":null,\\\\\\\"Parent\\\\\\\":0,\\\\\\\"Actions\\\\\\\":null},{\\\\\\\"Id\\\\\\\":4,\\\\\\\"Key\\\\\\\":\\\\\\\"LiveShop\\\\\\\",\\\\\\\"Name\\\\\\\":\\\\\\\"直播电商\\\\\\\",\\\\\\\"AppId\\\\\\\":1128,\\\\\\\"Status\\\\\\\":1,\\\\\\\"Extra\\\\\\\":null,\\\\\\\"Customization\\\\\\\":null,\\\\\\\"Parent\\\\\\\":0,\\\\\\\"Actions\\\\\\\":null},{\\\\\\\"Id\\\\\\\":5,\\\\\\\"Key\\\\\\\":\\\\\\\"UserShop\\\\\\\",\\\\\\\"Name\\\\\\\":\\\\\\\"个人橱窗\\\\\\\",\\\\\\\"AppId\\\\\\\":1128,\\\\\\\"Status\\\\\\\":1,\\\\\\\"Extra\\\\\\\":null,\\\\\\\"Customization\\\\\\\":null,\\\\\\\"Parent\\\\\\\":0,\\\\\\\"Actions\\\\\\\":null},{\\\\\\\"Id\\\\\\\":37,\\\\\\\"Key\\\\\\\":\\\\\\\"HeadImage\\\\\\\",\\\\\\\"Name\\\\\\\":\\\\\\\"商家头图\\\\\\\",\\\\\\\"AppId\\\\\\\":1128,\\\\\\\"Status\\\\\\\":1,\\\\\\\"Extra\\\\\\\":null,\\\\\\\"Customization\\\\\\\":null,\\\\\\\"Parent\\\\\\\":0,\\\\\\\"Actions\\\\\\\":null},{\\\\\\\"Id\\\\\\\":54,\\\\\\\"Key\\\\\\\":\\\\\\\"EIMCustomizeMenus\\\\\\\",\\\\\\\"Name\\\\\\\":\\\\\\\"自定义私信菜单\\\\\\\",\\\\\\\"AppId\\\\\\\":1575,\\\\\\\"Status\\\\\\\":1,\\\\\\\"Extra\\\\\\\":null,\\\\\\\"Customization\\\\\\\":null,\\\\\\\"Parent\\\\\\\":12,\\\\\\\"Actions\\\\\\\":null},{\\\\\\\"Id\\\\\\\":76,\\\\\\\"Key\\\\\\\":\\\\\\\"EHomepageTabManagement\\\\\\\",\\\\\\\"Name\\\\\\\":\\\\\\\"商家页面\\\\\\\",\\\\\\\"AppId\\\\\\\":1575,\\\\\\\"Status\\\\\\\":1,\\\\\\\"Extra\\\\\\\":null,\\\\\\\"Customization\\\\\\\":null,\\\\\\\"Parent\\\\\\\":17,\\\\\\\"Actions\\\\\\\":null},{\\\\\\\"Id\\\\\\\":81,\\\\\\\"Key\\\\\\\":\\\\\\\"Enterprise\\\\\\\",\\\\\\\"Name\\\\\\\":\\\\\\\"企业权限标识\\\\\\\",\\\\\\\"AppId\\\\\\\":1128,\\\\\\\"Status\\\\\\\":1,\\\\\\\"Extra\\\\\\\":null,\\\\\\\"Customization\\\\\\\":null,\\\\\\\"Parent\\\\\\\":0,\\\\\\\"Actions\\\\\\\":null},{\\\\\\\"Id\\\\\\\":120,\\\\\\\"Key\\\\\\\":\\\\\\\"IMMonitor\\\\\\\",\\\\\\\"Name\\\\\\\":\\\\\\\"私信监管\\\\\\\",\\\\\\\"AppId\\\\\\\":1128,\\\\\\\"Status\\\\\\\":1,\\\\\\\"Extra\\\\\\\":null,\\\\\\\"Customization\\\\\\\":null,\\\\\\\"Parent\\\\\\\":0,\\\\\\\"Actions\\\\\\\":null}],\\\\\\\"e_role_key\\\\\\\":\\\\\\\"EAccountK\\\\\\\",\\\\\\\"tab_ceiling_toast\\\\\\\":null,\\\\\\\"limiters\\\\\\\":null,\\\\\\\"im_subscription\\\\\\\":true,\\\\\\\"attic_info\\\\\\\":null,\\\\\\\"profile_edit_button\\\\\\\":null,\\\\\\\"elite_center\\\\\\\":{\\\\\\\"recommend_target\\\\\\\":\\\\\\\"GeneralESC\\\\\\\",\\\\\\\"candidates\\\\\\\":[{\\\\\\\"key\\\\\\\":\\\\\\\"GeneralESC\\\\\\\",\\\\\\\"biz\\\\\\\":1,\\\\\\\"title\\\\\\\":\\\\\\\"企业服务中心\\\\\\\",\\\\\\\"schema\\\\\\\":\\\\\\\"aweme://webview/?rn_schema=aweme%3A%2F%2Freactnative%2F%3Fbundle%3Dindex.js%26channel%3Dmp_lynx_enterprise_service_center%26module_name%3Dpage_enterprise_service_center%26hide_nav_bar%3D1%26should_full_screen%3D1%26allow_lmb%3D1%26fix_main_destroy%3D1&url=https%3A%2F%2Faweme.snssdk.com%2Finsights%2Frn%2Fenterprise_service_center%2Findex%3Fhide_nav_bar%3D1%26allow_lmb%3D1%26fix_main_destroy%3D1\\\\\\\"}]}}\\\",\\\"share_info\\\":{\\\"share_url\\\":\\\"www.iesdouyin.com/share/user/MS4wLjABAAAAgFhVlynoQJoviiWBkDLc4FDHayST16Rwe_L8-R3WXjQ?u_code=27bl82j7fabi&did=MS4wLjABAAAAGXsU93qVRBZBZJCNqfWnsXDCXNU6kPDX-yoyQG81nClLAMJDAJ_6gXe3Zbnkiwjc&iid=MS4wLjABAAAA_XJgu12O_YZoexKR5u8MCwKzulGhd4EBnpfU-iPvMYLSB4kIM13x6T2M34ZzgXuA&with_sec_did=1&sec_uid=MS4wLjABAAAAgFhVlynoQJoviiWBkDLc4FDHayST16Rwe_L8-R3WXjQ\\\",\\\"share_weibo_desc\\\":\\\"长按复制此条消息,打开抖音搜索,查看TA的更多作品。\\\",\\\"share_desc\\\":\\\"长按复制此条消息,打开抖音搜索,查看TA的更多作品。\\\",\\\"share_title\\\":\\\"快来加入抖音,让你发现最有趣的我!\\\",\\\"share_qrcode_url\\\":{\\\"uri\\\":\\\"5fe200141093357c8609\\\",\\\"url_list\\\":[\\\"https://p6.douyinpic.com/obj/5fe200141093357c8609\\\",\\\"https://p9.douyinpic.com/obj/5fe200141093357c8609\\\",\\\"https://p3.douyinpic.com/obj/5fe200141093357c8609\\\"]},\\\"share_image_url\\\":{\\\"url_list\\\":null},\\\"bool_persist\\\":1},\\\"original_musician\\\":{\\\"digg_count\\\":0,\\\"music_count\\\":0,\\\"music_used_count\\\":0},\\\"twitter_name\\\":\\\"\\\",\\\"live_commerce\\\":true,\\\"profile_tab_type\\\":0,\\\"is_blocked\\\":false,\\\"sec_uid\\\":\\\"MS4wLjABAAAAgFhVlynoQJoviiWBkDLc4FDHayST16Rwe_L8-R3WXjQ\\\",\\\"cover_jump_url\\\":\\\"\\\",\\\"province\\\":\\\"\\\",\\\"signature_language\\\":\\\"zh\\\",\\\"tab_settings\\\":{\\\"private_tab\\\":{\\\"show_private_tab\\\":false,\\\"private_tab_style\\\":1}},\\\"signature_display_lines\\\":0,\\\"follower_request_status\\\":0,\\\"apple_account\\\":0,\\\"country\\\":\\\"\\\",\\\"watch_status\\\":false,\\\"with_commerce_enterprise_tab_entry\\\":false,\\\"video_cover\\\":{},\\\"show_favorite_list\\\":false,\\\"forward_count\\\":60,\\\"follow_guide\\\":true,\\\"gender\\\":0,\\\"follower_count\\\":5079222,\\\"is_activity_user\\\":false,\\\"user_not_see\\\":0,\\\"publish_landing_tab\\\":3,\\\"school_name\\\":\\\"\\\",\\\"commerce_user_level\\\":2,\\\"is_effect_artist\\\":false,\\\"avatar_300x300\\\":{\\\"url_list\\\":[\\\"https://p11.douyinpic.com/aweme-avatar/mosaic-legacy_31915000811b51868fe24~tplv-dy-shrink:188:188.jpeg?from=2956013662\\\",\\\"https://p11.douyinpic.com/img/aweme-avatar/mosaic-legacy_31915000811b51868fe24~c5_300x300.jpeg?from=2956013662\\\",\\\"https://p6.douyinpic.com/img/aweme-avatar/mosaic-legacy_31915000811b51868fe24~c5_300x300.jpeg?from=2956013662\\\",\\\"https://p26.douyinpic.com/img/aweme-avatar/mosaic-legacy_31915000811b51868fe24~c5_300x300.jpeg?from=2956013662\\\"],\\\"width\\\":720,\\\"height\\\":720,\\\"uri\\\":\\\"aweme-avatar/mosaic-legacy_31915000811b51868fe24\\\"},\\\"uid\\\":\\\"82914947908\\\",\\\"short_id\\\":\\\"0\\\"},\\\"extra\\\":{\\\"fatal_item_ids\\\":[],\\\"logid\\\":\\\"202202141930400102091561642695070C\\\",\\\"now\\\":1644838241000},\\\"log_pb\\\":{\\\"impr_id\\\":\\\"202202141930400102091561642695070C\\\"},\\\"status_code\\\":0}\\n\""; - String s = str.replaceAll("\\\\", ""); - - - } } diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-api/src/main/java/com/baiye/feign/TiktokUserProvider.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-api/src/main/java/com/baiye/feign/TiktokUserProvider.java index 12d33a5..25d7bce 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-api/src/main/java/com/baiye/feign/TiktokUserProvider.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-api/src/main/java/com/baiye/feign/TiktokUserProvider.java @@ -8,7 +8,6 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-api/src/main/java/com/baiye/job/dy_tool_member/TiktokPrivateLetterJop.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-api/src/main/java/com/baiye/job/dy_tool_member/TiktokPrivateLetterJop.java new file mode 100644 index 0000000..0ddb974 --- /dev/null +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-api/src/main/java/com/baiye/job/dy_tool_member/TiktokPrivateLetterJop.java @@ -0,0 +1,30 @@ +package com.baiye.job.dy_tool_member; + +import com.baiye.properties.TiktokProperties; +import com.dangdang.ddframe.job.api.ShardingContext; +import com.dangdang.ddframe.job.api.simple.SimpleJob; +import com.example.autoconfig.ElasticSimpleJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 十分钟私信任务 + * @author Enzo + * @date : 2022/9/30 + */ +@Slf4j +@Component +@RequiredArgsConstructor +@ElasticSimpleJob(jobName = "tiktokPrivateLetterJob", cron = "0 0/10 * * * ? ") +public class TiktokPrivateLetterJop implements SimpleJob { + + private final TiktokProperties tiktokProperties; + + + @Override + public void execute(ShardingContext shardingContext) { + + + } +} diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-api/src/test/java/TiktokMessageTest.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-api/src/test/java/TiktokMessageTest.java index da71f65..94c8e8a 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-api/src/test/java/TiktokMessageTest.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-api/src/test/java/TiktokMessageTest.java @@ -1,15 +1,19 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.RandomUtil; import com.baiye.TiktokMemberApiApplication; +import com.baiye.core.constant.DefaultNumberConstants; import com.baiye.dao.TiktokVideoCommentMapper; import com.baiye.entity.TiktokVideoComment; import com.baiye.service.TiktokMemberService; +import com.google.common.collect.Lists; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; /** * @author Enzo @@ -28,27 +32,24 @@ public class TiktokMessageTest { private TiktokMemberService tiktokMemberService; @Test public void saveRecord() { - for (int i = 0; i < 20; i++) { - - /* TiktokVideoComment record = new TiktokVideoComment(); - int i1 = RandomUtil.randomInt(2); - record.setId(IdUtil.getSnowflakeNextId()); - record.setStatus(1); - record.setIsRead(i1); - record.setMsg("评论消息" + i); - record.setMsgFlag(i1 > 1); - // record.setSenderId(RandomUtil.randomLong()); - record.setUserId(1L); - record.setTiktokId(String.valueOf(RandomUtil.randomLong())); - record.setReceiverId(RandomUtil.randomLong()); - record.setMemberId(RandomUtil.randomLong()); - record.setReceiverId(RandomUtil.randomLong()); - tiktokVideoCommentMapper.insert(record);*/ - + List objects = Lists.newArrayList(); + for (int i = 0; i < 5; i++) { + + long nextId = IdUtil.getSnowflake().nextId(); + TiktokVideoComment comment = new TiktokVideoComment(); + comment.setId(nextId); + comment.setMsgFlag(RandomUtil.randomBoolean()); + comment.setVideoId(RandomUtil.randomLong()); + comment.setMsg("娃哈哈"); + comment.setMemberId(RandomUtil.randomLong()); + comment.setTiktokId(String.valueOf(RandomUtil.randomLong())); + comment.setCommentId(RandomUtil.randomLong()); + comment.setBelongTiktokId(IdUtil.randomUUID()); + comment.setStatus(DefaultNumberConstants.ONE_NUMBER); + comment.setIsRead(DefaultNumberConstants.ZERO_NUMBER); + objects.add(comment); } - - - + tiktokVideoCommentMapper.batchInsert(objects); } @Test diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/dto/TiktokVideoCommentDTO.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/dto/TiktokVideoCommentDTO.java index d48ae69..99b6d11 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/dto/TiktokVideoCommentDTO.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/dto/TiktokVideoCommentDTO.java @@ -1,6 +1,9 @@ package com.baiye.dto; +import com.baiye.core.constant.DateConstant; +import com.baiye.core.constant.DefaultNumberConstants; import com.baiye.core.convert.EmojiConverterListJson; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -26,6 +29,9 @@ public class TiktokVideoCommentDTO implements Serializable { @ApiModelProperty(value = "发送者id") private Long senderId; + @ApiModelProperty(value = "作者id") + private Long authorId; + @ApiModelProperty(value = "抖音id") private String tiktokId; @@ -49,6 +55,7 @@ public class TiktokVideoCommentDTO implements Serializable { private Integer isRead; @ApiModelProperty(value = "创建时间") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateConstant.NORM_DATETIME_PATTERN, timezone = "GMT+8") private Date createTime; @ApiModelProperty(value = "mq消息") @@ -57,5 +64,8 @@ public class TiktokVideoCommentDTO implements Serializable { @ApiModelProperty(value = "true发送false接收") private Boolean msgFlag; + @ApiModelProperty(value = "1 文本评论 3 图片评论") + private Integer msgType = DefaultNumberConstants.ONE_NUMBER; + } diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/dto/request/OptCommentVideoRequestDTO.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/dto/request/OptCommentVideoRequestDTO.java index 46567a4..685b9c2 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/dto/request/OptCommentVideoRequestDTO.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/dto/request/OptCommentVideoRequestDTO.java @@ -17,6 +17,9 @@ public class OptCommentVideoRequestDTO { @ApiModelProperty(value = "评论id") private Long commentId; + @ApiModelProperty(value = "作者id") + private Long authorId; + @ApiModelProperty(value = "评论 ,评论时@某人,直接在文本前面加上@的人的昵称就行了") private String content; diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/entity/TiktokMember.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/entity/TiktokMember.java index f8d7a5a..33c9533 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/entity/TiktokMember.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/entity/TiktokMember.java @@ -24,7 +24,7 @@ public class TiktokMember implements Serializable { @ApiModelProperty(value = "抖音会员id") - @TableId(value = "id", type = IdType.AUTO) + @TableId(value = "id", type = IdType.INPUT) private Long id; @ApiModelProperty(value = "抖音id") diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/entity/TiktokVideoComment.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/entity/TiktokVideoComment.java index 145ceab..fc79ced 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/entity/TiktokVideoComment.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/entity/TiktokVideoComment.java @@ -30,6 +30,9 @@ public class TiktokVideoComment implements Serializable { @ApiModelProperty(value = "视频id") private Long videoId; + @ApiModelProperty(value = "作者id") + private Long authorId; + @ApiModelProperty(value = "发送者id") private String senderId; @@ -50,7 +53,7 @@ public class TiktokVideoComment implements Serializable { @ApiModelProperty(value = "评论内容") @Convert(converter = EmojiConverterListJson.class) - private String content; + private String msg; @ApiModelProperty(value = "评论状态") private Integer status; @@ -69,4 +72,7 @@ public class TiktokVideoComment implements Serializable { @ApiModelProperty(value = "true发送false接收") private Boolean msgFlag; + + + } diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/mapstruct/TiktokVideoCommentStruct.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/mapstruct/TiktokVideoCommentStruct.java index 16b4dfc..4576c46 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/mapstruct/TiktokVideoCommentStruct.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-core/src/main/java/com/baiye/mapstruct/TiktokVideoCommentStruct.java @@ -16,9 +16,7 @@ package com.baiye.mapstruct; import com.baiye.core.base.BaseMapStruct; -import com.baiye.dto.TiktokMemberDTO; import com.baiye.dto.TiktokVideoCommentDTO; -import com.baiye.entity.TiktokMember; import com.baiye.entity.TiktokVideoComment; import org.mapstruct.Mapper; import org.mapstruct.ReportingPolicy; diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/TiktokRequestClient.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/TiktokRequestClient.java index eb500b1..e44a984 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/TiktokRequestClient.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/TiktokRequestClient.java @@ -12,7 +12,6 @@ import com.baiye.exception.global.BadRequestException; import com.baiye.properties.TiktokProperties; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import org.apache.poi.ss.formula.functions.T; /** * @author Enzo @@ -26,18 +25,16 @@ public class TiktokRequestClient { * 创建返回参数 Enzo */ @SneakyThrows - public static > T createTiktokResponse(String requestUrl, - BaseTiktokRequest tiktokRequest, + public static > T createTiktokResponse(String requestUrl, BaseTiktokRequest tiktokRequest, TiktokProperties tiktokProperties) { tiktokRequest.setSessionKey(tiktokProperties.getSessionKey()); String response = HttpUtil.post (tiktokProperties.getGatewayHost().concat(requestUrl), JSONUtil.toJsonStr(tiktokRequest)); - Object parseObject = JSON.parseObject - (response, TypeUtil.getTypeArgument - (tiktokRequest.getResponseClass().newInstance().getClass())); - if (ObjectUtil.isNotNull(parseObject)) { - return (T) parseObject; + Object bean = JSONUtil.toBean(response, + tiktokRequest.getResponseClass().newInstance().getClass()); + if (ObjectUtil.isNotNull(bean)) { + return (T) bean; } throw new BadRequestException("请求失败"); } diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokCommentVideoListRequest.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokCommentVideoListRequest.java index d8ff93d..f3977b8 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokCommentVideoListRequest.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokCommentVideoListRequest.java @@ -3,7 +3,6 @@ package com.baiye.api.request; import com.baiye.api.response.TiktokCommentVideoListResponse; import com.baiye.core.base.api.BaseTiktokRequest; import com.baiye.dto.request.CommentVideoListRequestDTO; -import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -17,7 +16,7 @@ import lombok.Setter; @Setter @AllArgsConstructor @NoArgsConstructor -public class TiktokCommentVideoListRequest extends BaseTiktokRequest { +public class TiktokCommentVideoListRequest extends BaseTiktokRequest { private CommentVideoListRequestDTO data; diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokCommentVideoRequest.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokCommentVideoRequest.java index 4af9360..138386c 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokCommentVideoRequest.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokCommentVideoRequest.java @@ -16,7 +16,7 @@ import lombok.Setter; @Setter @AllArgsConstructor @NoArgsConstructor -public class TiktokCommentVideoRequest extends BaseTiktokRequest { +public class TiktokCommentVideoRequest extends BaseTiktokRequest { private TiktokCommentVideoDTO data; diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokDeleteCommentRequest.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokDeleteCommentRequest.java index db346e3..f3cf0f2 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokDeleteCommentRequest.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokDeleteCommentRequest.java @@ -16,7 +16,7 @@ import lombok.Setter; @Setter @AllArgsConstructor @NoArgsConstructor -public class TiktokDeleteCommentRequest extends BaseTiktokRequest { +public class TiktokDeleteCommentRequest extends BaseTiktokRequest { private CommentDeleteRequestDTO data; diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokLikeVideCommentRequest.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokLikeVideCommentRequest.java index 3f530f0..6d09881 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokLikeVideCommentRequest.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokLikeVideCommentRequest.java @@ -16,7 +16,7 @@ import lombok.Setter; @Setter @AllArgsConstructor @NoArgsConstructor -public class TiktokLikeVideCommentRequest extends BaseTiktokRequest { +public class TiktokLikeVideCommentRequest extends BaseTiktokRequest { private LikeVideoCommentRequestDTO data; diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokLikeVideRequest.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokLikeVideRequest.java index f78c437..6774c3c 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokLikeVideRequest.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokLikeVideRequest.java @@ -16,7 +16,7 @@ import lombok.Setter; @Setter @AllArgsConstructor @NoArgsConstructor -public class TiktokLikeVideRequest extends BaseTiktokRequest { +public class TiktokLikeVideRequest extends BaseTiktokRequest { private LikeVideoRequestDTO data; diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokOptCommentVideoRequest.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokOptCommentVideoRequest.java index ffdb721..dce1d6d 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokOptCommentVideoRequest.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokOptCommentVideoRequest.java @@ -3,9 +3,7 @@ package com.baiye.api.request; import com.baiye.api.response.TiktokOptCommentVideoResponse; import com.baiye.core.base.api.BaseTiktokRequest; import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; import lombok.Getter; -import lombok.NoArgsConstructor; import lombok.Setter; /** @@ -14,9 +12,7 @@ import lombok.Setter; */ @Getter @Setter -@AllArgsConstructor -@NoArgsConstructor -public class TiktokOptCommentVideoRequest extends BaseTiktokRequest { +public class TiktokOptCommentVideoRequest extends BaseTiktokRequest { private TiktokOptCommentVideoDTO data; @@ -27,6 +23,9 @@ public class TiktokOptCommentVideoRequest extends BaseTiktokRequest getResponseClass() { + public Class getResponseClass() { return TiktokOptCommentVideoResponse.class; } diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokPrivateLetterRequest.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokPrivateLetterRequest.java new file mode 100644 index 0000000..cb823e4 --- /dev/null +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokPrivateLetterRequest.java @@ -0,0 +1,43 @@ +package com.baiye.api.request; + +import com.baiye.api.response.TiktokPrivateLetterResponse; +import com.baiye.core.base.api.BaseTiktokRequest; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +/** + * @author Enzo + * @date : 2022/9/30 + */ +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class TiktokPrivateLetterRequest extends BaseTiktokRequest { + + private PrivateLetterDTO data; + + @lombok.Data + public class PrivateLetterDTO { + + @ApiModelProperty(value = "设备抖音标识") + private String vendorId; + + @ApiModelProperty(value = "作者id") + private String maxTime; + + @ApiModelProperty(value = "是否需要登录") + private Boolean checkLogin = Boolean.TRUE; + + @ApiModelProperty(value = "是否需要详细信息") + private Boolean checkProxyInfo = Boolean.FALSE; + } + + @Override + public Class getResponseClass() { + return TiktokPrivateLetterResponse.class; + } +} diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokSearchMemberRequest.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokSearchMemberRequest.java index 252c440..559e7a5 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokSearchMemberRequest.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/request/TiktokSearchMemberRequest.java @@ -16,7 +16,7 @@ import lombok.Setter; @Setter @AllArgsConstructor @NoArgsConstructor -public class TiktokSearchMemberRequest extends BaseTiktokRequest { +public class TiktokSearchMemberRequest extends BaseTiktokRequest { private SearchMemberRequestDTO data; diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokCommentVideoListResponse.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokCommentVideoListResponse.java index d576ef6..00d250c 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokCommentVideoListResponse.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokCommentVideoListResponse.java @@ -16,9 +16,10 @@ import java.util.List; @Getter @Setter @AllArgsConstructor -public class TiktokCommentVideoListResponse extends BaseTiktokResponse implements Serializable { +public class TiktokCommentVideoListResponse extends + BaseTiktokResponse implements Serializable { + - private List data; private static final long serialVersionUID = 7515504688664430338L; diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokCommentVideoResponse.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokCommentVideoResponse.java index 189fd75..2f16985 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokCommentVideoResponse.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokCommentVideoResponse.java @@ -1,6 +1,9 @@ package com.baiye.api.response; import com.baiye.core.base.api.BaseTiktokResponse; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.Setter; import java.io.Serializable; @@ -8,7 +11,10 @@ import java.io.Serializable; * @author Enzo * @date : 2022/8/24 */ -public class TiktokCommentVideoResponse extends BaseTiktokResponse implements Serializable { +@Getter +@Setter +@AllArgsConstructor +public class TiktokCommentVideoResponse extends BaseTiktokResponse implements Serializable { private static final long serialVersionUID = 7515504688664430338L; diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokDeleteCommentResponse.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokDeleteCommentResponse.java index 6253e48..8ceae8d 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokDeleteCommentResponse.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokDeleteCommentResponse.java @@ -1,12 +1,21 @@ package com.baiye.api.response; import com.baiye.core.base.api.BaseTiktokResponse; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; /** * @author Enzo * @date : 2022/8/24 */ -public class TiktokDeleteCommentResponse extends BaseTiktokResponse { +@Getter +@Setter +@AllArgsConstructor +public class TiktokDeleteCommentResponse extends + BaseTiktokResponse implements Serializable { private static final long serialVersionUID = 7515504688664430338L; diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokLikeVideoCommentResponse.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokLikeVideoCommentResponse.java index 7b76635..82d2b97 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokLikeVideoCommentResponse.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokLikeVideoCommentResponse.java @@ -2,10 +2,13 @@ package com.baiye.api.response; import com.baiye.core.base.api.BaseTiktokResponse; +import java.io.Serializable; + /** * @author Enzo * @date : 2022/8/25 */ -public class TiktokLikeVideoCommentResponse extends BaseTiktokResponse { +public class TiktokLikeVideoCommentResponse extends + BaseTiktokResponse implements Serializable { private static final long serialVersionUID = -6908842863924012996L; } diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokLikeVideoResponse.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokLikeVideoResponse.java index 63f3188..4010f2d 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokLikeVideoResponse.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokLikeVideoResponse.java @@ -1,12 +1,20 @@ package com.baiye.api.response; import com.baiye.core.base.api.BaseTiktokResponse; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; /** * @author Enzo * @date : 2022/8/25 */ -public class TiktokLikeVideoResponse extends BaseTiktokResponse { +@Getter +@Setter +@AllArgsConstructor +public class TiktokLikeVideoResponse extends BaseTiktokResponse implements Serializable { private static final long serialVersionUID = 2965000915571628034L; } diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokOptCommentVideoResponse.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokOptCommentVideoResponse.java index b7a3664..be89b10 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokOptCommentVideoResponse.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokOptCommentVideoResponse.java @@ -1,13 +1,64 @@ package com.baiye.api.response; import com.baiye.core.base.api.BaseTiktokResponse; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.util.Date; /** * @author Enzo * @date : 2022/8/24 */ -public class TiktokOptCommentVideoResponse extends BaseTiktokResponse { +@Getter +@Setter +@AllArgsConstructor +public class TiktokOptCommentVideoResponse extends + BaseTiktokResponse implements Serializable { + + private static final long serialVersionUID = -5825557293915616077L; + + @Getter + @Setter + @AllArgsConstructor + public class OptCommentResponse implements Serializable { + + private static final long serialVersionUID = -3833181293850917321L; + @JsonProperty("status_code") + private Integer statusCode; + + @JsonProperty("comment") + private Comment comment; + @Getter + @Setter + @AllArgsConstructor + public class Comment implements Serializable { + + private static final long serialVersionUID = 5350130949106794018L; + + @JsonProperty("reply_to_reply_id") + private Integer replyToReplyId; + + @JsonProperty("create_time") + private Date createTime; + + @JsonProperty("digg_count") + private Integer diggCount; + + @JsonProperty("aweme_id") + private Long awemeId; + @JsonProperty("status") + private Integer status; + @JsonProperty("cid") + private Long cid; + @JsonProperty("text") + private String text; + } + } } diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokPrivateLetterResponse.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokPrivateLetterResponse.java new file mode 100644 index 0000000..bb0d61b --- /dev/null +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokPrivateLetterResponse.java @@ -0,0 +1,100 @@ +package com.baiye.api.response; + +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; +import com.baiye.core.base.api.BaseTiktokResponse; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.Setter; +import org.apache.commons.lang3.StringUtils; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @author Enzo + * @date : 2022/9/30 + */ +public class TiktokPrivateLetterResponse extends BaseTiktokResponse implements Serializable { + + private static final long serialVersionUID = 523432110634536903L; + + + @Getter + @Setter + @AllArgsConstructor + public class PrivateLetterResponse implements Serializable { + + + private static final long serialVersionUID = 762547411155582997L; + + @JsonProperty("maxTime") + private Long maxTime; + + private List convList; + + @Getter + @Setter + @AllArgsConstructor + public class TikTokMessageDTO implements Serializable { + private static final long serialVersionUID = -5089773201629019673L; + + @JsonProperty("converstionId") + private String converstionId; + + @JsonProperty("converstionId") + private List msgList; + + @Getter + @Setter + @AllArgsConstructor + public class MessageDTO implements Serializable { + + private static final long serialVersionUID = -6577882390878456793L; + + @JsonProperty("converstionId") + private String converstionId; + + @JsonProperty("senderId") + private String senderId; + + @JsonProperty("text") + private Text text; + + @JsonProperty("time") + private Long time; + + @Getter + @Setter + @AllArgsConstructor + public class Text implements Serializable { + private static final long serialVersionUID = 7514779462685131112L; + @JsonProperty("type") + private Integer type; + @JsonProperty("isShareText") + private Boolean isShareText; + @JsonProperty("item_type_local") + private Integer itemTypeLocal; + @JsonProperty("text") + private String text; + @JsonProperty("is_card") + private Boolean isCard; + @JsonProperty("aweType") + private Boolean aweType; + } + } + } + } + + public static void main(String[] args) { + + String str = "\"{\\\"type\\\":0,\\\"isShareText\\\":false,\\\"item_type_local\\\":-1,\\\"richTextInfos\\\":[],\\\"text\\\":\\\"噢噢噢噢\\\",\\\"createdAt\\\":0,\\\"is_card\\\":false,\\\"msgHint\\\":\\\"\\\",\\\"aweType\\\":700}\""; + JSONUtil.toBean(StrUtil.removeAll("\\", ""), PrivateLetterResponse.TikTokMessageDTO.MessageDTO.Text.class); + + + + } + +} diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokSearchMemberResponse.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokSearchMemberResponse.java index d13015e..4344850 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokSearchMemberResponse.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/api/response/TiktokSearchMemberResponse.java @@ -16,7 +16,7 @@ import java.util.List; @Getter @Setter @AllArgsConstructor -public class TiktokSearchMemberResponse extends BaseTiktokResponse { +public class TiktokSearchMemberResponse extends BaseTiktokResponse { @Getter diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/TiktokMemberService.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/TiktokMemberService.java index 9ee9337..6440570 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/TiktokMemberService.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/TiktokMemberService.java @@ -31,4 +31,11 @@ public interface TiktokMemberService extends IService { * @return */ TiktokMemberDTO queryById(Long memberId); + + /** + * 保存用户 + * @param tiktokId + * @return + */ + Long saveTiktokMember(String tiktokId); } diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/impl/TiktokMemberServiceImpl.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/impl/TiktokMemberServiceImpl.java index 08a15ef..7f1bac7 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/impl/TiktokMemberServiceImpl.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/impl/TiktokMemberServiceImpl.java @@ -3,6 +3,7 @@ package com.baiye.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.RandomUtil; import cn.hutool.json.JSONUtil; import com.baiye.api.TiktokRequestClient; import com.baiye.api.request.TiktokSearchMemberRequest; @@ -86,8 +87,8 @@ public class TiktokMemberServiceImpl extends ServiceImpl DefaultNumberConstants.ZERO_NUMBER ? memberId : DefaultNumberConstants.ZERO_NUMBER; - } + }*/ } } } @@ -108,4 +109,22 @@ public class TiktokMemberServiceImpl extends ServiceImpl() + .eq(TiktokMember::getTiktokId, tiktokId)); + if (ObjectUtil.isNotNull(member)) { + return member.getId(); + } + Long memberId = IdUtil.getSnowflake(workerId, datacenterId).nextId(); + TiktokMember tiktokMember = TiktokMember.builder().id(memberId).tiktokId(tiktokId). + avatar("https://img2.woyaogexing.com/2022/06/26/5ac1d7cb3f440140!400x400.jpg"). + city("佳木斯").nickname("娃哈哈".concat(String.valueOf(RandomUtil.randomInt()))).province("黑龙江"). + gender(1).build(); + return tiktokMemberMapper.insert(tiktokMember) > + DefaultNumberConstants.ZERO_NUMBER ? memberId : DefaultNumberConstants.ZERO_NUMBER; + } + } diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/impl/TiktokVideoCommentServiceImpl.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/impl/TiktokVideoCommentServiceImpl.java index 329e4d6..56a74b0 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/impl/TiktokVideoCommentServiceImpl.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/impl/TiktokVideoCommentServiceImpl.java @@ -67,7 +67,6 @@ public class TiktokVideoCommentServiceImpl extends Page page = new Page<>(pageable.getPageNumber(), pageable.getPageSize()); - IPage queryMemberId = tiktokVideoCommentMapper.queryMemberId(page, currentUserId); if (CollUtil.isNotEmpty(queryMemberId.getRecords())) { @@ -127,7 +126,7 @@ public class TiktokVideoCommentServiceImpl extends Page page = PageUtils.startPageAndSort(pageable); Wrapper queryWrapper = new LambdaQueryWrapper().eq - (TiktokVideoComment::getMemberId, + (TiktokVideoComment::getTiktokId, commentRecordQuery.getTiktokId()). eq(TiktokVideoComment::getVideoId, commentRecordQuery.getVideoId()); Page selectPage = this.page(page, queryWrapper); @@ -135,8 +134,9 @@ public class TiktokVideoCommentServiceImpl extends if (CollUtil.isNotEmpty(selectPage.getRecords())) { String belongTiktokId = selectPage.getRecords().get - (DefaultNumberConstants.ZERO_NUMBER).getBelongTiktokId(); - if (CharSequenceUtil.isNotBlank(belongTiktokId)){ + (selectPage.getRecords().size() - + DefaultNumberConstants.ONE_NUMBER).getBelongTiktokId(); + if (CharSequenceUtil.isNotBlank(belongTiktokId)) { TiktokEquipmentEntity equipment = tiktokEquipmentService.getOne (new LambdaQueryWrapper(). diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/impl/TiktokVideoServiceImpl.java b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/impl/TiktokVideoServiceImpl.java index 92198fd..e5a4cb4 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/impl/TiktokVideoServiceImpl.java +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/java/com/baiye/service/impl/TiktokVideoServiceImpl.java @@ -2,9 +2,11 @@ package com.baiye.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; +import cn.hutool.json.JSONUtil; import com.baiye.api.TiktokRequestClient; import com.baiye.api.request.*; import com.baiye.api.response.*; @@ -24,10 +26,12 @@ import com.baiye.service.TiktokMemberService; import com.baiye.service.TiktokVideoCommentService; import com.baiye.service.TiktokVideoService; import com.baiye.utils.GetVendorIdUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.google.common.collect.Lists; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -45,6 +49,12 @@ import java.util.List; public class TiktokVideoServiceImpl implements TiktokVideoService { + @Value("${snowflake.workerId}") + private int workerId; + + @Value("${snowflake.datacenterId}") + private int datacenterId; + private final TiktokProperties tiktokProperties; private final TiktokMemberService tiktokMemberService; @@ -99,7 +109,8 @@ public class TiktokVideoServiceImpl implements TiktokVideoService { (TiktokRequestConstants.TIK_TOK_COMMENT_VIDEO_LIST, likeVideRequest, tiktokProperties); if (ObjectUtil.isNotNull(tiktokResponse.getStatus()) && tiktokResponse.getStatus() == HttpStatus.OK.value()) { - return tiktokResponse.getData(); + return Lists.newArrayList(); + // return Convert.toList(CommentVideoDTO.class, tiktokResponse.getData()); } return Lists.newArrayList(); } @@ -108,7 +119,8 @@ public class TiktokVideoServiceImpl implements TiktokVideoService { public Result optCommentVideo(OptCommentVideoRequestDTO optCommentVideoRequestDTO) { if (ObjectUtil.isNull(optCommentVideoRequestDTO.getMemberId())) { // 判断用户是否存在 - Long aLong = RandomUtil.randomLong(); + Long aLong = tiktokMemberService. + saveTiktokMember(optCommentVideoRequestDTO.getTiktokId()); /* Long aLong = tiktokMemberService. saveTiktokMemberByTiktok(optCommentVideoRequestDTO.getTiktokId());*/ if (ObjectUtil.isNull(aLong) || aLong == DefaultNumberConstants.ZERO_NUMBER) { @@ -120,14 +132,20 @@ public class TiktokVideoServiceImpl implements TiktokVideoService { if (Boolean.TRUE.equals(optCommentVideoRequestDTO.getIsFirstChat()) && StringUtils.isNotBlank(optCommentVideoRequestDTO.getTiktokId())) { - long nextId = IdUtil.getSnowflake().nextId(); - // 创建用户聊天信息 - TiktokVideoComment comment = new TiktokVideoComment(); - BeanUtil.copyProperties(optCommentVideoRequestDTO, comment); - comment.setMsgFlag(Boolean.FALSE); - comment.setVideoId(optCommentVideoRequestDTO.getAwemeId()); - boolean save = tiktokVideoCommentService.saveComment(comment); - log.info("================== the save opt comment result as {} comment id as {} =================", save, nextId); + int count = tiktokVideoCommentService.count + (new LambdaQueryWrapper().eq + (TiktokVideoComment::getCommentId, optCommentVideoRequestDTO.getCommentId())); + if (count == DefaultNumberConstants.ZERO_NUMBER){ + Long nextId = IdUtil.getSnowflake(workerId, datacenterId).nextId(); + // 创建用户聊天信息 + TiktokVideoComment comment = new TiktokVideoComment(); + BeanUtil.copyProperties(optCommentVideoRequestDTO, comment); + comment.setMsgFlag(Boolean.FALSE); + comment.setMsg(optCommentVideoRequestDTO.getContent()); + comment.setVideoId(optCommentVideoRequestDTO.getAwemeId()); + boolean save = tiktokVideoCommentService.saveComment(comment); + log.info("================== the save opt comment result as {} comment id as {} =================", save, nextId); + } return Result.success(); } @@ -135,22 +153,30 @@ public class TiktokVideoServiceImpl implements TiktokVideoService { // 创建内部类赋值 TiktokOptCommentVideoRequest.TiktokOptCommentVideoDTO videoDTO = tiktokCommentVideoRequest.new TiktokOptCommentVideoDTO(); BeanUtil.copyProperties(optCommentVideoRequestDTO, videoDTO); + videoDTO.setAuthorId(optCommentVideoRequestDTO.getTiktokId()); videoDTO.setVendorId(optCommentVideoRequestDTO.getBelongTiktokId()); + tiktokCommentVideoRequest.setData(videoDTO); // 请求参数 TiktokOptCommentVideoResponse optCommentVideoResponse = TiktokRequestClient.createTiktokResponse - (TiktokRequestConstants.TIK_TOK_COMMENT_VIDEO, tiktokCommentVideoRequest, tiktokProperties); + (TiktokRequestConstants.TIK_TOK_OPT_COMMENT_VIDEO_LIST, tiktokCommentVideoRequest, tiktokProperties); if (ObjectUtil.isNotNull(optCommentVideoResponse.getSuccess()) && Boolean.TRUE.equals(optCommentVideoResponse.getSuccess())) { if (optCommentVideoResponse.getStatus() == HttpStatus.OK.value()) { - long nextId = IdUtil.getSnowflake().nextId(); - TiktokVideoComment comment = new TiktokVideoComment(); - BeanUtil.copyProperties(optCommentVideoRequestDTO, comment); - comment.setMsgFlag(Boolean.TRUE); - comment.setVideoId(optCommentVideoRequestDTO.getAwemeId()); - // 创建用户聊天信息 - boolean save = tiktokVideoCommentService.saveComment(comment); - log.info("================== the save opt comment result as {} comment id as {} =================", save, nextId); - return Result.success(); + TiktokOptCommentVideoResponse.OptCommentResponse data = optCommentVideoResponse.getData(); + + if (ObjectUtil.isNotNull(data) && ObjectUtil.isNotNull(data.getComment())) { + long nextId = IdUtil.getSnowflake().nextId(); + TiktokVideoComment comment = new TiktokVideoComment(); + BeanUtil.copyProperties(optCommentVideoRequestDTO, comment); + comment.setMsgFlag(Boolean.TRUE); + comment.setCommentId(data.getComment().getCid()); + comment.setMsg(optCommentVideoRequestDTO.getContent()); + comment.setVideoId(optCommentVideoRequestDTO.getAwemeId()); + // 创建用户聊天信息 + boolean save = tiktokVideoCommentService.saveComment(comment); + log.info("================== the save opt comment result as {} comment id as {} =================", save, nextId); + return Result.success(); + } } return Result.fail(StringUtils.isNotBlank (optCommentVideoResponse.getMsg()) ? optCommentVideoResponse.getMsg() @@ -158,7 +184,7 @@ public class TiktokVideoServiceImpl implements TiktokVideoService { } return Result.fail(StringUtils.isNotBlank (optCommentVideoResponse.getMsg()) ? optCommentVideoResponse.getMsg() : - ResultCode.OPT_COMMENT_VIDEO_FAILED.getMsg()); + ResultCode.OPT_COMMENT_VIDEO_FAILED.getMsg()); } @@ -319,12 +345,13 @@ public class TiktokVideoServiceImpl implements TiktokVideoService { String dyVendorId, Long videoId, String tiktokId, Long commentId, String content, Long memberId) { - long nextId = IdUtil.getSnowflake().nextId(); + Long nextId = IdUtil.getSnowflake + (workerId, datacenterId).nextId(); TiktokVideoComment comment = new TiktokVideoComment(); comment.setId(nextId); + comment.setMsg(content); comment.setMsgFlag(flag); comment.setVideoId(videoId); - comment.setContent(content); comment.setMemberId(memberId); comment.setTiktokId(tiktokId); comment.setCommentId(commentId); diff --git a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/resources/mapper/TiktokVideoCommentMapper.xml b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/resources/mapper/TiktokVideoCommentMapper.xml index e96eeb6..572b4fd 100644 --- a/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/resources/mapper/TiktokVideoCommentMapper.xml +++ b/cdp-tools/cdp-tool-dy/dy-tool-member/dy-tool-member-service/src/main/resources/mapper/TiktokVideoCommentMapper.xml @@ -15,7 +15,7 @@ SELECT a.create_time as createTime, a.member_id as memberId, a.video_id as videoId, - a.content as content, + a.msg as content, a.is_read as isRead FROM tb_tiktok_video_comment AS a, (SELECT MAX(id) as id, @@ -32,7 +32,7 @@