zoukankan      html  css  js  c++  java
  • 微信登录

    #region (login.js)微信小程序注册登陆
    /// <summary>
    /// (login.js)微信小程序注册登陆
    /// </summary>
    /// <param name="wxUserInfo">微信用户加密后的资料</param>
    /// <returns></returns>
    [HttpPost]
    [Route("WxLogin")]
    public ApiResultModel WxLogin([FromBody]WxUserInfo wxUserInfo)
    {
    try
    {
    var api = new ApiResultModel { Success = 1 };
    string userInfo = WxAES.AES_decrypt(wxUserInfo.encryptedData, wxUserInfo.session_key, wxUserInfo.iv);
    WxGudgeLogin wxGudgeLogin = JsonConvert.DeserializeObject<WxGudgeLogin>(userInfo);

    //api.Data = userInfo;
    //return api;

    #region 判断openid是否存在
    var UserModel = db.User_Index.Where(m => m.IsDelete == 0 && m.WeChatOpenID == wxGudgeLogin.openId).FirstOrDefault();
    if (UserModel != null)
    {
    api.Success = 0;
    api.Message = "不能重复注册";
    return api;
    }
    #endregion

    long id = DataBaseHelper.CreateID();
    long uid = db.User_Index.Max(r => r.UID) + 1;
    #region 增加用户表
    User_Index user_Index = new User_Index()
    {
    ID = id,
    UID = uid,
    Status = 1,
    WeChatOpenID = wxGudgeLogin.openId,//微信唯一标识
    NickName = wxGudgeLogin.nickName,
    Gender = wxGudgeLogin.gender,
    City = wxGudgeLogin.city,
    Province = wxGudgeLogin.province,
    Country = wxGudgeLogin.country,
    Language = wxGudgeLogin.language,
    AvatarUrl = wxGudgeLogin.avatarUrl,
    UnionId = wxGudgeLogin.unionId,
    CreateBy = uid,//创建人
    CreateTime = DateTime.Now,//创建时间
    CityStates = 0,//城市信息填写状态
    DetailsStates = 0,//详细信息填写状态
    IsDelete = 0,//是否删除
    UserType = UserTypeDict.Client.Value,
    ClientUserType = 0//身份类型:1工人,2班组长,3分包,4总包 默认未选择身份
    ,
    FromUID = wxUserInfo.srcuid
    };
    db.User_Index.Add(user_Index);
    #endregion

    #region 增加用户积分表
    var UserScoreModel = new User_Score();
    UserScoreModel.ID = DataBaseHelper.CreateID();
    UserScoreModel.UID = uid;
    UserScoreModel.IntegralCount = UserScoreConfig.Register; //默认注册积分
    UserScoreModel.IsDelete = 0;
    UserScoreModel.CreateBy = uid;
    UserScoreModel.CreateTime = DateTime.Now;
    db.User_Score.Add(UserScoreModel);

    var IntegralModel = new User_IntegralManager();
    IntegralModel.Id = DataBaseHelper.CreateID();
    IntegralModel.CreateBy = uid;
    IntegralModel.CreateTime = DateTime.Now;
    IntegralModel.Uid = uid;
    IntegralModel.IsDelete = 0;
    IntegralModel.ApplyDate = DateTime.Now;
    IntegralModel.Explain = "注册增加" + UserScoreConfig.InvitationRegister + "积分";
    IntegralModel.IntegralType = UserIntegralTypeDict.InvitationRegister.Value;
    IntegralModel.IntegralState = IntergralDemoDict.demo2.Value;
    IntegralModel.IntegralCount = UserScoreConfig.InvitationRegister;
    IntegralModel.CommodityID = 0;
    db.User_IntegralManager.Add(IntegralModel);
    #endregion

    #region 增加空的实名信息表
    User_WorkerInfo user_WorkerInfo = new User_WorkerInfo()
    {
    ID = DataBaseHelper.CreateID(),
    UID = uid,//创建详细信息 , UID 和 用户表中的 UID 相关联。
    CreateBy = uid,
    CreateTime = DateTime.Now,
    IsDelete = 0
    };
    db.User_WorkerInfo.Add(user_WorkerInfo);
    #endregion

    int result = db.SaveChanges();
    if (result > 0)
    {
    //WxResponse<WxGudgeLogin> userMess = new WxResponse<WxGudgeLogin>() { uid = uid, datas = wxGudgeLogin };
    api.Success = 1;
    api.ErrorCode = 1;
    api.Message = "添加成功,请开始填写第一步信息:身份选择";
    api.Data = new
    {
    uid = uid.ToString(),
    datas = wxGudgeLogin
    };//本栈的用户唯一标识
    }
    else
    {
    api.Success = 0;
    api.Message = "添加失败";
    }
    return api;
    }
    catch (Exception ex)
    {

    throw new Exception(ex.Message);
    }

    }
    #endregion

  • 相关阅读:
    自动识别文本中最能体现文本的主题和风格的词汇?试想一下,要找到一本 书中使用最频繁的 50 个词
    语言处理任务 NLTK 模块 功能描述
    mysql group by 去重 分类 求和
    isinstance(object, classinfo) class type(name, bases, dict)
    函数式编程 偏函数 生成器 yield
    .bash_profile vs .bashrc
    sh/bash/csh/Tcsh/ksh/pdksh等shell的区别
    从数据库、页面加载速度角度思考 id设计 sku asin
    线性回归
    Oracle OLAP
  • 原文地址:https://www.cnblogs.com/lockzy/p/11758998.html
Copyright © 2011-2022 走看看