| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- // 微信分享配置
- 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;
- }
- }
- }
|