mirror of
https://github.com/ialley-workshop-open/uni-halo.git
synced 2025-05-20 18:40:21 +09:00
恢复文章页分享信息
恢复文章页分享信息
This commit is contained in:
parent
77da85f7d4
commit
117d4ddcd5
67
common/mixins/wxshare.mixin.js
Normal file
67
common/mixins/wxshare.mixin.js
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
// 微信分享配置
|
||||||
|
//import haloConfig from '@/config/halo.config.js'
|
||||||
|
import HaloTokenConfig from '@/config/token.config.js'
|
||||||
|
import { jsonToUrlParams2 } from '@/utils/url.params.js'
|
||||||
|
export const haloWxShareMixin = {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
haloWxShareData: {
|
||||||
|
//...haloConfig.wxShareConfig
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
//#ifdef MP-WEIXIN
|
||||||
|
onShareAppMessage(res) {
|
||||||
|
return {
|
||||||
|
...this.haloWxShareData,
|
||||||
|
success: res => {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//#endif
|
||||||
|
/* 分享到微信好友 */
|
||||||
|
onShareAppMessage(res) {
|
||||||
|
const promise = new Promise(resolve => {
|
||||||
|
setTimeout(() => {
|
||||||
|
resolve({
|
||||||
|
title: this.haloWxShareData.title,
|
||||||
|
path: this.haloWxShareData.path,
|
||||||
|
})
|
||||||
|
}, 2000)
|
||||||
|
})
|
||||||
|
return {
|
||||||
|
title: this.haloWxShareData.title,
|
||||||
|
path: '',
|
||||||
|
promise
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 分享到朋友圈-这里封装不够,在页面还要声明一次,否则是拿不到参数的,被分享者在朋友圈打开链接是空的
|
||||||
|
onShareTimeline: function() {
|
||||||
|
return {
|
||||||
|
title: this.haloWxShareData.title,
|
||||||
|
query: {},
|
||||||
|
imageUrl: this.haloWxShareData.imageUrl,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 设置分享信息(需要在页面调用)
|
||||||
|
fnSetWxShareConfig(config = {}) {
|
||||||
|
let currentRoutes = getCurrentPages(); // 获取当前打开过的页面路由数组
|
||||||
|
let currentRoute = currentRoutes[currentRoutes.length - 1].route; //获取当前页面路由(分销思路,分享者点开使用的小程序将获取到分享者的id)
|
||||||
|
let sharePath = currentRoutes
|
||||||
|
if (config.params) {
|
||||||
|
const URLParams = config.params ? jsonToUrlParams2(config.params) : {};
|
||||||
|
sharePath += URLParams
|
||||||
|
}
|
||||||
|
let _config = Object.assign({}, {
|
||||||
|
path: sharePath,
|
||||||
|
copyLink: HaloTokenConfig.BASE_API,
|
||||||
|
query: {}
|
||||||
|
}, config)
|
||||||
|
|
||||||
|
uni.$tm.vx.commit('setWxShare', _config);
|
||||||
|
this.haloWxShareData = _config;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -233,6 +233,8 @@ 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 {haloWxShareMixin} from '@/common/mixins/wxshare.mixin.js';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
tmSkeleton,
|
tmSkeleton,
|
||||||
@ -249,6 +251,7 @@ export default {
|
|||||||
barrage,
|
barrage,
|
||||||
commentModal
|
commentModal
|
||||||
},
|
},
|
||||||
|
mixins: [haloWxShareMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: 'loading',
|
loading: 'loading',
|
||||||
@ -387,6 +390,15 @@ export default {
|
|||||||
|
|
||||||
this.fnSetPageTitle('文章详情');
|
this.fnSetPageTitle('文章详情');
|
||||||
this.loading = 'success';
|
this.loading = 'success';
|
||||||
|
this.fnSetWxShareConfig({
|
||||||
|
title: this.result.spec.title,
|
||||||
|
desc: this.result.content.raw,
|
||||||
|
imageUrl: this.$utils.checkThumbnailUrl(this.result.spec.cover),
|
||||||
|
path: `/pagesA/article-detail/article-detail?name=${this.result.metadata.name}`,
|
||||||
|
copyLink: this.$baseApiUrl,
|
||||||
|
query: {}
|
||||||
|
});
|
||||||
|
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
console.log("错误", err)
|
console.log("错误", err)
|
||||||
@ -1196,4 +1208,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
Loading…
Reference in New Issue
Block a user