doum
2026-06-18 93de43267e1663031fe5dc2f5ae40d128a182a76
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/**
 * H5 登录验证码:先校验手机号,成功后再倒计时
 * @param {Object} vm 页面实例(含 downTime)
 * @param {string} phone 手机号
 * @param {Function} sendApi 发送接口
 * @param {Object} [payload] 请求体,默认 { phone }
 */
export function requestLoginSmsCode (vm, phone, sendApi, payload) {
  if (!phone) {
    uni.showToast({ title: '请输入手机号', icon: 'none' })
    return
  }
  const data = payload || { phone }
  if (!data.phone) {
    data.phone = phone
  }
  sendApi(data).then(res => {
    if (res.code !== 200) {
      // service.js 已对非 200 弹 toast,此处仅阻止倒计时
      return
    }
    uni.showToast({ title: '已发送', icon: 'none' })
    vm.downTime = 60
    const timer = setInterval(() => {
      if (vm.downTime <= 0) {
        clearInterval(timer)
        return
      }
      vm.downTime--
    }, 1000)
  })
}