From c6cd3a5720adbc2d6ee4dcd10fc270e47c0276cf Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Wed, 8 Jan 2020 17:00:18 +0800 Subject: [PATCH] ADD get current user info --- README.md | 32 ++++++++++ app/controllers/users_controller.rb | 2 +- app/views/users/me.json.jbuilder | 5 ++ config/routes.rb | 97 ++++++++--------------------- 4 files changed, 63 insertions(+), 73 deletions(-) create mode 100644 app/views/users/me.json.jbuilder diff --git a/README.md b/README.md index 5784f9661..5b5ec27ac 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,38 @@ http://localhost:3000/api/accounts/remote_register | jq ``` --- +#### 获取当前登录用户信息 +``` +GET api/users/me +``` +*示例* +``` +curl -X GET http://localhost:3000/api/users/me | jq +``` + +*返回参数说明:* + +|参数名|类型|说明| +-|-|- +|user_id |int |用户id | +|username |string|用户名称| +|admin |boolean|是否为管理用户| +|login |string|登录名| +|image_url |string|用户头像| + + +返回值 +``` +{ + "username": "18816895620", + "login": "18816895620", + "user_id": 36401, + "image_url": "avatars/User/b", + "admin": false +} +``` +--- + #### 获取项目类别列表(可根据名称搜素) ``` GET api/project_categories diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index f61099627..ea50d278b 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -2,6 +2,7 @@ class UsersController < ApplicationController before_action :load_user, only: [:show, :homepage_info] before_action :check_user_exist, only: [:show, :homepage_info] + before_action :require_login, only: %i[me] def show;end @@ -14,7 +15,6 @@ class UsersController < ApplicationController def me @user = current_user - end # 贴吧获取用户信接口 diff --git a/app/views/users/me.json.jbuilder b/app/views/users/me.json.jbuilder new file mode 100644 index 000000000..925c32e5e --- /dev/null +++ b/app/views/users/me.json.jbuilder @@ -0,0 +1,5 @@ +json.username @user.full_name +json.login @user.login +json.user_id @user.id +json.image_url url_to_avatar(@user) +json.admin @user.admin diff --git a/config/routes.rb b/config/routes.rb index 7926ff9a9..68aa00d8a 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -9,8 +9,6 @@ Rails.application.routes.draw do get 'auth/qq/callback', to: 'oauth/qq#create' get 'auth/failure', to: 'oauth/base#auth_failure' - - resources :edu_settings scope '/api' do resources :composes do @@ -74,75 +72,7 @@ Rails.application.routes.draw do end end - get '/:login/:repo_identifier', to: 'repositories#show' - resources :repositories, path: '/:login/:repo_identifier', only: [:index] do - collection do - get :entries - match :sub_entries, :via => [:get, :put] - get :commits - get :single_commit - post :files - get :tags - end - end - - resources :contents, path: '/:login/:repo_identifier/contents', only: [:create] do - collection do - put 'files/update', :action => 'update_file' - delete 'files/delete', :action => 'delete_file' - end - end - # resources :memos do - # member do - # post :sticky_or_cancel - # post :hidden - # get :more_reply - # end - # - # collection do - # post :reply - # end - # end - - # resources :hacks, path: :problems, param: :identifier do - # collection do - # get :unpulished_list - # end - # member do - # post :publish - # get :start - # post :update_set - # delete :delete_set - # end - # resources :comments do - # post :reply - # end - # end - - # resources :hack_user_lastest_codes, path: :myproblems, param: :identifier do - # member do - # post :update_code - # get :code_debug - # get :code_submit - # match :listen_result, :via => [:get, :post] - # get :result - # get :submit_records - # post :restore_initial_code - # end - # - # collection do - # get :record_detail - # end - # - # - # end - - - # resources :tem_tests - # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html - # - # resources :accounts do collection do @@ -162,9 +92,7 @@ Rails.application.routes.draw do get :homepage_info end - resources :repositories do - end collection do @@ -204,6 +132,31 @@ Rails.application.routes.draw do end end end + + get '/:login/:repo_identifier', to: 'repositories#show' + resources :repositories, path: '/:login/:repo_identifier', only: [:index] do + collection do + get :entries + match :sub_entries, :via => [:get, :put] + get :commits + get :single_commit + post :files + get :tags + end + end + + resources :contents, path: '/:login/:repo_identifier/contents', only: [:create] do + collection do + put 'files/update', :action => 'update_file' + delete 'files/delete', :action => 'delete_file' + end + end + + + + + + resources :users_for_private_messages, only: [:index] resources :myshixuns, param: :identifier, shallow: true do