import { useStore } from 'vuex'
|
|
import { computed } from 'vue'
|
|
|
|
export default {
|
|
data() {
|
|
return {
|
|
shareConfig: {
|
|
// 默认分享配置
|
|
title: '',
|
|
desc: '',
|
|
imageUrl: '',
|
|
path: '',
|
|
query: ''
|
|
}
|
|
}
|
|
},
|
|
|
|
async onLoad(options) {
|
|
// 构建当前页面路径,包含参数
|
|
const pages = getCurrentPages()
|
|
const currentPage = pages[pages.length - 1]
|
|
let path = currentPage.route
|
|
|
|
// 构建查询参数
|
|
if (options && Object.keys(options).length > 0) {
|
|
const queryString = Object.keys(options)
|
|
.map(key => `${key}=${options[key]}`)
|
|
.join('&')
|
|
path = `${path}?${queryString}`
|
|
}
|
|
|
|
this.shareConfig.path = path
|
|
this.shareConfig.query = options || {}
|
|
|
|
// 设置默认分享内容
|
|
this.setDefaultShareConfig()
|
|
},
|
|
|
|
methods: {
|
|
// 设置默认分享配置
|
|
setDefaultShareConfig() {
|
|
try {
|
|
const store = useStore()
|
|
const configList = computed(() => store.getters.configList)
|
|
|
|
// 从全局配置中获取默认分享信息
|
|
this.shareConfig.title = configList.value?.applet_info?.paramValueText || '猫妈狗爸伴宠师'
|
|
this.shareConfig.imageUrl = configList.value?.applet_info?.paramValueImage || ''
|
|
} catch (error) {
|
|
console.log('获取分享配置失败:', error)
|
|
// 设置默认值
|
|
this.shareConfig.title = '猫妈狗爸伴宠师'
|
|
this.shareConfig.imageUrl = ''
|
|
}
|
|
},
|
|
|
|
// 自定义分享配置
|
|
setShareConfig(config = {}) {
|
|
this.shareConfig = {
|
|
...this.shareConfig,
|
|
...config
|
|
}
|
|
},
|
|
|
|
// 获取分享配置
|
|
getShareConfig() {
|
|
return {
|
|
title: this.shareConfig.title,
|
|
desc: this.shareConfig.desc,
|
|
imageUrl: this.shareConfig.imageUrl,
|
|
path: this.shareConfig.path,
|
|
query: this.shareConfig.query
|
|
}
|
|
},
|
|
|
|
// 显示分享菜单
|
|
showShareMenu() {
|
|
// #ifdef MP-WEIXIN
|
|
uni.showShareMenu({
|
|
withShareTicket: true,
|
|
success: () => {
|
|
console.log('显示分享菜单成功')
|
|
},
|
|
fail: (error) => {
|
|
console.error('显示分享菜单失败:', error)
|
|
}
|
|
})
|
|
// #endif
|
|
},
|
|
},
|
|
|
|
// 微信小程序分享给朋友
|
|
onShareAppMessage(res) {
|
|
return this.getShareConfig()
|
|
},
|
|
|
|
// 微信小程序分享到朋友圈
|
|
onShareTimeline(res) {
|
|
return this.getShareConfig()
|
|
},
|
|
}
|