手机验证码登录,账号登录结合

本项目基于腾讯外包框架(wei框架)
地址:https://github.com/twinh/wei/tree/master/docs/zh-CN#wei

HTML页面:
【基于bootstrap前端框架】

头部:
<ul id="js-reset-tabs" class="nav tab-underline border-bottom"><li class="active border-primary"><a class="text-active-primary" href="#tab-mobile" data-toggle="tab">账号登录</a></li><li class="border-primary"><a class="text-active-primary" href="#tab-email" data-toggle="tab">手机登录</a></li></ul>

下方两个div模块:

<div class="tab-content"><div class="tab-pane fade in active" id="tab-user"><form class="form" method="post" id="reset-password-form-by-user" action="<?= $url('users/login') ?>"><div class="form-group"><label for="email">帐号</label><input name="username" type="text" value="<?= $e->attr($req['username']) ?>" class="form-control"placeholder="用户名/邮箱" required/></div><div class="form-group"><label for="password">密码</label><input type="password" class="form-control" id="password" name="password" placeholder="请输入密码"data-rule-required="true"></div><?php if (wei()->setting('user.enableLoginCaptcha')) : ?><div class="form-group"><label for="captcha">验证码</label><div class="input-group"><input type="text" class="form-control" id="captcha" name="captcha" placeholder="请输入验证码"data-rule-required="true"><span class="input-group-addon p-a-0"><img class="js-captcha" src="<?= $url('captcha') ?>"></span></div></div><?php endif ?><div class="form-group"><div class="error-message text-danger text-center"><?= $e($req['message']) ?></div></div><div class="form-group"><div class="text-primary"><a href="<?= $url('registration/forget') ?>">忘记密码</a><a style="float:right;" href="<?= $url('registration/editInsurance') ?>">食品安全责任险</a></div></div><div class="clearfix form-group m-t-md" style="margin-top: 1%!important;"><button type="submit" class="btn btn-primary btn-block">账号登录</button><div id="phone-prompt" align="center" class="phone-prompt" style="color: red;width:100%;font-size:1em!important;" > 为了您更好的使用体验,请在电脑端登录:su1010.cn</div><?php if ($setting('admin.enableRegister')) : ?><div class="m-t text-center" style="margin-top: 1% !important;">没有账号,点击<a href="<?= $url('registration/register') ?>">注册</a></div><?php endif ?></div></form></div><div class="tab-pane fade in" id="tab-mobile"><form class="form" method="post" id="reset-password-form-by-mobile"><div class="form-group"><label for="mobile" class="control-label">手机号码<span class="text-warning">*</span></label><div class="col-control"><input type="tel" class="js-mobile form-control" id="mobile" name="mobile" placeholder="请输入注册手机号码"></div></div><div class="form-group" id="get-verify-code-group"><label for="verify-code" class="control-label">验证码<span class="text-warning">*</span></label><div class="col-control"><div class="input-group"><input type="tel" class="form-control" id="verify-code" name="verifyCode" placeholder="请输入验证码"><span class="input-group-btn border-left"><button type="button" class="js-verify-code-send text-primary btn btn-default form-link"id="get-verify-code">获取验证码</button></span></div></div></div><div class="form-group"><div class="text-primary"><a href="<?= $url('registration/forget') ?>">忘记密码</a><a style="float:right;" href="<?= $url('registration/editInsurance') ?>">食品安全责任险</a></div></div><div class="clearfix form-group m-t-md" style="margin-top: 1%!important;"><button type="submit" class="btn btn-primary btn-block">手机登录</button><div id="phone-prompt" align="center" class="phone-prompt" style="color: red;width:100%;font-size:1em!important;" > 为了您更好的使用体验,请在电脑端登录:su1010.cn</div><?php if ($setting('admin.enableRegister')) : ?><div class="m-t text-center" style="margin-top: 1% !important;">没有账号,点击<a href="<?= $url('registration/register') ?>">注册</a></div><?php endif ?></div></form>![这里写图片描述](https://img-blog.csdn.net/20170728132842011?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM4MzAwOTY5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)</div>
</div>

看到的效果:(可以直接复制粘贴滴)

1.
账号登录
2.
手机登录模块

这是HTML写出来的效果了,但是!!!
肯定没有那么简单的,如果要有这两个效果,得引入bootstrap文件了!
关于bootstrap的学习:李炎恢:http://study.163.com/course/courseLearn.htm?courseId=947005#/learn/video?lessonId=1122161&courseId=947005

引入:
bootstrap.min.css
jasny-bootstrap.min.css
bootstrap.min.js
jasny-bootstrap.min.js
jquery.min.js

js部分:

以我的实际项目出发:
关键引入: ‘plugins/verify-code/js/verify-code’ 【短信接口】

提交账号登录部分(不做详解)

var $form = $('#reset-password-form-by-user');$form.ajaxForm({dataType: 'json',beforeSubmit: function (arr, $form) {return $form.valid();},success: function (ret) {if (ret.code === 1) {window.location = ($.req('next') === '' ? $.url('admin') : $.req('next'));} else {$('.error-message').html(ret.message);if (typeof $captcha != 'undefined') {$captcha.attr('src', src + '?t=' + new Date());}}}}).validate();$form.find('input').keyup(function (e) {if (e.which === ENTER_KEY) {return;}$('.error-message').html('');});<?php if (wei()->setting('user.enableLoginCaptcha')) : ?>var $captcha = $('.js-captcha');$captcha.click(changeCaptcha);var src = $captcha.attr('src');function changeCaptcha() {$captcha.attr('src', src + '?t=' + new Date());}<?php endif ?>

手机登录js部分:
直接绑定放松验证码部分,进行调用模块:

      $('.js-verify-code-send').verifyCode({url: '<?= $url->query('users/send-verify-code') ?>'});

users下的send-verify-code模块:

/*** 获取验证码*/public function sendVerifyCodeAction($req){if (!$req['mobile']) {return $this->err('请输入手机号码');}if(!wei()->isMobileCn($req['mobile'])){return $this->err('请输入合法的手机号码');}//数据库去查找这个手机号码是否存在,进行判断,值不值得去发送验证码这一环节$user = wei()->user()->find(['mobile' => $req['mobile']]);if (!$user) {return $this->err('该手机号码尚未注册,请重新输入');}//调用短信插件verifyCode中的send方法$ret = wei()->verifyCode->send($req['mobile']);//返回出相应的数据return $this->ret($ret);}

关于整个verifyCode模块的模板:
百度云盘中显示:
完整的模板(login->users->curuser->index)
http://pan.baidu.com/s/1kUO39I3

进行判断登录页面:

public function loginByMobile(User $user){$this->loadRecordData($user);$this->session['mobile'] = $user->toArray($this->sessionFields);$this->session['user'] = $user->toArray($this->sessionFields);wei()->event->trigger('userLogin', [$user]);return ['code' => 1, 'message' => '登录成功'];}

完工!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/38931.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机号验证登录用例

手机号验证登录 1.手机号验证登录是我们现在比较常见的登录方式&#xff0c;下面分享一下基本的用例的编写。能帮助您是我的荣幸&#xff0c;不喜勿喷&#xff0c;谢谢&#xff01;

手机号验证码登录

登录入口 1.app 正常登录入口 2.app 网页登录&#xff0c;比如分享直播卡片时&#xff0c;进入直播间需要先进行登录 3.pc 登录 一&#xff0c;app常见的登录方式 1.手机号验证码登录 2.用户名密码登录 3.一键登录 二&#xff0c;手机验证码登录示意图 三&#xff0c;流…

chatgpt赋能python:Python代码的快捷键:让编程速度更加快速高效

Python代码的快捷键&#xff1a;让编程速度更加快速高效 Python是一种面向对象、直译式计算机程序设计语言&#xff0c;备受程序员喜爱。虽然Python本身已经趋于简洁易读&#xff0c;但使用Python代码编辑器的快捷键可以进一步提高编程效率&#xff0c;帮助合理利用时间。 为…

chatgpt赋能python:Python实现滚动小球

Python实现滚动小球 Python是一种高级编程语言&#xff0c;可以用于开发各种类型的应用程序。在此我们将介绍如何使用Python编写代码实现滚动小球。这个小球会在屏幕上滚动&#xff0c;给用户一个视觉效果。 实现滚动小球的Python代码 import pygameBLACK (0, 0, 0) WHITE …

流浪地球2的科学幻想与现实中的未来计算机科技

作为一个科幻迷、《三体》迷&#xff0c;从小时候第一次看《珊瑚岛上的死光》开始&#xff0c;一直期待一部国产科幻电影。等待了40余年&#xff0c;有生之年终于如愿以偿。 周末二刷了《流浪地球2》。丁老师认为这部科幻电影已经超越了1&#xff0c;以及原著&#xff0c;成为…

还在为投稿发愁吗?ICCVIT 2023,一个计算机、视觉与智能技术国际会议

◆ChatGPT热潮带来的行业革新大行其道&#xff0c;相关区块链、信息安全、视觉、机器学习....产业必将带来诸多变革。 本文为大家梳理了近期可投的4则EI检索的国际会议&#xff0c;均可推荐发表SCI&#xff0c;还有超多IEEE Fellow主讲&#xff0c;不仅涵盖计算机各个学科方向&…

不刷卡,不扫码,微信推出刷掌支付;Meta将再裁员6000人;AI“黑箱”被打开?谷歌找到大模型能力涌现机制|极客头条...

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&#…

Chat-GPT有感

Chat-GPT有感 1、Chat-GPT是什么&#xff1f; ​ 2023年当红炸子鸡非Chat-GPT莫属&#xff0c;或许我们即将站在历史的开端、站在人工智能涌现的开端、站在科技百花齐放的开端&#xff0c;我也想问问Chat-GPT&#xff0c;它到底是什么呢&#xff1f; GPT全称为Generative Pre…

前端多语言开发,如何中英文切换

本文以vue为例&#xff1a; 在vue项目中配置两个js文件&#xff0c;一个中文一个英文 将main.js中引入配置好的文件 添加切换中英文的按钮 在methods中写入点击事件 js文件中&#xff0c;把需要的中英文分别写入 在需要的页面中写入 但需要注意的是&#xff0c;在标签中使用$t…

【TypeScript入门】了解TypeScript的工作流程

走进“前端的未来”TS——了解TS的工作流程 文章简介主要内容1 TypeScript工作流程1.1 图示简单解释1.2 理顺区分JS与其他语言 2 如何用TypeScript运行web2.1 为项目添加html文件2.2 用npm高效管理前端项目2.3 npm项目依赖 summary下期预告【基础入门】《前端的未来——TypeScr…

vue2实现中英文切换

简单的使用&#xff08;应用场景&#xff1a;少量几个页面的中英文切换&#xff09; 1、安装 vue-i18n依赖 yarn add vue-i18n 或者 npm install vue-i18n --save-dev 2、在src/components下新建文件夹language&#xff0c;并在文件夹language下新建zh.js及en.js 【src/compon…

vue实现中英文切换

简单的使用&#xff08;应用场景&#xff1a;15个以内页面的中英文切换&#xff09; 1、安装 vue-i18n依赖 yarn add vue-i18n 或者 npm install vue-i18n --save-dev 2、在src/components下新建文件夹language&#xff0c;并在文件夹language下新建zh.js及en.js 【src/co…

vue切换中英语言制作方法(Element+i18n的使用)

介绍&#xff1a; Vue I18n 是 Vue.js 的国际化插件。它可以轻松地将一些本地化功能集成到你的 Vue.js 应用程序中。 1、安装Element ui npm i element-ui -S2、全局引用Element ui 在 main.js 中写入以下内容&#xff1a; import Vue from vue; import ElementUI from elem…

vue3+antd 实现国际化 切换中英文

首先新建结构文件夹 1.下载i18n插件 npm install vue-i18n --save 2.配置i18n.js文件 import { createI18n} from vue-i18n import message from ./langs const localeData {legacy: true, // composition APIlocale: cn,messages: message, } const i18n createI18n(loca…

Vue项目切换语言,vue项目国际化,使用vue-i18n前端实现中英文切换

在项目需求中&#xff0c;我们会遇到国际化的中英文切换。 使用vue搭建的项目中我们可以使用i18n插件进行项目的中英文切换。 npm引入i18n npm install i18n --save-dev为了数据的使用方便&#xff0c;我们需要在src文件夹下建立一个如下图的文件夹 index.js&#xff1a; im…

【latex】论文或参考文献中出现俄文\西班牙文人名的解决方法

常用的latex的编辑器有&#xff1a;texstudio或者overleaf.值得说的是overleaf真的好用&#xff0c;因为它容错率高&#xff0c;即使你的编码语法有些小错误&#xff0c;它也能成功编译。缺点就是&#xff0c;某些论文投稿网站不支持overleaf.但它还是值得我喜欢&#xff0c;因…

前端多语言的切换

前端开发中多语言的切换&#xff0c;可使用js动态替换内容 1、在用户点击切换语言后&#xff0c;把选择的语言版本保存在cookie中 //写入cookie函数 function setCookie(name,value) {var Days 30;var exp new Date();exp.setTime(exp.getTime() Days*24*60*60*1000);docume…

chatgpt赋能python:Python动画制作指南:从入门到精通

Python动画制作指南&#xff1a;从入门到精通 Python作为一种易学易用的编程语言&#xff0c;在数据分析、机器学习等领域已经得到广泛应用。但是你知道吗&#xff1f;Python还可以用来制作动画&#xff01;本文将为你介绍如何用Python制作动画&#xff0c;从入门到精通&#…

吴恩达和OpenAI的《面向开发者的ChatGPT提示工程》精华笔记

《ChatGPT Prompt Engineering for Developers》 面向开发者的ChatGPT提示工程 shadow 趁着假期&#xff0c;学习了prompt课程&#xff0c;做了一些精简和关键知识点的梳理&#xff0c;分享给大家。 LLM 可完成的任务 包括: 总结&#xff08;如总结用户评论&#xff09; 推断&a…

刚刚,吴恩达 ChatGPT 新课三连发!

你有没有想过&#xff0c;你可以自己构建一个AI系统&#xff0c;或者开发一个使用大语言模型&#xff08;LLM&#xff09;的应用&#xff0c;甚至理解并创建扩散模型&#xff1f;我在吴恩达的三门新课程中找到了答案&#xff0c;这些课程让我看到了AI的无限可能性。 好消息&…