hookehuyr

新增微信分享功能

1 <!-- 1 <!--
2 * @Date: 2023-06-13 13:26:46 2 * @Date: 2023-06-13 13:26:46
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2024-01-30 15:17:38 4 + * @LastEditTime: 2024-02-05 19:54:15
5 * @FilePath: /xysBooking/src/App.vue 5 * @FilePath: /xysBooking/src/App.vue
6 * @Description: 启动页 6 * @Description: 启动页
7 --> 7 -->
...@@ -17,10 +17,10 @@ import { setToastDefaultOptions } from 'vant'; ...@@ -17,10 +17,10 @@ import { setToastDefaultOptions } from 'vant';
17 // 会根据配置判断是否显示调试控件 17 // 会根据配置判断是否显示调试控件
18 // eslint-disable-next-line no-unused-vars 18 // eslint-disable-next-line no-unused-vars
19 // import vConsole from '@/utils/vconsole' 19 // import vConsole from '@/utils/vconsole'
20 -/*// 初始化WX环境 20 +// 初始化WX环境
21 import wx from 'weixin-js-sdk' 21 import wx from 'weixin-js-sdk'
22 import { wxJsAPI } from '@/api/wx/config' 22 import { wxJsAPI } from '@/api/wx/config'
23 -import { apiList } from '@/api/wx/jsApiList.js'*/ 23 +import { apiList } from '@/api/wx/jsApiList.js'
24 24
25 // 使用 include + pinia 状态管理动态缓存页面 25 // 使用 include + pinia 状态管理动态缓存页面
26 const store = mainStore() 26 const store = mainStore()
...@@ -40,15 +40,15 @@ setToastDefaultOptions({ ...@@ -40,15 +40,15 @@ setToastDefaultOptions({
40 }); 40 });
41 41
42 onMounted(async () => { 42 onMounted(async () => {
43 - /*const { data } = await wxJsAPI(); 43 + const { data } = await wxJsAPI({ url: '/f/reserve/#/' });
44 data.jsApiList = apiList; 44 data.jsApiList = apiList;
45 wx.config(data); 45 wx.config(data);
46 wx.ready(() => { 46 wx.ready(() => {
47 wx.showAllNonBaseMenuItem(); 47 wx.showAllNonBaseMenuItem();
48 }); 48 });
49 wx.error((err) => { 49 wx.error((err) => {
50 - console.warn(err); 50 + console.warn('错误提示', err);
51 - });*/ 51 + });
52 }) 52 })
53 </script> 53 </script>
54 54
......
1 +/*
2 + * @Date: 2022-06-13 17:42:32
3 + * @LastEditors: hookehuyr hookehuyr@gmail.com
4 + * @LastEditTime: 2024-02-05 19:05:56
5 + * @FilePath: /xysBooking/src/composables/useShare.js
6 + * @Description: 文件描述
7 + */
8 +import wx from 'weixin-js-sdk';
9 +// import { Toast } from 'vant';
10 +
11 +/**
12 + * @description: 微信分享功能
13 + * @param {*} title 标题
14 + * @param {*} desc 描述
15 + * @param {*} imgUrl 图标
16 + * @return {*}
17 + */
18 +export const sharePage = ({ title = '西园寺2024年春节入寺预约', desc = '除夕21点至初五17点', imgUrl = 'https://cdn.ipadbiz.cn/xys/booking/logo_s.jpg'}) => {
19 + const shareData = {
20 + title, // 分享标题
21 + desc, // 分享描述
22 + link: location.origin + location.pathname + location.hash, // 分享链接,该链接域名或路径必须与当前页面对应的公众号 JS 安全域名一致
23 + imgUrl, // 分享图标
24 + success: function () {
25 + console.warn('设置成功');
26 + },
27 + fail: function () {
28 + console.warn('设置失败');
29 + }
30 + }
31 + // 分享好友(微信好友或qq好友)
32 + wx.updateAppMessageShareData(shareData);
33 + // 分享到朋友圈或qq空间
34 + wx.updateTimelineShareData(shareData);
35 + // 分享到腾讯微博
36 + wx.onMenuShareWeibo(shareData);
37 +
38 + // // 获取“分享给朋友”按钮点击状态及自定义分享内容接口(即将废弃)
39 + // wx.onMenuShareAppMessage(shareData);
40 + // // 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口(即将废弃)
41 + // wx.onMenuShareTimeline(shareData);
42 + // // 获取“分享到QQ”按钮点击状态及自定义分享内容接口(即将废弃)
43 + // wx.onMenuShareQQ(shareData);
44 +}
1 <!-- 1 <!--
2 * @Date: 2023-06-21 10:23:09 2 * @Date: 2023-06-21 10:23:09
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2024-01-30 17:36:50 4 + * @LastEditTime: 2024-02-05 18:36:21
5 * @FilePath: /xysBooking/src/views/index.vue 5 * @FilePath: /xysBooking/src/views/index.vue
6 * @Description: 预约页首页 6 * @Description: 预约页首页
7 --> 7 -->
...@@ -74,7 +74,7 @@ import icon_3 from '@/assets/images/首页02@2x.png' ...@@ -74,7 +74,7 @@ import icon_3 from '@/assets/images/首页02@2x.png'
74 import icon_4 from '@/assets/images/二维码icon.png' 74 import icon_4 from '@/assets/images/二维码icon.png'
75 import icon_5 from '@/assets/images/我的01@2x.png' 75 import icon_5 from '@/assets/images/我的01@2x.png'
76 import icon_6 from '@/assets/images/luru@2x.png' 76 import icon_6 from '@/assets/images/luru@2x.png'
77 - 77 +import { sharePage } from '@/composables/useShare.js'
78 import { useClickAway } from '@vant/use'; 78 import { useClickAway } from '@vant/use';
79 const $route = useRoute(); 79 const $route = useRoute();
80 const $router = useRouter(); 80 const $router = useRouter();
...@@ -110,6 +110,11 @@ useClickAway(root, () => { ...@@ -110,6 +110,11 @@ useClickAway(root, () => {
110 console.log('click outside!'); 110 console.log('click outside!');
111 }); 111 });
112 112
113 +setTimeout(() => {
114 + // TAG:微信分享
115 + sharePage({});
116 +}, 500)
117 +
113 </script> 118 </script>
114 119
115 <style lang="less" scoped> 120 <style lang="less" scoped>
......