| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import { ref, onMounted, computed } from 'vue'
- import { customApi } from '@/service/custom'
- import Config from '@/config/index'
- const { Code } = Config
- import useUserStore from '@/stores/use-user-store'
- export function useAccountOptions() {
- const { loginOptions, saveLoginOptions } = useUserStore()
- // 响应式状态
- const isLoaded = ref(false) // 是否已完成请求(成功/失败都算完成)
- const isSuccess = ref(false) // 是否请求成功(成功才有数据)
- const loading = ref(false) // 补全缺失的 loading
- // 获取账户列表
- const getDateList = async () => {
- try {
- loading.value = true
- isLoaded.value = false
- isSuccess.value = false
- const res = await customApi.CustomDropdown({ platform: '' })
- if (res.code === Code.StatusOK) {
- if (res.data.length === 0) {
- saveLoginOptions([])
- return
- } else {
- const options = res.data?.map(item => ({
- ...item,
- value: item.login,
- text: item.login
- })) || []
- console.log(options, 1212);
- saveLoginOptions(options)
- }
- isSuccess.value = true // 标记成功
- } else {
- uni.showToast({
- title: res.msg || '获取账户失败',
- icon: 'none'
- })
- }
- } catch (err) {
- uni.showToast({
- title: err.msg || '网络异常,请重试',
- icon: 'none'
- })
- console.error('获取账户异常:', err)
- } finally {
- loading.value = false
- isLoaded.value = true // 无论如何都标记请求结束
- }
- }
- onMounted(() => {
- // 缓存没有 → 才请求
- getDateList()
- })
- return {
- loginOptions,
- isLoaded,
- isSuccess,
- loading,
- getDateList
- }
- }
|