为啥王者荣耀角色迁移QQ密保验证失败?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥王者荣耀角色迁移QQ密保验证失败?相关的知识,希望对你有一定的参考价值。

参考技术A 有可能是在迁移的过程中,如果超过规定的时间内联系联系腾讯客服解决问题。

王者荣耀界面登录注册验证——express+mongodb

1.app.js
var express = require('express');
var path = require('path');
var app = express();
var router = require('./router');
//配置body-parser
var BodyParser = require('body-parser');
app.use(BodyParser.urlencoded({extend: false}));
app.use(BodyParser.json());
//配置静态开放资源目录,便于请求访问
app.use('/public/',express.static(path.join(__dirname,'./public/')));
app.use('/node_modules',express.static(path.join(__dirname,'./node_modules/')));
app.use('/views/',express.static(path.join(__dirname,'./views/')));
//配置渲染的视图后缀名
app.engine('html',require('express-art-template'));
//引入session 文件
var session = require('express-session');
/*
   -cookie数据存放在客户的浏览器上,session数据放在服务器上
   -cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session
   -session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE
   -单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。
   -所以:将登陆信息等重要信息存放为SESSION(默认暂存30分钟);其他信息如果需要保留,可以放在COOKIE中

   -在 Express 框架中,默认不支持 Session 和 Cookie
   但我们可以使用第三方中间件: express-session 来解决
   1.nmp install express-session
   2.配置
   3.使用 
   Example: -添加 Session 数据: req.session.instance = 'Vodka';
            -访问 Session 数据: req.session.instance; 
*/
app.use(session({
  //配置加密字符串,它会在原有的加密基础之上和这个自定义的字符串拼接起来 
  //目的是为了增加安全性,防止客户端的恶意伪造
   secret: '688', 
   resave: false,
   //无论客户端请求是否使用 session ,都默认分配一把 ‘钥匙’
   saveUninitialized: false  
}));

//加载路由
app.use(router);

app.listen(5000,function(){
    console.log('running!');
});




2.router.js
var fs = require('fs');
var express = require('express');
var Router = express.Router();
var User = require('./data');
//密码加密包
// var md5 = require('blueimp-md5');
/*
   { NickName: 'Vodka',
     PassWord: '123456', 
     Account: '190942' }
*/
//主页面
Router.get('/',function(request,response){
    response.render('index.html');
});

//登录请求
Router.post('/logining',function(request,response){
    var body = request.body;
    console.log(body.Account)
    var errCode = 0 ;
    if( body.Account == '' || body.PassWord == '' ){
        return response.status(200).json({
            success: true,
            message: 'Please fillout the information!',
            errCode: -1
        });
    }
    User.findOne({
      $and: [
        {
            PassWord: body.PassWord
        },
        {
            Account: body.Account
        }
      ]    
    },function(error,result){
        if(error){
            //查询过程出错
            return response.status(200).json({
                success: false,
                message: 'Server error!',
                errCode: 500
            })
        } else if(result){
            //成功查找到相应数据
            /*
               Express 提供了一个响应方法: json,该方法接收一个对象作为参数,它会自动把对象转为字符串
            */
            return  response.status(200).json({
                success: true,
                errCode: 0,  //查找到已存在用户,所以返回注册失败的标记 '0'
                message: 'The User had been exists'
            });
         }
         //若当前用户并没有数据库记录,则跳转到注册页面
         else {
             return response.status(200).json({
                 success: true,
                 errCode: 1,
                 message: 'Please regist'
             });
         }
       
         /*服务端重定向只对同步请求有效,对异步请求无效:
            response.redirect('/');
            需要在客户端重定向:
             window.location.href = '/xxxx'; 
         */
    });
});

//登录页面
Router.get('/login',function(request,response){    
    response.render('login.html');
});

//注册页面
Router.get('/regist',function(request,response){    
    response.render('register.html');
});

//处理注册请求
Router.post('/register',function(request,response){
    //定义一个表数据用户对象,用于接收request的请求体
    var body = request.body;
    //先判断用户是否全部信息填写完毕
    if (body.Account == '' || body.NickName == '' || body.PassWord == ''){
            return  response.status(200).json({
                success: true,
                message: 'Please fillout the information!',
                errCode: -1
            })
    };
    var errCode  = 0;      //定义标示
    User.findOne({
        //有其中一个属性相同,就可以证明数据库存在相同的用户
        $or: [
           {
               NickName: body.NickName
           },
           {
               Account: body.Account
           }
        ]
    },function(error,result){
       if(error){
           //查询过程出错
           return response.status(200).json({
               success: false,
               message: 'Server error!',
               errCode: 500
           })
       } else if(result){
           //成功查找到相应数据
           /*
              Express 提供了一个响应方法: json,该方法接收一个对象作为参数,它会自动把对象转为字符串
           */
           return  response.status(200).json({
               success: true,
               errCode: 1 ,  //查找到已存在用户,所以返回注册失败的标记 '1'
               message: 'The User had been exists'
           });
        }
        //若当前用户并没有数据库记录,则允许注册
        new User(body).save(function(error,data){
            if(error){
                return response.status(200).json({
                    success: true,
                    errCode: 500,
                    message: 'Internal error!'
                });
            }
              //若注册成功,使用Session记录用户的信息
              //(Session有会话生命周期,默认30分钟,存在服务端(通常用来保存敏感数据,安全性较高)
              //Cookie的生命周期可以设置,存在浏览器本地内存)
               request.session.User = data;
            return response.status(200).json({    
                    success: true,
                    errCode: 0,
                    message: 'Regist success!'
            });
        });
      
        /*服务端重定向只对同步请求有效,对异步请求无效:
           response.redirect('/');
           需要在客户端重定向:
            window.location.href = '/xxxx'; 
        */
    })
});
//导出路由容器
module.exports = Router;



3.data.js
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/HeroUser',{useNewUrlParser:true});

//定义用户表模式
var UserSchema = new mongoose.Schema({
    Account: {
        type: String,
        default: null,
        require: true
    },
    PassWord: {
        type: String,
        require: true,
        defaultt: null
    },
    NickName: {
        type: String,
        require: true,
        default: null
    },
    CreateTime: {
        /*
          账号创建时间,注意类型要写Date,而不是Date.now(),
          因为Date.now()会立即调用,而写默认值在 new Model时,
          没有传参数,系统就会调用默认值 default, 获得确切时间
        */
       type: Date,
       default: Date.now
    },
    LastModifyTime:{
        //最近一次修改时间
        type: Date,
        default: Date.now
    },
    Gender: {
        type: Number,
        default: null
    },
    Birthday: {
        type: Date,
    },
    avtar: {
       type: String,
       deafult: './views/img/huowu.png'
    },
    Status: {
        /*
          用户权限状态:
             '0': 表示没有权限限制,
             '1': 不可以评论,
             '2': 不能登录 
        */
        type: Number,
        enum: [0,1,2],
        default: 0     
    }
});

//根据列名以及模式名,导出该表的模式
module.exports = mongoose.model('User',UserSchema); 




1.index.html
<!-- 模板继承:  继承 layout 页面模块 , 若继承者没有补充被继承模块中的block(待填充模块),则使用被继承模块的默认内容-->
{{ extend '../layout/layout.html'}}
<!-- 继承者可以自行设计 head标签内的 内容 -->
{{ block 'head'}}
   <link rel="stylesheet" href="/views/css/index.css">  
   <link rel="stylesheet" href="/views/icon/font_q7l36wd9ys/iconfont.css"> 
   
{{ /block }}
 
<!-- 补充内容 -->
{{ block 'content'}}
<div id="BigBox">
    
        <div id="Content">
            <div id="TrangleLeft"></div>
            <div id="box" class="box">
               <div id="Evaluate">庄周:天地与我并生,万物与我为一。</div> 
               <div id="Time">2021/5/21</div> 
            </div>    
            <div id="TrangleRight"></div>      
        </div>
        <div id="Content">
            <div id="TrangleLeft"></div>
            <div id="box" class="box">
               <div id="Evaluate">庄周:天地与我并生,万物与我为一。</div> 
               <div id="Time">2021/5/21</div> 
            </div>    
            <div id="TrangleRight"></div>      
        </div>
        <div id="Content">
            <div id="TrangleLeft"></div>
            <div id="box" class="box">
               <div id="Evaluate">庄周:天地与我并生,万物与我为一。</div> 
               <div id="Time">2021/5/21</div> 
            </div>    
            <div id="TrangleRight"></div>      
        </div>
        <div id="Content">
            <div id="TrangleLeft"></div>
            <div id="box" class="box">
               <div id="Evaluate">庄周:天地与我并生,万物与我为一。</div> 
               <div id="Time">2021/5/21</div> 
            </div>    
            <div id="TrangleRight"></div>      
        </div>
        <div id="Content">
            <div id="TrangleLeft"></div>
            <div id="box" class="box">
               <div id="Evaluate">庄周:天地与我并生,万物与我为一。</div> 
               <div id="Time">2021/5/21</div> 
            </div>    
            <div id="TrangleRight"></div>      
        </div>
        <div id="Content">
            <div id="TrangleLeft"></div>
            <div id="box" class="box">
               <div id="Evaluate">庄周:天地与我并生,万物与我为一。</div> 
               <div id="Time">2021/5/21</div> 
            </div>    
            <div id="TrangleRight"></div>      
        </div>
        <div id="TimeAxis">时间轴</div>  
</div>       
        
{{ /block}}

<!-- 继承者 可以自行设计 script标签内的 脚本内容 -->
{{ block 'script' }}
<script>
    /*
       -window.scrollTo({ top,left ,behavior}),分别为数字、数字、字符串。
       指定跳转到距离文档顶部、左边的距离,以及跳转效果(smooth、instant)
      -监听事件跳转时机:添加事件监听
      -获取元素到文档最顶部的距离(offsetTop属性),offsetTop返回当前元素相对于其 offsetParent 元素的顶部的距离,
        因此可以通过循环累加的方式来拿到距离文档最顶部的距离
    */
   王者转区qq密保验证失败怎么办?

荣耀8,安装应用时提示失败,原因是还安装包未包含任何证书,怎么办

qq邮箱为啥邮件发送失败重新发送验证码

为啥注册的时候没有发送短信验证码?

王者荣耀界面登录注册验证——express+mongodb

微信登录王者显示appid不能为空是怎么回事