|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
class Weapps::CodeSessionsController < Weapps::BaseController
|
|
|
|
|
def create
|
|
|
|
|
logged = false
|
|
|
|
|
return render_error('code不能为空') if params[:code].blank?
|
|
|
|
|
|
|
|
|
|
result = Wechat::Weapp.jscode2session(params[:code])
|
|
|
|
@ -12,6 +13,7 @@ class Weapps::CodeSessionsController < Weapps::BaseController
|
|
|
|
|
if open_user.present? && open_user.user
|
|
|
|
|
set_session_unionid(result['unionid'])
|
|
|
|
|
successful_authentication(open_user.user)
|
|
|
|
|
logged = true
|
|
|
|
|
else
|
|
|
|
|
# 新用户
|
|
|
|
|
user_info = Wechat::Weapp.decrypt(result['session_key'], params[:encrypted_data], params[:iv])
|
|
|
|
@ -19,6 +21,6 @@ class Weapps::CodeSessionsController < Weapps::BaseController
|
|
|
|
|
set_session_unionid(user_info['unionId'])
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
render_ok(openid: result['openid'])
|
|
|
|
|
render_ok(openid: result['openid'], logged: logged)
|
|
|
|
|
end
|
|
|
|
|
end
|