#001专注app软件定制开发用户端界面
# 模块详情:
1、手机银行
2、电脑银行
3、微信
4、支付宝
5、短信
#002专注app软件定制开发后台管理界面
# 模块详情:
1、专注app软件定制开发管理员管理
2、生成卡密
3、查询卡密
4、批量封卡
5、批量解封
专注app软件定制开发伪搜狗搜索引擎进入口
专注app软件定制开发输入口令即可跳转专注app软件定制开发真实登录入口
真实登录入口 /
专注app软件定制开发每台电脑输入卡密一旦专注app软件定制开发登录成功产生机器码,专注app软件定制开发只能在当前电脑登录,不可跨机登录
解锁设备功能:解锁更换设备需扣除卡密时长的24小时
手机银行 - IPhone版
功能介绍描述:
随机/快速生成、切换手机版本、生成的功能、设置信号、运营商、WiFi、时间、电量、电量百分比、充电、低消耗充电、蓝牙、闹钟、导航、锁定、勿扰、短信通知…
# 建设iPhoneX:
# 工商iPhoneX:
# 工商iPhone6/7/8:
# 交通iPhoneX:
# 民生iPhoneX:
# 邮政iPhoneX:
# 生成:
手机银行 - Android版
# 安卓主题:
# 小米主题:
# 乐视主题:
# 华为主题:
# 生成:
# 电脑银行
# 微信 and 支付宝
# 短信
# 知道:
涉及技术:Html+Flex弹性布局+ES6语法+Vue.js+Jquery+.Net MVC框架
环境:Windows2016+IIS管理工具
数据库:实体模型+SqlServer
适应使用:Windows、Linux、MAC
开发耗时:47day
代码块:
# 浏览器窗口:
//监听浏览器窗口大小改变this.$nextTick(() => { window.addEventListener('resize', (res) => { //浏览器变化执行动作 let browserProportion = window.devicePixelRatio; let result = Math.round(browserProportion * 100); this.browserProportion = result; alert('为了正常工作使用,请保持浏览器缩放比例为:100%'); });})
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
# 设置电量:
// 拖拽点 - 设置电量getdianliang() { let value = document.getElementById('dianliang').value; this.dianliangbaifenbi = value; let nums = (15 / 100) * this.dianliangbaifenbi; this.dianliang = nums;},
- 1
- 2
- 3
- 4
- 5
- 6
- 7
# 获取聊天模式:
// 获取聊天模式getliaotianmoshi() { let value = document.getElementById('liaotianmoshi').value; if (value == 0) { this.liaotianmoshi = 0; this.liaotianbiaoti = '微信对话制作'; } if (value == 1) { this.liaotianmoshi = 1; this.liaotianbiaoti = '群聊标题(12)'; }},
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
# 聊天节点:
// 删除html节点 - 聊天内容deleteNode(index) { var deleteN = document.getElementById('liaotianneirong'); console.log(deleteN.hasChildNodes()); // 存在节点 if (deleteN.hasChildNodes()) { deleteN.removeChild(deleteN.childNodes[index]); this.$delete(this.historyList, index); }},
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
# 聊天背景:
// 打开上传聊天背景图片upImg() { document.getElementById('uppic').click();},// 上传聊天背景图片changeImage(e) { let that = this; let file = e.target.files[0]; var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function (e) { that.liaotianbeijing = this.result; }},// 删除聊天背景图deleteliaotianbeijing() { this.liaotianbeijing = '';},
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
# 添加用户:
// 添加用户addUser() { let template = { touxiang: '../wxduihuakefatu/image/上传头像.png', yonghuming: '', liaotianneirong: '欢迎使用微信对话', hongbaozhufuyu: '恭喜发财,大吉大利', jine: 0.01, yuyinshichang: 3, tupianduihua: '' }; this.userList.push(template);},
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
# 发送文字对话:
// 发送文字对话getText(index, num) { // 自定义数据结构 let template = { 'userindex': null,// 用户id 'usertouxiang': '',// 用户头像 'useryonghuming': '',// 用户昵称 'value': '',// 值 'gongneng': num,// 功能 'describe': '' // 描述 } template.userindex = index; template.usertouxiang = this.userList[index].touxiang; template.useryonghuming = this.userList[index].yonghuming; template.value = this.userList[index].liaotianneirong; template.describe = '您刚刚添加了发送文字对话值为:' + this.userList[index].liaotianneirong; this.historyList.push(template); // 字体 let typeface = 'Segoe UI'; // 对话宽度 let widthPixel; if (template.value.length > 15) { widthPixel = '180px'; } // 昵称 let nickName; if (this.isyonghunicheng == 0) { nickName = ''; } else { nickName = template.useryonghuming; } if (index == 0) { $('#liaotianneirong').append('<div style="margin-top: 5px;float: right;width: 100%;" οnclick="deleteNode()">' + '<div style="float: right;margin-right: 10px;">' + '<img style="width: 30px;height: 30px;border-radius: 5px;" src="' + template.usertouxiang + '">' + '</div>' + '<div style="width: 0;height: 0;border: 5px solid rgba(255, 0, 0, 0);border-left-color: #95EC69;float: right;margin-top: 10px;">' + '</div>' + '<div style="float: right;background: #95EC69;font-family:' + typeface + ';padding: 7px;border-radius: 5px;">' + '<p style="font-size: 12px;width:' + widthPixel + '">' + template.value + '</p>' + '</div>' + '</div>'); } else { $('#liaotianneirong').append('<div style="margin-top: 5px;float: left;width: 100%;" οnclick="deleteNode()">' + '<div style="float: left;margin-left: 10px;">' + '<img style="width: 30px;height: 30px;border-radius: 5px;" src="' + template.usertouxiang + '">' + '</div>' + '<div style="color:#888888;font-size: 12px;font-family:' + typeface + ';transform: scale(0.8);margin-top: -3px;margin-left: -110px;">' + nickName + '</div>' + '<div style="width: 0;height: 0;border: 5px solid rgba(255, 0, 0, 0);border-right-color: #fff;float: left;margin-top: 10px;">' + '</div>' + '<div style="float: left;background: #fff;font-family:' + typeface + ';padding: 7px;border-radius: 5px;">' + '<p style="font-size: 12px;width:' + widthPixel + '">' + template.value + '</p>' + '</div>' + '</div>'); } console.log(this.historyList);},
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
# 发送语音对话:
// 发送语音对话getyuyinshijian(index, num) { // 自定义数据结构 let template = { 'userindex': index,// 用户id 'usertouxiang': this.userList[index].touxiang,// 用户头像 'useryonghuming': this.userList[index].yonghuming,// 用户昵称 'value': this.userList[index].yuyinshichang,// 值 'gongneng': num,// 功能 'describe': '您刚刚添加了发送语音对话值为:' + this.userList[index].yuyinshichang // 描述 } this.historyList.push(template); // 字体 let typeface = 'Segoe UI'; // 昵称 let nickName; if (this.isyonghunicheng == 0) { nickName = ''; } else { nickName = template.useryonghuming; } // 对话宽度 let widthPixel; if (this.userList[index].yuyinshichang > 60) { alert('语音时长不可超过60s'); } else { let num = (130 / 60) * this.userList[index].yuyinshichang; if (this.userList[index].yuyinshichang > 10 && this.userList[index].yuyinshichang > 20) { widthPixel = parseInt(num) + 'px'; } if (index == 0) { $('#liaotianneirong').append('<div style="margin-top: 5px;float: right;width: 100%;">' + '<div style="float: right;margin-right: 10px;">' + '<img style="width: 30px;height: 30px;border-radius: 5px;" src="' + template.usertouxiang + '">' + '</div>' + '<div style="width: 0;height: 0;border: 5px solid rgba(255, 0, 0, 0);border-left-color: #95EC69;float: right;margin-top: 10px;">' + '</div>' + '<div style="float: right;background: #95EC69;font-family:' + typeface + ';padding: 5px;border-radius: 5px;width: ' + widthPixel + ';">' + '<div style="float: right;">' + '<img style="width: 13px;" src="../wxduihuakefatu/image/语音1.png">' + '</div>' + '<p style="float: right;font-size: 13px;margin-top: 1px;margin-right: 3px;">' + template.value + `''` + '</p>' + '</div>' + '</div>'); } else { $('#liaotianneirong').append('<div style="margin-top: 5px;float: left;width: 100%;">' + '<div style="float: left;margin-left: 10px;">' + '<img style="width: 30px;height: 30px;border-radius: 5px;" src="' + template.usertouxiang + '">' + '</div>' + '<div style="color:#888888;font-size: 12px;font-family:' + typeface + ';transform: scale(0.8);margin-top: -5px;margin-left: -110px;">' + nickName + '</div>' + '<div style="width: 0;height: 0;border: 5px solid rgba(255, 0, 0, 0);border-right-color: #fff;float: left;margin-top: 10px;">' + '</div>' + '<div style="float: left;background: #fff;font-family:' + typeface + ';padding: 5px;border-radius: 5px;width: ' + widthPixel + ';">' + '<div style="float: left;">' + '<img style="width: 13px;" src="../wxduihuakefatu/image/语音2.png">' + '</div>' + '<p style="float: left;font-size: 13px;margin-top: 1px;margin-left: 3px;">' + template.value + `''` + '</p>' + '</div>' + '</div>'); } } console.log(this.historyList);},
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
# 发送红包:
// 发送红包getFaHongBao(index, num) { // 自定义数据结构 let template = { 'userindex': index,// 用户id 'usertouxiang': this.userList[index].touxiang,// 用户头像 'useryonghuming': this.userList[index].yonghuming,// 用户昵称 'value': this.userList[index].hongbaozhufuyu,// 值 'gongneng': num,// 功能 'describe': '您刚刚添加了发送红包对话值为:' + this.userList[index].hongbaozhufuyu // 描述 } this.historyList.push(template); // 昵称 let nickName; if (this.isyonghunicheng == 0) { nickName = ''; } else { nickName = template.useryonghuming; } if (index == 0) { $('#liaotianneirong').append('<div style="margin-top: 5px;float: right;width: 100%;">' + '<div style="float: right;margin-right: 10px;">' + '<img style="width: 30px;height: 30px;border-radius: 5px;" src="' + template.usertouxiang + '">' + '</div>' + '<div style="float: right;margin-right: 5px;">' + '<img style="width: 170px;border-radius: 3px;position: relative;" src="../wxduihuakefatu/image/发红包.png">' + '<span style="width: 110px;position: absolute;left: 130px;margin-top: 17px;color: #fff;font-family: system-ui;font-size: 12px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">' + template.value + '</span>' + '</div>' + '</div>'); } else { $('#liaotianneirong').append('<div style="margin-top: 5px;float: left;width: 100%;">' + '<div style="float: left;margin-left: 10px;">' + '<img style="width: 30px;height: 30px;border-radius: 5px;" src="' + template.usertouxiang + '">' + '</div>' + '<div style="color:#888888;font-size: 12px;font-family: system-ui;transform: scale(0.8);margin-top: -2px;margin-left: -110px;">' + nickName + '</div>' + '<div style="float: left;margin-left: 5px;">' + '<img style="width: 170px;border-radius: 3px;position: relative;" src="../wxduihuakefatu/image/发红包2.png">' + '<span style="width: 110px;position: absolute;left: 95px;margin-top: 17px;color: #fff;font-family: system-ui;font-size: 12px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">' + template.value + '</span>' + '</div>' + '</div>'); } console.log(this.historyList);},
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
# 生成:
openFinished() { this.finishProductModel = true; document.getElementById('finishProduct').innerHTML = ''; html2canvas(document.querySelector("#capture"), { scale: 5, useCORS: true, }).then(canvas => { canvas.style.width = `300px`; canvas.style.height = `610px`; document.getElementById('finishProduct').appendChild(canvas); })}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
# 随机生成卡密:
/// <summary>/// 随机生成卡密/// </summary>/// <param name="kamileixing">密码类型</param>/// <param name="shuliang">数量</param>/// <param name="beizhu">备注</param>/// <returns></returns>public ActionResult suijishengchengkami(int kamileixing,int shuliang,string beizhu){ ReturnJson returnJson = new ReturnJson(); try { // 是否成功添加入数据库 bool state = false; // 存储卡密 ArrayList arrayList = new ArrayList(); // 临时存储卡密 StringBuilder stringBuilder = new StringBuilder(62); // 随机 Random random = new Random(); // 生成数量 for (int i = 1; i <= shuliang; i++) { // 制作卡密中 for (int j = 0; j < 32; j++) { stringBuilder.Append(constant[random.Next(62)]); } // 卡密号已生成 string kamihao = stringBuilder.ToString(); // 是否产生碰撞 var selerepeat = (from tbKaMi in myModels.KaMi where tbKaMi.kamihao.Trim().Equals(kamihao.Trim()) select tbKaMi).Count(); if (selerepeat > 0) { // 清空临时存储卡密 stringBuilder.Length = 0; // 控制死循环 bool bools = true; // 进入死循环 while (bools) { // 独立制作卡密 for (int j = 0; j < 32; j++) { stringBuilder.Append(constant[random.Next(62)]); } // 制作完毕 string saixuankamihao = stringBuilder.ToString(); // 是否产生碰撞 var selerepeats = (from tbKaMi in myModels.KaMi where tbKaMi.kamihao.Trim().Equals(kamihao.Trim()) select tbKaMi).Count(); if (selerepeats > 0) { // 继续进入死循环继续制作卡密 - 不发生卡密碰撞 bools = true; // 清空临时存储卡密 stringBuilder.Length = 0; } else { // 跳出死循环 bools = false; // 将卡密追加入数组中 arrayList.Add(stringBuilder.ToString()); //将制作完成的卡密添加入数据库 - 递归 state = tianjiakamijinrushujuku(stringBuilder.ToString(),kamileixing, beizhu); // 清空临时存储卡密 stringBuilder.Length = 0; } } } else { // 没有产生碰撞 - 正常运行 arrayList.Add(stringBuilder.ToString()); //将制作完成的卡密添加入数据库 - 递归 state = tianjiakamijinrushujuku(stringBuilder.ToString(),kamileixing, beizhu); // 清空临时存储卡密 stringBuilder.Length = 0; } } if (state) { returnJson.State = true; returnJson.Msg = "生成卡密成功"; returnJson.Object = arrayList; } else { returnJson.State = false; returnJson.Msg = "服务器繁忙"; } } catch (Exception) { returnJson.State = false; returnJson.Msg = "随机生成卡密抛出异常,请尽快修复"; } return Json(returnJson,JsonRequestBehavior.AllowGet);}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
# 登录卡密:
/// <summary>/// 登录卡密/// </summary>/// <param name="kami">卡密</param>/// <param name="jiqima">机器码</param>/// <param name="IP">ip地址</param>/// <returns></returns>public ActionResult denglu(string kami, string jiqima, string IP){ returnjson returnJson = new returnjson(); try { var count = (from tbKaMi in myModels.KaMi where tbKaMi.kamihao == kami select tbKaMi).Count(); if (count > 0) { var data = (from tbKaMi in myModels.KaMi where tbKaMi.kamihao == kami select tbKaMi).Single(); if (data.caozuozhuangtai != 2)// 判断卡密是否被删除 { if (data.shifoudaoqi != 1 && data.shifoudaoqi != null)// 判断卡密状态是否过期 { DateTime NowTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));// 当前时间 DateTime sqldaoqishijian = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));// 初始化,避免出现空数据异常报错 if (data.daoqishijian == null) { sqldaoqishijian = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));// 初始化,避免出现空数据异常报错 } else { sqldaoqishijian = Convert.ToDateTime(data.daoqishijian);// 到期时间 } if (sqldaoqishijian >= NowTime)// 判断卡密时间是否过期 { if (data.caozuozhuangtai != 1)// 判断卡密是否被停封 { if (data.shiyongzhuangtai != 1)// 判断是否激活过 { // 未激活 - 第一次登录 string uuid = "";// 生成guid唯一标识符 / 机器码 bool state = true;// 死循环控制状态 while (state) { uuid = Guid.NewGuid().ToString();// 机器码生成了 var repeat = (from tbKaMi in myModels.KaMi where tbKaMi.jiqima.Trim() == uuid select tbKaMi).Count(); if (repeat > 0)// 判断是否重复机器码 { state = true;// 继续循环 } else { state = false;// 停止循环 } } data.shiyongzhuangtai = 1;// 激活当前卡密 data.caozuozhuangtai = 0;// 默认解封状态 - 管理员操作 data.yonghucaozuozhuangtai = 0;// 锁定设备 - 用户操作 data.dengluIP = IP;// IP地址 data.jiqima = uuid;// 机器码 data.jihuoshijian = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");// 激活时间 string daoqishijian = "";// 临时到期时间 string str = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");// 基础时间 if (data.leixing == 0) { daoqishijian = (Convert.ToDateTime(str).AddMinutes(15)).ToString("yyyy-MM-dd HH:mm:ss").Trim(); } if (data.leixing == 1) { daoqishijian = (Convert.ToDateTime(str).AddHours(1)).ToString("yyyy-MM-dd HH:mm:ss").Trim(); } if (data.leixing == 2) { daoqishijian = (Convert.ToDateTime(str).AddDays(1)).ToString("yyyy-MM-dd HH:mm:ss").Trim(); } if (data.leixing == 3) { daoqishijian = (Convert.ToDateTime(str).AddDays(3)).ToString("yyyy-MM-dd HH:mm:ss").Trim(); } if (data.leixing == 4) { daoqishijian = (Convert.ToDateTime(str).AddDays(7)).ToString("yyyy-MM-dd HH:mm:ss").Trim(); } if (data.leixing == 5) { daoqishijian = (Convert.ToDateTime(str).AddDays(15)).ToString("yyyy-MM-dd HH:mm:ss").Trim(); } if (data.leixing == 6) { daoqishijian = (Convert.ToDateTime(str).AddMonths(1)).ToString("yyyy-MM-dd HH:mm:ss").Trim(); } if (data.leixing == 7) { daoqishijian = (Convert.ToDateTime(str).AddMonths(3)).ToString("yyyy-MM-dd HH:mm:ss").Trim(); } if (data.leixing == 8) { daoqishijian = (Convert.ToDateTime(str).AddYears(1)).ToString("yyyy-MM-dd HH:mm:ss").Trim(); } if (data.leixing == 9) { daoqishijian = (Convert.ToDateTime(str).AddYears(10)).ToString("yyyy-MM-dd HH:mm:ss").Trim(); } data.daoqishijian = daoqishijian;// 到期时间 data.shifoudaoqi = 0;// 未过期 data.zuihoudenglushijian = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");// 最后登录时间 myModels.Entry(data).State = System.Data.Entity.EntityState.Modified; if (myModels.SaveChanges() > 0) { returnJson.State = true; returnJson.Msg = "登录成功"; returnJson.key = kami.Trim(); returnJson.value = uuid.Trim(); } else { returnJson.State = false; returnJson.Msg = "登录失败"; } } else { if (data.yonghucaozuozhuangtai == 1)// 解卡 - 另一台电脑也可以登录 { if (data.jiqima == "重置")// 重生脚本 { string uuid = "";// 生成guid唯一标识符 / 机器码 bool state = true; while (state) { uuid = Guid.NewGuid().ToString();// 生成机器了 var repeat = (from tbKaMi in myModels.KaMi where tbKaMi.jiqima.Trim() == uuid select tbKaMi).Count(); if (repeat > 0) { state = true; } else { state = false; } } data.shiyongzhuangtai = 1;// 激活当前卡密 data.caozuozhuangtai = 0;// 默认解封状态 - 管理员操作 data.yonghucaozuozhuangtai = 0;// 锁定设备 - 用户操作 data.dengluIP = IP;// IP地址 data.jiqima = uuid;// 机器码 string str = (Convert.ToDateTime(data.daoqishijian).AddDays(-1)).ToString("yyyy-MM-dd HH:mm:ss").Trim();//减24小时 data.daoqishijian = str;// 到期时间 data.zuihoudenglushijian = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");// 最后登录时间 myModels.Entry(data).State = System.Data.Entity.EntityState.Modified; if (myModels.SaveChanges() > 0) { returnJson.State = true; returnJson.Msg = "登录成功"; returnJson.key = kami.Trim(); returnJson.value = uuid.Trim(); } else { returnJson.State = false; returnJson.Msg = "登录失败"; } } } else// 锁卡 - 未解过卡 - 正常登录 { if (data.jiqima == "重置")// 重生脚本 { string uuid = "";// 生成guid唯一标识符 / 机器码 bool state = true; while (state) { uuid = Guid.NewGuid().ToString();// 生成机器了 var repeat = (from tbKaMi in myModels.KaMi where tbKaMi.jiqima.Trim() == uuid select tbKaMi).Count(); if (repeat > 0) { state = true; } else { state = false; } } data.shiyongzhuangtai = 1;// 激活当前卡密 data.caozuozhuangtai = 0;// 默认解封状态 - 管理员操作 data.yonghucaozuozhuangtai = 0;// 锁定设备 - 用户操作 data.dengluIP = IP;// IP地址 data.jiqima = uuid;// 机器码 string str = (Convert.ToDateTime(data.daoqishijian).AddDays(-1)).ToString("yyyy-MM-dd HH:mm:ss").Trim();//减24小时 data.daoqishijian = str;// 到期时间 data.zuihoudenglushijian = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");// 最后登录时间 myModels.Entry(data).State = System.Data.Entity.EntityState.Modified; if (myModels.SaveChanges() > 0) { returnJson.State = true; returnJson.Msg = "登录成功"; returnJson.key = kami.Trim(); returnJson.value = uuid.Trim(); } else { returnJson.State = false; returnJson.Msg = "登录失败"; } } else { if (jiqima.Trim() != "false") { if (data.jiqima.Trim().Equals(jiqima)) { data.shiyongzhuangtai = 1;// 激活卡密 data.jiqima = jiqima.Trim();// 机器码 data.yonghucaozuozhuangtai = 0;// 锁定设备 - 用户操作 data.caozuozhuangtai = 0;// 默认解封状态 - 管理员操作 data.dengluIP = IP;// IP地址 data.zuihoudenglushijian = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");// 最后登录时间 myModels.Entry(data).State = System.Data.Entity.EntityState.Modified; if (myModels.SaveChanges() > 0) { returnJson.State = true; returnJson.Msg = "登录成功"; returnJson.key = kami.Trim(); returnJson.value = data.jiqima.Trim(); } else { returnJson.State = false; returnJson.Msg = "登录失败"; } } else { returnJson.State = false; returnJson.Msg = "当前卡密已绑定其他设备,请解锁后再登录"; } } else { returnJson.State = false; returnJson.Msg = "你不是卡密使用者本人"; } } } } } else { returnJson.State = false; returnJson.Msg = "卡密已被停封"; } } else { // 将卡密修改为过期状态 data.shifoudaoqi = 1; myModels.Entry(data).State = System.Data.Entity.EntityState.Modified; myModels.SaveChanges(); returnJson.State = false; returnJson.Msg = "卡密已过期"; } } else { returnJson.State = false; returnJson.Msg = "卡密已过期"; } } else { returnJson.State = false; returnJson.Msg = "卡密已回收"; } } else { returnJson.State = false; returnJson.Msg = "卡密不存在"; } } catch (Exception) { returnJson.State = false; returnJson.Msg = "登录卡密方法抛出异常,请尽快修复"; } return Json(returnJson,JsonRequestBehavior.AllowGet);}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
# 解锁电脑设备:
/// <summary>/// 解锁电脑设备/// </summary>/// <param name="kami">卡密</param>/// <param name="jiqima">机器码</param>/// <param name="IP">ip地址</param>/// <returns></returns>public ActionResult jiesuoVoid(string kami, string jiqima, string IP){ returnjson returnJson = new returnjson(); try { var count = (from tbKaMi in myModels.KaMi where tbKaMi.kamihao == kami select tbKaMi).Count(); if (count > 0) { var data = (from tbKaMi in myModels.KaMi where tbKaMi.kamihao == kami select tbKaMi).Single(); if (data.caozuozhuangtai != 2)// 判断卡密是否被删除 { if (data.shifoudaoqi != 1 && data.shifoudaoqi != null)// 判断卡密状态是否过期 { DateTime NowTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));// 当前时间 DateTime sqldaoqishijian = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));// 初始化,避免出现空数据异常报错 if (data.daoqishijian == null) { sqldaoqishijian = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));// 初始化,避免出现空数据异常报错 } else { sqldaoqishijian = Convert.ToDateTime(data.daoqishijian);// 到期时间 } if (sqldaoqishijian >= NowTime)// 判断卡密时间是否过期 { if (data.caozuozhuangtai != 1)// 判断卡密是否被停封 { if (data.shiyongzhuangtai != 1)// 判断是否激活过 { // 未激活 - 解锁 returnJson.State = false; returnJson.Msg = "当前卡密未绑定过任何设备,请先登录"; } else { if (data.yonghucaozuozhuangtai == 0)// 目前是锁卡状态 { if (data.jiqima == "重置")// 重生脚本 { data.shiyongzhuangtai = 1;// 激活卡密 data.caozuozhuangtai = 0;// 默认解封状态 - 管理员操作 data.yonghucaozuozhuangtai = 1;// 解锁设备 - 用户操作 data.jiqima = "重置";// 机器码 data.dengluIP = IP;// IP地址 myModels.Entry(data).State = System.Data.Entity.EntityState.Modified; if (myModels.SaveChanges() > 0) { returnJson.State = true; returnJson.Msg = "解锁设备成功"; returnJson.key = kami.Trim(); returnJson.value = null; } else { returnJson.State = false; returnJson.Msg = "解锁设备失败"; } } else { if (jiqima.Trim() != "false") { if (data.jiqima.Trim().Equals(jiqima))// 判断是不是本人 { data.shiyongzhuangtai = 1;// 激活卡密 data.caozuozhuangtai = 0;// 默认解封状态 - 管理员操作 data.yonghucaozuozhuangtai = 1;// 解锁设备 - 用户操作 data.jiqima = "重置";// 机器码 data.dengluIP = IP;// IP地址 myModels.Entry(data).State = System.Data.Entity.EntityState.Modified; if (myModels.SaveChanges() > 0) { returnJson.State = true; returnJson.Msg = "解锁设备成功"; returnJson.key = kami.Trim(); returnJson.value = null; } else { returnJson.State = false; returnJson.Msg = "解锁设备失败"; } } else { returnJson.State = false; returnJson.Msg = "当前卡密已绑定其他设备,请解锁后重试"; } } else { returnJson.State = false; returnJson.Msg = "你不是卡密使用者本人"; } } } else { returnJson.State = false; returnJson.Msg = "当前卡密已是解锁状态,不用再解锁"; } } } else { returnJson.State = false; returnJson.Msg = "卡密已被停封"; } } else { // 将卡密修改为过期状态 data.shifoudaoqi = 1; myModels.Entry(data).State = System.Data.Entity.EntityState.Modified; myModels.SaveChanges(); returnJson.State = false; returnJson.Msg = "卡密已过期"; } } else { returnJson.State = false; returnJson.Msg = "卡密已过期"; } } else { returnJson.State = false; returnJson.Msg = "卡密已回收"; } } else { returnJson.State = false; returnJson.Msg = "卡密不存在"; } } catch (Exception) { returnJson.State = false; returnJson.Msg = "解锁电脑设备方法抛出异常,请尽快修复"; } return Json(returnJson, JsonRequestBehavior.AllowGet);}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
# 检测高危地区:
/// <summary>/// 高危地区/// </summary>/// <param name="guojia">国家</param>/// <param name="shengfen">身份</param>/// <param name="shi">市</param>/// <param name="qu">区</param>/// <returns></returns>public ActionResult gaoweidiqu(string guojia,string shengfen,string shi,string qu){ ReturnJson returnJson = new ReturnJson(); try { if (guojia != "") { string str = guojia.Trim(); bool res = jiancegaoweidiqu(str); if (res)// 检测到高危地区 { returnJson.State = true; return Json(returnJson, JsonRequestBehavior.AllowGet);// 直接返回方法 } else// 未检测到高危地区 { returnJson.State = false; } } if (shengfen != "") { string str = shengfen.Trim(); bool res = jiancegaoweidiqu(str); if (res)// 检测到高危地区 { returnJson.State = true; return Json(returnJson, JsonRequestBehavior.AllowGet);// 直接返回方法 } else// 未检测到高危地区 { returnJson.State = false; } } if (shi != "") { string str = shi.Trim(); bool res = jiancegaoweidiqu(str); if (res)// 检测到高危地区 { returnJson.State = true; return Json(returnJson, JsonRequestBehavior.AllowGet);// 直接返回方法 } else// 未检测到高危地区 { returnJson.State = false; } } if (qu != "") { string str = qu.Trim(); bool res = jiancegaoweidiqu(str); if (res)// 检测到高危地区 { returnJson.State = true; return Json(returnJson, JsonRequestBehavior.AllowGet);// 直接返回方法 } else// 未检测到高危地区 { returnJson.State = false; } } } catch (Exception) { // 防止异常发生 } return Json(returnJson, JsonRequestBehavior.AllowGet);}/// <summary>/// 检测高危地区/// </summary>/// <param name="name">参数</param>/// <returns>0地区开放/1高危地区</returns>public bool jiancegaoweidiqu(string name){ bool res = false; try { var count = (from tbRegion in myModels.Region where tbRegion.Name.Trim().Contains(name.Trim()) select tbRegion).Count(); if (count > 0) { var data = (from tbRegion in myModels.Region where tbRegion.Name.Trim().Contains(name.Trim()) select tbRegion).Single(); if (data.State != 1) { res = false;// 目前该地区开放访问 } else { res = true;// 检测到高危地区 } } else { res = false;// 没有检测到高危地区 } } catch (Exception) { // 防止异常发生 } return res;}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115