// 微信分享配置
import HaloTokenConfig from '@/config/token.config.js'
import {
	jsonToUrlParams2
} from '@/utils/url.params.js'
export const haloWxShareMixin = {
	computed: {
		haloWxShareData() {
			const configs = this.$tm.vx.getters().getConfigs;
			return configs.shareConfig || {}
		}
	},
	//#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;
		}
	}
}