hookehuyr

✨ feat: 测试微信分享功能

...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 * @Author: hookehuyr hookehuyr@gmail.com 2 * @Author: hookehuyr hookehuyr@gmail.com
3 * @Date: 2022-05-26 23:52:36 3 * @Date: 2022-05-26 23:52:36
4 * @LastEditors: hookehuyr hookehuyr@gmail.com 4 * @LastEditors: hookehuyr hookehuyr@gmail.com
5 - * @LastEditTime: 2022-06-09 22:37:34 5 + * @LastEditTime: 2022-06-13 15:22:35
6 * @FilePath: /tswj/src/App.vue 6 * @FilePath: /tswj/src/App.vue
7 * @Description: 7 * @Description:
8 --> 8 -->
...@@ -17,13 +17,16 @@ ...@@ -17,13 +17,16 @@
17 17
18 <script setup> 18 <script setup>
19 import { mainStore, useTitle } from '@/utils/generatePackage' 19 import { mainStore, useTitle } from '@/utils/generatePackage'
20 -import { computed, watchEffect } from 'vue'; 20 +import { computed, watchEffect, onMounted } from 'vue';
21 import { useRoute } from 'vue-router' 21 import { useRoute } from 'vue-router'
22 import { Toast } from 'vant'; 22 import { Toast } from 'vant';
23 // 会根据配置判断是否显示调试控件 23 // 会根据配置判断是否显示调试控件
24 // eslint-disable-next-line no-unused-vars 24 // eslint-disable-next-line no-unused-vars
25 import vConsole from '@/utils/vconsole' 25 import vConsole from '@/utils/vconsole'
26 - 26 +// 初始化WX环境
27 +import wx from 'weixin-js-sdk'
28 +import { wxJsAPI } from '@/api/wx/config'
29 +import { apiList } from '@/api/wx/jsApiList.js'
27 // 使用 include + pinia 状态管理动态缓存页面 30 // 使用 include + pinia 状态管理动态缓存页面
28 const store = mainStore() 31 const store = mainStore()
29 const keepPages = computed(() => store.getKeepPages) 32 const keepPages = computed(() => store.getKeepPages)
...@@ -40,6 +43,19 @@ Toast.setDefaultOptions({ ...@@ -40,6 +43,19 @@ Toast.setDefaultOptions({
40 className: 'zIndex' 43 className: 'zIndex'
41 }); 44 });
42 45
46 +onMounted(async () => {
47 + const { data } = await wxJsAPI();
48 + data.jsApiList = apiList;
49 + console.warn(data);
50 + wx.config(data);
51 + wx.ready((res) => {
52 + wx.showAllNonBaseMenuItem()
53 + console.warn(res);
54 + });
55 + wx.error((err) => {
56 + console.warn(err);
57 + });
58 +})
43 </script> 59 </script>
44 60
45 <style lang="less"> 61 <style lang="less">
......
1 +/*
2 + * @Date: 2022-05-18 22:56:08
3 + * @LastEditors: hookehuyr hookehuyr@gmail.com
4 + * @LastEditTime: 2022-06-13 15:22:55
5 + * @FilePath: /tswj/src/api/fn.js
6 + * @Description: 文件描述
7 + */
1 import axios from '@/utils/axios'; 8 import axios from '@/utils/axios';
2 import { Toast } from 'vant'; 9 import { Toast } from 'vant';
3 10
......
...@@ -2,14 +2,14 @@ ...@@ -2,14 +2,14 @@
2 * @Author: hookehuyr hookehuyr@gmail.com 2 * @Author: hookehuyr hookehuyr@gmail.com
3 * @Date: 2022-06-09 13:32:44 3 * @Date: 2022-06-09 13:32:44
4 * @LastEditors: hookehuyr hookehuyr@gmail.com 4 * @LastEditors: hookehuyr hookehuyr@gmail.com
5 - * @LastEditTime: 2022-06-09 13:35:22 5 + * @LastEditTime: 2022-06-13 15:51:52
6 * @FilePath: /tswj/src/api/wx/config.js 6 * @FilePath: /tswj/src/api/wx/config.js
7 * @Description: 7 * @Description:
8 */ 8 */
9 import { fn, fetch } from '@/api/fn'; 9 import { fn, fetch } from '@/api/fn';
10 10
11 const Api = { 11 const Api = {
12 - WX_JSAPI: 't/wx_jsapi.do', 12 + WX_JSAPI: '/srv/?a=wx_share',
13 } 13 }
14 14
15 /** 15 /**
...@@ -18,3 +18,4 @@ const Api = { ...@@ -18,3 +18,4 @@ const Api = {
18 * @returns {*} cfg 18 * @returns {*} cfg
19 */ 19 */
20 export const wxJsAPI = (params) => fn(fetch.get(Api.WX_JSAPI, params)); 20 export const wxJsAPI = (params) => fn(fetch.get(Api.WX_JSAPI, params));
21 +// export const wxJsAPI = () => fn(fetch.get(Api.WX_JSAPI, { url: 'http://voice.onwall.cn/f/voice/#' }));
......
1 +/*
2 + * @Date: 2022-06-13 14:18:57
3 + * @LastEditors: hookehuyr hookehuyr@gmail.com
4 + * @LastEditTime: 2022-06-13 14:27:21
5 + * @FilePath: /tswj/src/api/wx/jsApiList.js
6 + * @Description: 文件描述
7 + */
8 +export const apiList = [
9 + "updateAppMessageShareData",
10 + "updateTimelineShareData",
11 + "onMenuShareTimeline",
12 + "onMenuShareAppMessage",
13 + "onMenuShareQQ",
14 + "onMenuShareWeibo",
15 + "onMenuShareQZone",
16 + "startRecord",
17 + "stopRecord",
18 + "onVoiceRecordEnd",
19 + "playVoice",
20 + "pauseVoice",
21 + "stopVoice",
22 + "onVoicePlayEnd",
23 + "uploadVoice",
24 + "downloadVoice",
25 + "chooseImage",
26 + "previewImage",
27 + "uploadImage",
28 + "downloadImage",
29 + "translateVoice",
30 + "getNetworkType",
31 + "openLocation",
32 + "getLocation",
33 + "hideOptionMenu",
34 + "showOptionMenu",
35 + "hideMenuItems",
36 + "showMenuItems",
37 + "hideAllNonBaseMenuItem",
38 + "showAllNonBaseMenuItem",
39 + "closeWindow",
40 + "scanQRCode",
41 + "chooseWXPay",
42 + "openProductSpecificView",
43 + "addCard",
44 + "chooseCard",
45 + "openCard"
46 +]
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 * @Author: hookehuyr hookehuyr@gmail.com 2 * @Author: hookehuyr hookehuyr@gmail.com
3 * @Date: 2022-05-21 09:35:14 3 * @Date: 2022-05-21 09:35:14
4 * @LastEditors: hookehuyr hookehuyr@gmail.com 4 * @LastEditors: hookehuyr hookehuyr@gmail.com
5 - * @LastEditTime: 2022-06-09 16:34:04 5 + * @LastEditTime: 2022-06-13 15:13:42
6 * @FilePath: /tswj/src/views/client/bookDetail.vue 6 * @FilePath: /tswj/src/views/client/bookDetail.vue
7 * @Description: 7 * @Description:
8 --> 8 -->
...@@ -135,6 +135,7 @@ import { useVideoList, useDefaultPerf, useScrollTop } from '@/composables'; ...@@ -135,6 +135,7 @@ import { useVideoList, useDefaultPerf, useScrollTop } from '@/composables';
135 import { addSubscribeAPI } from '@/api/C/book.js' 135 import { addSubscribeAPI } from '@/api/C/book.js'
136 import { prepareDonateAPI } from '@/api/C/donate.js' 136 import { prepareDonateAPI } from '@/api/C/donate.js'
137 import { USER_ROLE, USER_TYPE } from '@/constant' 137 import { USER_ROLE, USER_TYPE } from '@/constant'
138 +import wx from 'weixin-js-sdk'
138 139
139 const { resetScrollTop } = useScrollTop(); // 页面滚动恢复 140 const { resetScrollTop } = useScrollTop(); // 页面滚动恢复
140 resetScrollTop('scrollTop'); 141 resetScrollTop('scrollTop');
...@@ -332,6 +333,22 @@ const goToDetail = (v) => { // 跳转作品详情页 ...@@ -332,6 +333,22 @@ const goToDetail = (v) => { // 跳转作品详情页
332 }); 333 });
333 } 334 }
334 /*****************************************************/ 335 /*****************************************************/
336 +
337 +// TAG:微信分享
338 +// wx.updateAppMessageShareData({
339 +// title: '童声无界', // 分享标题
340 +// desc: $route.meta.title, // 分享描述
341 +// link: location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号 JS 安全域名一致
342 +// imgUrl: location.origin + location.pathname + 'images/weixin_logo.png', // 分享图标
343 +// success: function () {
344 +// // 用户确认分享后执行的回调函数
345 +// console.warn('分享成功');
346 +// },
347 +// cancel: function () {
348 +// // 用户取消分享后执行的回调函数
349 +// console.warn('分享已取消');
350 +// }
351 +// })
335 </script> 352 </script>
336 353
337 <style lang="less" scoped> 354 <style lang="less" scoped>
......
...@@ -64,6 +64,8 @@ import { Cookies } from '@/utils/generatePackage.js' ...@@ -64,6 +64,8 @@ import { Cookies } from '@/utils/generatePackage.js'
64 import { DonateBar } from '@/utils/generateModules.js' 64 import { DonateBar } from '@/utils/generateModules.js'
65 import { computed, ref, watch } from 'vue' 65 import { computed, ref, watch } from 'vue'
66 import { USER_ROLE, USER_TYPE } from '@/constant' 66 import { USER_ROLE, USER_TYPE } from '@/constant'
67 +import { useRoute } from 'vue-router'
68 +import wx from 'weixin-js-sdk'
67 69
68 const go = useGo(); 70 const go = useGo();
69 // 删除所有的 keep-alive 缓存 71 // 删除所有的 keep-alive 缓存
...@@ -108,6 +110,23 @@ watch( ...@@ -108,6 +110,23 @@ watch(
108 } 110 }
109 ) 111 )
110 /**************************************************/ 112 /**************************************************/
113 +
114 +// TAG:微信分享
115 +// const $route = useRoute();
116 +// wx.updateAppMessageShareData({
117 +// title: '童声无界', // 分享标题
118 +// desc: $route.meta.title, // 分享描述
119 +// link: location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号 JS 安全域名一致
120 +// imgUrl: location.origin + location.pathname + 'images/weixin_logo.png', // 分享图标
121 +// success: function () {
122 +// // 用户确认分享后执行的回调函数
123 +// console.warn('分享成功');
124 +// },
125 +// cancel: function () {
126 +// // 用户取消分享后执行的回调函数
127 +// console.warn('分享已取消');
128 +// }
129 +// })
111 </script> 130 </script>
112 131
113 <style lang="less" scoped> 132 <style lang="less" scoped>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 * @Author: hookehuyr hookehuyr@gmail.com 2 * @Author: hookehuyr hookehuyr@gmail.com
3 * @Date: 2022-04-21 11:21:39 3 * @Date: 2022-04-21 11:21:39
4 * @LastEditors: hookehuyr hookehuyr@gmail.com 4 * @LastEditors: hookehuyr hookehuyr@gmail.com
5 - * @LastEditTime: 2022-05-31 15:52:12 5 + * @LastEditTime: 2022-06-13 17:24:04
6 * @FilePath: /tswj/src/views/client/chooseSchool.vue 6 * @FilePath: /tswj/src/views/client/chooseSchool.vue
7 * @Description: 选择学校列表 7 * @Description: 选择学校列表
8 --> 8 -->
...@@ -21,10 +21,31 @@ ...@@ -21,10 +21,31 @@
21 import RankingItem from '@/components/RankingItem/index' 21 import RankingItem from '@/components/RankingItem/index'
22 // import { useGo } from '@/hooks/useGo' 22 // import { useGo } from '@/hooks/useGo'
23 import { killPages } from '@/hooks/useKeepAlive' 23 import { killPages } from '@/hooks/useKeepAlive'
24 +// import { onMounted } from 'vue';
25 +import wx from 'weixin-js-sdk'
26 +import { useRoute } from 'vue-router'
24 27
28 +// import { wxJsAPI } from '@/api/wx/config'
25 // const go = useGo() 29 // const go = useGo()
26 // 删除所有的 keep-alive 缓存 30 // 删除所有的 keep-alive 缓存
27 killPages(); 31 killPages();
32 +
33 +// TAG:微信分享
34 +// const $route = useRoute();
35 +// wx.updateAppMessageShareData({
36 +// title: '童声无界', // 分享标题
37 +// desc: $route.meta.title, // 分享描述
38 +// link: location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号 JS 安全域名一致
39 +// imgUrl: location.origin + location.pathname + 'images/weixin_logo.png', // 分享图标
40 +// success: function () {
41 +// // 用户确认分享后执行的回调函数
42 +// console.warn('分享成功');
43 +// },
44 +// cancel: function () {
45 +// // 用户取消分享后执行的回调函数
46 +// console.warn('分享已取消');
47 +// }
48 +// })
28 </script> 49 </script>
29 50
30 <script> 51 <script>
......