通过request访问loading
This commit is contained in:
parent
1b64f0f02f
commit
d2fe5062ad
2
main.js
2
main.js
|
|
@ -42,7 +42,7 @@ import httpConfig from '@/common/http.config.js'
|
||||||
Vue.use(httpConfig, app)
|
Vue.use(httpConfig, app)
|
||||||
|
|
||||||
// 初始化全局loading管理器
|
// 初始化全局loading管理器
|
||||||
import { initGlobalLoadingManager } from '@/utils/loading-manager.js'
|
import { initGlobalLoadingManager } from '@/utils/request.js'
|
||||||
initGlobalLoadingManager()
|
initGlobalLoadingManager()
|
||||||
// Vue.use(httpApi, app)
|
// Vue.use(httpApi, app)
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { navigateToPage } from "../../utils/router.js";
|
import { navigateToPage } from "../../utils/router.js";
|
||||||
import { wxLogin } from "../../api/auth/auth.js";
|
import { wxLogin } from "../../api/auth/auth.js";
|
||||||
import { forceHideLoading, AutoLoadingManager } from "../../utils/loading-manager.js";
|
import { forceHideLoading, AutoLoadingManager } from "../../utils/request.js";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
|
|
|
||||||
137
pages/test/import-test.vue
Normal file
137
pages/test/import-test.vue
Normal file
|
|
@ -0,0 +1,137 @@
|
||||||
|
<template>
|
||||||
|
<view class="import-test">
|
||||||
|
<view class="test-section">
|
||||||
|
<text class="section-title">导入修复测试</text>
|
||||||
|
<text class="description">测试loading管理器的导入是否正常</text>
|
||||||
|
|
||||||
|
<button @click="testImport" class="test-btn">测试导入</button>
|
||||||
|
<button @click="testLoading" class="test-btn">测试Loading功能</button>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="result-section">
|
||||||
|
<text class="section-title">测试结果</text>
|
||||||
|
<text class="result-text">{{ testResult }}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
showLoading,
|
||||||
|
hideLoading,
|
||||||
|
forceHideLoading,
|
||||||
|
getLoadingStatus,
|
||||||
|
getLoadingConfig,
|
||||||
|
initGlobalLoadingManager,
|
||||||
|
AutoLoadingManager
|
||||||
|
} from '@/utils/request.js'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
testResult: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 测试导入
|
||||||
|
testImport() {
|
||||||
|
try {
|
||||||
|
this.testResult = '正在测试导入...'
|
||||||
|
|
||||||
|
// 测试所有导入的函数
|
||||||
|
const functions = {
|
||||||
|
showLoading: typeof showLoading,
|
||||||
|
hideLoading: typeof hideLoading,
|
||||||
|
forceHideLoading: typeof forceHideLoading,
|
||||||
|
getLoadingStatus: typeof getLoadingStatus,
|
||||||
|
getLoadingConfig: typeof getLoadingConfig,
|
||||||
|
initGlobalLoadingManager: typeof initGlobalLoadingManager,
|
||||||
|
AutoLoadingManager: typeof AutoLoadingManager
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('导入的函数类型:', functions)
|
||||||
|
|
||||||
|
// 检查是否都是函数
|
||||||
|
const allFunctions = Object.values(functions).every(type => type === 'function')
|
||||||
|
|
||||||
|
if (allFunctions) {
|
||||||
|
this.testResult = '✅ 所有导入成功!\n' + JSON.stringify(functions, null, 2)
|
||||||
|
} else {
|
||||||
|
this.testResult = '❌ 部分导入失败!\n' + JSON.stringify(functions, null, 2)
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
this.testResult = '❌ 导入测试失败: ' + error.message
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 测试Loading功能
|
||||||
|
testLoading() {
|
||||||
|
try {
|
||||||
|
this.testResult = '正在测试Loading功能...'
|
||||||
|
|
||||||
|
// 测试基础功能
|
||||||
|
showLoading('测试Loading...')
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
hideLoading()
|
||||||
|
|
||||||
|
// 检查状态
|
||||||
|
const status = getLoadingStatus()
|
||||||
|
const config = getLoadingConfig()
|
||||||
|
|
||||||
|
this.testResult = '✅ Loading功能测试成功!\n' +
|
||||||
|
'状态: ' + JSON.stringify(status, null, 2) + '\n' +
|
||||||
|
'配置: ' + JSON.stringify(config, null, 2)
|
||||||
|
}, 2000)
|
||||||
|
|
||||||
|
} catch (error) {
|
||||||
|
this.testResult = '❌ Loading功能测试失败: ' + error.message
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.import-test {
|
||||||
|
padding: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.test-section {
|
||||||
|
margin-bottom: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-title {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.description {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
display: block;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.test-btn {
|
||||||
|
margin: 20rpx 0;
|
||||||
|
padding: 20rpx;
|
||||||
|
background-color: #007aff;
|
||||||
|
color: white;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.result-section {
|
||||||
|
margin-top: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.result-text {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #666;
|
||||||
|
word-break: break-all;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
141
pages/test/loading-manager-test.vue
Normal file
141
pages/test/loading-manager-test.vue
Normal file
|
|
@ -0,0 +1,141 @@
|
||||||
|
<template>
|
||||||
|
<view class="loading-manager-test">
|
||||||
|
<view class="test-section">
|
||||||
|
<text class="section-title">Loading管理器测试</text>
|
||||||
|
<text class="description">测试抽离后的Loading管理器功能</text>
|
||||||
|
|
||||||
|
<button @click="testBasicLoading" class="test-btn">基础Loading测试</button>
|
||||||
|
<button @click="testConcurrentLoading" class="test-btn">并发请求测试</button>
|
||||||
|
<button @click="testCustomConfig" class="test-btn">自定义配置测试</button>
|
||||||
|
<button @click="testStatusMonitoring" class="test-btn">状态监控测试</button>
|
||||||
|
<button @click="testPageLoading" class="test-btn">页面Loading测试</button>
|
||||||
|
<button @click="testErrorHandling" class="test-btn">错误处理测试</button>
|
||||||
|
<button @click="testCompleteWorkflow" class="test-btn">完整流程测试</button>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="result-section">
|
||||||
|
<text class="section-title">测试结果</text>
|
||||||
|
<text class="result-text">{{ testResult }}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { loadingExamples } from '@/utils/loading-example.js'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
testResult: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 基础Loading测试
|
||||||
|
testBasicLoading() {
|
||||||
|
this.testResult = '正在测试基础Loading...'
|
||||||
|
loadingExamples.basicLoadingExample()
|
||||||
|
setTimeout(() => {
|
||||||
|
this.testResult = '基础Loading测试完成,请查看控制台'
|
||||||
|
}, 3000)
|
||||||
|
},
|
||||||
|
|
||||||
|
// 并发请求测试
|
||||||
|
testConcurrentLoading() {
|
||||||
|
this.testResult = '正在测试并发请求Loading...'
|
||||||
|
loadingExamples.concurrentLoadingExample()
|
||||||
|
setTimeout(() => {
|
||||||
|
this.testResult = '并发请求测试完成,请查看控制台'
|
||||||
|
}, 3000)
|
||||||
|
},
|
||||||
|
|
||||||
|
// 自定义配置测试
|
||||||
|
testCustomConfig() {
|
||||||
|
this.testResult = '正在测试自定义配置...'
|
||||||
|
loadingExamples.customConfigExample()
|
||||||
|
setTimeout(() => {
|
||||||
|
this.testResult = '自定义配置测试完成,请查看控制台'
|
||||||
|
}, 4000)
|
||||||
|
},
|
||||||
|
|
||||||
|
// 状态监控测试
|
||||||
|
testStatusMonitoring() {
|
||||||
|
this.testResult = '正在测试状态监控...'
|
||||||
|
loadingExamples.statusMonitoringExample()
|
||||||
|
setTimeout(() => {
|
||||||
|
this.testResult = '状态监控测试完成,请查看控制台'
|
||||||
|
}, 3000)
|
||||||
|
},
|
||||||
|
|
||||||
|
// 页面Loading测试
|
||||||
|
testPageLoading() {
|
||||||
|
this.testResult = '正在测试页面Loading...'
|
||||||
|
loadingExamples.pageLoadingExample()
|
||||||
|
setTimeout(() => {
|
||||||
|
this.testResult = '页面Loading测试完成,请查看控制台'
|
||||||
|
}, 4000)
|
||||||
|
},
|
||||||
|
|
||||||
|
// 错误处理测试
|
||||||
|
testErrorHandling() {
|
||||||
|
this.testResult = '正在测试错误处理...'
|
||||||
|
loadingExamples.errorHandlingExample()
|
||||||
|
setTimeout(() => {
|
||||||
|
this.testResult = '错误处理测试完成,请查看控制台'
|
||||||
|
}, 2000)
|
||||||
|
},
|
||||||
|
|
||||||
|
// 完整流程测试
|
||||||
|
testCompleteWorkflow() {
|
||||||
|
this.testResult = '正在测试完整流程...'
|
||||||
|
loadingExamples.completeWorkflowExample()
|
||||||
|
setTimeout(() => {
|
||||||
|
this.testResult = '完整流程测试完成,请查看控制台'
|
||||||
|
}, 4000)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.loading-manager-test {
|
||||||
|
padding: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.test-section {
|
||||||
|
margin-bottom: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-title {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.description {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
display: block;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.test-btn {
|
||||||
|
margin: 20rpx 0;
|
||||||
|
padding: 20rpx;
|
||||||
|
background-color: #007aff;
|
||||||
|
color: white;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.result-section {
|
||||||
|
margin-top: 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.result-text {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #666;
|
||||||
|
word-break: break-all;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -5,7 +5,13 @@ import {
|
||||||
hideLoading,
|
hideLoading,
|
||||||
forceHideLoading,
|
forceHideLoading,
|
||||||
initGlobalLoadingManager,
|
initGlobalLoadingManager,
|
||||||
config as loadingConfig
|
config as loadingConfig,
|
||||||
|
getLoadingStatus,
|
||||||
|
setLoadingConfig,
|
||||||
|
getLoadingConfig,
|
||||||
|
showLoadingWithDelay,
|
||||||
|
hideLoadingWithDelay,
|
||||||
|
AutoLoadingManager
|
||||||
} from './loading-manager.js'
|
} from './loading-manager.js'
|
||||||
|
|
||||||
// 环境配置
|
// 环境配置
|
||||||
|
|
@ -348,4 +354,27 @@ export function getToken() {
|
||||||
return uni.getStorageSync('token')
|
return uni.getStorageSync('token')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 导出loading相关函数,作为统一入口
|
||||||
|
export {
|
||||||
|
// 基础loading函数
|
||||||
|
showLoading,
|
||||||
|
hideLoading,
|
||||||
|
forceHideLoading,
|
||||||
|
|
||||||
|
// 高级loading函数
|
||||||
|
showLoadingWithDelay,
|
||||||
|
hideLoadingWithDelay,
|
||||||
|
|
||||||
|
// 状态和配置管理
|
||||||
|
getLoadingStatus,
|
||||||
|
setLoadingConfig,
|
||||||
|
getLoadingConfig,
|
||||||
|
|
||||||
|
// 全局初始化
|
||||||
|
initGlobalLoadingManager,
|
||||||
|
|
||||||
|
// 自动loading管理器类
|
||||||
|
AutoLoadingManager
|
||||||
|
}
|
||||||
|
|
||||||
// Loading管理相关函数已从loading-manager.js导入
|
// Loading管理相关函数已从loading-manager.js导入
|
||||||
Loading…
Reference in New Issue
Block a user