fix: 修复文章分享功能

This commit is contained in:
小莫唐尼 2024-10-22 16:30:30 +08:00
parent 26ce84b950
commit 58f1e7f131

View File

@ -81,7 +81,7 @@
:loading-img="markdownConfig.loadingGif" :scroll-table="true" :selectable="true" :loading-img="markdownConfig.loadingGif" :scroll-table="true" :selectable="true"
:tag-style="markdownConfig.tagStyle" :container-style="markdownConfig.containStyle" :tag-style="markdownConfig.tagStyle" :container-style="markdownConfig.containStyle"
:content="result.content.raw" :markdown="true" :showLineNumber="true" :showLanguageName="true" :content="result.content.raw" :markdown="true" :showLineNumber="true" :showLanguageName="true"
:copyByLongPress="true"/> :copyByLongPress="true" />
<tm-more v-if="showValidVisitMore" :disabled="true" :maxHeight="1" :isRemovBar="true" <tm-more v-if="showValidVisitMore" :disabled="true" :maxHeight="1" :isRemovBar="true"
@click="showValidVisitMorePop()"> @click="showValidVisitMorePop()">
<view class="text-size-n pa-24"> <view class="text-size-n pa-24">
@ -215,26 +215,28 @@
</template> </template>
<script> <script>
import MarkdownConfig from '@/common/markdown/markdown.config.js'; import MarkdownConfig from '@/common/markdown/markdown.config.js';
import tmSkeleton from '@/tm-vuetify/components/tm-skeleton/tm-skeleton.vue'; import tmSkeleton from '@/tm-vuetify/components/tm-skeleton/tm-skeleton.vue';
import tmPoup from '@/tm-vuetify/components/tm-poup/tm-poup.vue'; import tmPoup from '@/tm-vuetify/components/tm-poup/tm-poup.vue';
import tmFlotbutton from '@/tm-vuetify/components/tm-flotbutton/tm-flotbutton.vue'; import tmFlotbutton from '@/tm-vuetify/components/tm-flotbutton/tm-flotbutton.vue';
import tmButton from '@/tm-vuetify/components/tm-button/tm-button.vue'; import tmButton from '@/tm-vuetify/components/tm-button/tm-button.vue';
import tmEmpty from '@/tm-vuetify/components/tm-empty/tm-empty.vue'; import tmEmpty from '@/tm-vuetify/components/tm-empty/tm-empty.vue';
import tmDialog from '@/tm-vuetify/components/tm-dialog/tm-dialog.vue'; import tmDialog from '@/tm-vuetify/components/tm-dialog/tm-dialog.vue';
import tmMore from '@/tm-vuetify/components/tm-more/tm-more.vue'; import tmMore from '@/tm-vuetify/components/tm-more/tm-more.vue';
import mpHtml from '@/components/mp-html/components/mp-html/mp-html.vue'; import mpHtml from '@/components/mp-html/components/mp-html/mp-html.vue';
import commentList from '@/components/comment-list/comment-list.vue'; import commentList from '@/components/comment-list/comment-list.vue';
import commentItem from '@/components/comment-item/comment-item.vue'; import commentItem from '@/components/comment-item/comment-item.vue';
import commentModal from '@/components/comment-modal/comment-modal.vue'; import commentModal from '@/components/comment-modal/comment-modal.vue';
import rCanvas from '@/components/r-canvas/r-canvas.vue'; import rCanvas from '@/components/r-canvas/r-canvas.vue';
import barrage from '@/components/barrage/barrage.vue'; import barrage from '@/components/barrage/barrage.vue';
import {getAppConfigs} from '@/config/index.js' import {
getAppConfigs
} from '@/config/index.js'
export default { export default {
components: { components: {
tmSkeleton, tmSkeleton,
tmPoup, tmPoup,
@ -329,7 +331,7 @@ export default {
haloConfigs: { haloConfigs: {
deep: true, deep: true,
immediate: true, immediate: true,
handler: function (newVal) { handler: function(newVal) {
if (!newVal) return; if (!newVal) return;
this.fnHandleSetFlotButtonItems(newVal); this.fnHandleSetFlotButtonItems(newVal);
} }
@ -344,6 +346,24 @@ export default {
onPullDownRefresh() { onPullDownRefresh() {
this.fnGetData(); this.fnGetData();
}, },
onShareAppMessage() {
const cover = this.result.spec.cover ? this.calcUrl(this.result.spec.cover) : ""
return {
path: '/pagesA/article-detail/article-detail?name=' + this.result.metadata.name,
title: this.result.spec.title,
imageUrl: cover
}
},
onShareTimeline() {
const cover = this.result.spec.cover ? this.calcUrl(this.result.spec.cover) : ""
return {
title: this.result.spec.title,
query: {
name: this.result.metadata.name
},
imageUrl: cover
}
},
methods: { methods: {
fnGetData() { fnGetData() {
this.loading = 'loading'; this.loading = 'loading';
@ -840,7 +860,7 @@ export default {
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
uni.login({ uni.login({
provider: 'weixin', provider: 'weixin',
success: function (loginRes) { success: function(loginRes) {
try { try {
// todo openid使code // todo openid使code
uni.setStorageSync('openid', loginRes.code) uni.setStorageSync('openid', loginRes.code)
@ -939,11 +959,11 @@ export default {
} }
} }
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.app-page { .app-page {
width: 100vw; width: 100vw;
min-height: 100vh; min-height: 100vh;
display: flex; display: flex;
@ -951,9 +971,9 @@ export default {
box-sizing: border-box; box-sizing: border-box;
background-color: #fafafd; background-color: #fafafd;
padding-bottom: 24rpx; padding-bottom: 24rpx;
} }
.bg-image { .bg-image {
position: fixed; position: fixed;
left: 0; left: 0;
top: 0; top: 0;
@ -962,15 +982,15 @@ export default {
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
z-index: 0; z-index: 0;
} }
.loading-wrap { .loading-wrap {
padding: 0 24rpx; padding: 0 24rpx;
height: inherit; height: inherit;
background-color: #fff; background-color: #fff;
} }
.head { .head {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
@ -997,8 +1017,7 @@ export default {
font-size: 24rpx; font-size: 24rpx;
color: #666; color: #666;
&-name { &-name {}
}
&-time { &-time {
margin-left: 36rpx; margin-left: 36rpx;
@ -1065,9 +1084,9 @@ export default {
} }
} }
} }
} }
.category { .category {
margin: 0 24rpx; margin: 0 24rpx;
padding: 24rpx; padding: 24rpx;
background-color: #ffffff; background-color: #ffffff;
@ -1092,30 +1111,30 @@ export default {
background-color: #607d8b; background-color: #607d8b;
} }
} }
} }
.category-tag + .category-tag { .category-tag+.category-tag {
margin-left: 12rpx; margin-left: 12rpx;
} }
.content { .content {
margin-top: 24rpx; margin-top: 24rpx;
} }
.markdown-wrap, .markdown-wrap,
.evan-markdown, .evan-markdown,
.ad-wrap, .ad-wrap,
.copyright-wrap, .copyright-wrap,
.comment-wrap { .comment-wrap {
box-shadow: 0rpx 0rpx 24rpx rgba(0, 0, 0, 0.03); box-shadow: 0rpx 0rpx 24rpx rgba(0, 0, 0, 0.03);
} }
.markdown-wrap { .markdown-wrap {
overflow: hidden; overflow: hidden;
border-radius: 12rpx; border-radius: 12rpx;
} }
.copyright-title { .copyright-title {
position: relative; position: relative;
box-sizing: border-box; box-sizing: border-box;
padding-left: 24rpx; padding-left: 24rpx;
@ -1131,41 +1150,41 @@ export default {
background-color: rgb(3, 174, 252); background-color: rgb(3, 174, 252);
border-radius: 6rpx; border-radius: 6rpx;
} }
} }
.poup-head { .poup-head {
border-bottom: 2rpx solid #f5f5f5; border-bottom: 2rpx solid #f5f5f5;
} }
.poup-body { .poup-body {
height: 50vh; height: 50vh;
} }
.poup-empty { .poup-empty {
width: 100%; width: 100%;
height: 40vh; height: 40vh;
} }
.poup-loading-wrap { .poup-loading-wrap {
width: 100%; width: 100%;
height: 40vh; height: 40vh;
.e-loading-icon { .e-loading-icon {
font-size: 80rpx; font-size: 80rpx;
} }
} }
.poster-content { .poster-content {
width: 100%; width: 100%;
min-height: 60vh; min-height: 60vh;
overflow: hidden; overflow: hidden;
} }
.copyright-text { .copyright-text {
line-height: 1.7; line-height: 1.7;
} }
.poster-loading { .poster-loading {
width: 100%; width: 100%;
position: absolute; position: absolute;
left: 0; left: 0;
@ -1174,14 +1193,14 @@ export default {
bottom: 0; bottom: 0;
// background-color: rgba(0, 0, 0, 0.1); // background-color: rgba(0, 0, 0, 0.1);
z-index: 666; z-index: 666;
} }
.poster-save { .poster-save {
box-sizing: border-box; box-sizing: border-box;
border-top: 2rpx dashed #eee; border-top: 2rpx dashed #eee;
} }
.original-url { .original-url {
display: flex; display: flex;
&_left { &_left {
@ -1209,5 +1228,5 @@ export default {
text-align: right; text-align: right;
} }
} }
} }
</style> </style>