apicloud結(jié)合聚云網(wǎng)后端云開發(fā)app之登錄實(shí)現(xiàn)

今天晚上趁著自己的一個(gè)應(yīng)用開發(fā)完成了完整貫穿流程的一步恃泪,在休息之余來寫一下這篇登錄實(shí)現(xiàn)的文章外臂;首先要感謝一下聚云網(wǎng)的CEO何凌云對(duì)我遇到的問題的積極幫助坐儿,聚云網(wǎng)后端云真的是一個(gè)不錯(cuò)的平臺(tái),省去了大部分后端工作,需要實(shí)現(xiàn)自己的邏輯和模型的時(shí)候只需自定義SQL貌矿、js和建立自己的模型就可以了累铅,大家可以體驗(yàn)一下。好了站叼,進(jìn)入正題:

  1. 首頁要完成登錄表單的html模板頁面娃兽,在這里我貼出我用“百小僧”的hui框架http://git.oschina.net/monksoul/Hui-2.x 寫的注冊(cè)表單代碼,代碼如下:
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
    <title>hello</title>
    <link rel="stylesheet" type="text/css" href="../css/hui.css" />
    <style type="text/css">
    </style>
</head>
    <body class="hui-width-height-full hui-background-color-greenSea">
        <div class="hui-position-absolute hui-position-col-middle hui-width-full hui-text-align-center">
            <div class="hui-row-center hui-padding-row-25">
                <div class="hui-text-align-center">
                    ![](../image/logo.png)
                    <div class="hui-font-size-18">Hui</div>
                </div>
            </div>
            <div class="hui-margin-top-10 hui-padding-col-15">
                <div class="hui-flexbox-row  hui-border-all-e6e6e6-after">
                    <span class="hui-col-middle hui-padding-left-10">
                        <i class="hui-iconfont hui-icon-phone hui-font-size-18 hui-col-middle hui-font-color-white"></i>
                    </span>
                    <input type="text" id="username" class="hui-vertical-align-middle hui-col-middle hui-font-size-16 hui-flexbox-item hui-box-sizing-border-box hui-border-none hui-outline-none hui-padding-all-15 hui-background-color-transparent hui-font-color-white" placeholder="用戶名" />
                </div>
                <div class="hui-flexbox-row  hui-border-bottom-e6e6e6-after hui-border-col-e6e6e6-after">
                    <span class="hui-col-middle hui-padding-left-10">
                        <i class="hui-iconfont hui-icon-lock hui-font-size-18 hui-col-middle hui-font-color-white"></i>
                    </span>
                    <input type="password" id="password" class="hui-vertical-align-middle hui-col-middle hui-font-size-16 hui-flexbox-item hui-box-sizing-border-box hui-border-none hui-outline-none hui-padding-all-15 hui-background-color-transparent hui-font-color-white" placeholder="密碼" />
                    <span onclick="xianshi()" id="box" class="hui-show hui-col-middle hui-padding-left-10 hui-padding-right-10">
                        <i id="yan" class="hui-iconfont hui-icon-find-null hui-font-size-20 hui-col-middle hui-font-color-black"></i>
                    </span>
                </div>
                <div class="hui-margin-top-10">
                    <button onclick="login()" class="hui-button hui-width-full hui-border-radius-3 hui-background-color-turquoise hui-outline-none hui-border-all-turquoise hui-padding-row-10 hui-background-color-turquoise-active hui-font-color-white hui-border-all-turquoise-active">
                        <label>登錄</label>
                    </button>
                </div>
                <div class="hui-margin-top-10">
                    <span tapmode="" onclick="hui.openWin('reg','reg.html')" class="hui-font-color-white hui-float-left hui-font-size-14">注冊(cè)賬號(hào)</span><span class="hui-font-color-white hui-float-right hui-font-size-14">忘記密碼?</span>
                </div>
            </div>
        </div>
    </body>
</html>
  1. 登錄頁模板寫好后尽楔,我們就要在頁面中的兩個(gè)input標(biāo)簽中分別加入id="username"投储、id="password",還要在登錄按鈕上添加一個(gè)點(diǎn)擊事件onclick="login()",如上面代碼中阔馋。
  2. 引入聚云網(wǎng)后端云的sdk和jquery玛荞,因?yàn)楹蠖嗽谱?cè)時(shí)接收的密碼是要進(jìn)行md5加密的,所以還要加入md5.js呕寝,代碼如下:
    <script src="../script/jquery-3.0.0.min.js"></script>
    <script src="../script/mashup_sdk.js" type="text/javascript" charset="UTF-8"></script>
    <script src="../script/md5.js" type="text/javascript" charset="UTF-8"></script>
  1. 編寫js代碼勋眯,首先要獲取登錄表單中輸入的值,然后加入后端云的調(diào)用代碼把數(shù)據(jù)提交到服務(wù)器端下梢,這樣就可以獲取到服務(wù)端返回的是否登錄成功的不同數(shù)據(jù)客蹋,代碼如下:
function login(){
            var username = hui.byId("username").value;
            var password = hui.byId("password").value;
                var appid = '';
                var token = '';
                $(document).ready(function(){
                    //獲取token,調(diào)用API服務(wù)
                    auth();
                });
                 
                function auth(){
                    $.ajax({
                        type:'get',
                        //async:false,
                        url:"http://v2.mashupcloud.cn/developer/auth.do",
                        data:{
                          appkey:'UotqFqitgOlLtisTMtMBwAfvmzPjdoTo' , //修改為自己appkey
                          appsecret: 'orBlqdwKIZOwiTvEWmrZfpKysvDLLIwn' //修改為自己的appsecret
                                                        
                        },
                        //dataType: "json",
                        success: function(json){
                                                        
                            var jo = eval(json);
                                                        
                            var token = jo[1];
                                                        
                            var appid = jo[2];
                                                        
                            //用戶登錄
                            user_login(token,appid);
                        },
                 
                        error: function(json){
                                                        
                            console.log("err:"+json);
                                                        
                        }
                 
                    });
                 
                    }
                    //用戶登錄
                                                            
                    function user_login(token,appid){
                        $.ajax({
                            type:'get',
                            url:"http://v2.mashupcloud.cn/system/user_login.do",
                            dataType:"json",
                            data:{
                                appid: appid,
                                token: token,
                                username:username,
                                password:md5(password)
                            },
                            success: function(json){
                              console.log("returnInfo=="+json);
                            },
                            error: function(json){
                                console.log("err:"+json);      
                            }
                        });
                    }
                    
        }
    }
  1. 上面4項(xiàng)完成了基本登錄的整個(gè)功能孽江,那怎么添加表單驗(yàn)證呢讶坯?請(qǐng)求執(zhí)行成功后怎么根據(jù)返回?cái)?shù)據(jù)分別相應(yīng)提示呢?
if (username.length==0) {
                hui.toast("用戶名不能為空");
            }else if (password.length==0) {
                hui.toast("密碼不能為空");
            }else{
                var appid = '';
                var token = '';
                $(document).ready(function(){
                    //獲取token岗屏,調(diào)用API服務(wù)
                    auth();
                });
                 
                function auth(){
                    $.ajax({
                        type:'get',
                        //async:false,
                        url:"http://v2.mashupcloud.cn/developer/auth.do",
                        data:{
                           appkey:'UotqFqitgOlLtisTMtMBwAfvmzPjdoTo' , //修改為自己appkey
                           appsecret: 'orBlqdwKIZOwiTvEWmrZfpKysvDLLIwn' //修改為自己的appsecret
                                                        
                        },
                        //dataType: "json",
                        success: function(json){
                                                        
                            var jo = eval(json);
                                                        
                            var token = jo[1];
                                                        
                            var appid = jo[2];
                                                        
                            //用戶登錄
                            user_login(token,appid);
                        },
                 
                        error: function(json){
                                                        
                            console.log("err:"+json);
                                                        
                        }
                 
                    });
                 
                    }
                    //用戶登錄
                                                            
                    function user_login(token,appid){
                        $.ajax({
                            type:'get',
                            url:"http://v2.mashupcloud.cn/system/user_login.do", 
                            dataType:"json",
                            data:{
                                appid: appid,
                                token: token,
                                username:username,
                                password:md5(password)
                            },
                            success: function(json){
                                var jo=eval(json);
                              console.log("returnInfo=="+json);
                             if (jo[0]=="OK") {
                               alert("登錄成功");
                               hui.setStorage('SessionKey',jo[1]);//存儲(chǔ)sessionkey到本地辆琅,你也可以使用存儲(chǔ)cookie的方法,以便于在其他頁面驗(yàn)證登錄狀態(tài)時(shí)候使用    
                              }else if(jo[1]=="錯(cuò)誤的用戶名或密碼"){
                                alert("用戶名或密碼錯(cuò)誤");
                              }
                            },
                            error: function(json){
                                console.log("err:"+json);      
                            }
                        });
                    }
        }

這樣一個(gè)登錄包含的一些操作就完成了这刷,代碼中還有相應(yīng)提示請(qǐng)仔細(xì)查看婉烟,至于還要添加更多驗(yàn)證只要根據(jù)上面示例添加就可以了。 好了就寫到這里了暇屋,碼字太耗時(shí)了似袁,下篇文章內(nèi)容《apicloud結(jié)合聚云網(wǎng)后端云開發(fā)app之登錄狀態(tài)驗(yàn)證取出用戶名》。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末率碾,一起剝皮案震驚了整個(gè)濱河市叔营,隨后出現(xiàn)的幾起案子屋彪,更是在濱河造成了極大的恐慌所宰,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畜挥,死亡現(xiàn)場(chǎng)離奇詭異仔粥,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門躯泰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谭羔,“玉大人,你說我怎么就攤上這事麦向∥谅悖” “怎么了?”我有些...
    開封第一講書人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵诵竭,是天一觀的道長话告。 經(jīng)常有香客問我,道長卵慰,這世上最難降的妖魔是什么沙郭? 我笑而不...
    開封第一講書人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮裳朋,結(jié)果婚禮上病线,老公的妹妹穿的比我還像新娘。我一直安慰自己鲤嫡,他們只是感情好送挑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著暖眼,像睡著了一般让虐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上罢荡,一...
    開封第一講書人閱讀 51,215評(píng)論 1 299
  • 那天赡突,我揣著相機(jī)與錄音,去河邊找鬼区赵。 笑死惭缰,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的笼才。 我是一名探鬼主播漱受,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼骡送!你這毒婦竟也來了昂羡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤摔踱,失蹤者是張志新(化名)和其女友劉穎虐先,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體派敷,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蛹批,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年撰洗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腐芍。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡差导,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出猪勇,到底是詐尸還是另有隱情设褐,我是刑警寧澤,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布泣刹,位于F島的核電站络断,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏项玛。R本人自食惡果不足惜貌笨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望襟沮。 院中可真熱鬧锥惋,春花似錦、人聲如沸开伏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽固灵。三九已至捅伤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間巫玻,已是汗流浹背丛忆。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留仍秤,地道東北人熄诡。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像诗力,于是被迫代替她去往敵國和親凰浮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容