落戶上海!分享心得,再做個積分計算器

等了很久,終於收到落戶批覆啦!就差後面辦一些手續。

這篇文章首先分享一下自己作爲一名本科生,通過攢積分成功落戶上海的一些心得。然後手把手帶大家使用 Vue 框架開發一個『 上海應屆生落戶積分計算器 』網站。

建議先觀看短視頻簡單瞭解下,然後選擇自己感興趣的部分閱讀。

落戶心得

以前從沒想過要留在上海,但後來在上海讀書,待了一年後,有些習慣了,也逐漸開始愛上這座城市。

我是從大二開始確定落戶目標的,一開始什麼都不懂,也根本沒想過要落戶。雖然家長親戚一直在我耳邊叮囑落戶多麼多麼重要,但當時我的心態就是 “反正買不起房,落不落戶不都一樣?”

落戶上海!分享心得,再做個積分計算器

後來,自己上網查詢了有關戶口的信息,突然發現校園落戶比社會落戶要容易許多,現在清北復交等多所名校的學生甚至可以直接落戶!

如果能在畢業時直接落戶,將爲以後省去不少的麻煩,即使買不起車房,但是先有一個戶口總比沒有好。

當時上海市落戶積分 72 分才能達標,於是我就按照積分規則來簡單計算了一下:

積分項 情況 得分
最高學歷 本科 21
畢業學校 第一類高校 15
最高學歷畢業在滬 2
學習成績 一級 8
外語水平 英語六級 8
計算機水平 計算機專業 7
用人單位分 滿足條件 5

除了學歷外,上述積分項我都拿到了最高分,但總計也只有 66 分,也就是說,如果沒有任何競賽、榮譽、專利等加分,距離落戶還差整整 6 分!

怎麼去湊這 6 分呢?在當時來看,我覺得參加競賽是最好的選擇,能抱一個大腿就更好啦!

落戶上海!分享心得,再做個積分計算器

於是,我的 “落戶目標” 就簡化爲 “參加競賽並拿獎”。首先仔細確認哪些競賽獎項能爲落戶加分。

競賽加分規則

其實對於計算機專業或者學習編程的同學來說,上面的很多比賽我們都可以參與,比如挑戰杯、互聯網+、數學建模等,會有一定的難度,所以最好趁早準備、報團取暖。

剛開始我試着自己組團參加了一些比賽,但結果都不是很理想, 後來有幸抱了其他學院的大腿,我們一起參與了挑戰杯競賽,並取得了上海市特等獎、全國二等獎的成績,直接給落戶加了十幾分!

挑戰杯現場

後來還拿了上海市優秀畢業生等其他榮譽,把競賽獎項的加分直接拉滿(15 分),最終以 81 分成功積分落戶。

總結一下,給想落戶的同學的建議是,儘早確認目標,先儘量保證基本分拿滿,然後多去參加競賽、爭取一些榮譽稱號,能力強的同學還可以試着申請一些發明專利。本科無法直接落戶的同學也可以考慮讀研,研究生階段科研競賽機會更多,落戶也更容易。

爲了幫助更多同學計算自己的落戶積分,之前我也開發了一個單頁面網站『 上海應屆生落戶積分計算器 』,就當一個練手項目了,下面一起來實踐下吧!

開發落戶積分計算器

做一個落戶積分計算器非常簡單,就是一個單頁面網站的 Demo,使用 Vue 前端框架,除去輸入文字的時間,只用 10 分鐘就能完成開發和上線。

說是計算器,其實就是一個累加器,整個網站就是一個表單,用戶可以根據自己的情況來選擇對應選項,每個選項有不同的分數,在網站底部會實時顯示當前的總分。

最終效果如下:

落戶積分計算器

1. 創建項目

通過 Vue 的腳手架工具 Vue Cli,輸入一行命令,就可以輕鬆地搭建一個前端項目,還會自動安裝依賴包:

vue create can-i-settle-shanghai

生成如下目錄:

生成的項目文件

有了腳手架,真的輕鬆不少,不用再自己寫項目的基礎模板啦!

2. 引入 Vant 組件庫

要做一個移動端網頁,推薦引入一個精美的組件庫,這裏我推薦有讚的 Vant,精緻美觀、文檔成熟。

有贊 Vant 組件庫

參照官方文檔的 “快速上手” 部分,先在項目中引入 Vant 依賴:

npm i vant -S

然後直接全局引入,比較方便:

import Vue from 'vue';
import Vant from 'vant';
import 'vant/lib/index.css';

Vue.use(Vant);

之後就可以使用 Vant 的組件了,參照官方文檔,選擇組件後複製代碼到頁面文件即可:

使用組件

引入組件庫後,就可以開發界面了。

3. 開發界面

開發界面就像拼圖一樣,將一個大的頁面拆解爲多個小的組件,然後自上而下堆積起來。

如下圖,整個頁面由 “標題”、“輸入框”、“單選按鈕組”、“底部展示按鈕” 組成。

頁面拆解

Vue 框架中,通常一個頁面對應一個 .vue 文件。該文件分爲三部分:內容、樣式、行爲,分別對應 HTMLCSSJavaScript 代碼。

一個標準的 .vue 文件如下:

<template>
    ... 寫網頁內容和結構
</template>

<script>
    ... 給頁面添加交互行爲
</script>

<style scoped>
    ... 寫樣式,美化網頁
</style>

通常的開發流程是,先寫內容,再去美化,最後再給網站添加交互行爲。

編寫內容比較簡單,可以直接使用 Vant 的對應組件,比如 Radio 單選框Divider 分割線Field 輸入框。在文檔中搜索,然後複製代碼到項目頁面文件中,部分代碼如下:

<template>
  <!-- 通過 style 屬性控制單個標籤樣式 -->
  <van-divider :style="{ color: '#1989fa', borderColor: '#1989fa'}">最高學歷</van-divider>
  <van-radio-group>
    <van-radio name="27">博士27分</van-radio>
    <van-radio name="24">碩士24分</van-radio>
    <van-radio name="21">本科21分</van-radio>
  </van-radio-group>
</template>

再編寫一個按鈕用於顯示當前分數 total,並且當 total >= 72 時,改變按鈕顯示的顏色:

<van-button :type="total >= 72 ? 'primary' : 'info'">當前分數:{{total}}</van-button>

寫完結構後,再然後美化一下樣式,比如增加間距、調整字體等等,此處代碼省略。

4. 實現積分計算功能

開發完網站的界面後,要增加交互行爲,實現積分計算功能。每當用戶點擊選項或輸入,都要觸發一次計算,更新右下角的 “當前分數”。

可以定義一個 score 數組來記錄得分,比如 “最高學歷” 選項組的得分用 score[0] 來記錄,“畢業學校” 選項組的得分用 score[1] 來記錄。當然也可以用其他數據結構,如對象。

<script>
  export default {
    name: "Index",
    // 在 data 中定義變量
    data() {
      return {
        scores: [],
        show: false,
      };
    }
  }
</script>

v-model 指令綁定數組元素到選項組,同時要用 @change 指令給選項標籤綁定一個點擊事件,當用戶點擊界面選擇時,改變當前 score 數組元素的值。每個選項有一個 name 屬性,代表選中時的得分。

代碼如下:

<template>
  <van-radio-group v-model="scores[2]" @change="doChange">
    <van-radio name="2">上海 2分</van-radio>
    <van-radio name="0">非上海 0分</van-radio>
    </van-radio-group>
</template>

比如我點擊了 “上海 2分” 選項,scores[2] 的值就爲 2。

落戶上海!分享心得,再做個積分計算器

那計算總分也就很簡單了,只要將 score 數組元素累加求和,利用 Vuecomputed 屬性,可以輕鬆實現當 score 數組值變化時,自動更新總分 total 的值。

<script>
export default {
  ...
  computed: {
    // 定義 total 變量
    total() {
      let total = 0;
      // 循環求和
      for (const score of this.scores) {
        if (score) {
          total += parseInt(score);
        }
      }
      return total;
    }
  }
}
</script>

計算功能就實現了!

5. 打包發佈

本地開發完成後,怎麼將網站發佈,讓所有人都能看到呢?

首先在項目目錄下通過命令打包項目:

npm run build

會在生成 dist 目錄,結構如下:

生成的代碼文件

怎麼發佈網站到線上呢?先買臺服務器?

大可不必,可以使用 Vercel

落戶上海!分享心得,再做個積分計算器

Vercel 是免費網站託管平臺,可以幫我們輕鬆部署網站,並生成可訪問的網址。先通過 npm 安裝 Vercel

npm install -g vercel

安裝完成後,進入 dist 目錄,通過 vercel 命令發佈網站:

cd public
vercel deploy --name can-i-settle-shanghai

發佈成功,會得到一個網址,打開就能看到積分計算器網站啦!

落戶上海!分享心得,再做個積分計算器

就是這樣,點擊鏈接可以查看項目的源代碼。

其實很多問題都可以使用編程來解決,也希望大家在學編程的過程中,多多發揮自己的想象,並動手敲代碼來實現創意,就能不斷進步!


此心安處是吾鄉,希望大家都能留在自己喜愛的城市,品味生活。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章