vue開發管理文檔規范


 

 

 

文檔管理

1.1 文檔信息

文檔名稱

 

保密級別

 

文檔版本編號

 

制作人

 

制作日期

2018.1.19

復審人

 

復審日期

 

1.2 修改記錄

時間

版本

說明

修改人

 

 

 

 

 

 

 

 

 

內容摘要

接手項目參考文檔,輔助入門。

 

目的

熟悉並掌握

l 智慧農業開發流程

l 智慧農業開發規范

l 通過做簡單的示例完成頁面流程的開發

前提條件

項目是用vue搭建的,前端vue打開項目是需要一個環境運行的。

1.3 軟件環境

1、 開發環境:node

 

開發規范

一、 目錄結構

1、H5頁面文件位於E:\webapp\xingyaokeji\intelligent_agr目錄下;

目錄結構

   ├── index.html                      入口頁面

    ├── build                           構建腳本目錄

    │   ├──build.js                        生產環境構建(編譯打包)腳本

    │   ├──check-versions.js             版本驗證工具

    │   ├──utils.js                        主要用來處理css類文件的loader

    │   ├──vue-loader.conf.js            處理vue中的樣式

    │   ├── webpack.base.conf.js         webpack基礎配置

    │   ├── webpack.dev.conf.js          webpack開發環境配置

    │   └── webpack.prod.conf.js          webpack生產環境配置

    ├── config                          項目配置

    │   ├── dev.env.js                      開發環境變量

    │   ├── index.js                        項目配置文件

    │   ├── prod.env.js                     生產環境變量

    │   └── test.env.js                     測試環境變量

    ├── dist                            打包好的項目

    │   ├── html                             靜態問件

    │   ├── conf                             nginx配置文件

    │   └── 其他                              nginx需要的文件

    ├── node_modules                        項目依賴模塊    

    ├── src                             項目源碼目錄    

    │   ├── main.js                         入口js文件

    │   ├── app.vue                         根組件

    │   ├── components                     公共組件目錄

    │   ├── assets                          資源目錄,資源會被wabpack構建

    │   │   └── css                             第三方css文件,全局css文件

    │   │   └── font                            字體

    │   │   └── less                            全局less

    │   │   └── images                          圖片

    │   │       └── logo.png

    │   ├── routes                           前端路由

    │   │   └── index.js

    │   ├── pages                            前端頁面文件

    │   │   └── index.vue

    │   ├── vuex                             應用級數據(state

    │   │   └── store.js                        分組數據存貯

    │   ├── service                          公共服務文件

    │   │   └── service.js                      處理公共請求,響應數據

    │   │   └── util.js                          處理公共js操作方法

    ├── static                          純靜態資源,不會被wabpack構建。

 

二、 文件名要求

文件名以小寫開頭,取有意義的英文名字,H5文件名與對應的JS文件名相同,命名以模塊名開頭加數字(該模塊第幾個文件),加一杠,以內容名結尾,如live1-ctrol.vue。

 

三、 文件格式

UTF-8格式

 

四、 頁面中id命名要求

除入口頁外,一個頁面就是一個Page,每個Page有唯一ID,該ID命名以模塊名開頭加一杠,以內容名結尾,如login-wrap

 

五、 H5文件內容要求

1、功能模塊的入口頁,需要包含基本類庫,以及入口頁對應的JS腳本,其他子頁面只有一個Page內容。

2、對沒有任何業務邏輯控制的頁面,可以直接跳轉。

3、對於有業務邏輯控制的頁面,應綁定鏈接事件方式,在事件中需要顯示loading層,轉到目標頁面后,再隱藏loading層。

4、彈框、select等需要大量代碼去實現,要以組件的方式引入。

 

六、 JS內容要求

1、需要用請求和公共方法的文件,要用import引入:

import store from '@/vuex/store'

import {_SendData,_SendDataRes} from '@/service/service.js';

2、子組件引入方式:

A.公共組件經常使用如: header,footer等會一起打包到公共js文件。

import {xyHeader,xySide} from '@/components';

再暴露components: {xyHeader,xySide};

B.單獨組件,不是經常使用的,會單獨打包出來,需要引入自己加載出來。

   'xyDrowDown': () => import('component/drowDown.vue')    

3、暴露出去的部分,要按順序:

export default {

name: 'index',                                         名稱

components: {},                                        組件

data() {return{}},                                     數據

methods: {},                                           操作方法

watch: {'checkboxModel': {}},                          監聽

computed : {"val" : function() {return "123";}}        計算屬性

    beforeCreate: function () {},                         創建之前                         

    created: function () {},                              創建完成

    beforeMount: function () {},   掛載之前

    mounted: function () {},                              掛載完成                             

    beforeUpdate: function () {},                         更新之前

    updated: function () {},                              更新完成

    beforeDestroy: function () {},                        銷毀之前

    destroyed: function () {}                             銷毀完成

}

七、 Css要求

1、css用less寫,.vue以局部css來寫<style lang="less" scoped></style>只作用於當前vue文件。

2、遇到經常公用的,比如百分比計算,一定要寫在全局var.less里面。

@theme1800px;

.server-wrap>.footer{

bottom: @theme/24;

}

3、公共使用的css要單獨放在一個文件夾里(less.css)。

八、 Css字體要求

1.網頁采用百度字蛛的方式,根據需要查詢加入字體。

 http://font-spider.org/

使用例子:

安裝完之后-到相應文件直接:font-spider index.html

 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
@font-face {
font-family: 'SourceHanSansCN-Light';
src: url('KaiGenGothicSC-Light.ttf');
/*src: url('src/css/font/SourceHanSansCN-Light.ttf');*/
/*src:*/
/*url('/src/css/font/KaiGenGothicSC-Light.eot?#font-spider') format('embedded-opentype'),*/
/*url('/src/css/font/KaiGenGothicSC-Light.woff') format('woff'),*/
/*url('/src/css/font/KaiGenGothicSC-Light.ttf') format('truetype'),*/
/*url('/src/css/font/KaiGenGothicSC-Light.svg') format('svg');*/
font-weight: normal;
font-style: normal;
}
/*2.然后對元素正常使用font-family就可以:*/

body{
font-family: 'SourceHanSansCN-Light';
}
</style>
</head>
<body>
<div>
核心團隊
</div>

</body>
</html>

接口請求

1、請求用Axios Axios 是一個基於 promise HTTP 庫,可以用在瀏覽器和 node.js 中。

2、看后台需要配置postget請求,目前只用這兩種,一個是取一個是貼,只需要讀取文件putPUT 往服務器上上傳文件)、delect(刪除)直接對數據進行操作相對不安全 。

設計概要

1、sessionStorage存貯token

使用sessionStorage只存一個會話,當瀏覽器關閉重新打開輸入時會重新保存token

2、登錄安全(雙重驗證)

前端路由驗證:首先全局路由攔截router.beforeEach,看sessionStorage是否存在驗證。

http請求和響應驗證:看后台返回token是否過期,不過期就執行刪除sessionStorage 操作,並重新登錄。

 

....

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

頁面流程圖

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM