qx
3 天以前 76af820e2e11366b322705b51c351ace3d40608a
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/**
 * 设备填写次数校验相关
 */
import Cookies from 'js-cookie'
 
const preKey = 'deviceWriteCount_'
 
/**
 * 保存填写次数 如果没有则创建 有则—+1
 * @param formKey 表单Id
 */
export function saveWriteCount(formKey) {
  try {
    let writeCount = getWriteCount(formKey)
    if (writeCount) {
      writeCount = parseInt(writeCount) + 1
      setWriteCount(formKey, writeCount)
    } else {
      setWriteCount(formKey, 1)
    }
  } catch (e) {
    console.log(e)
  }
}
 
/**
 * 检查次数是否达到上限
 *
 */
export function checkWriteCountCap(formKey, totalCount) {
  const count = getWriteCount(formKey, totalCount)
  return count >= totalCount
}
 
/**
 * 保存
 */
function setWriteCount(formKey, writeCount = 1) {
  if (isSupportLocalStore()) {
    return localStorage.setItem(preKey + formKey, writeCount)
  } else {
    return Cookies.set(preKey + formKey, writeCount)
  }
}
 
/**
 * 从存储获取填写次数 检查浏览器是否支持localstore 不支持则cookie
 */
function getWriteCount(formKey) {
  // js 判断流量 是否支持localStorage
  if (isSupportLocalStore()) {
    return localStorage.getItem(preKey + formKey)
  } else {
    return Cookies.get(preKey + formKey)
  }
}
 
/**
 * 是否支持LocalStore
 */
function isSupportLocalStore() {
  return window.Storage && window.localStorage && window.localStorage instanceof Storage
}