| 
					
				 | 
			
			
				@@ -1,212 +1,216 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import $store from '@/sheep/store'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import $helper from '@/sheep/helper'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import dayjs from 'dayjs'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { ref,computed } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import test from '@/sheep/helper/test.js'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import AuthUtil from '@/sheep/api/member/auth'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import sheep from '@/sheep'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import SignInApi from '@/sheep/api/member/signin'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let time = 30; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let timer = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-async function onSign() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  console.log("onSign") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    code, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } = await SignInApi.createSignInRecord(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (code === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    showSignUpModal(data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (timer) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      clearInterval(timer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    uni.setStorageSync('isRun', false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    uni.setStorageSync('isSign', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 每日重置签到状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export function resetSignStatusIfNeeded() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const today = new Date().toISOString().slice(0, 10);  // 获取当前日期,格式为 YYYY-MM-DD 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const lastCheckDate = uni.getStorageSync('lastCheckDate'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (today !== lastCheckDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 如果跨天了,重置 isSign 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    uni.setStorageSync('isSign', false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    uni.setStorageSync('lastCheckDate', today);  // 更新最后检查的日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 自动签到 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export function autoSign(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  resetSignStatusIfNeeded(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const isLogin = computed(() => sheep.$store('user').isLogin); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // 如果登录了才开始倒计时 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (isLogin.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 倒计时是否在进行 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    uni.setStorageSync('isRun', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (uni.getStorageSync('isRun')&& !uni.getStorageSync('isSign')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      console.log('开始倒计时') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 开始一个新的定时器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      timer = setInterval(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        time--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        console.log("time", time); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (time <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          clearInterval(timer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          onSign(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 1000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 取消自动签到 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export function cancelAutoSign() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  console.log("取消") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (timer) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    clearInterval(timer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  time = 30; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  uni.setStorageSync('isRun', false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 打开签到弹框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export function showSignUpModal(obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $store('modal').$patch((state) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.signUp = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.signUpInfo = obj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 关闭签到弹框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export function colseSignUpModal() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $store('modal').$patch((state) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.signUp = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 打开授权弹框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export function showAuthModal(type = 'smsLogin',isActive = 'smsLogin') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const modal = $store('modal'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (modal.auth !== '') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    closeAuthModal(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      modal.$patch((state) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        state.auth = type; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    state.isActive = isActive; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    modal.$patch((state) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      state.auth = type; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    state.isActive = isActive; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 关闭授权弹框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export function closeAuthModal() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $store('modal').$patch((state) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.auth = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 打开分享弹框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export function showShareModal() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$store('modal').$patch((state) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.share = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 关闭分享弹框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export function closeShareModal() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $store('modal').$patch((state) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.share = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 打开快捷菜单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export function showMenuTools() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $store('modal').$patch((state) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.menu = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 关闭快捷菜单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export function closeMenuTools() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $store('modal').$patch((state) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.menu = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 发送短信验证码  60秒 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export function getSmsCode(event, mobile) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const modalStore = $store('modal'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const lastSendTimer = modalStore.lastTimer[event]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (typeof lastSendTimer === 'undefined') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $helper.toast('短信发送事件错误'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const duration = dayjs().unix() - lastSendTimer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const canSend = duration >= 60; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (!canSend) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $helper.toast('请稍后再试'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // 只有 mobile 非空时才校验。因为部分场景(修改密码),不需要输入手机 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (mobile && !test.mobile(mobile)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $helper.toast('手机号码格式不正确'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // 发送验证码 + 更新上次发送验证码时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  let scene = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  switch (event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    case 'resetPassword': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      scene = 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    case 'changePassword': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      scene = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    case 'changeMobile': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      scene = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    case 'smsLogin': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      scene = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  AuthUtil.sendSmsCode(mobile, scene).then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (res.code === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      modalStore.$patch((state) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        state.lastTimer[event] = dayjs().unix(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 获取短信验证码倒计时 -- 60秒 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export function getSmsTimer(event, mobile = '') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const modalStore = $store('modal'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const lastSendTimer = modalStore.lastTimer[event]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (typeof lastSendTimer === 'undefined') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $helper.toast('短信发送事件错误'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const duration = ref(dayjs().unix() - lastSendTimer - 60); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const canSend = duration.value >= 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (canSend) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return '获取验证码'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (!canSend) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      duration.value++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 1000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return -duration.value.toString() + ' 秒'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 记录广告弹框历史 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export function saveAdvHistory(adv) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const modal = $store('modal'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  modal.$patch((state) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (!state.advHistory.includes(adv.imgUrl)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      state.advHistory.push(adv.imgUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import $store from '@/sheep/store';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import $helper from '@/sheep/helper';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import dayjs from 'dayjs';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ref,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	computed
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} from 'vue';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import test from '@/sheep/helper/test.js';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import AuthUtil from '@/sheep/api/member/auth';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import sheep from '@/sheep';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import SignInApi from '@/sheep/api/member/signin';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let time = 30;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let timer = null;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 登录
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+async function onSign() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	console.log("onSign")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		code,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		data
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} = await SignInApi.createSignInRecord();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (code === 0) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		showSignUpModal(data)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (timer) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		clearInterval(timer);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	uni.setStorageSync('isRun', false);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	uni.setStorageSync('isSign', true);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 每日重置签到状态
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export function resetSignStatusIfNeeded() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const today = new Date().toISOString().slice(0, 10); // 获取当前日期,格式为 YYYY-MM-DD
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const lastCheckDate = uni.getStorageSync('lastCheckDate');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (today !== lastCheckDate) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 如果跨天了,重置 isSign
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		uni.setStorageSync('isSign', false);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		uni.setStorageSync('lastCheckDate', today); // 更新最后检查的日期
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 自动签到
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export function autoSign() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	resetSignStatusIfNeeded();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const isLogin = computed(() => sheep.$store('user').isLogin);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// 如果登录了才开始倒计时
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (isLogin.value) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 倒计时是否在进行
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		uni.setStorageSync('isRun', true);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (uni.getStorageSync('isRun') && !uni.getStorageSync('isSign')) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			console.log('开始倒计时')
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// 开始一个新的定时器
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			timer = setInterval(() => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				time--;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				console.log("time", time);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if (time <= 0) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					clearInterval(timer);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					onSign();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}, 1000);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 取消自动签到
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export function cancelAutoSign() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	console.log("取消")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (timer) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		clearInterval(timer);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	time = 30;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	uni.setStorageSync('isRun', false);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 打开签到弹框
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export function showSignUpModal(obj) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$store('modal').$patch((state) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		state.signUp = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		state.signUpInfo = obj;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 关闭签到弹框
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export function colseSignUpModal() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$store('modal').$patch((state) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		state.signUp = false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 打开授权弹框
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export function showAuthModal(type = 'smsLogin', isActive = 'smsLogin') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const modal = $store('modal');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (modal.auth !== '') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		closeAuthModal();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		setTimeout(() => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			modal.$patch((state) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				state.auth = type;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				state.isActive = isActive;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 100);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		modal.$patch((state) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			state.auth = type;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			state.isActive = isActive;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 关闭授权弹框
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export function closeAuthModal() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$store('modal').$patch((state) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		state.auth = '';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 打开分享弹框
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export function showShareModal() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$store('modal').$patch((state) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		state.share = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 关闭分享弹框
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export function closeShareModal() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$store('modal').$patch((state) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		state.share = false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 打开快捷菜单
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export function showMenuTools() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$store('modal').$patch((state) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		state.menu = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 关闭快捷菜单
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export function closeMenuTools() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$store('modal').$patch((state) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		state.menu = false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 发送短信验证码  60秒
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export function getSmsCode(event, mobile) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const modalStore = $store('modal');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const lastSendTimer = modalStore.lastTimer[event];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (typeof lastSendTimer === 'undefined') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$helper.toast('短信发送事件错误');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const duration = dayjs().unix() - lastSendTimer;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const canSend = duration >= 60;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (!canSend) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$helper.toast('请稍后再试');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// 只有 mobile 非空时才校验。因为部分场景(修改密码),不需要输入手机
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (mobile && !test.mobile(mobile)) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$helper.toast('手机号码格式不正确');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// 发送验证码 + 更新上次发送验证码时间
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	let scene = -1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	switch (event) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		case 'resetPassword':
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			scene = 4;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		case 'changePassword':
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			scene = 3;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		case 'changeMobile':
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			scene = 2;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		case 'smsLogin':
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			scene = 1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	AuthUtil.sendSmsCode(mobile, scene).then((res) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (res.code === 0) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			modalStore.$patch((state) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				state.lastTimer[event] = dayjs().unix();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 获取短信验证码倒计时 -- 60秒
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export function getSmsTimer(event, mobile = '') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const modalStore = $store('modal');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const lastSendTimer = modalStore.lastTimer[event];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (typeof lastSendTimer === 'undefined') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$helper.toast('短信发送事件错误');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const duration = ref(dayjs().unix() - lastSendTimer - 60);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const canSend = duration.value >= 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (canSend) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return '获取验证码';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (!canSend) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		setTimeout(() => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			duration.value++;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 1000);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return -duration.value.toString() + ' 秒';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 记录广告弹框历史
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export function saveAdvHistory(adv) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	const modal = $store('modal');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	modal.$patch((state) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (!state.advHistory.includes(adv.imgUrl)) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			state.advHistory.push(adv.imgUrl);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |