Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Hooke
/
mlaj
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
hookehuyr
2026-03-30 14:55:08 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
5264e869f997133de9f728276ec00b48ee34dcdf
5264e869
1 parent
1d193f3d
fix: avoid duplicate wechat share descriptions
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
27 additions
and
6 deletions
src/composables/__tests__/useShare.test.js
src/composables/useShare.js
src/utils/ogMeta.js
src/composables/__tests__/useShare.test.js
View file @
5264e86
...
...
@@ -148,6 +148,27 @@ describe('useShare', () => {
)
})
it
(
'resolver 显式返回空 desc 时不回退为标题或 description'
,
async
()
=>
{
const
router
=
createRouterMock
({
meta
:
{
title
:
'课程详情'
},
})
installWxShareSync
(
router
,
{
isEnabled
:
true
,
resolver
:
vi
.
fn
(()
=>
Promise
.
resolve
({
description
:
'课程详情'
,
desc
:
''
,
})
),
})
await
flushMutationObserver
()
expect
(
wxMocks
.
updateAppMessageShareData
.
mock
.
lastCall
[
0
].
title
).
toBe
(
'美乐爱觉'
)
expect
(
wxMocks
.
updateAppMessageShareData
.
mock
.
lastCall
[
0
].
desc
).
toBe
(
''
)
})
it
(
'非 cdn 图片地址保持不变'
,
()
=>
{
expect
(
normalizeShareImageUrl
(
'https://example.com/image.png'
)).
toBe
(
'https://example.com/image.png'
...
...
src/composables/useShare.js
View file @
5264e86
...
...
@@ -170,15 +170,15 @@ const mergeResolvedShareData = (
...(
resolvedShareData
||
{}),
}
if
(
resolvedShareData
?.
description
&&
!
resolvedShareData
?.
desc
)
{
if
(
resolvedShareData
&&
'description'
in
resolvedShareData
&&
!
(
'desc'
in
resolvedShareData
)
)
{
mergedShareData
.
desc
=
resolvedShareData
.
description
}
if
(
resolvedShareData
?.
image
&&
!
resolvedShareData
?.
imgUrl
)
{
if
(
resolvedShareData
&&
'image'
in
resolvedShareData
&&
!
(
'imgUrl'
in
resolvedShareData
)
)
{
mergedShareData
.
imgUrl
=
resolvedShareData
.
image
}
if
(
resolvedShareData
?.
url
&&
!
resolvedShareData
?.
link
)
{
if
(
resolvedShareData
&&
'url'
in
resolvedShareData
&&
!
(
'link'
in
resolvedShareData
)
)
{
mergedShareData
.
link
=
resolvedShareData
.
url
}
...
...
src/utils/ogMeta.js
View file @
5264e86
...
...
@@ -219,15 +219,15 @@ const mergeResolvedOgMeta = (
...(
resolvedPayload
||
{}),
}
if
(
resolvedPayload
?.
desc
&&
!
resolvedPayload
?.
description
)
{
if
(
resolvedPayload
&&
'desc'
in
resolvedPayload
&&
!
(
'description'
in
resolvedPayload
)
)
{
mergedPayload
.
description
=
resolvedPayload
.
desc
}
if
(
resolvedPayload
?.
imgUrl
&&
!
resolvedPayload
?.
image
)
{
if
(
resolvedPayload
&&
'imgUrl'
in
resolvedPayload
&&
!
(
'image'
in
resolvedPayload
)
)
{
mergedPayload
.
image
=
resolvedPayload
.
imgUrl
}
if
(
resolvedPayload
?.
link
&&
!
resolvedPayload
?.
url
)
{
if
(
resolvedPayload
&&
'link'
in
resolvedPayload
&&
!
(
'url'
in
resolvedPayload
)
)
{
mergedPayload
.
url
=
resolvedPayload
.
link
}
...
...
Please
register
or
login
to post a comment