diff --git a/docs/NOTE.md b/docs/NOTE.md
index 36181b0..25960f4 100644
--- a/docs/NOTE.md
+++ b/docs/NOTE.md
@@ -9,3 +9,4 @@
- 双指缩放
- AutoInput组件,在真机上无法输入
+- 真机上100vh显示异常的问题
diff --git a/env.d.ts b/env.d.ts
index 122e4eb..3f2474a 100644
--- a/env.d.ts
+++ b/env.d.ts
@@ -3,6 +3,10 @@
declare const LATEST_COMMIT_HASH: string
declare global {
+ interface Window {
+ isMoved: boolean
+ }
+
interface Navigator {
control: any
webkitGetUserMedia: any
diff --git a/public/data/posts.json b/public/data/posts.json
index ae32145..415acfe 100644
--- a/public/data/posts.json
+++ b/public/data/posts.json
@@ -137,6 +137,9 @@
},
"interact_info": { "liked_count": "2147", "liked": false },
"cover": { "url_default": "daZ662BX0lVMTq0Y6hIwR.png" },
+ "image_list": [
+ { "info_list": [{ "url": "daZ662BX0lVMTq0Y6hIwR.png" }] }
+ ],
"type": "normal",
"display_title": "无所谓了,互联网没有我在乎的人"
},
@@ -176,7 +179,10 @@
"nickname": "芙•"
},
"interact_info": { "liked": false, "liked_count": "1966" },
- "cover": { "url_default": "4a4TtExpq7RXnKK3hylKU.png" }
+ "cover": { "url_default": "4a4TtExpq7RXnKK3hylKU.png" },
+ "image_list": [
+ { "info_list": [{ "url": "4a4TtExpq7RXnKK3hylKU.png" }] }
+ ]
},
"track_id": "2d0udv0xvhqne0t0nmd83",
"ignore": false,
@@ -233,6 +239,9 @@
},
"interact_info": { "liked": false, "liked_count": "1005" },
"cover": { "url_default": "dg16eh25m2SSI9Hc1fJuE.png" },
+ "image_list": [
+ { "info_list": [{ "url": "dg16eh25m2SSI9Hc1fJuE.png" }] }
+ ],
"type": "normal",
"display_title": "拍旗袍没人看 办公室随手拍就有流量是吧"
},
@@ -321,7 +330,10 @@
"nick_name": "林木婷子"
},
"interact_info": { "liked": false, "liked_count": "2700" },
- "cover": { "url_default": "z-XSh-g9MhKpYrFDHcxQT.png" }
+ "cover": { "url_default": "z-XSh-g9MhKpYrFDHcxQT.png" },
+ "image_list": [
+ { "info_list": [{ "url": "z-XSh-g9MhKpYrFDHcxQT.png" }] }
+ ]
},
"track_id": "2d0udv0xvhqne0t0nmd83"
},
@@ -629,7 +641,10 @@
"user_id": "5bf37f6651783a194c1e1da2"
},
"interact_info": { "liked": false, "liked_count": "119" },
- "cover": { "url_default": "UaxqkI4aZ5LDu7k8KLw48.png" }
+ "cover": { "url_default": "UaxqkI4aZ5LDu7k8KLw48.png" },
+ "image_list": [
+ { "info_list": [{ "url": "UaxqkI4aZ5LDu7k8KLw48.png" }] }
+ ]
}
},
{
@@ -888,6 +903,7 @@
},
"interact_info": { "liked": false, "liked_count": "1786" },
"cover": { "url_default": "n0SAcEY5gLucU7Ik7yP2P.png" },
+ "image_list": [{ "info_list": [{ "url": "n0SAcEY5gLucU7Ik7yP2P.png" }] }],
"type": "normal"
},
"track_id": "2d0udv0xvhqne0t0nmd83",
@@ -936,6 +952,9 @@
"model_type": "note",
"note_card": {
"cover": { "url_default": "Sf5mzf68e2GwZHZv7h1G2.png" },
+ "image_list": [
+ { "info_list": [{ "url": "Sf5mzf68e2GwZHZv7h1G2.png" }] }
+ ],
"type": "normal",
"display_title": "行吧,我重发 ",
"user": {
diff --git a/public/data/posts.md b/public/data/posts.md
index 1eb7d97..b1f626e 100644
Binary files a/public/data/posts.md and b/public/data/posts.md differ
diff --git a/src/components/dialog/FromBottomDialog.vue b/src/components/dialog/FromBottomDialog.vue
index 0ef97a6..d31f347 100644
--- a/src/components/dialog/FromBottomDialog.vue
+++ b/src/components/dialog/FromBottomDialog.vue
@@ -28,8 +28,9 @@
diff --git a/src/pages/message/chat/Chat.vue b/src/pages/message/chat/Chat.vue
index 554a159..ed98619 100644
--- a/src/pages/message/chat/Chat.vue
+++ b/src/pages/message/chat/Chat.vue
@@ -191,7 +191,6 @@ import { computed, inject, nextTick, onMounted, onUnmounted, reactive, ref } fro
import Loading from '@/components/Loading.vue'
import { useBaseStore } from '@/store/pinia'
import { _checkImgUrl, _no, _sleep } from '@/utils'
-import $ from 'jquery'
import { useRouter } from 'vue-router'
import { useNav } from '@/utils/hooks/useNav'
@@ -238,6 +237,7 @@ const mitt = inject('mitt')
const router = useRouter()
const nav = useNav()
const store = useBaseStore()
+const msgWrapper = ref()
const data = reactive({
previewImg: new URL('../../../assets/img/poster/3.jpg', import.meta.url).href,
videoCall: [],
@@ -488,12 +488,16 @@ const data = reactive({
})
onMounted(() => {
- $('img').on('load', scrollBottom)
+ msgWrapper.value
+ .querySelectorAll('img')
+ .forEach((item) => item.addEventListener('load', scrollBottom))
scrollBottom()
})
onUnmounted(() => {
- $('img').off('load', scrollBottom)
+ msgWrapper.value
+ .querySelectorAll('img')
+ .forEach((item) => item.removeEventListener('load', scrollBottom))
})
const isExpand = computed(() => {
@@ -505,8 +509,6 @@ function handleClick() {
data.showOption = false
}
-const msgWrapper = ref()
-
function scrollBottom() {
nextTick(() => {
let wrapper = msgWrapper.value
diff --git a/src/utils/dom.ts b/src/utils/dom.ts
index 49ef771..57fbc33 100644
--- a/src/utils/dom.ts
+++ b/src/utils/dom.ts
@@ -142,3 +142,48 @@ export default class Dom {
return parseInt(val)
}
}
+
+export function _css(el, key, value?) {
+ const reg = /^\d+(px|pt|em|rem|vw|vh|%|rpx)$/i
+ if (value === undefined) {
+ let val = null
+ if ('getComputedStyle' in window) {
+ val = window.getComputedStyle(el, null)[key]
+ } else {
+ val = el.currentStyle[key]
+ }
+ return reg.test(val) ? parseFloat(val) : val
+ // return parseFloat(val)
+ } else {
+ if (
+ [
+ 'top',
+ 'left',
+ 'bottom',
+ 'right',
+ 'width',
+ 'height',
+ 'font-size',
+ 'margin',
+ 'padding'
+ ].includes(key)
+ ) {
+ if (!reg.test(value)) {
+ value += 'px'
+ }
+ }
+ // console.log(value)
+ if (key === 'transform') {
+ //直接设置不生效
+ el.style.webkitTransform =
+ el.style.MsTransform =
+ el.style.msTransform =
+ el.style.MozTransform =
+ el.style.OTransform =
+ el.style.transform =
+ value
+ } else {
+ el.style[key] = value
+ }
+ }
+}
diff --git a/src/utils/slide.ts b/src/utils/slide.ts
index 227e980..8449186 100644
--- a/src/utils/slide.ts
+++ b/src/utils/slide.ts
@@ -79,8 +79,7 @@ function canNext(state, isNext) {
* @param state
*/
export function slideTouchStart(e, el, state) {
- console.log('e', e, state.name)
- return
+ // console.log('e', e, state.name)
if (!checkEvent(e)) return
Utils.$setCss(el, 'transition-duration', `0ms`)
//记录起点坐标,用于move事件计算移动距离
@@ -245,7 +244,7 @@ export function slideReset(e, el, state, emit = null) {
//根据当前index,获取slide偏移距离
//如果每个页面的宽度是相同均为100%,只需要当前index * wrapper的宽(高)度即可: -state.localIndex * state.wrapper.width
-export function getSlideOffset(state, el) {
+export function getSlideOffset(state: any, el: HTMLDivElement) {
//横竖判断逻辑基本同理
if (state.type === SlideType.HORIZONTAL) {
let widths = []
@@ -262,7 +261,10 @@ export function getSlideOffset(state, el) {
return 0
// return -state.localIndex * state.wrapper.width
} else {
+ //VERTICAL_INFINITE 列表只需要计算index * 高就行
if (state.type === SlideType.VERTICAL_INFINITE) {
+ return -state.localIndex * state.wrapper.height
+ } else {
//同上
let heights = []
Array.from(el.children).map((v) => {
@@ -271,9 +273,6 @@ export function getSlideOffset(state, el) {
heights = heights.slice(0, state.localIndex)
if (heights.length) return -heights.reduce((a, b) => a + b)
return 0
- } else {
- //VERTICAL_INFINITE 列表只需要计算index * 高就行
- return -state.localIndex * state.wrapper.height
}
}
}
diff --git a/vite.config.ts b/vite.config.ts
index df599f3..e9eaf64 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -63,12 +63,6 @@ export default defineConfig(async () => {
name: 'mockjs',
var: 'Mock',
path: 'https://lib.baomitu.com/Mock.js/1.0.1-beta3/mock-min.js'
- },
-
- {
- name: 'jquery',
- var: '$',
- path: 'https://lib.baomitu.com/jquery/3.6.0/jquery.min.js'
}
]
})