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,45 +174,29 @@ const closeDonate = (v) => { ...@@ -183,45 +174,29 @@ 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 = () => {
198 + if (donateItem.value.can_upload === 1) { // 可以上传
219 show.value = true; 199 show.value = true;
220 - axios.get('/srv/?a=can_upload')
221 - .then(res => {
222 - if (res.data.code === 1) {
223 - // 实名认证标识
224 - if (res.data.data.can_upload) {
225 // x_field_1 是金数据表单传入的参数,家长上传的格式为:user_id-book_id-perf_id,perf_id是当前缺省的儿童id 200 // x_field_1 是金数据表单传入的参数,家长上传的格式为:user_id-book_id-perf_id,perf_id是当前缺省的儿童id
226 const str = `${donateItem.value.user_id}-${$route.query.id}-${donateItem.value.perf_id}`; 201 const str = `${donateItem.value.user_id}-${$route.query.id}-${donateItem.value.perf_id}`;
227 // 已读隐私条例,直接跳转上传页面 202 // 已读隐私条例,直接跳转上传页面
...@@ -231,7 +206,7 @@ const uploadVideo = () => { ...@@ -231,7 +206,7 @@ const uploadVideo = () => {
231 setTimeout(() => { 206 setTimeout(() => {
232 show.value = false; 207 show.value = false;
233 }, 2000); 208 }, 2000);
234 - } else { 209 + } else { // 跳转个人隐私阅读
235 $router.push({ 210 $router.push({
236 path: '/client/privacyNotice', 211 path: '/client/privacyNotice',
237 query: { 212 query: {
...@@ -239,22 +214,21 @@ const uploadVideo = () => { ...@@ -239,22 +214,21 @@ const uploadVideo = () => {
239 } 214 }
240 }) 215 })
241 } 216 }
242 - } else { 217 + } else if (donateItem.value.can_upload === -1) { // 未实名认证
243 - // 如果没有实名认证需要提示用户实名认证
244 showNotice.value = true; 218 showNotice.value = true;
219 + noticeText.value = '前往认证'
220 + noticeHtml.value = `
221 + <p>您还没有实名认证</p>
222 + <p>请前往个人中心进行实名认证</p>
223 + `
224 + } else if (donateItem.value.can_upload === -2) { // 没有默认儿童
225 + showNotice.value = true;
226 + noticeText.value = '前往新增'
227 + noticeHtml.value = `
228 + <p>您还没有新增儿童</p>
229 + <p>请前往个人中心进行新增</p>
230 + `
245 } 231 }
246 - } else {
247 - console.warn(res);
248 - if (!res.data.show) return false;
249 - Toast({
250 - icon: 'close',
251 - message: res.data.msg
252 - });
253 - }
254 - })
255 - .catch(err => {
256 - console.error(err);
257 - })
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 - /**
89 - * 获取默认儿童信息
90 - * @returns name, perf_id, kg_id
91 - */
92 - axios.get('/srv/?a=default_perf', {
93 - params: {
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({ 88 $router.push({
102 path: '/client/bookDetail', 89 path: '/client/bookDetail',
103 query: { 90 query: {
104 id: item.id 91 id: item.id
105 } 92 }
106 }); 93 });
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
......