<body>
<script type="text/javascript">
let cards = [
{ "cardNo": "90009", "pwd": "123456", money: 1000000000 },
{ "cardNo": "90008", "pwd": "123456", money: 1000000000 },
{ "cardNo": "90007", "pwd": "123456", money: 1000000000 }];
let loginIndex = -1;
Login();
//登录
function Login() {
let card, pwd;
for (let count = 0; count < 3; count++) {
card = prompt("请输入卡号");
pwd = prompt("请输入密码");
if (isLoginSucess(card, pwd)) {
Main();
return;
} else {
alert("账号或密码出错,请重新输入");
}
}
alert("3次机会已经用完,账号锁定,请去柜台");
}
// 是否登录
function isLoginSucess(card, pwd) {
for (let i = 0; i < cards.length; i++) {
if (cards[i].cardNo == card && cards[i].pwd == pwd) {
loginIndex = i;
return true;
}
}
return false;
}
//主界面
function Main() {
let choose = Number(prompt(`
欢迎来到阿政银行
1. 查询 2. 存款
3. 取款 4. 转账
0. 退出
`));
switch (choose) {
case 1: QueryMoney(); Main(); break;
case 2: WithdrawMoney(); Main(); break;
case 3: DepositMoney(); Main(); break;
case 4: TransferAccount(); Main(); break;
case 0: Exit(); break;
default:
alert("请输入正确的选项!");
Main();
}
}
//查询
function QueryMoney() {
if(loginIndex==-1){
alert("请先登录");
Login();
return ;
}
alert("你当前的余额为:"+cards[loginIndex].money);
}
//存款
function DepositMoney() {
if(loginIndex==-1){
alert("请先登录");
Login();
return ;
}
let money = Number(prompt("请输入你要存款金额"));
cards[loginIndex].money +=money;
alert("存款成功,你当前的余额为:"+cards[loginIndex].money);
}
//取款
function WithdrawMoney() {
if(loginIndex==-1){
alert("请先登录");
Login();
return ;
}
let money = Number(prompt("请输入你要取款金额"));
if(cards[loginIndex].money <money){
alert("余额不足");
return;
}
cards[loginIndex].money-=money;
}
//转账
function TransferAccount() {
if(loginIndex==-1){
alert("请先登录");
Login();
return ;
}
let zhuangCard = prompt("请输入转账卡号");
//判断转账卡号是否正确
let zhuangIndex = -1;
for(var i=0;i<cards.length;i++){
if(cards[i].cardNo === zhuangCard){
zhuangIndex = i;
break;
}
}
//提示卡号不存在
if(zhuangIndex==-1){
alert("转账卡号有问题,请重新输入");
return;
}
//提示输入转账金额
let money = Number(prompt("请输入转账金额"));
if(cards[loginIndex].money <money){
alert("余额不足");
return;
}
//转账用户减钱
// 被转用户加钱
// 事务, 要么全部成功,要么全部失败 (回滚) - 数据库
cards[loginIndex].money-=money;
cards[zhuangIndex].money+=money;
alert("转账成功,你当前的余额为:"+cards[loginIndex].money);
}
//退出
function Exit() {
loginIndex = -1;
Login();
}
</script>
</body>