hookehuyr

✨ feat(书籍列表页): 上传视频判断条件修改

...@@ -24,7 +24,8 @@ export const useDefaultPerf = (bookId) => { ...@@ -24,7 +24,8 @@ export const useDefaultPerf = (bookId) => {
24 price: res.data.data.book_price, 24 price: res.data.data.book_price,
25 user_id: res.data.data.user_id, 25 user_id: res.data.data.user_id,
26 perf_id: res.data.data.perf_id, 26 perf_id: res.data.data.perf_id,
27 - perf_name: res.data.data.perf_name 27 + perf_name: res.data.data.perf_name,
28 + can_upload: res.data.data.can_upload, // can_upload :1=可上传,-1=用户没有实名,-2=用户没有儿童表演者
28 } 29 }
29 } else { 30 } else {
30 console.warn(res); 31 console.warn(res);
......
...@@ -81,25 +81,16 @@ ...@@ -81,25 +81,16 @@
81 <my-button @on-click="toDonate" type="plain">爱心捐书</my-button> 81 <my-button @on-click="toDonate" type="plain">爱心捐书</my-button>
82 </div> 82 </div>
83 <div class="button"> 83 <div class="button">
84 - <my-button @on-click="validUpload" type="primary">上传作品</my-button> 84 + <my-button @on-click="uploadVideo" type="primary">上传作品</my-button>
85 </div> 85 </div>
86 </div> 86 </div>
87 <shortcut-fixed type="C" :item="['home', 'me']"></shortcut-fixed> 87 <shortcut-fixed type="C" :item="['home', 'me']"></shortcut-fixed>
88 </div> 88 </div>
89 89
90 - <!-- 写评论时,如果没有实名认证提示弹框 --> 90 + <!-- 上传时,如果没有默认儿童提示弹框, 如果没有实名认证提示弹框 -->
91 - <notice-overlay :show="showNotice" text="前往认证" @on-submit="onSubmit" @on-close="onClose"> 91 + <notice-overlay :show="showNotice" :text="noticeText" @on-submit="onSubmit" @on-close="onClose">
92 <div style="color: #333333;"> 92 <div style="color: #333333;">
93 - <p>您还没有实名认证</p> 93 + <div v-html="noticeHtml"></div>
94 - <p>请前往个人中心进行实名认证</p>
95 - </div>
96 - </notice-overlay>
97 -
98 - <!-- 上传时,如果没有默认儿童提示弹框 -->
99 - <notice-overlay :show="showPerfNotice" text="前往新增" @on-submit="onSubmit" @on-close="onPerfClose">
100 - <div style="color: #333333;">
101 - <p>您还没有新增儿童</p>
102 - <p>请前往个人中心进行新增</p>
103 </div> 94 </div>
104 </notice-overlay> 95 </notice-overlay>
105 96
...@@ -183,78 +174,61 @@ const closeDonate = (v) => { ...@@ -183,78 +174,61 @@ const closeDonate = (v) => {
183 } 174 }
184 /**********************************/ 175 /**********************************/
185 176
186 -// 跳转个人中心
187 -const onSubmit = () => {
188 - $router.push({
189 - path: '/me/index'
190 - });
191 -}
192 177
193 /** 178 /**
194 * 上传作品回调 179 * 上传作品回调
195 */ 180 */
196 181
197 -// 未实名认证提示 182 +// 不能上传提示原因弹框
198 const showNotice = ref(false) 183 const showNotice = ref(false)
199 const onClose = () => { // 关闭提示框回调 184 const onClose = () => { // 关闭提示框回调
200 showNotice.value = false; 185 showNotice.value = false;
201 } 186 }
202 -// 未新增儿童提示 187 +// 跳转个人中心
203 -const showPerfNotice = ref(false); 188 +const onSubmit = () => {
204 -const onPerfClose = () => { // 关闭提示框回调 189 + $router.push({
205 - showPerfNotice.value = false; 190 + path: '/me/index'
206 -} 191 + });
207 -
208 -// 上传前检查是否有默认儿童
209 -const validUpload = () => {
210 - if (!donateItem.value.perf_id) {
211 - showPerfNotice.value = true;
212 - } else {
213 - uploadVideo();
214 - }
215 } 192 }
216 193
194 +const noticeText = ref('')
195 +const noticeHtml = ref('')
217 const show = ref(false); // 跳转等待提示 196 const show = ref(false); // 跳转等待提示
218 const uploadVideo = () => { 197 const uploadVideo = () => {
219 - show.value = true; 198 + if (donateItem.value.can_upload === 1) { // 可以上传
220 - axios.get('/srv/?a=can_upload') 199 + show.value = true;
221 - .then(res => { 200 + // x_field_1 是金数据表单传入的参数,家长上传的格式为:user_id-book_id-perf_id,perf_id是当前缺省的儿童id
222 - if (res.data.code === 1) { 201 + const str = `${donateItem.value.user_id}-${$route.query.id}-${donateItem.value.perf_id}`;
223 - // 实名认证标识 202 + // 已读隐私条例,直接跳转上传页面
224 - if (res.data.data.can_upload) { 203 + if (Cookies.get('privacy_notice')) {
225 - // x_field_1 是金数据表单传入的参数,家长上传的格式为:user_id-book_id-perf_id,perf_id是当前缺省的儿童id 204 + location.href = `${JSJ_FORM_C}?x_field_1=${str}`;
226 - const str = `${donateItem.value.user_id}-${$route.query.id}-${donateItem.value.perf_id}`; 205 + // BUG: 关闭loading临时处理
227 - // 已读隐私条例,直接跳转上传页面 206 + setTimeout(() => {
228 - if (Cookies.get('privacy_notice')) { 207 + show.value = false;
229 - location.href = `${JSJ_FORM_C}?x_field_1=${str}`; 208 + }, 2000);
230 - // BUG: 关闭loading临时处理 209 + } else { // 跳转个人隐私阅读
231 - setTimeout(() => { 210 + $router.push({
232 - show.value = false; 211 + path: '/client/privacyNotice',
233 - }, 2000); 212 + query: {
234 - } else { 213 + str
235 - $router.push({
236 - path: '/client/privacyNotice',
237 - query: {
238 - str
239 - }
240 - })
241 - }
242 - } else {
243 - // 如果没有实名认证需要提示用户实名认证
244 - showNotice.value = true;
245 } 214 }
246 - } else { 215 + })
247 - console.warn(res); 216 + }
248 - if (!res.data.show) return false; 217 + } else if (donateItem.value.can_upload === -1) { // 未实名认证
249 - Toast({ 218 + showNotice.value = true;
250 - icon: 'close', 219 + noticeText.value = '前往认证'
251 - message: res.data.msg 220 + noticeHtml.value = `
252 - }); 221 + <p>您还没有实名认证</p>
253 - } 222 + <p>请前往个人中心进行实名认证</p>
254 - }) 223 + `
255 - .catch(err => { 224 + } else if (donateItem.value.can_upload === -2) { // 没有默认儿童
256 - console.error(err); 225 + showNotice.value = true;
257 - }) 226 + noticeText.value = '前往新增'
227 + noticeHtml.value = `
228 + <p>您还没有新增儿童</p>
229 + <p>请前往个人中心进行新增</p>
230 + `
231 + }
258 } 232 }
259 233
260 /****************** keepAlive 模块 *******************/ 234 /****************** keepAlive 模块 *******************/
......
...@@ -85,37 +85,12 @@ const styleObject = reactive({ ...@@ -85,37 +85,12 @@ const styleObject = reactive({
85 85
86 // 跳转书籍详情页 86 // 跳转书籍详情页
87 const onClick = (item) => { 87 const onClick = (item) => {
88 - /** 88 + $router.push({
89 - * 获取默认儿童信息 89 + path: '/client/bookDetail',
90 - * @returns name, perf_id, kg_id 90 + query: {
91 - */ 91 + id: item.id
92 - axios.get('/srv/?a=default_perf', { 92 + }
93 - params: { 93 + });
94 - book_id: item.id
95 - }
96 - })
97 - .then(res => {
98 - if (res.data.code === 1) {
99 - // 缓存缺省儿童信息
100 - Cookies.set('default_perf', JSON.stringify(res.data.data))
101 - $router.push({
102 - path: '/client/bookDetail',
103 - query: {
104 - id: item.id
105 - }
106 - });
107 - } else {
108 - console.warn(res);
109 - if (!res.data.show) return false;
110 - Toast({
111 - icon: 'close',
112 - message: res.data.msg
113 - });
114 - }
115 - })
116 - .catch(err => {
117 - console.error(err);
118 - });
119 } 94 }
120 </script> 95 </script>
121 96
......