Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fzm-ui

Package Overview
Dependencies
Maintainers
1
Versions
71
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fzm-ui

https://www.33.cn

  • 1.5.4
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3
decreased by-40%
Maintainers
1
Weekly downloads
 
Created
Source

fzm-ui

https://www.33.cn

安装

npm install --save fzm-ui fzm

使用

import Vue from 'vue'
import FzmUI from "fzm-ui"
Vue.use(FzmUI);

FzmLogReg组件需要传递以下个参数

参数说明类型是否必须
api存放所有登录注册相关的http接口方法的对象 详细请查看下面Object必须
platkey项目标记String必须
callback登录和注册成功之后的回调方法 详细请查看下面Function必须
open是否显示登录注册弹框,一般情况下这个属性是一个sync属性,所以请在open后面加上.syncBoolean必须
icon图标地址,不传递则没有图标,传入'default'则为默认图标(目前是找币的图标,以后会修改成33.cn的logo)String非必须
maxsec验证码倒计时最大秒数,不传则为60秒Number非必须
sty风格 可选值'absolute' 'relative' 'auto',不填为fixed风格,并wrap宽高均为100%,设置为'auto'则宽高均为autoString非必须
invite邀请码String非必须
context向登录注册传递的上下文钩子Function非必须
modePC模式还是手机模式 默认是'win',如需使用手机版,传入'mb'String非必须
notify提示框回调 在此对象中定义success、warn两个方法,方法接收参数messageObject必须

假如需要在 a.vue 中使用fzm-ui中的登录注册组件FzmLogReg

<template lang="html">
  <div>
    这里是登录注册的例子
    <FzmLogReg :api="api" :platkey="'zhaobi'" :callback="cb" :open.sync="open" :icon="'default'"></FzmLogReg>
  </div>
</template>

<script>
import api from './api.js'
export default {
  data(){
    return {
      api,
      cb(type,res){
        console.log(type,res);
      },
      open:true
    }
  }
}
</script>

附录./api.js

import {restfuls} from 'fzm';
const api = {
  getRegisterState(params){ //判断是否已注册。注意!get方式的请求params外面需要包裹一个大括号
    return restfuls.get(注册的接口地址,{ params });
  },
  getCodeBySms(params){ //获取短信验证码 post参数不需要加大括号
    return restfuls.post(获取短信验证码的接口地址,params);
  },
  getCodeByEmail(params){ //获取邮箱验证码
    return restfuls.post(获取邮箱验证码的接口地址,params);
  },
  getCodeByVoice(params){ //获取语音验证码
    return restfuls.post(获取语音验证码的接口地址,params);
  },
  register(params){ //快速注册
    return restfuls.post(快速注册的接口地址,params);
  },
  login(params){ //快速登录
    return restfuls.post(快速登录的接口地址,params);
  },
  setPassword(params){ //第一次设置密码
    return restfuls.post(第一次设置密码的接口地址,params);
  },
  resetPassword(params){ //找回密码
    return restfuls.post(找回密码的接口地址,params);
  },
  isCaptcha(params){ //获取图形验证码
    return restfuls.get(获取图形验证码接口地址, {params});
  }
}

附录callback

callback会得到两个参数: 第一个参数是回调类型,目前有两个值提供'login' 、 'register' 第二个参数是调用登录接口后返回的结果

export default {
  data(){
    return {
      api,
      cb(type,res){
        switch(type){
          case 'login':console.log(`登录成功,登录接口返回的信息是${res}`);break;
          case 'register':console.log(`注册成功,注册接口返回的信息是${res}`);break;
        }
      }
    }
  }
}

记住密码

点击记住密码会生成一个包含用户登录信息的cookie,cookie名为userinfo,有效时间为10天,值为一个json字符串

{
  "area":{
    "code":"+86",
    "name":"中国"
  },
  "mobile":{
    "type":"sms",
    "number":"15888888888",
    "password":"88888888"
  },
  "email":{
    "number":"88888888@163.com",
    "password":"88888888"
  }
}

可以使用JSON.parse可以解析出该用户信息,然后进行操作

自定义样式配置 如果你需要自定义样式,请直接编写自己的css样式覆盖默认样式 .fzm-logreg-wrap{ //略 } .fzm-logreg-win{ //略 }

功能完成情况

  • 手机邮箱切换
  • 手机验证码注册
  • 手机验证码登录
  • 邮箱验证码注册
  • 邮箱验证码登录
  • 手机设置密码
  • 手机密码登录
  • 手机找回密码
  • 邮箱设置密码
  • 邮箱密码登录
  • 记住密码
  • 邮箱找回密码
  • icon选择性添加
  • 登录防刷验证码
  • 验证码数秒倒计时
  • 密码登录验证码

发现BUG

  • 记住密码在切换手机和邮箱的时候,如果实现已经有密码了,不会执行判断是否注册的步骤
  • 有时候腾讯云的验证不出现
  • 多次发送验证码之后,进行注册,后台以第一次发送的验证码为正确的验证码,而不是以最后一次发送的验证码为验证码
  • 腾讯云验证码在加载之后虽然进行capDestory操作,但是在html中仍然保留了创建的script(老版本也存在该问题)

FAQs

Package last updated on 09 Nov 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc