forked from Gitlink/forgeplus
30 lines
1.1 KiB
Ruby
30 lines
1.1 KiB
Ruby
class Weapps::SessionsController < Weapps::BaseController
|
|
before_action :require_wechat_login!
|
|
|
|
def create
|
|
return render_error('重复登录') if current_user.present? && current_user.logged?
|
|
|
|
user = User.try_to_login(params[:login], params[:password])
|
|
|
|
return render_error('错误的账号或密码') if user.blank?
|
|
return render_error('违反平台使用规范,账号已被锁定') if user.locked?
|
|
return render_error('错误的账号或密码') unless user.check_password?(params[:password].to_s)
|
|
|
|
if user.wechat_open_user && user.wechat_open_user.uid != session_unionid
|
|
render_error('该账号已被其它微信号绑定')
|
|
return
|
|
end
|
|
|
|
# session[:wechat_user_extra].delete(:nickName)
|
|
# 绑定微信号
|
|
# open_user = OpenUsers::Wechat.find_by(uid: session_unionid)
|
|
# if open_user.present? && open_user.user_id.nil?
|
|
# open_user.update!(user_id: user.id)
|
|
# els
|
|
if user.wechat_open_user.blank?
|
|
OpenUsers::Wechat.create!(user: user, uid: session_unionid)
|
|
end
|
|
|
|
successful_authentication(user)
|
|
end
|
|
end |