1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- export function toast(options) {
- uni.showToast({
- icon: options.icon || 'none',
- mask: options.mask || true,
- title: options.title || 'title'
- })
- }
- toast.prototype.success = (message) => toast({ icon: 'success', title: message })
- toast.prototype.error = (message) => toast({ icon: 'error', title: message })
- const install = (Vue, options = {}) => {
- const prefix = options.prefix || '/pages/views/'
- /* tabbar 切换 */
- const switchTab = (url, success, fail) => {
- uni.switchTab({
- url: `/pages/tabBar/${url}/${url}`,
- success: success,
- fail: fail
- })
- }
- /* 保留当前页面跳转 */
- const navigateTo = (url, success, fail) => {
- uni.navigateTo({
- url: `${prefix}${url}`,
- success: success,
- fail: fail
- })
- }
- /* 关闭当前页面跳转 */
- const redirectTo = (url, success, fail) => {
- uni.redirectTo({
- url: `${prefix}${url}`,
- success: success,
- fail: fail
- })
- }
- /* 关闭所有页面跳转 */
- const reLaunchTo = (url, success, fail) => {
- uni.reLaunch({
- url: `${prefix}${url}`,
- success: success,
- fail: fail
- })
- }
- /* 关闭当前页面,返回上一页面或多级页面 */
- const navigateBack = (delta, success, fail) => {
- uni.navigateBack({
- delta: delta || 1,
- success: success,
- fail: fail
- })
- }
- /* 设置页面刷新标识 */
- const addRefreshType = (mark = '') => {
- uni.setStorageSync(`REFRESH_TYPE_${mark.toUpperCase()}`, true)
- }
- /* 获取页面刷新标识并判断是否需要刷新当前页面 */
- const checkRefreshType = (mark = '') => {
- const key = `REFRESH_TYPE_${mark.toUpperCase()}`
- const type = uni.getStorageSync(key)
- uni.removeStorageSync(key)
- return type
- }
- Vue.prototype.$toast = (message) => toast({ title: message })
- Vue.prototype.$toast.success = (message) => toast({ icon: 'success', title: message })
- Vue.prototype.$toast.error = (message) => toast({ icon: 'error', title: message })
- Vue.prototype.$router = {
- switchTab,
- navigateTo,
- redirectTo,
- reLaunchTo,
- navigateBack,
- addRefreshType,
- checkRefreshType
- }
- }
- export default install
|