fix: fixed bug that occasionally slipped to trigger click events, update the first six recommended videos, add gitee judgment, do not load 7z files without gitee
This commit is contained in:
parent
8aedae15a5
commit
9e5a389906
@ -13,8 +13,9 @@
|
||||
<a><img src="https://img.shields.io/badge/Powered%20by-Vue-blue"/></a>
|
||||
</p>
|
||||
|
||||
`douyin-vue` 是一个模仿 `抖音|TikTok` 的移动端短视频项目,完全度90%。使用了最新的 `Vue` 全家桶技术栈,它基于 [`Vue3`](https://cn.vuejs.org/)、[`Vite5`](https://cn.vitejs.dev/)
|
||||
、[`Pinia`](https://pinia.vuejs.org/)实现。数据保存在项目本地,视频采集自`抖音|TikTok`,图集采集自`小红书|Xiaohongshu`,通过 [`axios-mock-adapter`](https://github.com/ctimmerm/axios-mock-adapter) 库拦截Api 并返回本地json数据,模拟真实后端请求
|
||||
`douyin-vue` 是一个模仿 `抖音|TikTok` 的移动端短视频项目。`Vue` 在移动端的 `最佳实践`,媲美原生 `App` 丝滑流畅的使用体验。使用了最新的 `Vue` 技术栈,基于 [`Vue3`](https://cn.vuejs.org/)、[`Vite5`](https://cn.vitejs.dev/)
|
||||
、[`Pinia`](https://pinia.vuejs.org/)实现。数据保存在项目本地,通过 [`axios-mock-adapter`](https://github.com/ctimmerm/axios-mock-adapter) 库拦截Api 并返回本地json数据,模拟真实后端请求
|
||||
|
||||
|
||||
<div>
|
||||
<img width="150px" src='docs/imgs/1.gif' />
|
||||
|
||||
@ -400,163 +400,6 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"aweme_id": "7346191904205327631",
|
||||
"desc": "我的女友",
|
||||
"create_time": 1710418599,
|
||||
"music": {
|
||||
"id": 7346191940615933000,
|
||||
"title": "@条子创作的原声",
|
||||
"author": "条子",
|
||||
"cover_medium": {
|
||||
"uri": "720x720/aweme-avatar/tos-cn-avt-0015_75c5ef8973e1d665252306ea58f7d10b",
|
||||
"url_list": [
|
||||
"https://p3-pc.douyinpic.com/aweme/720x720/aweme-avatar/tos-cn-avt-0015_75c5ef8973e1d665252306ea58f7d10b.jpeg?from=116350172"
|
||||
],
|
||||
"width": 720,
|
||||
"height": 720
|
||||
},
|
||||
"cover_thumb": {
|
||||
"uri": "100x100/aweme-avatar/tos-cn-avt-0015_75c5ef8973e1d665252306ea58f7d10b",
|
||||
"url_list": [
|
||||
"https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/tos-cn-avt-0015_75c5ef8973e1d665252306ea58f7d10b.jpeg?from=116350172"
|
||||
],
|
||||
"width": 720,
|
||||
"height": 720
|
||||
},
|
||||
"play_url": {
|
||||
"uri": "https://sf5-hl-cdn-tos.douyinstatic.com/obj/ies-music/7346191933737356059.mp3",
|
||||
"url_list": [
|
||||
"https://sf5-hl-cdn-tos.douyinstatic.com/obj/ies-music/7346191933737356059.mp3",
|
||||
"https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7346191933737356059.mp3"
|
||||
],
|
||||
"width": 720,
|
||||
"height": 720,
|
||||
"url_key": "7346191940615932722"
|
||||
},
|
||||
"duration": 7,
|
||||
"user_count": 0,
|
||||
"owner_id": "83160533866",
|
||||
"owner_nickname": "条子",
|
||||
"is_original": false
|
||||
},
|
||||
"video": {
|
||||
"play_addr": {
|
||||
"uri": "v0300fg10000cnpel5bc77u9pqctt5hg",
|
||||
"url_list": [
|
||||
"https://www.douyin.com/aweme/v1/play/?video_id=v0300fg10000cnpel5bc77u9pqctt5hg&line=0&file_id=0ab371e7a5ac419fb88d8b616f1b9a70&sign=c689ddfb4d16aec5ae605822e5b2c4f6&is_play_url=1&source=PackSourceEnum_PUBLISH"
|
||||
],
|
||||
"width": 1870,
|
||||
"height": 1052,
|
||||
"url_key": "v0300fg10000cnpel5bc77u9pqctt5hg_h264_1080p_2690491",
|
||||
"data_size": 2467517,
|
||||
"file_hash": "c689ddfb4d16aec5ae605822e5b2c4f6",
|
||||
"file_cs": "c:0-7442-daae|d:0-1233757-8a1a,1233758-2467516-f27e|a:v0300fg10000cnpel5bc77u9pqctt5hg"
|
||||
},
|
||||
"cover": {
|
||||
"uri": "tos-cn-i-0813/owgAVhXilAAZ6yTAAzCsDnqefAVEDIN9qALqyg",
|
||||
"url_list": ["Ig9gQdI0FjieZ_SnquVR-.png"],
|
||||
"width": 720,
|
||||
"height": 720
|
||||
},
|
||||
"height": 1052,
|
||||
"width": 1870,
|
||||
"ratio": "1080p",
|
||||
"use_static_cover": true,
|
||||
"duration": 7337,
|
||||
"horizontal_type": 1
|
||||
},
|
||||
"share_url": "https://www.iesdouyin.com/share/video/7346191904205327631/?region=CN&mid=7346191940615932722&u_code=13kgm680k&did=MS4wLjABAAAAiOgYyZm8XbWZMr5o3OvhR-TEOuNygb_hQOwkie-VXJpDYaR4vZfpiIGBfAWKCFHB&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&titleType=title&share_sign=GBtbcDEKOakwrzsCjMztEGgSeaHW_xrERQNESLGFXFw-&share_version=170400&ts=1710489511&from_aid=6383&from_ssr=1",
|
||||
"statistics": {
|
||||
"admire_count": 1,
|
||||
"comment_count": 602,
|
||||
"digg_count": 17913,
|
||||
"collect_count": 2393,
|
||||
"play_count": 0,
|
||||
"share_count": 13227
|
||||
},
|
||||
"status": {
|
||||
"listen_video_status": 0,
|
||||
"is_delete": false,
|
||||
"allow_share": true,
|
||||
"is_prohibited": false,
|
||||
"in_reviewing": false,
|
||||
"part_see": 0,
|
||||
"private_status": 0,
|
||||
"review_result": {
|
||||
"review_status": 0
|
||||
}
|
||||
},
|
||||
"text_extra": [],
|
||||
"is_top": 0,
|
||||
"share_info": {
|
||||
"share_url": "https://www.iesdouyin.com/share/video/7346191904205327631/?region=CN&mid=7346191940615932722&u_code=13kgm680k&did=MS4wLjABAAAAiOgYyZm8XbWZMr5o3OvhR-TEOuNygb_hQOwkie-VXJpDYaR4vZfpiIGBfAWKCFHB&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&titleType=title&share_sign=GBtbcDEKOakwrzsCjMztEGgSeaHW_xrERQNESLGFXFw-&share_version=170400&ts=1710489511&from_aid=6383&from_ssr=1",
|
||||
"share_link_desc": "2.89 G@V.LW mDU:/ 11/22 我的女友 %s 复制此链接,打开Dou音搜索,直接观看视频!"
|
||||
},
|
||||
"duration": 7337,
|
||||
"image_infos": null,
|
||||
"risk_infos": {
|
||||
"vote": false,
|
||||
"warn": false,
|
||||
"risk_sink": false,
|
||||
"type": 0,
|
||||
"content": ""
|
||||
},
|
||||
"position": null,
|
||||
"author_user_id": 83160533866,
|
||||
"prevent_download": false,
|
||||
"long_video": null,
|
||||
"aweme_control": {
|
||||
"can_forward": true,
|
||||
"can_share": true,
|
||||
"can_comment": true,
|
||||
"can_show_comment": true
|
||||
},
|
||||
"images": null,
|
||||
"suggest_words": {
|
||||
"suggest_words": [
|
||||
{
|
||||
"words": [
|
||||
{
|
||||
"word": "条子被黑社会堵到超市后续",
|
||||
"word_id": "7129083023886554400",
|
||||
"info": "{\"qrec_for_search\":\"{}\"}"
|
||||
}
|
||||
],
|
||||
"scene": "comment_top_rec",
|
||||
"icon_url": "",
|
||||
"hint_text": "大家都在搜:",
|
||||
"extra_info": "{}"
|
||||
},
|
||||
{
|
||||
"words": [
|
||||
{
|
||||
"word": "埃安y plus70乐享版",
|
||||
"word_id": "7147998601692026127",
|
||||
"info": "{\"qrec_for_search\":\"{\\\"query_ecom\\\":\\\"1\\\"}\"}"
|
||||
}
|
||||
],
|
||||
"scene": "feed_bottom_rec",
|
||||
"icon_url": "",
|
||||
"hint_text": "相关搜索",
|
||||
"extra_info": "{}"
|
||||
},
|
||||
{
|
||||
"words": [
|
||||
{
|
||||
"word": "条子被黑社会堵到超市后续",
|
||||
"word_id": "7129083023886554400",
|
||||
"info": "{\"qrec_for_search\":\"{}\"}"
|
||||
}
|
||||
],
|
||||
"scene": "detail_inbox_rex",
|
||||
"icon_url": "",
|
||||
"hint_text": "",
|
||||
"extra_info": "{}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"aweme_id": "7345439525113433384",
|
||||
"desc": "",
|
||||
|
||||
@ -455,160 +455,6 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"aweme_id": "7346457849054235913",
|
||||
"desc": "#小蛮腰马甲线 他居然把脸转过去",
|
||||
"create_time": 1710480523,
|
||||
"music": {
|
||||
"id": 7346457898803154000,
|
||||
"title": "@奶茶妹◕🌱创作的原声",
|
||||
"author": "奶茶妹◕🌱",
|
||||
"cover_medium": {
|
||||
"uri": "720x720/aweme-avatar/tos-cn-avt-0015_c7784af3a0bd2e7c5fc92ece450f12e0",
|
||||
"url_list": [
|
||||
"https://p3-pc.douyinpic.com/aweme/720x720/aweme-avatar/tos-cn-avt-0015_c7784af3a0bd2e7c5fc92ece450f12e0.jpeg?from=116350172"
|
||||
],
|
||||
"width": 720,
|
||||
"height": 720
|
||||
},
|
||||
"cover_thumb": {
|
||||
"uri": "100x100/aweme-avatar/tos-cn-avt-0015_c7784af3a0bd2e7c5fc92ece450f12e0",
|
||||
"url_list": [
|
||||
"https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/tos-cn-avt-0015_c7784af3a0bd2e7c5fc92ece450f12e0.jpeg?from=116350172"
|
||||
],
|
||||
"width": 720,
|
||||
"height": 720
|
||||
},
|
||||
"play_url": {
|
||||
"uri": "https://sf5-hl-cdn-tos.douyinstatic.com/obj/ies-music/7346457902686882570.mp3",
|
||||
"url_list": [
|
||||
"https://sf5-hl-cdn-tos.douyinstatic.com/obj/ies-music/7346457902686882570.mp3",
|
||||
"https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7346457902686882570.mp3"
|
||||
],
|
||||
"width": 720,
|
||||
"height": 720,
|
||||
"url_key": "7346457898803153673"
|
||||
},
|
||||
"duration": 11,
|
||||
"user_count": 0,
|
||||
"owner_id": "62790495105",
|
||||
"owner_nickname": "奶茶妹◕🌱",
|
||||
"is_original": false
|
||||
},
|
||||
"video": {
|
||||
"play_addr": {
|
||||
"uri": "v0d00fg10000cnptoirc77u3atmcsskg",
|
||||
"url_list": [
|
||||
"https://www.douyin.com/aweme/v1/play/?video_id=v0d00fg10000cnptoirc77u3atmcsskg&line=0&file_id=3b2bcdfe44f0468aacc265bb778c2e2c&sign=fccec71c7a910d752161cb82b89c8474&is_play_url=1&source=PackSourceEnum_PUBLISH"
|
||||
],
|
||||
"width": 1080,
|
||||
"height": 1920,
|
||||
"url_key": "v0d00fg10000cnptoirc77u3atmcsskg_h264_1080p_2062873",
|
||||
"data_size": 3017468,
|
||||
"file_hash": "fccec71c7a910d752161cb82b89c8474",
|
||||
"file_cs": "c:0-10842-2631|d:0-1508733-7add,1508734-3017467-357f|a:v0d00fg10000cnptoirc77u3atmcsskg"
|
||||
},
|
||||
"cover": {
|
||||
"uri": "tos-cn-i-0813c001/oIzsg8zAAIlAfDH5ANtC9BE6IANk3eAyAhAn0E",
|
||||
"url_list": ["R3o8KAoPnLSiZLkSs66H3.png"],
|
||||
"width": 720,
|
||||
"height": 720
|
||||
},
|
||||
"height": 1920,
|
||||
"width": 1080,
|
||||
"ratio": "1080p",
|
||||
"use_static_cover": true,
|
||||
"duration": 11702
|
||||
},
|
||||
"share_url": "https://www.iesdouyin.com/share/video/7346457849054235913/?region=CN&mid=7346457898803153673&u_code=13kgm680k&did=MS4wLjABAAAAiOgYyZm8XbWZMr5o3OvhR-TEOuNygb_hQOwkie-VXJpDYaR4vZfpiIGBfAWKCFHB&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&titleType=title&share_sign=KmI.XiEwwiCE.iLBUp3QNtoJoUyXFirMExGYSa9SBI8-&share_version=170400&ts=1710488702&from_aid=6383&from_ssr=1",
|
||||
"statistics": {
|
||||
"admire_count": 0,
|
||||
"comment_count": 20,
|
||||
"digg_count": 1572,
|
||||
"collect_count": 137,
|
||||
"play_count": 0,
|
||||
"share_count": 112
|
||||
},
|
||||
"status": {
|
||||
"listen_video_status": 0,
|
||||
"is_delete": false,
|
||||
"allow_share": true,
|
||||
"is_prohibited": false,
|
||||
"in_reviewing": false,
|
||||
"part_see": 0,
|
||||
"private_status": 0,
|
||||
"review_result": {
|
||||
"review_status": 0
|
||||
}
|
||||
},
|
||||
"text_extra": [
|
||||
{
|
||||
"start": 0,
|
||||
"end": 7,
|
||||
"type": 1,
|
||||
"hashtag_name": "小蛮腰马甲线",
|
||||
"hashtag_id": "1622790756032686",
|
||||
"is_commerce": false,
|
||||
"caption_start": 0,
|
||||
"caption_end": 7
|
||||
}
|
||||
],
|
||||
"is_top": 0,
|
||||
"share_info": {
|
||||
"share_url": "https://www.iesdouyin.com/share/video/7346457849054235913/?region=CN&mid=7346457898803153673&u_code=13kgm680k&did=MS4wLjABAAAAiOgYyZm8XbWZMr5o3OvhR-TEOuNygb_hQOwkie-VXJpDYaR4vZfpiIGBfAWKCFHB&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&titleType=title&share_sign=KmI.XiEwwiCE.iLBUp3QNtoJoUyXFirMExGYSa9SBI8-&share_version=170400&ts=1710488702&from_aid=6383&from_ssr=1",
|
||||
"share_link_desc": "8.99 09/14 P@X.MJ dAT:/ # 小蛮腰马甲线 他居然把脸转过去 %s 复制此链接,打开Dou音搜索,直接观看视频!"
|
||||
},
|
||||
"duration": 11702,
|
||||
"image_infos": null,
|
||||
"risk_infos": {
|
||||
"vote": false,
|
||||
"warn": false,
|
||||
"risk_sink": false,
|
||||
"type": 0,
|
||||
"content": ""
|
||||
},
|
||||
"position": null,
|
||||
"author_user_id": 62790495105,
|
||||
"prevent_download": false,
|
||||
"long_video": null,
|
||||
"aweme_control": {
|
||||
"can_forward": true,
|
||||
"can_share": true,
|
||||
"can_comment": true,
|
||||
"can_show_comment": true
|
||||
},
|
||||
"images": null,
|
||||
"suggest_words": {
|
||||
"suggest_words": [
|
||||
{
|
||||
"words": [
|
||||
{
|
||||
"word": "章若楠",
|
||||
"word_id": "6585508016810890499",
|
||||
"info": "{\"qrec_for_search\":\"{}\"}"
|
||||
}
|
||||
],
|
||||
"scene": "comment_top_rec",
|
||||
"icon_url": "",
|
||||
"hint_text": "大家都在搜:",
|
||||
"extra_info": "{}"
|
||||
},
|
||||
{
|
||||
"words": [
|
||||
{
|
||||
"word": "章若楠",
|
||||
"word_id": "6585508016810890499",
|
||||
"info": "{\"qrec_for_search\":\"{}\"}"
|
||||
}
|
||||
],
|
||||
"scene": "detail_inbox_rex",
|
||||
"icon_url": "",
|
||||
"hint_text": "",
|
||||
"extra_info": "{}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"aweme_id": "7346190579807702310",
|
||||
"desc": "#背影杀 哈~",
|
||||
|
||||
@ -449,184 +449,6 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"aweme_id": "7345796955571784997",
|
||||
"desc": "体验调酒师的一天🍸 Bartender\n#微醺时刻 #记录生活",
|
||||
"create_time": 1710326646,
|
||||
"music": {
|
||||
"id": 7023044224681511000,
|
||||
"title": "Starboy (抖音热播)",
|
||||
"author": "佐助",
|
||||
"cover_medium": {
|
||||
"uri": "tos-cn-v-2774c002/b3583f56f54e4451b7d301187585bcdb",
|
||||
"url_list": [
|
||||
"https://p11.douyinpic.com/aweme/200x200/tos-cn-v-2774c002/b3583f56f54e4451b7d301187585bcdb.jpeg",
|
||||
"https://p3.douyinpic.com/aweme/200x200/tos-cn-v-2774c002/b3583f56f54e4451b7d301187585bcdb.jpeg"
|
||||
],
|
||||
"width": 720,
|
||||
"height": 720
|
||||
},
|
||||
"cover_thumb": {
|
||||
"uri": "tos-cn-v-2774c002/b3583f56f54e4451b7d301187585bcdb",
|
||||
"url_list": [
|
||||
"https://p11.douyinpic.com/aweme/100x100/tos-cn-v-2774c002/b3583f56f54e4451b7d301187585bcdb.jpeg",
|
||||
"https://p3.douyinpic.com/aweme/100x100/tos-cn-v-2774c002/b3583f56f54e4451b7d301187585bcdb.jpeg"
|
||||
],
|
||||
"width": 720,
|
||||
"height": 720
|
||||
},
|
||||
"play_url": {
|
||||
"uri": "https://sf5-hl-cdn-tos.douyinstatic.com/obj/tos-cn-ve-2774/ogjEQCutCnDe2gAG2KGBb8ieUACWSoFhZRgMQg",
|
||||
"url_list": [
|
||||
"https://sf5-hl-cdn-tos.douyinstatic.com/obj/tos-cn-ve-2774/ogjEQCutCnDe2gAG2KGBb8ieUACWSoFhZRgMQg",
|
||||
"https://sf3-cdn-tos.douyinstatic.com/obj/tos-cn-ve-2774/ogjEQCutCnDe2gAG2KGBb8ieUACWSoFhZRgMQg"
|
||||
],
|
||||
"width": 720,
|
||||
"height": 720,
|
||||
"url_key": "7023044224681510949"
|
||||
},
|
||||
"duration": 194,
|
||||
"user_count": 0,
|
||||
"owner_nickname": "",
|
||||
"is_original": false
|
||||
},
|
||||
"video": {
|
||||
"play_addr": {
|
||||
"uri": "v0d00fg10000cnoo6mjc77ubta3125dg",
|
||||
"url_list": [
|
||||
"https://www.douyin.com/aweme/v1/play/?video_id=v0d00fg10000cnoo6mjc77ubta3125dg&line=0&file_id=b4fc9157732e4eee81b0d3d071b4d32f&sign=8057edcee0fd27ffce9615b1048d2e2c&is_play_url=1&source=PackSourceEnum_PUBLISH"
|
||||
],
|
||||
"width": 1080,
|
||||
"height": 1920,
|
||||
"url_key": "v0d00fg10000cnoo6mjc77ubta3125dg_h264_1080p_2264177",
|
||||
"data_size": 5443649,
|
||||
"file_hash": "8057edcee0fd27ffce9615b1048d2e2c",
|
||||
"file_cs": "c:0-17318-d0c8|d:0-2721823-7d6d,2721824-5443648-e625|a:v0d00fg10000cnoo6mjc77ubta3125dg"
|
||||
},
|
||||
"cover": {
|
||||
"uri": "tos-cn-i-0813c001/oo3M3ze0IAN67MAAJAghvhGARED9gAfElxC0BN",
|
||||
"url_list": ["2ww4W1Pu86xeLjl07K28u.png"],
|
||||
"width": 720,
|
||||
"height": 720
|
||||
},
|
||||
"height": 1920,
|
||||
"width": 1080,
|
||||
"ratio": "1080p",
|
||||
"use_static_cover": true,
|
||||
"duration": 19234
|
||||
},
|
||||
"share_url": "https://www.iesdouyin.com/share/video/7345796955571784997/?region=CN&mid=7023044224681510949&u_code=13kgm680k&did=MS4wLjABAAAAiOgYyZm8XbWZMr5o3OvhR-TEOuNygb_hQOwkie-VXJpDYaR4vZfpiIGBfAWKCFHB&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&titleType=title&share_sign=XUuhtQ9LwR_2_xNHoNSw2nfWpq_SiDhebnwzUPGq.Yw-&share_version=170400&ts=1710491939&from_aid=6383&from_ssr=1",
|
||||
"statistics": {
|
||||
"admire_count": 59,
|
||||
"comment_count": 1644,
|
||||
"digg_count": 256919,
|
||||
"collect_count": 5279,
|
||||
"play_count": 0,
|
||||
"share_count": 8961
|
||||
},
|
||||
"status": {
|
||||
"listen_video_status": 0,
|
||||
"is_delete": false,
|
||||
"allow_share": true,
|
||||
"is_prohibited": false,
|
||||
"in_reviewing": false,
|
||||
"part_see": 0,
|
||||
"private_status": 0,
|
||||
"review_result": {
|
||||
"review_status": 0
|
||||
}
|
||||
},
|
||||
"text_extra": [
|
||||
{
|
||||
"start": 21,
|
||||
"end": 26,
|
||||
"type": 1,
|
||||
"hashtag_name": "微醺时刻",
|
||||
"hashtag_id": "1647996185380875",
|
||||
"is_commerce": false,
|
||||
"caption_start": 21,
|
||||
"caption_end": 26
|
||||
},
|
||||
{
|
||||
"start": 27,
|
||||
"end": 32,
|
||||
"type": 1,
|
||||
"hashtag_name": "记录生活",
|
||||
"hashtag_id": "1767586437643341",
|
||||
"is_commerce": false,
|
||||
"caption_start": 27,
|
||||
"caption_end": 32
|
||||
}
|
||||
],
|
||||
"is_top": 0,
|
||||
"share_info": {
|
||||
"share_url": "https://www.iesdouyin.com/share/video/7345796955571784997/?region=CN&mid=7023044224681510949&u_code=13kgm680k&did=MS4wLjABAAAAiOgYyZm8XbWZMr5o3OvhR-TEOuNygb_hQOwkie-VXJpDYaR4vZfpiIGBfAWKCFHB&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&titleType=title&share_sign=XUuhtQ9LwR_2_xNHoNSw2nfWpq_SiDhebnwzUPGq.Yw-&share_version=170400&ts=1710491939&from_aid=6383&from_ssr=1",
|
||||
"share_link_desc": "5.10 02/04 z@t.eo GvF:/ 体验调酒师的一天🍸 Bartender # 微醺时刻 # 记录生活 %s 复制此链接,打开Dou音搜索,直接观看视频!"
|
||||
},
|
||||
"duration": 19234,
|
||||
"image_infos": null,
|
||||
"risk_infos": {
|
||||
"vote": false,
|
||||
"warn": false,
|
||||
"risk_sink": false,
|
||||
"type": 0,
|
||||
"content": ""
|
||||
},
|
||||
"position": null,
|
||||
"author_user_id": 24058267831,
|
||||
"prevent_download": false,
|
||||
"long_video": null,
|
||||
"aweme_control": {
|
||||
"can_forward": true,
|
||||
"can_share": true,
|
||||
"can_comment": true,
|
||||
"can_show_comment": true
|
||||
},
|
||||
"images": null,
|
||||
"suggest_words": {
|
||||
"suggest_words": [
|
||||
{
|
||||
"words": [
|
||||
{
|
||||
"word": "冰淇淋kiki",
|
||||
"word_id": "6732949666079446276",
|
||||
"info": "{\"qrec_for_search\":\"{}\"}"
|
||||
}
|
||||
],
|
||||
"scene": "comment_top_rec",
|
||||
"icon_url": "",
|
||||
"hint_text": "大家都在搜:",
|
||||
"extra_info": "{}"
|
||||
},
|
||||
{
|
||||
"words": [
|
||||
{
|
||||
"word": "调酒师工资一般是多少",
|
||||
"word_id": "6572390336566400259",
|
||||
"info": "{\"qrec_for_search\":\"{}\"}"
|
||||
}
|
||||
],
|
||||
"scene": "feed_bottom_rec",
|
||||
"icon_url": "",
|
||||
"hint_text": "相关搜索",
|
||||
"extra_info": "{}"
|
||||
},
|
||||
{
|
||||
"words": [
|
||||
{
|
||||
"word": "冰淇淋kiki",
|
||||
"word_id": "6732949666079446276",
|
||||
"info": "{\"qrec_for_search\":\"{}\"}"
|
||||
}
|
||||
],
|
||||
"scene": "detail_inbox_rex",
|
||||
"icon_url": "",
|
||||
"hint_text": "",
|
||||
"extra_info": "{}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"aweme_id": "7345057414233836850",
|
||||
"desc": "开在酒瓶里的春天呀🌷🌸",
|
||||
|
||||
@ -425,149 +425,6 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"aweme_id": "7338089394705894682",
|
||||
"desc": "陈年老库存🐿️",
|
||||
"create_time": 1708532099,
|
||||
"music": {
|
||||
"id": 7338089490520509000,
|
||||
"title": "@周子然JingYi创作的原声",
|
||||
"author": "周子然JingYi",
|
||||
"cover_medium": {
|
||||
"uri": "720x720/aweme-avatar/tos-cn-avt-0015_f59bfced5c6a3b56d152f1e0437f06ec",
|
||||
"url_list": [
|
||||
"https://p3-pc.douyinpic.com/aweme/720x720/aweme-avatar/tos-cn-avt-0015_f59bfced5c6a3b56d152f1e0437f06ec.jpeg?from=116350172"
|
||||
],
|
||||
"width": 720,
|
||||
"height": 720
|
||||
},
|
||||
"cover_thumb": {
|
||||
"uri": "100x100/aweme-avatar/tos-cn-avt-0015_f59bfced5c6a3b56d152f1e0437f06ec",
|
||||
"url_list": [
|
||||
"https://p3-pc.douyinpic.com/aweme/100x100/aweme-avatar/tos-cn-avt-0015_f59bfced5c6a3b56d152f1e0437f06ec.jpeg?from=116350172"
|
||||
],
|
||||
"width": 720,
|
||||
"height": 720
|
||||
},
|
||||
"play_url": {
|
||||
"uri": "https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7338089476511550234.mp3",
|
||||
"url_list": [
|
||||
"https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7338089476511550234.mp3",
|
||||
"https://sf5-hl-cdn-tos.douyinstatic.com/obj/ies-music/7338089476511550234.mp3"
|
||||
],
|
||||
"width": 720,
|
||||
"height": 720,
|
||||
"url_key": "7338089490520509235"
|
||||
},
|
||||
"duration": 9,
|
||||
"user_count": 0,
|
||||
"owner_id": "62839305427",
|
||||
"owner_nickname": "周子然JingYi",
|
||||
"is_original": false
|
||||
},
|
||||
"video": {
|
||||
"play_addr": {
|
||||
"uri": "v0300fg10000cnb217rc77uah3ri5o00",
|
||||
"url_list": [
|
||||
"https://www.douyin.com/aweme/v1/play/?video_id=v0300fg10000cnb217rc77uah3ri5o00&line=0&file_id=d0de6a0d7fc0498a812e8527e94a887a&sign=ab93708a219baa2ffde338e8bf652e0d&is_play_url=1&source=PackSourceEnum_PUBLISH"
|
||||
],
|
||||
"width": 1080,
|
||||
"height": 1920,
|
||||
"url_key": "v0300fg10000cnb217rc77uah3ri5o00_h264_1080p_2556391",
|
||||
"data_size": 3078535,
|
||||
"file_hash": "ab93708a219baa2ffde338e8bf652e0d",
|
||||
"file_cs": "c:0-9310-07ec|d:0-1539266-16e6,1539267-3078534-e6cd|a:v0300fg10000cnb217rc77uah3ri5o00"
|
||||
},
|
||||
"cover": {
|
||||
"uri": "tos-cn-i-0813c001/oAiCAVAbDWOleAAIEGYb9IengDrADCAjAW1pIA",
|
||||
"url_list": ["7SFxN5HcILUxUdJe-EXfX.png"],
|
||||
"width": 720,
|
||||
"height": 720
|
||||
},
|
||||
"height": 3840,
|
||||
"width": 2160,
|
||||
"ratio": "1080p",
|
||||
"use_static_cover": true,
|
||||
"duration": 9634
|
||||
},
|
||||
"share_url": "https://www.iesdouyin.com/share/video/7338089394705894682/?region=CN&mid=7338089490520509235&u_code=13kgm680k&did=MS4wLjABAAAAiOgYyZm8XbWZMr5o3OvhR-TEOuNygb_hQOwkie-VXJpDYaR4vZfpiIGBfAWKCFHB&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&titleType=title&share_sign=ig8SDm7Oq1NBxQweWS4eMzrdjlHmjkr7WIazmFWKoZY-&share_version=170400&ts=1710490324&from_aid=6383&from_ssr=1",
|
||||
"statistics": {
|
||||
"admire_count": 2,
|
||||
"comment_count": 149,
|
||||
"digg_count": 6367,
|
||||
"collect_count": 635,
|
||||
"play_count": 0,
|
||||
"share_count": 784
|
||||
},
|
||||
"status": {
|
||||
"listen_video_status": 0,
|
||||
"is_delete": false,
|
||||
"allow_share": true,
|
||||
"is_prohibited": false,
|
||||
"in_reviewing": false,
|
||||
"part_see": 0,
|
||||
"private_status": 0,
|
||||
"review_result": {
|
||||
"review_status": 0
|
||||
}
|
||||
},
|
||||
"text_extra": [],
|
||||
"is_top": 0,
|
||||
"share_info": {
|
||||
"share_url": "https://www.iesdouyin.com/share/video/7338089394705894682/?region=CN&mid=7338089490520509235&u_code=13kgm680k&did=MS4wLjABAAAAiOgYyZm8XbWZMr5o3OvhR-TEOuNygb_hQOwkie-VXJpDYaR4vZfpiIGBfAWKCFHB&iid=MS4wLjABAAAANwkJuWIRFOzg5uCpDRpMj4OX-QryoDgn-yYlXQnRwQQ&with_sec_did=1&titleType=title&share_sign=ig8SDm7Oq1NBxQweWS4eMzrdjlHmjkr7WIazmFWKoZY-&share_version=170400&ts=1710490324&from_aid=6383&from_ssr=1",
|
||||
"share_link_desc": "3.07 CUL:/ 05/15 n@Q.kp 陈年老库存🐿️ %s 复制此链接,打开Dou音搜索,直接观看视频!"
|
||||
},
|
||||
"duration": 9634,
|
||||
"image_infos": null,
|
||||
"risk_infos": {
|
||||
"vote": false,
|
||||
"warn": false,
|
||||
"risk_sink": false,
|
||||
"type": 0,
|
||||
"content": ""
|
||||
},
|
||||
"position": null,
|
||||
"author_user_id": 62839305427,
|
||||
"prevent_download": false,
|
||||
"long_video": null,
|
||||
"aweme_control": {
|
||||
"can_forward": true,
|
||||
"can_share": true,
|
||||
"can_comment": true,
|
||||
"can_show_comment": true
|
||||
},
|
||||
"images": null,
|
||||
"suggest_words": {
|
||||
"suggest_words": [
|
||||
{
|
||||
"words": [
|
||||
{
|
||||
"word": "周子然早期照片",
|
||||
"word_id": "6900178207296673032",
|
||||
"info": "{\"qrec_for_search\":\"{}\"}"
|
||||
}
|
||||
],
|
||||
"scene": "comment_top_rec",
|
||||
"icon_url": "",
|
||||
"hint_text": "大家都在搜:",
|
||||
"extra_info": "{}"
|
||||
},
|
||||
{
|
||||
"words": [
|
||||
{
|
||||
"word": "我有个朋友周子然",
|
||||
"word_id": "6925278082983957772",
|
||||
"info": "{\"qrec_for_search\":\"{}\"}"
|
||||
}
|
||||
],
|
||||
"scene": "detail_inbox_rex",
|
||||
"icon_url": "",
|
||||
"hint_text": "",
|
||||
"extra_info": "{}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"aweme_id": "7322483619946040585",
|
||||
"desc": "🍦。我是难伺候的小雪糕\n没有礼貌,随时在考虑化掉",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -327,13 +327,11 @@ function click({ uniqueId, index, type }) {
|
||||
if (props.position.uniqueId === uniqueId && props.position.index === index) {
|
||||
if (type === EVENT_KEY.ITEM_TOGGLE) {
|
||||
if (props.isLive) {
|
||||
if (type === EVENT_KEY.ITEM_TOGGLE) {
|
||||
pause()
|
||||
bus.emit(EVENT_KEY.NAV, {
|
||||
path: '/home/live',
|
||||
query: { id: props.item.aweme_id }
|
||||
})
|
||||
}
|
||||
pause()
|
||||
bus.emit(EVENT_KEY.NAV, {
|
||||
path: '/home/live',
|
||||
query: { id: props.item.aweme_id }
|
||||
})
|
||||
} else {
|
||||
if (state.status === SlideItemPlayStatus.Play) {
|
||||
pause()
|
||||
|
||||
@ -139,15 +139,18 @@ watch(
|
||||
if (newVal && !props.list.length) {
|
||||
return emit('refresh')
|
||||
}
|
||||
let t = newVal ? 0 : 200
|
||||
// console.log('active', 'newVal', newVal, 'oldVal', oldVal)
|
||||
if (newVal) {
|
||||
bus.emit(EVENT_KEY.CURRENT_ITEM, props.list[state.localIndex])
|
||||
}
|
||||
bus.emit(EVENT_KEY.SINGLE_CLICK_BROADCAST, {
|
||||
uniqueId: props.uniqueId,
|
||||
index: state.localIndex,
|
||||
type: newVal === false ? EVENT_KEY.ITEM_STOP : EVENT_KEY.ITEM_PLAY
|
||||
})
|
||||
setTimeout(() => {
|
||||
bus.emit(EVENT_KEY.SINGLE_CLICK_BROADCAST, {
|
||||
uniqueId: props.uniqueId,
|
||||
index: state.localIndex,
|
||||
type: newVal === false ? EVENT_KEY.ITEM_STOP : EVENT_KEY.ITEM_PLAY
|
||||
})
|
||||
}, t)
|
||||
},
|
||||
{ immediate: true }
|
||||
)
|
||||
@ -323,7 +326,7 @@ function touchEnd(e) {
|
||||
slideReset(e, slideListEl.value, state, emit)
|
||||
}
|
||||
|
||||
function canNext(state, isNext) {
|
||||
function canNext(state, isNext: boolean) {
|
||||
return !(
|
||||
(state.localIndex === 0 && !isNext) ||
|
||||
(state.localIndex === props.list.length - 1 && isNext)
|
||||
|
||||
@ -13,6 +13,7 @@ const BASE_URL_MAP = {
|
||||
}
|
||||
|
||||
export const IS_SUB_DOMAIN = ['GITEE_PAGES', 'GP_PAGES'].includes(import.meta.env.VITE_ENV)
|
||||
export const IS_GITEE_PAGES = ['GITEE_PAGES'].includes(import.meta.env.VITE_ENV)
|
||||
export const BASE_URL = BASE_URL_MAP[import.meta.env.VITE_ENV]
|
||||
export const IMG_URL = BASE_URL + '/images/'
|
||||
export const FILE_URL = BASE_URL + '/data/'
|
||||
|
||||
@ -320,12 +320,12 @@ onUnmounted(() => {
|
||||
|
||||
onActivated(() => {
|
||||
state.active = true
|
||||
bus.emit(EVENT_KEY.TOGGLE_VIDEO)
|
||||
bus.emit(EVENT_KEY.TOGGLE_CURRENT_VIDEO)
|
||||
})
|
||||
|
||||
onDeactivated(() => {
|
||||
state.active = false
|
||||
bus.emit(EVENT_KEY.TOGGLE_VIDEO)
|
||||
bus.emit(EVENT_KEY.TOGGLE_CURRENT_VIDEO)
|
||||
})
|
||||
|
||||
function closeComments() {
|
||||
|
||||
@ -109,6 +109,7 @@ async function getData(refresh = false) {
|
||||
// }
|
||||
|
||||
function click(uniqueId) {
|
||||
if (!props.active) return
|
||||
if (uniqueId !== props.uniqueId) return
|
||||
bus.emit(EVENT_KEY.SINGLE_CLICK_BROADCAST, {
|
||||
uniqueId,
|
||||
@ -135,11 +136,11 @@ function togglePlay() {
|
||||
onMounted(() => {
|
||||
bus.on(EVENT_KEY.SINGLE_CLICK, click)
|
||||
bus.on(EVENT_KEY.UPDATE_ITEM, updateItem)
|
||||
bus.on(EVENT_KEY.TOGGLE_VIDEO, togglePlay)
|
||||
bus.on(EVENT_KEY.TOGGLE_CURRENT_VIDEO, togglePlay)
|
||||
})
|
||||
onUnmounted(() => {
|
||||
bus.off(EVENT_KEY.SINGLE_CLICK, click)
|
||||
bus.off(EVENT_KEY.UPDATE_ITEM, updateItem)
|
||||
bus.off(EVENT_KEY.TOGGLE_VIDEO, togglePlay)
|
||||
bus.off(EVENT_KEY.TOGGLE_CURRENT_VIDEO, togglePlay)
|
||||
})
|
||||
</script>
|
||||
|
||||
@ -65,6 +65,6 @@ export const EVENT_KEY = {
|
||||
CURRENT_ITEM: 'CURRENT_ITEM',
|
||||
REMOVE_MUTED: 'REMOVE_MUTED',
|
||||
HIDE_MUTED_NOTICE: 'HIDE_MUTED_NOTICE',
|
||||
TOGGLE_VIDEO: 'TOGGLE_VIDEO',
|
||||
TOGGLE_CURRENT_VIDEO: 'TOGGLE_CURRENT_VIDEO',
|
||||
SHOW_AUDIO_CALL: 'SHOW_AUDIO_CALL'
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@ import SelectDialog from '../components/dialog/SelectDialog.vue'
|
||||
import SimpleConfirmDialog from '../components/dialog/SimpleConfirmDialog.vue'
|
||||
import ConfirmDialog from '../components/dialog/ConfirmDialog.vue'
|
||||
import Loading from '../components/Loading.vue'
|
||||
import { IMG_URL, IS_DEV } from '@/config'
|
||||
import { IMG_URL, IS_DEV, IS_GITEE_PAGES } from '@/config'
|
||||
import NoticeDialog from '../components/dialog/NoticeDialog.vue'
|
||||
import bus, { EVENT_KEY } from './bus'
|
||||
import { ArchiveReader, libarchiveWasm } from 'libarchive-wasm'
|
||||
@ -381,7 +381,7 @@ export function _no() {
|
||||
* @privateF
|
||||
*/
|
||||
export async function _fetch(url: string): Promise<{ json(): Promise<any> } | Response> {
|
||||
if (IS_DEV) {
|
||||
if (IS_DEV || !IS_GITEE_PAGES) {
|
||||
url = url.replace('.md', '.json')
|
||||
return fetch(url)
|
||||
} else {
|
||||
|
||||
@ -152,7 +152,7 @@ export default {
|
||||
|
||||
const up = (e) => {
|
||||
if (!isDown) return
|
||||
if (!isMove) check(e)
|
||||
if (!isMove && !window.isMoved) check(e)
|
||||
isMove = isDown = false
|
||||
}
|
||||
|
||||
|
||||
@ -22,8 +22,8 @@ axiosInstance.interceptors.request.use(
|
||||
)
|
||||
|
||||
/*
|
||||
* 响应拦截器,目前的处理是,无论失败或者成功都会返回{ code: xxx, data: xxx }这种类型的数据,没有reject和抛error。
|
||||
* 如果有问题,拦截器里会进行提示,然后返回{ code: Xxx, data:xxx }这种数据。在then里面总是会接收到
|
||||
* 响应拦截器,无论失败或者成功都会返回{ success: boolean, data: xxx }这种类型的数据,没有reject和抛error。
|
||||
* 如果有问题,拦截器里会进行提示。在then里面总是会接收到返回值
|
||||
* */
|
||||
axiosInstance.interceptors.response.use(
|
||||
(response: AxiosResponse) => {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user