hookehuyr

✨ feat(捐赠相关页面): 捐赠组件剔除类型判断,对与不同页面prepare_donate接口传参调整

...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 * @Author: hookehuyr hookehuyr@gmail.com 2 * @Author: hookehuyr hookehuyr@gmail.com
3 * @Date: 2022-05-31 18:32:38 3 * @Date: 2022-05-31 18:32:38
4 * @LastEditors: hookehuyr hookehuyr@gmail.com 4 * @LastEditors: hookehuyr hookehuyr@gmail.com
5 - * @LastEditTime: 2022-06-09 15:26:44 5 + * @LastEditTime: 2022-07-01 17:58:30
6 * @FilePath: /tswj/src/components/DonateBar/index.vue 6 * @FilePath: /tswj/src/components/DonateBar/index.vue
7 * @Description: 爱心助力底部固定栏 7 * @Description: 爱心助力底部固定栏
8 --> 8 -->
...@@ -12,8 +12,7 @@ ...@@ -12,8 +12,7 @@
12 <slot /> 12 <slot />
13 </div> 13 </div>
14 </div> 14 </div>
15 - <donate-flower 15 + <donate-flower
16 - :user-type="donateType"
17 :show-popup="showDonate" 16 :show-popup="showDonate"
18 :item="donateInfo" 17 :item="donateInfo"
19 @on-close="showDonate=false" 18 @on-close="showDonate=false"
...@@ -22,39 +21,24 @@ ...@@ -22,39 +21,24 @@
22 21
23 <script setup> 22 <script setup>
24 import { ref, onMounted } from 'vue' 23 import { ref, onMounted } from 'vue'
25 -import { useRoute } from 'vue-router'
26 -
27 import { DonateFlower } from '@/utils/generateModules' 24 import { DonateFlower } from '@/utils/generateModules'
28 import { prepareDonateAPI } from '@/api/C/donate.js' 25 import { prepareDonateAPI } from '@/api/C/donate.js'
29 -import { USER_TYPE } from '@/constant'
30 26
31 -const $route = useRoute();
32 const props = defineProps({ 27 const props = defineProps({
33 - donateType: { 28 + perfId: Number,
29 + kgId: {
34 type: String, 30 type: String,
35 - default: (value) => value, 31 + default: ''
36 - validator: value => {
37 - return [
38 - USER_TYPE.CHILDREN,
39 - USER_TYPE.VISIT,
40 - USER_TYPE.KINDERGARTEN
41 - ].includes(value);
42 - }
43 } 32 }
44 }) 33 })
45 34
46 -// 查询参数
47 -let params = {};
48 -if (props.donateType === USER_TYPE.CHILDREN) params = { perf_id: $route.query.perf_id };
49 -if (props.donateType === USER_TYPE.KINDERGARTEN) params = { kg_id: $route.query.kg_id };
50 -
51 const donateInfo = ref({}) 35 const donateInfo = ref({})
36 +const showDonate = ref(false);
52 onMounted(async () => { 37 onMounted(async () => {
53 - const { data } = await prepareDonateAPI(params); 38 + const { data } = await prepareDonateAPI({ perf_id: props.perfId, kg_id: props.kgId });
54 donateInfo.value = data; 39 donateInfo.value = data;
55 }) 40 })
56 41
57 -const showDonate = ref(false);
58 </script> 42 </script>
59 43
60 <style lang="less" scoped> 44 <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-05-31 22:09:58 3 * @Date: 2022-05-31 22:09:58
4 * @LastEditors: hookehuyr hookehuyr@gmail.com 4 * @LastEditors: hookehuyr hookehuyr@gmail.com
5 - * @LastEditTime: 2022-06-18 16:27:20 5 + * @LastEditTime: 2022-07-01 18:00:04
6 * @FilePath: /tswj/src/components/DonateFlower/index.vue 6 * @FilePath: /tswj/src/components/DonateFlower/index.vue
7 * @Description: 捐花组件 7 * @Description: 捐花组件
8 --> 8 -->
...@@ -34,8 +34,7 @@ ...@@ -34,8 +34,7 @@
34 </van-col> 34 </van-col>
35 <van-col span="6" style="line-height: 2.5;">&nbsp;朵花花</van-col> 35 <van-col span="6" style="line-height: 2.5;">&nbsp;朵花花</van-col>
36 </van-row> 36 </van-row>
37 - <div v-else style="border: 1px solid #11D2B1; padding: 0.4rem 1rem;" @click="more_donate = true">更多花花 37 + <div v-else style="border: 1px solid #11D2B1; padding: 0.4rem 1rem;" @click="more_donate = true">更多花花</div>
38 - </div>
39 </div> 38 </div>
40 <div v-if="item.kg_id" class="donate-name"> 39 <div v-if="item.kg_id" class="donate-name">
41 <van-row> 40 <van-row>
...@@ -87,7 +86,6 @@ ...@@ -87,7 +86,6 @@
87 <div class="popup-wrapper"> 86 <div class="popup-wrapper">
88 <van-popup v-model:show="showDA" position="bottom" :style="{ height: '100%', zIndex: 4000 }"> 87 <van-popup v-model:show="showDA" position="bottom" :style="{ height: '100%', zIndex: 4000 }">
89 <agreement /> 88 <agreement />
90 - <!-- <div class="agreementHtml" v-html="agreementHtml" /> -->
91 <div class="bottom-btn" @click="showDA=false"> 89 <div class="bottom-btn" @click="showDA=false">
92 <div class="text">关闭</div> 90 <div class="text">关闭</div>
93 </div> 91 </div>
...@@ -100,20 +98,15 @@ import { icon_flower } from '@/utils/generateIcons' ...@@ -100,20 +98,15 @@ import { icon_flower } from '@/utils/generateIcons'
100 import MyButton from '@/components/MyButton/index.vue' 98 import MyButton from '@/components/MyButton/index.vue'
101 import agreement from './agreement.vue' 99 import agreement from './agreement.vue'
102 import { ref, watch, nextTick } from 'vue' 100 import { ref, watch, nextTick } from 'vue'
103 -import { useRouter } from 'vue-router'
104 import { $, Toast } from '@/utils/generatePackage' 101 import { $, Toast } from '@/utils/generatePackage'
105 import { addDonateAPI } from '@/api/C/donate.js' 102 import { addDonateAPI } from '@/api/C/donate.js'
106 // import { wxJsAPI } from '@/api/wx/config' 103 // import { wxJsAPI } from '@/api/wx/config'
107 // import { wxPayAPI } from '@/api/wx/pay' 104 // import { wxPayAPI } from '@/api/wx/pay'
108 -import agreementHtml from './agreement'
109 -import { USER_TYPE } from '@/constant'
110 // import wx from 'weixin-js-sdk' 105 // import wx from 'weixin-js-sdk'
111 106
112 -const $router = useRouter();
113 const props = defineProps({ 107 const props = defineProps({
114 item: Object, 108 item: Object,
115 - showPopup: Boolean, 109 + showPopup: Boolean
116 - userType: String
117 }) 110 })
118 const emit = defineEmits(['on-close']); 111 const emit = defineEmits(['on-close']);
119 112
...@@ -127,26 +120,6 @@ const donateFlower = () => { ...@@ -127,26 +120,6 @@ const donateFlower = () => {
127 Toast.fail('捐赠人姓名不能为空!'); 120 Toast.fail('捐赠人姓名不能为空!');
128 return false; 121 return false;
129 } 122 }
130 - // 捐钱接口
131 - // 根据类型过滤提交数据
132 - // 儿童: 提交 perf_id,kg_id
133 - // 幼儿园: 提交 kg_id
134 - // 访客
135 - // let params = {
136 - // qty: donate_number.value,
137 - // donate_name: props.item.donate_name,
138 - // };
139 - // switch (props.userType) {
140 - // case USER_TYPE.CHILDREN:
141 - // params.perf_id = props.item.perf_id;
142 - // params.kg_id = props.item.kg_id;
143 - // break;
144 - // case USER_TYPE.KINDERGARTEN:
145 - // params.kg_id = props.item.kg_id;
146 - // break;
147 - // case USER_TYPE.VISIT:
148 - // break;
149 - // }
150 // 业务逻辑调整,有值就传值显示 123 // 业务逻辑调整,有值就传值显示
151 let params = { 124 let params = {
152 qty: donate_number.value, 125 qty: donate_number.value,
...@@ -163,16 +136,6 @@ const addDonate = async (params) => { ...@@ -163,16 +136,6 @@ const addDonate = async (params) => {
163 closeBtn(); 136 closeBtn();
164 // TAG: 微信支付 137 // TAG: 微信支付
165 wechatPay(data.id); 138 wechatPay(data.id);
166 - // 交易成功跳转回调页面
167 - // TEMP: 临时传参 donate_id, 页面到时候给到后端跳转
168 - // 回调地址
169 - // http://voice.onwall.cn/f/voice/#/client/wechatpayCallback?donate_id=xxx
170 - // $router.push({
171 - // path: '/client/wechatpayCallback',
172 - // query: {
173 - // donate_id: data.id
174 - // }
175 - // })
176 } 139 }
177 } 140 }
178 141
......
...@@ -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-07-01 17:10:49 5 + * @LastEditTime: 2022-07-01 18:07:00
6 * @FilePath: /tswj/src/views/client/bookDetail.vue 6 * @FilePath: /tswj/src/views/client/bookDetail.vue
7 * @Description: 7 * @Description:
8 --> 8 -->
...@@ -111,7 +111,7 @@ ...@@ -111,7 +111,7 @@
111 <!-- 上传时,如果没有默认儿童提示弹框, 如果没有实名认证提示弹框 --> 111 <!-- 上传时,如果没有默认儿童提示弹框, 如果没有实名认证提示弹框 -->
112 <notice-overlay-module :show="showNotice" :type="userInfo.can_upload" @on-submit="onSubmit" @on-close="onClose" /> 112 <notice-overlay-module :show="showNotice" :type="userInfo.can_upload" @on-submit="onSubmit" @on-close="onClose" />
113 113
114 - <donate-flower :user-type="donateType" :show-popup="showDonate" :item="donateInfo" @on-close="closeDonate" /> 114 + <donate-flower :show-popup="showDonate" :item="donateInfo" @on-close="closeDonate" />
115 115
116 <van-overlay :show="show" z-index="9999"> 116 <van-overlay :show="show" z-index="9999">
117 <div class="wrapper" @click.stop> 117 <div class="wrapper" @click.stop>
...@@ -126,7 +126,7 @@ import { useRoute, useRouter, onBeforeRouteLeave } from 'vue-router' ...@@ -126,7 +126,7 @@ import { useRoute, useRouter, onBeforeRouteLeave } from 'vue-router'
126 import { Cookies, _, storeToRefs, mainStore, Toast, hasEllipsis } from '@/utils/generatePackage' 126 import { Cookies, _, storeToRefs, mainStore, Toast, hasEllipsis } from '@/utils/generatePackage'
127 import { MyButton, VideoCard, NoticeOverlayModule, DonateFlower, ShortcutFixed } from '@/utils/generateModules' 127 import { MyButton, VideoCard, NoticeOverlayModule, DonateFlower, ShortcutFixed } from '@/utils/generateModules'
128 import { icon_video, icon_up, icon_down, icon_subscribed, icon_unsubscribe, no_image } from '@/utils/generateIcons' 128 import { icon_video, icon_up, icon_down, icon_subscribed, icon_unsubscribe, no_image } from '@/utils/generateIcons'
129 -import { JSJ_FORM_C, JSJ_FORM_MANDARIN, JSJ_FORM_LOCALISM } from '@/constant' 129 +import { JSJ_FORM_MANDARIN, JSJ_FORM_LOCALISM } from '@/constant'
130 import { useVideoList, useDefaultPerf, useScrollTop } from '@/composables'; 130 import { useVideoList, useDefaultPerf, useScrollTop } from '@/composables';
131 import { addSubscribeAPI } from '@/api/C/book.js' 131 import { addSubscribeAPI } from '@/api/C/book.js'
132 import { prepareDonateAPI } from '@/api/C/donate.js' 132 import { prepareDonateAPI } from '@/api/C/donate.js'
...@@ -155,14 +155,10 @@ const onClickLocalism = () => { ...@@ -155,14 +155,10 @@ const onClickLocalism = () => {
155 const customStyle = ref({ 155 const customStyle = ref({
156 bottom: '8rem' 156 bottom: '8rem'
157 }) 157 })
158 +
158 const donateInfo = ref({}) 159 const donateInfo = ref({})
159 -const userType = Cookies.get('userType')
160 -// 判断是访客进入还是幼儿园进入
161 -const donateType = computed(() => {
162 - return userType === 'client' ? USER_TYPE.KINDERGARTEN : USER_TYPE.VISIT;
163 -})
164 onMounted(async () => { 160 onMounted(async () => {
165 - const { data } = await prepareDonateAPI({ kg_id: $route.query.kg_id }); 161 + const { data } = await prepareDonateAPI();
166 donateInfo.value = data; 162 donateInfo.value = data;
167 setTimeout(() => { 163 setTimeout(() => {
168 // 判断是否显示简介的展开图标 164 // 判断是否显示简介的展开图标
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
48 <van-empty v-if="emptyStatus" class="custom-image" :image="no_image" description="暂无书籍信息" /> 48 <van-empty v-if="emptyStatus" class="custom-image" :image="no_image" description="暂无书籍信息" />
49 </div> 49 </div>
50 <div style="height: 5rem" /> 50 <div style="height: 5rem" />
51 - <donate-bar :donate-type="donateType">爱心助力</donate-bar> 51 + <donate-bar :kg-id="kg_id">爱心助力</donate-bar>
52 <shortcut-fixed :type="USER_ROLE.CLIENT" :item="shortcutItem" :custom-style="customStyle" /> 52 <shortcut-fixed :type="USER_ROLE.CLIENT" :item="shortcutItem" :custom-style="customStyle" />
53 </div> 53 </div>
54 </template> 54 </template>
...@@ -62,8 +62,8 @@ import { useGo } from '@/hooks/useGo'; ...@@ -62,8 +62,8 @@ import { useGo } from '@/hooks/useGo';
62 import { killPages, store } from '@/hooks/useKeepAlive'; 62 import { killPages, store } from '@/hooks/useKeepAlive';
63 import { Cookies } from '@/utils/generatePackage.js' 63 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 { ref, watch } from 'vue'
66 -import { USER_ROLE, USER_TYPE } from '@/constant' 66 +import { USER_ROLE } from '@/constant'
67 import { sharePage } from '@/composables/useShare.js' 67 import { sharePage } from '@/composables/useShare.js'
68 68
69 const go = useGo(); 69 const go = useGo();
...@@ -86,12 +86,6 @@ const customStyle = { ...@@ -86,12 +86,6 @@ const customStyle = {
86 bottom: '8rem' 86 bottom: '8rem'
87 } 87 }
88 88
89 -const userType = Cookies.get('userType')
90 -// 判断是访客进入还是幼儿园进入
91 -const donateType = computed(() => {
92 - return userType === 'client' ? USER_TYPE.KINDERGARTEN : USER_TYPE.VISIT;
93 -})
94 -
95 /********************* 搜索功能栏 **********************/ 89 /********************* 搜索功能栏 **********************/
96 const search_value = ref('') 90 const search_value = ref('')
97 const onSearch = () => { // 前端过滤搜索结果 91 const onSearch = () => { // 前端过滤搜索结果
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 * @Author: hookehuyr hookehuyr@gmail.com 2 * @Author: hookehuyr hookehuyr@gmail.com
3 * @Date: 2022-04-26 16:06:31 3 * @Date: 2022-04-26 16:06:31
4 * @LastEditors: hookehuyr hookehuyr@gmail.com 4 * @LastEditors: hookehuyr hookehuyr@gmail.com
5 - * @LastEditTime: 2022-06-09 01:52:33 5 + * @LastEditTime: 2022-07-01 17:50:15
6 * @FilePath: /tswj/src/views/client/finishUpload.vue 6 * @FilePath: /tswj/src/views/client/finishUpload.vue
7 * @Description: 作品上传成功提示页面 7 * @Description: 作品上传成功提示页面
8 --> 8 -->
...@@ -26,20 +26,18 @@ ...@@ -26,20 +26,18 @@
26 </div> 26 </div>
27 </div> 27 </div>
28 28
29 - <donate-flower :user-type="donateType" :show-popup="showDonate" :item="donateInfo" @on-close="closeDonate" /> 29 + <donate-flower :show-popup="showDonate" :item="donateInfo" @on-close="closeDonate" />
30 </template> 30 </template>
31 31
32 <script setup> 32 <script setup>
33 import icon_success from '@images/que-sucess@2x.png' 33 import icon_success from '@images/que-sucess@2x.png'
34 -import { USER_TYPE } from '@/constant'
35 import MyButton from '@/components/MyButton/index.vue' 34 import MyButton from '@/components/MyButton/index.vue'
36 import DonateFlower from '@/components/DonateFlower/index.vue' 35 import DonateFlower from '@/components/DonateFlower/index.vue'
37 36
38 import { useDefaultPerf } from '@/composables/useDefaultPerf.js' 37 import { useDefaultPerf } from '@/composables/useDefaultPerf.js'
39 38
40 -import { ref, computed, onMounted } from 'vue' 39 +import { ref, onMounted } from 'vue'
41 import { useRoute, useRouter } from 'vue-router' 40 import { useRoute, useRouter } from 'vue-router'
42 -import { Cookies } from '@/utils/generatePackage'
43 import { prepareDonateAPI } from '@/api/C/donate.js' 41 import { prepareDonateAPI } from '@/api/C/donate.js'
44 42
45 const $route = useRoute(); 43 const $route = useRoute();
...@@ -54,13 +52,8 @@ if (!book_id) { ...@@ -54,13 +52,8 @@ if (!book_id) {
54 } 52 }
55 53
56 const donateInfo = ref({}) 54 const donateInfo = ref({})
57 -const userType = Cookies.get('userType')
58 -// 判断是访客进入还是幼儿园进入
59 -const donateType = computed(() => {
60 - return userType === 'client' ? USER_TYPE.KINDERGARTEN : USER_TYPE.VISIT;
61 -})
62 onMounted(async () => { 55 onMounted(async () => {
63 - const { data } = await prepareDonateAPI({ kg_id: $route.query.kg_id }); 56 + const { data } = await prepareDonateAPI();
64 donateInfo.value = data; 57 donateInfo.value = data;
65 }) 58 })
66 59
......
...@@ -63,7 +63,8 @@ ...@@ -63,7 +63,8 @@
63 </div> 63 </div>
64 <van-empty v-if="emptyStatus" class="custom-image" :image="no_image" description="暂无作品信息" /> 64 <van-empty v-if="emptyStatus" class="custom-image" :image="no_image" description="暂无作品信息" />
65 65
66 - <donate-flower user-type="C" :show-popup="showDonate" :item="donateInfo" @on-close="closeDonate" /> 66 +
67 + <donate-flower :show-popup="showDonate" :item="donateInfo" @on-close="closeDonate" />
67 </template> 68 </template>
68 69
69 <script setup> 70 <script setup>
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
34 <van-tab :title="'留言 ' + comment_num" :title-style="tabClass"> 34 <van-tab :title="'留言 ' + comment_num" :title-style="tabClass">
35 <!-- <router-view ref="childRef" name="comment" /> --> 35 <!-- <router-view ref="childRef" name="comment" /> -->
36 <video-detail-comment ref="childRef" /> 36 <video-detail-comment ref="childRef" />
37 - <donate-bar donate-type="C">为TA助力</donate-bar> 37 + <donate-bar v-if="videoInfo" :perf-id="videoInfo.perf_id">为TA助力</donate-bar>
38 </van-tab> 38 </van-tab>
39 </van-tabs> 39 </van-tabs>
40 </van-col> 40 </van-col>
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
44 </template> 44 </template>
45 45
46 <script setup> 46 <script setup>
47 -import { ref, onMounted, watch, inject, provide } from 'vue' 47 +import { ref, onMounted, watch } from 'vue'
48 import { useRoute, useRouter, onBeforeRouteLeave } from 'vue-router' 48 import { useRoute, useRouter, onBeforeRouteLeave } from 'vue-router'
49 import { storeToRefs, mainStore } from '@/utils/generatePackage' 49 import { storeToRefs, mainStore } from '@/utils/generatePackage'
50 import { VideoDetail, DonateBar } from '@/utils/generateModules' 50 import { VideoDetail, DonateBar } from '@/utils/generateModules'
......