当前位置: 首页 > wzjs >正文

天津做网站营销神器

天津做网站,营销神器,做视频好用的素材网站,邯郸房产网最新楼盘一、背景 本文是RuoYi前后端分离框架集成手机短信验证码(一)之后端篇文章配套的,主要介绍前端的修改点,两篇文章结合可以完整的完成RuoYi前后端分离框架对手机短信验证码的集成,前端集成主要就两部分,一部分是js的修改,一部分是界面的修改,话不多说直接开整。 二、前…

一、背景

本文是RuoYi前后端分离框架集成手机短信验证码(一)之后端篇文章配套的,主要介绍前端的修改点,两篇文章结合可以完整的完成RuoYi前后端分离框架对手机短信验证码的集成,前端集成主要就两部分,一部分是js的修改,一部分是界面的修改,话不多说直接开整。

二、前端登录集成

  • 1.修改src/api/login.js,提供sms方法,代码如下

    import request from '@/utils/request'// 登录方法
    export function login(username, password, code, uuid) {const data = {username,password,code,uuid}return request({url: '/login',headers: {isToken: false,repeatSubmit: false},method: 'post',data: data})
    }// 注册方法
    export function register(data) {return request({url: '/register',headers: {isToken: false},method: 'post',data: data})
    }// 获取用户详细信息
    export function getInfo() {return request({url: '/getInfo',method: 'get'})
    }// 退出方法
    export function logout() {return request({url: '/logout',method: 'post'})
    }// 获取验证码
    export function getCodeImg() {return request({url: '/captchaImage',headers: {isToken: false},method: 'get',timeout: 20000})
    }// 验证码登录方法
    export function loginBySms(phonenumber, code) {const data = {phonenumber,code}return request({url: '/sms/login',headers: {isToken: false,repeatSubmit: false},method: 'post',data: data})
    }// 发送手机验证码方法
    export function sendBySms(phonenumber) {return request({url: '/sms/send',headers: {isToken: false,},method: 'post',data: phonenumber})
    }
    

  • 2.修改src/store/modules/user.js,提供LoginByPhone,代码如下

    import { getInfo, login, loginBySms, logout } from '@/api/login'
    import { getToken, removeToken, setToken } from '@/utils/auth'
    import { isEmpty, isHttp } from '@/utils/validate'
    import defAva from '@/assets/images/profile.jpg'
    import {sm4Decrypt} from '@/utils/sm4.js'const user = {state: {token: getToken(),id: '',name: '',nickName: '',avatar: '',roles: [],permissions: []},mutations: {SET_TOKEN: (state, token) => {state.token = token},SET_ID: (state, id) => {state.id = id},SET_NAME: (state, name) => {state.name = name},SET_NICK_NAME: (state, nickName) => {state.nickName = nickName},SET_AVATAR: (state, avatar) => {state.avatar = avatar},SET_ROLES: (state, roles) => {state.roles = roles},SET_PERMISSIONS: (state, permissions) => {state.permissions = permissions}},actions: {// 手机验证码登录LoginByPhone({ commit }, userInfo) {const phonenumber = userInfo.phonenumber.trim()const code = userInfo.codereturn new Promise((resolve, reject) => {loginBySms(phonenumber, code).then(res => {setToken(res.token)// this.token = res.tokencommit('SET_TOKEN', res.token)resolve()}).catch(error => {reject(error)})})},// 登录Login({ commit }, userInfo) {const username = userInfo.username.trim()const password = userInfo.passwordconst code = userInfo.codeconst uuid = userInfo.uuidreturn new Promise((resolve, reject) => {login(username, password, code, uuid).then(res => {setToken(res.token)commit('SET_TOKEN', res.token)resolve()}).catch(error => {reject(error)})})},// 获取用户信息GetInfo({ commit, state }) {return new Promise((resolve, reject) => {getInfo().then(res => {res.user.phonenumber = sm4Decrypt(res.user.phonenumber)const user = res.userlet avatar = user.avatar || ''if (!isHttp(avatar)) {avatar = (isEmpty(avatar)) ? defAva : process.env.VUE_APP_BASE_API + avatar}if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组commit('SET_ROLES', res.roles)commit('SET_PERMISSIONS', res.permissions)} else {commit('SET_ROLES', ['ROLE_DEFAULT'])}commit('SET_ID', user.userId)commit('SET_NAME', user.userName)commit('SET_NICK_NAME', user.nickName)commit('SET_AVATAR', avatar)resolve(res)}).catch(error => {reject(error)})})},// 退出系统LogOut({ commit, state }) {return new Promise((resolve, reject) => {logout(state.token).then(() => {commit('SET_TOKEN', '')commit('SET_ROLES', [])commit('SET_PERMISSIONS', [])removeToken()resolve()}).catch(error => {reject(error)})})},// 前端 登出FedLogOut({ commit }) {return new Promise(resolve => {commit('SET_TOKEN', '')removeToken()resolve()})}}
    }export default user
    
  • 3.修改src/views/login.vue,提供短信验证码登录选项,代码如下

    <template><div class="login"><el-tabs v-model="loginMode" class="loginModetabs"><el-tab-pane label="密码登录" name="userAndPassWord"><el-form ref="accountLoginRef" :model="loginForm" :rules="loginRules" class="login-form"><h3 class="title">{{ title }}</h3><el-form-item prop="username"><el-inputv-model="loginForm.username"t
http://www.dtcms.com/wzjs/77135.html

相关文章:

  • 阜康网站建设2022年最好用的搜索引擎
  • 免费网站空间 推荐接广告的平台
  • 深圳市住房建设与保障局官方网站百度服务中心人工客服
  • 南通学校网站建设推广方案模板
  • 苏州知名网站制作公司朔州网站seo
  • ui网站开发报价抖音引流推广免费软件app
  • 西安建设学院网站首页中国搜索引擎市场份额
  • 做网站能创业吗seo服务加盟
  • 台州网站建设网站推广2022黄页全国各行业
  • 做网站的广告语公众号软文范例100
  • 网站开发流程原理济南网站优化排名
  • 上海网站建设服务公司网页设计制作网站
  • 商标查询天眼查杭州网站优化企业
  • 南山做网站方案网站排名优化怎样做
  • 地产项目网站凡科建站下载
  • wordpress多站点demo新手小白怎么学做运营
  • 淮南网备查询百度竞价关键词怎么优化
  • php做的网站后台惠州网站营销推广
  • 作文网站网址大全百度网页版
  • 那些开店的网站是自己做的吗东莞网站制作外包
  • 如何在百度建立自己的网站今天刚刚发生的新闻台湾新闻
  • 菏泽去哪了做网站qq营销
  • 美国成年做爰网站网络营销方法有什么
  • 做网站商标分类做网页多少钱一个页面
  • 宝安区建设交易网站搜狗网站收录提交入口
  • 做推广用那个网站引擎seo如何优化
  • 苏州建设信息网站哪些浏览器可以看禁止访问的网站
  • 哪个网站的图片专门做详情页的游戏搬砖工作室加盟平台
  • 做网站必须要备案吗百度推广的广告靠谱吗
  • 网站开发背景和意义seo舆情优化