asp.net core前端用vue.js實現的登錄界面


@{
    ViewData["Title"] = "Index";
}
<body class="hold-transition login-page">
    <div class="login-box" id="rrapp" v-cloak>
        <div class="login-logo">
            <b>###</b>
        </div>
        <!-- /.login-logo -->
        <div class="login-box-body">
            <p class="login-box-msg">管理員登錄</p>
            <div v-if="error" class="alert alert-danger alert-dismissible">
                <h4 style="margin-bottom: 0px;"><i class="fa fa-exclamation-circle"></i> {{errorMsg}}</h4>
            </div>
            <div class="form-group has-feedback">
                <input type="text" class="form-control" v-model="form.username" placeholder="賬號">
                <span class="glyphicon glyphicon-user form-control-feedback"></span>
            </div>
            <div class="form-group has-feedback">
                <input type="password" class="form-control" v-model="form.password" placeholder="密碼">
                <span class="glyphicon glyphicon-lock form-control-feedback"></span>
            </div>
            <div class="form-group has-feedback">
                <input type="text" class="form-control" v-model="form.captcha" onkeypress="login" placeholder="驗證碼">
                <span class="glyphicon glyphicon-warning-sign form-control-feedback"></span>
            </div>
            <div class="form-group has-feedback">
                <img alt="如果看不清楚,請單擊圖片刷新!" class="pointer" :src="src" v-on:click="refreshCode">
                &nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:;" v-on:click="refreshCode">點擊刷新</a>
            </div>
            <div class="row">
                <div class="col-xs-8">
                    <div class="checkbox icheck">
                    </div>
                </div>
                <!-- /.col -->
                <div class="col-xs-4">
                    <button type="button" class="btn btn-primary btn-block btn-flat" v-on:click="login">登錄</button>
                </div>
                <!-- /.col -->
            </div>
            <!-- /.social-auth-links -->
        </div>
        <!-- /.login-box-body -->
    </div>
    <script src="~/libs/jquery.min.js"></script>
    <script src="~/plugins/jqgrid/jquery.jqGrid.min.js"></script>
    <script src="~/libs/vue.min.js"></script>
    <script src="~/libs/bootstrap.min.js"></script>
    <script src="~/libs/app.js"></script>
    <script src="~/js/common.js"></script>
    <script type="text/javascript">
        var rootUrl = '@Url.Content("~/")';
        var vm = new Vue({
            el: '#rrapp',
            data: {
                form: {
                    username: '',
                    password: '',
                    captcha: '',
                    uuid: ''
                },
                error: false,
                errorMsg: '',
                src: ''
            },
            beforeCreate: function () {
                if (self != top) {
                  // top.location.href = self.location.href;
                }
            },
            created: function () {
                this.refreshCode();
            },
            methods: {
                refreshCode: function () {
                    var uuid = getUUID();
                    this.form.uuid = uuid;
                    this.src = baseURL + "captcha.jpg?uuid=" + uuid;
                },
                login: function () {                 
                    $.ajax({
                        type: "POST",
                        url: rootUrl + 'Login/SubmitLogin',
                        dataType: "json",
                        contentType: "application/json",
                        data: JSON.stringify(vm.form),
                        success: function (r) {
                            if (r.Code == 0) {//登錄成功
                                localStorage.setItem("token", r.token);
                                window.location.href='/Home/index';
                            } else {
                                vm.error = true;
                                vm.errorMsg = r.Msg;
                                vm.refreshCode();
                            }
                        }
                    });
                }
            }
        });
    </script>
</body>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章