.net core用户管理登录传值方式

API 代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using DAL;
using Model;
using Microsoft.AspNetCore.Cors;
using Newtonsoft.Json;

namespace Test_Month6.API.Controllers
{
    [EnableCors("any")]
    [Route("UserHK")]
    [ApiController]
    public class UserHKController : ControllerBase
    {
        JWTHelper jwt = new JWTHelper();
        //依赖注入
        private IDAL _dal;
        public UserHKController(IDAL dal)
        {
            _dal = dal;
        }
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("login")]
        public string Login([FromForm]UserInfo info)
        {
            UserInfo model = _dal.Login(info);
            if (model != null)
            {
                Dictionary<string, object> keys = new Dictionary<string, object>();
                keys.Add("ID", model.ID);
                keys.Add("User_Name", model.User_Name);
                keys.Add("User_PassWord", model.User_PassWord);
                string token = jwt.GetToken(keys, 300000);
                return token;
            }
            return null;
        }
        /// <summary>
        /// 显示还款列表
        /// </summary>
        /// <param name="token"></param>
        /// <returns></returns>
        [HttpGet]
        [Route("list")]
        public async Task<List<UserHK>> Select(string token)
        {
            List<UserHK> list = new List<UserHK>();
            string json = jwt.GetPayload(token);
            //序列化
            UserHK user = JsonConvert.DeserializeObject<UserHK>(json);
            if (user != null)
            {
                list = await Task.Run(() => { return _dal.Select(user.ID); });
            }
            foreach (var item in list)
            {
                item.date = item.HKDate.ToString("yyyy-MM-dd");
            }
            return list;
        }
        /// <summary>
        /// 显示账户信息
        /// </summary>
        /// <param name="token"></param>
        /// <returns></returns>
        [HttpGet]
        [Route("zhanghu")]
        public async Task<List<ZhangHuInfo>> ZhangHus(string token)
        {
            List<ZhangHuInfo> zhanghu = new List<ZhangHuInfo>();
            string json = jwt.GetPayload(token);
            ZhangHuInfo zhang = JsonConvert.DeserializeObject<ZhangHuInfo>(json);
            if (zhang != null)
            {
                zhanghu = await Task.Run(() => { return _dal.GetZhang(zhang.ID); });
            }
            return zhanghu;
        }
        /// <summary>
        /// 还款
        /// </summary>
        /// <param name="token"></param>
        /// <param name="hkId"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("hk")]
        public int HK([FromForm]HK_Model model)
        {
            string json = jwt.GetPayload(model.token);
            UserInfo user = JsonConvert.DeserializeObject<UserInfo>(json);
            if(user != null)
            {
                return _dal.HK(user.ID,model.ID);
            }
            else
            {
                return -1;
            }
        }
        [HttpPost]
        [Route("chongzhi")]
        public int ChongZhi([FromForm]chongzhi_Model model)
        {
            string json = jwt.GetPayload(model.token);
            UserInfo user = JsonConvert.DeserializeObject<UserInfo>(json);
            if (user != null)
            {
                return _dal.ChongZhi(user.ID,model.money);
            }
            else
            {
                return -1;
            }
        }
    }
}

DAL 代码

using Model;
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using Dapper;
using System.Linq;

namespace DAL
{
    public class Dal : IDAL
    {
        /// <summary>
        /// 充值
        /// </summary>
        /// <param name="UserId"></param>
        /// <param name="money"></param>
        /// <returns></returns>
        public int ChongZhi(int UserId, decimal money)
        {
            using (SqlConnection connection = new SqlConnection("Data Source=DESKTOP-O7U2DEC;Initial Catalog=Test_MonthTest6;User ID=sa;PassWord=990621"))
            {
                return connection.Execute($"update ZhangHuInfo set ZhangYE=ZhangYE+{money} where User_ID={UserId}");
            }
        }

        /// <summary>
        /// 显示账户余额信息
        /// </summary>
        /// <param name="UserId"></param>
        /// <returns></returns>
        public List<ZhangHuInfo> GetZhang(int UserId)
        {
            using (SqlConnection connection = new SqlConnection("Data Source=DESKTOP-O7U2DEC;Initial Catalog=Test_MonthTest6;User ID=sa;PassWord=990621"))
            {
                string sql = $"select * from ZhangHuInfo where User_ID ={UserId}";
                return connection.Query<ZhangHuInfo>(sql).ToList();
            }
        }
        /// <summary>
        /// 环框功能
        /// </summary>
        /// <param name="UserId"></param>
        /// <param name="hkId"></param>
        /// <returns></returns>
        public int HK(int UserId, int hkId)
        {
            using (SqlConnection connection = new SqlConnection("Data Source=DESKTOP-O7U2DEC;Initial Catalog=Test_MonthTest6;User ID=sa;PassWord=990621"))
            {
                //求需要还多少钱
                object b = connection.ExecuteScalar($"select HKBenJin+HKLiXi from UserHK where ID = {hkId}");
                //求余额还有多少钱
                object yue = connection.ExecuteScalar($"select ZhangYE from ZhangHuInfo where User_ID = {UserId}");
                if((decimal)b <= (decimal)yue)
                {
                    //减少余额
                    int code = connection.Execute($"update ZhangHuInfo set ZhangYE = ZhangYE-{b} where User_ID = 1");
                    if(code > 0)
                    {
                        return connection.Execute($"update UserHK set HKState = 0 where ID = {hkId}");
                    }
                    else
                    {
                        return 0;
                    }
                }
                else
                {
                    return -1;
                }
            }
        }

        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public UserInfo Login(UserInfo info)
        {
            using (SqlConnection connection = new SqlConnection("Data Source=DESKTOP-O7U2DEC;Initial Catalog=Test_MonthTest6;User ID=sa;PassWord=990621"))
            {
                string sql = $"select * from UserInfo where User_Name = '{info.User_Name}' and User_PassWord = '{info.User_PassWord}'";
                return connection.Query<UserInfo>(sql).FirstOrDefault();
            }
        }
        /// <summary>
        /// 显示
        /// </summary>
        /// <param name="UserId"></param>
        /// <returns></returns>
        public List<UserHK> Select(int UserId)
        {
            using (SqlConnection connection = new SqlConnection("Data Source=DESKTOP-O7U2DEC;Initial Catalog=Test_MonthTest6;User ID=sa;PassWord=990621"))
            {
                string sql = $"select * from UserHK where User_ID ={UserId}";
                return connection.Query<UserHK>(sql).ToList();
            }
        }
    }
}

Login.cshtml

@{
    ViewData["Title"] = "Login";
}
<style>
    body {
        background-image: url(/Content/Imgs/2001513.jpg);
        background-size: cover;
        background-repeat: no-repeat
    }

    .box {
        width: 300px;
        height: 300px;
        margin: 0 auto;
        margin-top: 130px
    }

    #userName {
        margin-top: 20px;
        width: 200px;
        height: 35px;
        border-radius: 6px;
    }

    #userPwd {
        margin-top: 20px;
        width: 200px;
        height: 35px;
        border-radius: 6px;
    }

    #btn_save {
        margin-top: 20px;
        width: 200px;
        font-size: 18px
    }
</style>
<body>
    <div class="box">
        <input type="text" id="userName" placeholder="用户名/手机号" />
        <input type="password" id="userPwd" placeholder="密码" /><br />
        <input type="button" id="btn_save" value="登录" class="btn btn-primary" />
    </div>
</body>
<script src="~/lib/jquery/dist/jquery.js"></script>
<script>
    //加密登录
    $('#btn_save').click(function () {
        var obj = {
            "User_Name" : $('#userName').val(),
            "User_PassWord" : $('#userPwd').val()
        };
        $.ajax({
            url: 'http://localhost:59661/UserHK/login',
            data: obj,
            type:'post',
            contentType: 'application/x-www-form-urlencoded',
            accepts: "application/x-www-form-urlencoded",
            dataType:'text',
            success: function (data) {
                if (data != null) {
                    alert('登录成功');
                    localStorage["userName"] = data;
                    window.location.href = "/Default/Show";
                }
                else {
                    alert('登录失败');
                }
            }
        });
    });
</script>

Show.cshtml

@{
    ViewData["Title"] = "Show";
}
<style>
    body {
        background-image: url(/Content/Imgs/2003368.jpg);
    }

    .box {
        width: 950px;
        height: 450px;
        margin: 0 auto;
        background-color: white;
        margin-top: 100px;
        background: rgba(255, 255, 255, 0.40);
    }

    .right {
        width: 100%;
        height: 100%;
        float: right;
    }

    .up {
        width: 270px;
        height: 130px;
        background-color: aqua;
        margin-bottom: 25px;
        padding-top: 15px;
        background: rgba(0, 255, 255, 0.40);
    }

    .down table tr td {
        border: solid 1px;
        height: 20px;
        width: 120px;
        font-size: 15px;
        text-align: center
    }

    .down {
        width: 1000px;
    }
</style>

<body>
    <div class="box">
        <div class="right">
            <div class="up">
                <span><b style="margin-left:150px">可用余额</b></span><br />
                <span style="color:red;margin-left:155px">¥ <span style="color:red" id="balance">  </span></span><br />
                <input style="height:25px;width:120px;margin-top:20px" type="text" hidden="hidden" id="money" />
                <input type="button" id="cz" value="充值" class="btn btn-warning" style="width:60px;height:30px;line-height:18px;margin-top:15px" />
                <input type="button" value="提现" style="width:60px;height:30px;line-height:18px;margin-top:15px" class="btn btn-secondary" />
            </div>
            <div class="down">
                <table>
                    <tr>
                        <td>还款期数</td>
                        <td>还款日期</td>
                        <td>应还本金</td>
                        <td>应还利息</td>
                        <td>还款总额</td>
                        <td>还款状态</td>
                    </tr>
                    <tbody id="tb"></tbody>
                </table>
            </div>
        </div>
    </div>
</body>
<script src="~/lib/jquery/dist/jquery.js"></script>
<script>
    $(function () {
        show();
    })
    //获取加密的数据
    var token = localStorage["userName"];
    function show() {
        $('#tb').empty();
        $.ajax({
            url: 'http://localhost:59661/UserHK/zhanghu',
            type: 'get',
            dataType: 'json',
            data: { token: token },
            success: function (data) {
                var tr = '';
                $.each(data, function (index, item) {
                    tr += '<span style="color:red" id="balance">' + item.zhangYE + '</span>';
                });
                $('#balance').html(tr);
            }
        });
        $.ajax({
            url: 'http://localhost:59661/UserHK/list',
            type: 'get',
            dataType: 'json',
            data: { token: token },
            //contentType: 'application/x-www-form-urlencoded',
            //accepts: "application/x-www-form-urlencoded",
            success: function (data) {
                console.log(data);
                var tr = '';
                $.each(data, function (index, item) {
                    tr += '<tr><td>' + item.hkqs + '</td>';
                    tr += '<td>' + item.date + '</td>';
                    tr += '<td>' + item.hkBenJin + '</td>';
                    tr += '<td>' + item.hkLiXi + '</td>';
                    tr += '<td>' + (item.hkLiXi + item.hkBenJin) + '</td>';
                    if (item.hkState == 0) {
                        tr += '<td>已还清</td>';
                    }
                    else if (item.hkState == 1) {
                        tr += "<td><a href='#' onclick='Repay(" + item.id + ")'>还款</a></td>";
                    }
                    else {
                        tr += '<td>还清</td>';
                    }
                });
                $('#tb').append(tr);
            }
        });
    }
    function Repay(id) {
        var obj = {
            "ID": id,
            "token": token
        };
        $.ajax({
            url: 'http://localhost:59661/UserHK/hk',
            data: obj,
            type: 'post',
            contentType: 'application/x-www-form-urlencoded',
            accepts: "application/x-www-form-urlencoded",
            dataType: 'text',
            success: function (data) {
                if (data > 0) {
                    alert('还款成功');
                    show();
                }
                else if(data == -1){
                    alert('余额不足请充值');
                    $("#money").removeAttr("hidden");

                }
                else {
                    alert('还款失败');
                }
            }

        });
    }
    $('#cz').click(function () {
        var obj = {
            "money": $('#money').val(),
            "token": token
        };
        
        $.ajax({
            url: 'http://localhost:59661/UserHK/chongzhi',
            data: obj,
            type: 'post',
            contentType: 'application/x-www-form-urlencoded',
            accepts: "application/x-www-form-urlencoded",
            dataType: 'text',
            success: function (data) {
                if (data != null) {
                    alert('充值成功');
                    show();
                    $("#money").attr("hidden", "hidden")
                }
                else {
                    alert('充值失败');
                }
            }
        });
    });
</script>

 

posted @ 2020-06-10 08:03  CuiJie0605  阅读(308)  评论(0编辑  收藏  举报