From 452a21a4ebbbe2fcd49ad736c5b0b114e2abcea1 Mon Sep 17 00:00:00 2001 From: Luk Lu Date: Sat, 28 May 2022 19:12:50 +0800 Subject: [PATCH] u --- usertool.js | 56 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/usertool.js b/usertool.js index 00538db..d4ef70b 100644 --- a/usertool.js +++ b/usertool.js @@ -62,7 +62,8 @@ export default { const mylang = getApp()?.$store?.state?.i18n?.mylang // 不要用 pageNow.$store,防止在 App.vue 里无法获取当前页面。 const pageNow = this.thisPage() // 需要兼顾在 App.vue 时无法获取当前页面的情况,因为如果在 topWindow 里调用本函数,getApp() 和 getCurrentPages()[getCurrentPages().length-1] 就是 undefined。 - uni.setNavigationBarTitle({ // 也会被用于浏览器的标签标题,因此要用 document.title 去覆盖 + uni.setNavigationBarTitle({ + // 也会被用于浏览器的标签标题,因此要用 document.title 去覆盖 title: pageTitle || pageNow?.i18nText?.[mylang]?.tPageTitle || // 页面.vue 的 i18nText 对象 @@ -74,7 +75,7 @@ export default { document.title = windowTitle || wo?.envar?.Sys_Brand_Name?.[mylang] || pagesJson?.appInfo?.i18nText?.[mylang] || pagesJson?.globalStyle?.navigationBarTitleText // 必须放在 setNavigationBarTitle 之后,否则会被其覆盖掉。 // #endif - + // 必须要在有 tab 的页面里 setTabBarItem 才有效果 //const midIndex = parseInt(pagesJson?.tabBar?.list?.length/2) // 如果存在midButton,实际上tabBar.list.length必须为偶数。不过为了心安,再parseInt一下。 pagesJson?.tabBar?.list?.forEach((tab, tabIndex) => { @@ -172,10 +173,10 @@ export default { const uniObj = uniCloud.importObject(apiWho) try { result = await uniObj[apiTodo](apiWhat) - }catch(error){ + } catch (error) { result = { _state: 'CLINET_BASEND_EXCEPTION', error } } - }else if (basendType === 'UNICLOUD') { + } else if (basendType === 'UNICLOUD') { let { /* success, header, requestedId, */ result: resultCloud = {} } = await uniCloud .callFunction({ name: apiWho, @@ -225,7 +226,7 @@ export default { } else { result = resultServer } - }else { + } else { result = { _state: 'CLIENT_BASEND_TYPE_UNKNOWN' } } // 注意1,resultServer 和 resultCloud 推荐遵循同样的格式 { _state, error | data },这样方便前端做统一判断。 @@ -453,17 +454,27 @@ export default { }) */ showToast ({ tool, type, image, title, duration = 2000, ...rest }) { - const toast = this.thisPage()?.$refs?.toast || getApp().globalData.toast || wo.toast - if (tool!=='uni' && toast) { // 来自 - toast.show({ type, title, duration, ...rest }) - } else { - // #ifdef APP-PLUS - uni.showToast({ icon: 'none', title, duration, ...rest }) - // #endif - // #ifdef H5 - uni.showToast({ icon: 'none', image, title, duration, ...rest }) - // #endif + if (tool !== 'uni') { + // 来自 + const toast = this.thisPage()?.$refs?.toast || getApp().globalData.toast || wo.toast + const pupup = this.thisPage()?.$refs?.popup || getApp().globalData.popup || wo.popup + if (toast) { + toast.show({ type, title, duration, ...rest }) + return + } else if (popup) { + wo.ss.toastType = type + wo.ss.toastMessage = title + wo.ss.toastDuration = duration + popup.open() + return + } } + // #ifdef APP-PLUS + uni.showToast({ icon: 'none', title, duration, ...rest }) + // #endif + // #ifdef H5 + uni.showToast({ icon: 'none', image, title, duration, ...rest }) + // #endif }, formatMoney (value, precision = 2) { @@ -556,7 +567,7 @@ export default { uni.switchTab({ url: pageName }) } else if (forget) { uni.navigateTo({ url: pageName }) - }else { + } else { uni.redirectTo({ url: pageName }) } } else { @@ -564,15 +575,14 @@ export default { } }, - next_focus(currentFocus, focusList=this.thisPage().focusList){ + next_focus (currentFocus, focusList = this.thisPage().focusList) { if (focusList) { for (let n in focusList) { - focusList[n]=false + focusList[n] = false } - setTimeout(()=>{ - focusList[(parseInt(currentFocus)+1) % Object.keys(focusList).length]=true - },200) // 如果没有 setTimeout 至少 200ms, 焦点短暂跳到下一个后,又会消失 + setTimeout(() => { + focusList[(parseInt(currentFocus) + 1) % Object.keys(focusList).length] = true + }, 200) // 如果没有 setTimeout 至少 200ms, 焦点短暂跳到下一个后,又会消失 } - } - + }, }