/** * 设备填写次数校验相关 */ 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 }