1. 程式人生 > >後端管理系統開發(一):登入篇

後端管理系統開發(一):登入篇

作為後端程式設計師,想寫一個數據展示的系統,主要用於資料查詢、資料展示,當然也有登入功能了,有沒有比較快的方式呢,於此,Vue-Admin-Pro便產生了,基於iView-Admin,進行簡化,為後端程式設計師量身打造的極簡後端管理系統。

專案地址:vue-admin-pro

系列文章1:後端管理系統開發(一):登入篇

系列文章2:後端管理系統開發(二):路由篇(敬請期待)

系列文章3:後端管理系統開發(三):資料表格篇(敬請期待)

系列文章4:後端管理系統開發(四):資料請求篇(敬請期待)

系列文章5:後端管理系統開發(五):表單篇(敬請期待)

搭建專案

專案進入正題,開始搭建專案。

第一步:使用 Git

拉取 vue-admin-pro 的程式碼,地址:[email protected]:fengwenyi/vue-admin-pro.git

克隆 Vue-Admin-Pro

第二步:修改工程名,比如我們將工程名改為vue-admin-pro-simple

第三步:使用 WebStorm 開啟

第四步:修改配置,配置地址:/src/config/index.js

第五步:執行 npm install

第六步:執行 npm run dev

執行效果:

執行效果

這裡有一個問題,因為標題過長,大於預留的寬度,我們去修改一下登入樣式:/src/view/Login/Login.less,將寬度改成 390px

.container {
  ...
  
  .content {
    width: 390px;
  }
}

修改之後的效果:

執行效果-修復

登入

於此,算是搞定了專案搭建。首先我們不管什麼許可權,來實現最基礎的登入功能。所以,下面我們聊聊我們的登入。

前端登入的API程式碼:

/**
 * 登入
 * @param account
 * @param password
 */
export const login = (account, password) => {
  const data = {
    account,
    password
  }
  return axios.request({
    url: 'auth/login',
    method: 'post',
    dataType: 'json',
    headers: {
      'Content-Type': 'application/json; charset=UTF-8'
    },
    data: data
  })
}

我們注意以下幾點:

  • url地址,根據自己的情況進行修改
  • 提交方式
  • Headers,這裡添加了json
  • 引數 accountpassword

於此,我們可寫自己的後端的登入介面,或者適當修改。

可以參見 vue-admin-pro-api

示例:

package com.fengwenyi.vueadminproapi.controller;

import com.fengwenyi.vueadminproapi.entity.Login;
import net.iutil.ApiResult;
import net.iutil.javalib.util.IdUtils;
import org.springframework.http.MediaType;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.Map;

/**
 * 認證
 * @author Erwin Feng
 * @since 2019-06-08 10:21
 */
@RestController
@RequestMapping(value = "/auth",
        consumes = MediaType.APPLICATION_JSON_UTF8_VALUE,
        produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public class AuthController {

    // 登入示例
    @PostMapping("/login")
    public ApiResult login(@RequestBody Login login) {
        String account = login.getAccount();
        String password = login.getPassword();
        if (StringUtils.isEmpty(account))
            return ApiResult.error().setMsg("賬號不能為空");
        if (StringUtils.isEmpty(password))
            return ApiResult.error().setMsg("密碼不能為空");
        if (!account.equals("admin"))
            return ApiResult.error().setMsg("賬號不存在");
        if (!password.equals("admin@1234"))
            return ApiResult.error().setMsg("密碼不正確");
        String uid = IdUtils.getIdByUUID();
        String token = IdUtils.getIdByUUID();
        // 可指定有效期
        // 可自定義策略儲存uid、token
        // write code
        Map<String, String> map = new HashMap<>();
        map.put("token", uid + "_" + token);
        return ApiResult.success(map);
    }

    // 登出示例
    @GetMapping("/logout")
    public ApiResult logout(@RequestHeader String token) {
        // 清空token
        // write code
        
        // return
        return ApiResult.success();
    }

}

登入成功,進入首頁

登入成功-進入首頁

這裡有一個問題,因為標題太長了,這裡採取的策略是,將標題超出的部分隱藏。

路徑: /components/main

class:maxAdminName

我這裡將字型調小

.main{
  .logo-con{
    ...
    
    .maxAdminName {
      font-size: 17px;
      ...
    }
  }
}

看一下效果:

登入成功-   
 
 </div> 
 <div class=

相關推薦

管理系統開發登入

作為後端程式設計師,想寫一個數據展示的系統,主要用於資料查詢、資料展示,當然也有登入功能了,有沒有比較快的方式呢,於此,Vue-A

Vue 2.x 實戰之後臺管理系統開發

1. 導語 該文章將從頭到尾梳理我是如何使用 Vue 2 開發一個後臺管理專案的,我會將自己遇到的問題貼出,希望可以幫助到其他人。 2. 開發前須知 我的後臺管理系統專案運用瞭如下框架/外掛: Vue 2.x —— 專案所使用的 js 框架

重拾之Spring BootREST API的搭建可以這樣簡單

Spring Boot 話說我當年接觸Spring的時候著實興奮了好一陣,IoC的概念當初第一次聽說,感覺有種開天眼的感覺。記得當時的web框架和如今的前端框架的局面差不多啊,都是群雄紛爭。但一晃好多年沒寫過後端,程式碼這東西最怕手生,所以當作重新學習了,順便寫個學習筆記。 Spring Boot是什麼?

java開發基本認知之web開發是什麼

前言   前兩篇都是和資料庫基本知識有關的: 資料表設計與mysql入門(一)和 資料表設計與mysql入門(二) 。邏輯上會設計資料表操作資料庫了,但是還需要結合實際專案去加深印象。但是往下走之前,我們有必要先了解一下java web開發的相關背景知識和基礎

磁盤及文件管理系統入門

fs 硬盤 uefi&gpt linux磁盤及文件系統管理初步目錄 1.磁盤及文件系統管理 2.機械磁盤結構 3.mknod命令 4.parted命令 5.GPT分區&UEFI 6.二進制單位Linux系統管理磁盤分區及文件系統管理RAIDLV

【轉載】Vue 2.x 實戰之後臺管理系統開發

null element asc 其他 就會 ans 目錄 asi all 2. 常見需求 01. 父子組件通信 a. 父 -> 子(父組件傳遞數據給子組件) 使用 props,具體查看文檔 - 使用 Prop 傳遞數據(cn.vuejs.org/v2/guide

學生資訊管理系統總結

Option Explicit ——強制變數宣告,若不宣告,則會顯示為variant(變體)型別,即未被宣告變數數 據型別。 Count ——用於計數 ADODB ——動態資料鏈接物件(Active Data Objects Data Base),它是一種 PHP 存取資

#46 小小型應用系統開發______100以內的四則運算

編寫程式,用隨機數實現100以內的加、減、乘、除運算,其中和與積不能超過100,差不為負(即須大減小),商不為小數或分數(即必須整除)。要求總計輸出10個運算式,每輸出一個運算式,等待輸入結果,然後進行

實訓成績管理系統總結——後臺介面的實現

1.找不到BaseResultMap類,報錯如下: <select id="getAllUsers" resultMap="BaseResultMap"> SELECT * FROM user </select> <se

簡單的個人銀行管理系統實現

Java的一個實驗內容,修改上學期用C++編寫的個人銀行管理系統。 1、 個人銀行管理系統版本0.1(對應第4章記錄) 1.1 系統需求 設計一個活期儲存賬戶類,包含使用者的賬號、餘額、年利率等資訊,還可以實現顯示賬戶資訊、存款、取款、結算利息的操

學生資訊管理系統優化

第一個問題就是登陸的時候如果在姓名哪輸入 “‘ ’” 單引號會報錯的解決方法是         解決方法  1 給姓名的文字框建立個鍵盤輸入事件 2然後就是用ASCI碼的方式來禁止輸入單引號 Private Sub txtUserName_KeyPress(KeyAscii

星雲鏈智能合約開發Mac下安裝的準備工作

星雲鏈開發環境安裝 nebulasio安裝 星雲鏈安裝 星雲鏈開發 智能合約開發 Homebrew安裝 包管理工具可以讓你安裝和更新程序變得更方便,目前在Mac系統中最受歡迎的包管理工具是 Homebrew. 我們安裝Homebrew是為了安裝星雲鏈開發環境時更方便快捷。 安裝方法 第一步

即時通訊音視訊開發視訊編解碼之理論概述

前言 即時通訊應用中的實時音視訊技術,幾乎是IM開發中的最後一道高牆。原因在於:實時音視訊技術 = 音視訊處理技術 + 網路傳輸技術 的橫向技術應用集合體,而公共網際網路不是為了實時通訊設計的。 系列文章 《即時通訊音視訊開發(二):視訊編解碼之數字視訊介紹》 《即時通訊音

Python爬蟲開發零基礎入門

0×00 介紹 本人對於Python學習建立了一個小小的學習圈子,為各位提供了一個平臺,大家一起來討論學習Python。歡迎各位到來Python學習群:960410445一起討論視訊分享學習。Python是未來的發展方向,正在挑戰我們的分析能力及對世界的認知方式,因此,我們與時俱進,迎接變化,並

從新手到系統管理員理解Linux Shell和基本的Shell指令碼

本文由 [茶話匯] – [Qing] 編譯自 [Avishek Kumar] 轉載請註明出處 關於GNU/Linux的架構和shell所處的位置,圖片比語言表述的更加清楚,如下圖所示。 理解Linux Shell Shell:Shell是基於命令列的直譯器,它連線使用者和作業系統,允許通過編寫指令

【Git】git系統學習常用指令

1、配置工具 $ git config --global user.name "[name]" 設定使用者名稱 $ git config --global user.email "[email address]" 設定郵箱 $ git config --globa

線上雲評測系統日誌系統架構的確定

1.專案目標:通過小組團隊合作完成本次“線上雲評測系統“實訓 2.專案介紹: OJ(Online Judge)是一個線上的程式評測系統,學生通過該系統可以充分鍛鍊自身的程式設計水平。 社群是一個交流平臺,使用者可以互相交流,獲得對自己有幫助的資訊。 我們的專案把‘’OJ系統

iOS 元件化開發遠端私有庫的基本使用

隨著專案功能的不斷增加,越來越多的開發人員加入,業務主線也隨之越來越多,造成耦合越來越嚴重,編譯越來越慢,測試不獨立等一系列問題。為了解決此類情況,我們可以考慮到使用元件化開發 概念 元件化就是將一個單一工程的專案, 分解成為各個獨立的元件, 然後

Android二維碼掃描開發實現思路與原理

【 回覆“ 1024 ”,送你一個特別推送 】 現在二維碼已經非常普及了,那麼二維碼的掃描與處理也成為了Android開發中的一個必要技能。網上有很多關於Android中二維碼處理的帖子,大都是在講開源框架zxing用法,然後貼貼程式碼就完了,並沒有一個系統的分析和

[ webpack4 ] 配置屬於自己的打包系統教程—— 基礎配置

GitHub 完整配置檔案地址: https://github.com/yhtx1997/webpack4-Instance 由於篇幅過長分三次釋出,建議按順序看 基礎配置篇 主要內容 安裝 webpack4 目錄初始化 配置初始化 入口及多入口配置 出口配置 安裝 web