zoukankan      html  css  js  c++  java
  • 保存读取账户密码

    (function (global,doc) {
      /*
    account:账户【dom => input】
    password:密码【dom => input】
    iStorage:记住【dom => input】
    setRun:1||2||3:存|取|忘 【存和取都是记住状态,删一定是false】
    queryState:fn 查询
    remove: fn 删除
    add: 添加
    update: 更新密码
    init: 初始化
    */
      const vf = function (dataPack) {
        //0.入参
        this.opt = Object.assign({},dataPack);
        const Account = this.opt.account;
        const Password = this.opt.password;
        const iStorage = this.opt.iStorage;
        //1.查询
        this.queryState = function () {
          const user = JSON.parse(localStorage.getItem("QSLOGINLIST2018")) || false;
          if (user) {
            return user;
          }else {
            return false;
          }
        };
        //2.添加
        this.add = function (user,password,iStorage) {
          const _this = this;
          let dataArr = JSON.parse(localStorage.getItem('QSLOGINLIST2018'));
          if (dataArr) {
            const index = dataArr.findIndex(item => item.account === user);
            if (index === -1){
              dataArr.unshift({
                account:user,
                password:password,
                iStorage:iStorage
              });
              localStorage.setItem("QSLOGINLIST2018",JSON.stringify(dataArr));
            }else {
              _this.update(dataArr,index,password,iStorage);
            }
          }else {
            localStorage.setItem('QSLOGINLIST2018',JSON.stringify([
              {
                account:user,
                password:password,
                iStorage:iStorage
              }
            ]));
          }
    
        };
        //3.更新
        this.update = function (dataArr,index,pwd,iStorage) {
          const dataItem = dataArr[index];
          dataItem.password = pwd;
          dataItem.iStorage = iStorage;
          dataArr.splice(index,1);
          dataArr.unshift(dataItem);
          localStorage.setItem("QSLOGINLIST2018",JSON.stringify(dataArr));
        };
        //4.删除
        this.remove = function (dataArr,user,iStorage) {
          const index = dataArr.findIndex(item => item.account === user);
          if (index !== -1){
            dataArr[index].password = '';
            dataArr[index].iStorage = iStorage;
            localStorage.setItem("QSLOGINLIST2018",JSON.stringify(dataArr));
          }
        };
        //5.初始
        this.init = function () {
          const _this = this;
          switch (_this.opt.setRun ){
            //存|取|删//
            case 1:
              const user = Account.val();
              const pwd = Password.val();
              user !=='' && pwd !==''?
                _this.add(user,pwd,iStorage):alert("账户密码不许为空!");
              break;
            case 2:
              const data = _this.queryState();
              if (data !== false) {
                Account.val(data[0].account);
                Password.val(data[0].password);
                iStorage.prop('checked',data[0].iStorage);
                Account.on("keyup",{data:data},_this.switch);
              }else {
                return console.warn("没有存储任何数据")
              }
              break;
            case 3:
              const data_ = _this.queryState();
              if (data_ !== false) {
                if (Account.val() !== '' && Password.val() !== ''){
                  _this.remove(data_,Account.val(),iStorage);
                }   else {
                  return  alert("账户密码不许为空!");
                }
              }
              break;
          }
        };
        //6.切换用户
        this.switch = function (e) {
          const dataForm = e.data.data;
          const query = function (d) {
            Password.val('');
            const index = dataForm.findIndex(item => item.account === d);
            index !== -1 ? Password.val(dataForm[index].password):'';
          };
          query(this.value);
        };
        //自初始
        this.init();
        return this;
      };
      //兼容CommonJs规范
      if (typeof module !== 'undefined' && module.exports) {
        module.exports = FormTest;
      }
      //兼容AMD/CMD规范
      if (typeof define === 'function') define(function () {
        return vf;
      });
      doc.addEventListener('drop', function(e) {
        e.stopPropagation();
        e.preventDefault();
      }, false);
      //注册全局变量,兼容直接使用script标签引入插件
      global.FormTest = vf;
    })(window,document);
    

      

  • 相关阅读:
    OO第四单元总结
    OO第三单元总结
    OO第二单元总结
    OO第一单元总结
    面向对象第四单元总结
    面向对象第三单元总结
    面向对象第二单元的总结
    操作系统lab3实验总结
    操作系统lab2实验总结——Part2
    操作系统lab2实验总结——Part1
  • 原文地址:https://www.cnblogs.com/webSong/p/9316408.html
Copyright © 2011-2022 走看看