This commit is contained in:
陆柯 2022-05-28 19:12:50 +08:00
parent 04e449cce6
commit 452a21a4eb

View File

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