更新時間:2020-06-04 15:28:38 來源:動力節點 瀏覽2372次
今天要講解的Java實戰項目是一款應用于健康管理機構的業務系統,它叫做傳智健康,能夠實現健康管理機構工作內容可視化、會員管理專業化、健康評估數字化、健康干預流程化、知識庫集成化,從而提高健康管理師的工作效率,加強與會員間的互動,增強管理者對健康管理機構運營情況的了解。下面我們來一起看看移動端開發內容,主要包括了需求分析和手機快速登錄。
一、需求分析
手機快速登錄功能,就是通過短信驗證碼的方式進行登錄。這種方式相對于用戶名密碼登錄方式,用戶不需要記憶自己的密碼,只需要通過輸入手機號并獲取驗證碼就可以完成登錄,是目前比較流行的登錄方式。
二、手機快速登錄
1、頁面調整
(1)發送驗證碼
為獲取驗證碼按鈕綁定事件,并在事件對應的處理函數中校驗手機號,如果手機號輸入正確則顯示30秒倒計時效果并發送ajax請求,發送短信驗證碼,代碼如下:
手機號 { if(!response.data.flag){ //驗證碼發送失敗 this.$message.error('驗證碼發送失敗,請檢查手機號輸入是否正確'); } }); } } });" _ue_custom_node_="true"> 在ValidateCodeController中提供send4Login方法,調用短信服務發送驗證碼并將驗證碼保存到redis //手機快速登錄時發送手機驗證碼 @RequestMapping("/send4Login") try { //發送短信 SMSUtils.sendShortMessage(SMSUtils.VALIDATE_CODE,telephone,code.toString()); } catch (ClientException e) { e.printStackTrace(); //驗證碼發送失敗 return new Result(false, MessageConstant.SEND_VALIDATECODE_FAIL); } System.out.println("發送的手機驗證碼為:" + code); //將生成的驗證碼緩存到redis jedisPool.getResource().setex(telephone+RedisMessageConstant.SENDTYPE_LOGIN, 5 * 60, code.toString()); //驗證碼發送成功 return new Result(true,MessageConstant.SEND_VALIDATECODE_SUCCESS); }
(2)提交登錄請求
為登錄按鈕綁定事件
登錄 //登錄 login(){ var telephone = this.loginInfo.telephone; if (!checkTelephone(telephone)) { this.$message.error('請輸入正確的手機號'); return false; } axios.post("/member/login.do",this.loginInfo).then((response) => { if(response.data.flag){ //登錄成功,跳轉到會員頁面 window.location.href="member.html"; }else{ //失敗,提示失敗信息 this.$message.error(response.data.message); } }); }
2、后臺代碼
(1)Controller
在health_mobile工程中創建MemberController并提供login方法進行登錄檢查,處理邏輯為:
a、校驗用戶輸入的短信驗證碼是否正確,如果驗證碼錯誤則登錄失敗
b、如果驗證碼正確,則判斷當前用戶是否為會員,如果不是會員則自動完成會員注冊
c、向客戶端寫入Cookie,內容為用戶手機號
d、將會員信息保存到Redis,使用手機號作為key,保存時長為30分鐘
(2)服務接口
在MemberService服務接口中提供findByTelephone和add方法
public void add(Member member);
public Member findByTelephone(String telephone);
(3)服務實現類
在MemberServiceImpl服務實現類中實現findByTelephone和add方法
(4)Dao接口
public Member findByTelephone(String telephone);
public void add(Member member);
(5)Mapper映射文件
SELECT LAST_INSERT_ID()
insert into t_member
(fileNumber,name,sex,idCard,phoneNumber,regTime,password,email,birthday,remark)
values
(#{fileNumber},#{name},#{sex},#{idCard},#{phoneNumber},#{regTime},#
{password},#{email},#{birthday},#{remark})
<select id="findByTelephone" parameterType="string"
resultType="com.itheima.pojo.Member">
select * from t_member where phoneNumber = #{phoneNumber}
以上就是動力節點java培訓機構的小編針對“Java項目實戰視頻之手機快速登錄講解”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
相關閱讀
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習