亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

vue express mongodb 電商項(xiàng)目(二)

zhangqh / 1826人閱讀

摘要:最近花了幾天時(shí)間把原來(lái)寫(xiě)的這個(gè)商城項(xiàng)目又改進(jìn)了一點(diǎn)部署到企鵝云粗略的把項(xiàng)目打包了一下然后部署到了騰訊云試一下效果既然都丟上去了那也就留一個(gè)線上體驗(yàn)的地址我看資料都要搞個(gè)我在云主機(jī)上也按了一個(gè)但怎么配置怎么搞這個(gè)反向代理負(fù)載均衡啊還是一頭霧水

最近花了幾天時(shí)間把原來(lái)寫(xiě)的這個(gè)商城項(xiàng)目又改進(jìn)了一點(diǎn)
部署到企鵝云

粗略的把項(xiàng)目打包了一下,然后部署到了騰訊云,試一下效果,既然都丟上去了,那也就留一個(gè)線上體驗(yàn)的地址

我看資料都要搞個(gè)nginx,我在云主機(jī)上也按了一個(gè),但怎么配置,怎么搞這個(gè)反向代理,負(fù)載均衡啊,還是一頭霧水!

不知道有沒(méi)有大佬可愿意讓我請(qǐng)教一下nginx的啊,第一次搞這個(gè)真不懂,先謝過(guò)了!

新增功能

1.目前所有上傳的圖片(因?yàn)闆](méi)用到文件)都通過(guò)七牛存在七牛云空間了!

2.增加了注冊(cè)時(shí)預(yù)先檢驗(yàn)用戶名是否被注冊(cè)

3.重新封裝了幾個(gè)全局組件,然后很懊惱的發(fā)現(xiàn),我這個(gè)項(xiàng)目的文件層級(jí)結(jié)構(gòu)真的是十分的不合理啊,但要想重構(gòu)又比較麻煩好揪心啊!其實(shí)還是以前對(duì)組件,頁(yè)面等的定義和劃分過(guò)于模糊(當(dāng)然這是自我安慰的說(shuō)法,其實(shí)以前就不懂這些!)

還未解決的問(wèn)題
目前寫(xiě)到這里有一個(gè)關(guān)于route的問(wèn)題我一直沒(méi)想到好的辦法解決,在這里也想請(qǐng)教各位一下

目前我的整個(gè)router說(shuō)復(fù)雜不算復(fù)雜,但說(shuō)簡(jiǎn)單應(yīng)該也算不上了

const routes = [
  // 前段頁(yè)面路由
  {
    path: "/",
    hidden: true,
    type: "client",
    component: Home,
    children: [
      {
        path: "/",
        hidden: true,
        component: ConHome
      },
      {
        path: "/products",
        name: "商品",
        class: "el-icon-goods",
        component: Products,
        redirect: "/product/全部商品",
        children: [
          {
            // 這里用的動(dòng)態(tài)路由,需要一個(gè)冒號(hào):
            path: "/product/:class",
            component: ProductList
          }
        ]
      },
      {
        path: "/product/:class/:productname",
        hidden: true,
        component: ProductContent
      },
      {
        path: "/news/:id",
        hidden: true,
        component: NewsContent
      },
      {
        path: "/FAQ",
        name: "文檔",
        component: FAQ
      },
      {
        path: "/news",
        name: "動(dòng)態(tài)",
        component: News
      },
      {
        path: "/manger",
        name: "工作臺(tái)",
        redirect: "/manger/my",
        meta: {
          requireUser: true
        },
        component: Manger,
        hasChild: true,
        children: [
          {
            path: "/manger/my",
            meta: {
              requireUser: true
            },
            name: "我的信息",
            component: My
          },
          {
            path: "/manger/send",
            name: "發(fā)貨管理",
            meta: {
              requireUser: true
            },
            component: Send
          },
          {
            path: "/manger/history",
            name: "發(fā)貨記錄",
            meta: {
              requireUser: true
            },
            component: MyHistory
          }
        ]
      }
    ]
  },
  // 后端頁(yè)面路由
  // 后端主路由
  {
    path: "/admin",
    component: Admin,
    type: "admin",
    hidden: true,
    meta: {
      requireAdminer: true
    },
    children: [
      // 后端首頁(yè)
      {
        path: "/admin",
        meta: {
          requireAdminer: true,
          role: "發(fā)貨員.管理員.商品管理員"
        },
        component: AdminHome,
        name: "管理首頁(yè)"
      },
      // 商品管理
      {
        path: "/admin/mangeprods",
        name: "商品管理",
        meta: {
          requireAdminer: true,
          role: "管理員.商品管理員"
        },
        component: MangerProds,
        redirect: "/admin/mangeprods/allprods",
        children: [
          {
            path: "/admin/mangeprods/allprods",
            name: "全部商品",
            meta: {
              requireAdminer: true
            },
            component: AllProds
          },
          {
            path: "/admin/mangeprods/addprodstype",
            name: "添加商品分類",
            meta: {
              requireAdminer: true
            },
            component: AddType
          },
          {
            path: "/admin/mangeprods/addprod",
            name: "新增商品",
            meta: {
              requireAdminer: true
            },
            component: AddProd
          }
        ]
      },
      // 訂單管理
      {
        path: "/admin/mangesends",
        name: "訂單管理",
        meta: {
          requireAdminer: true,
          role: "發(fā)貨員.管理員"
        },
        component: MangerSends,
        redirect: "/admin/mangesends/submitsends",
        children: [
          {
            path: "/admin/mangesends/submitsends",
            name: "打印發(fā)貨運(yùn)單",
            meta: {
              requireAdminer: true
            },
            component: SubmitSends
          },
          {
            path: "/admin/mangesends/hassends",
            name: "已發(fā)貨訂單",
            meta: {
              requireAdminer: true
            },
            component: HasSends
          }
        ]
      },
      // 用戶管理
      {
        path: "/admin/mangeuser",
        name: "用戶管理",
        meta: {
          requireAdminer: true,
          role: "管理員"
        },
        component: MangerUser
      },
      // 管理員賬戶管理
      {
        path: "/admin/mangeadmin",
        name: "管理人員",
        meta: {
          requireAdminer: true
        },
        component: MangerAdmin,
        redirect: "/admin/mangeadmin/alladminers",
        children: [
          {
            path: "/admin/mangeadmin/alladminers",
            name: "管理員列表",
            meta: {
              requireAdminer: true
            },
            component: AllAdminer
          },
          {
            path: "/admin/mangeadmin/newadminer",
            name: "新增管理員",
            meta: {
              requireAdminer: true
            },
            component: NewAdminer
          }
        ]
      },
      // 新聞管理
      {
        path: "/admin/mangenews",
        name: "新聞管理",
        component: MangeNews,
        meta: {
          requireAdminer: true,
          role: "管理員"
        },
        redirect: "/admin/mangenews/allnews",
        children: [
          {
            path: "/admin/mangenews/allnews",
            name: "全部新聞",
            component: AllNews,
            meta: {
              requireAdminer: true
            }
          },
          {
            path: "/admin/mangenews/addnews",
            name: "添加新聞動(dòng)態(tài)",
            component: AddNews,
            meta: {
              requireAdminer: true
            }
          }
        ]
      },
      // FAQ文檔管理
      {
        path: "/admin/mangeFAQ",
        name: "文檔管理",
        component: MangeFAQ,
        meta: {
          requireAdminer: true
        },
        redirect: "/admin/mangeFAQ/all",
        children: [
          {
            path: "/admin/mangeFAQ/all",
            name: "全部幫助文檔",
            component: AllFAQ,
            meta: {
              requireAdminer: true
            }
          },
          {
            path: "/admin/mangeFAQ/new",
            name: "添加FAQ文檔",
            component: AddFAQ,
            meta: {
              requireAdminer: true
            }
          }
        ]
      },
      // 網(wǎng)站管理
      {
        path: "/admin/siteoption",
        name: "網(wǎng)站設(shè)置",
        component: SiteOption,
        meta: {
          requireAdminer: true
        },
        redirect: "/admin/siteoption/setoption",
        children: [
          {
            path: "/admin/siteoption/setoption",
            name: "網(wǎng)站基本設(shè)置",
            component: SetOption,
            meta: {
              requireAdminer: true
            }
          },
          {
            path: "/admin/siteoption/setabout",
            name: "關(guān)于我們",
            component: SetAbout,
            meta: {
              requireAdminer: true
            }
          },
          {
            path: "/admin/siteoption/newsetabout",
            name: "添加新內(nèi)容",
            component: NewSetAbout,
            meta: {
              requireAdminer: true
            }
          }
        ]
      }
    ]
  },
  // 登錄注冊(cè)以及404頁(yè)面路由
  {
    path: "/adminer/login",
    hidden: true,
    component: AdminLogin
  },
  {
    path: "/login",
    name: "",
    hidden: true,
    component: Login
  },
  {
    path: "/regin",
    name: "",
    hidden: true,
    component: Regin
  },
  {
    path: "/addadminer",
    name: "添加管理員",
    component: NewAdminer
  },
  {
    path: "*",
    hidden: true,
    component: Page404
  }
]
export default new Router({ routes: routes })
首先路由分為前端,后端,以及登錄注冊(cè),404
那現(xiàn)在就有一個(gè)很現(xiàn)實(shí)的問(wèn)題,假如我要渲染的路由只有后端---->商品管理--->children的子路由
// 商品管理
      {
        path: "/admin/mangeprods",
        name: "商品管理",
        meta: {
          requireAdminer: true,
          role: "管理員.商品管理員"
        },
        component: MangerProds,
        redirect: "/admin/mangeprods/allprods",
        children: [
          {
            path: "/admin/mangeprods/allprods",
            name: "全部商品",
            meta: {
              requireAdminer: true
            },
            component: AllProds
          },
          {
            path: "/admin/mangeprods/addprodstype",
            name: "添加商品分類",
            meta: {
              requireAdminer: true
            },
            component: AddType
          },
          {
            path: "/admin/mangeprods/addprod",
            name: "新增商品",
            meta: {
              requireAdminer: true
            },
            component: AddProd
          }
        ]
      },
      // 訂單管理

也就是我只需要這里的children

我現(xiàn)在的辦法是


    
{{item.name}}
v-for="item in $router.options.routes[1].children[1].children"
這樣我的確可以正確獲取到路由,但這這根本就不符合程序員的思維嘛!
相當(dāng)于把路由的順序?qū)懰懒?要是在后端路由上加個(gè)新菜單,那這一片的路由都不能正常顯示了啊!順序改變了也許就是children[2]或者其它的了

我本來(lái)打算寫(xiě)一個(gè)公共class函數(shù),傳入整個(gè)routes,然后定義方法,根據(jù)需求來(lái)篩選,但寫(xiě)了之后發(fā)現(xiàn)很不靠譜啊,因?yàn)椴煌?yè)面的需求不同,我有時(shí)不需要children,或者children下面還有好幾個(gè)children

在此請(qǐng)教一下,各位大佬這方面平時(shí)是怎么做的,能不能給個(gè)思路參考一下?先謝過(guò)了

這個(gè)項(xiàng)目預(yù)計(jì)還要實(shí)現(xiàn)的功能

1.完成后臺(tái)管理的權(quán)限功能

2.完成第三方登錄,至少包含微信

3.其實(shí)商品/新聞/發(fā)貨信息等的分頁(yè)都還沒(méi)寫(xiě),各位同學(xué)有興趣的話,可以幫我添點(diǎn)內(nèi)容,然后我寫(xiě)個(gè)分頁(yè)

4.評(píng)論功能,一直沒(méi)寫(xiě)評(píng)論功能但評(píng)論也是個(gè)很重要的功能,需要寫(xiě)一個(gè)!

5.微信支付功能,有預(yù)計(jì),但要實(shí)現(xiàn)可能要點(diǎn)時(shí)間

6.也許我會(huì)真的讓這個(gè)項(xiàng)目上線,如果真的上線的話,可能還會(huì)做一個(gè)和快遞對(duì)接的接口,實(shí)現(xiàn)在線生成訂單,打印電子面單的功能,預(yù)計(jì)中,看能否找到合伙人了!

7.可能我會(huì)用mp-vue重構(gòu)一下本項(xiàng)目,做成微信小程序,就算不完全做完,至少也會(huì)體驗(yàn)一番,如果能上線的話,就肯定會(huì)做這一步!

線上體驗(yàn)怎么進(jìn)入后臺(tái)管理
因?yàn)楣芾韱T登錄并沒(méi)有寫(xiě)在前端頁(yè)面上,所以需要手動(dòng)在瀏覽器地址欄#后面輸入/admin,進(jìn)入管理員登錄頁(yè)面
默認(rèn) admin admin
當(dāng)然也可以去#/addadminer 頁(yè)面創(chuàng)建一個(gè)管理員

如果有愿意去線上體驗(yàn)一番的小伙伴,請(qǐng)無(wú)需顧慮的隨意增刪數(shù)據(jù)!

最后歡迎star

客戶端地址:https://github.com/lyttonlee/...

服務(wù)端地址:https://github.com/lyttonlee/...

最后由于readme寫(xiě)的并不完善,如果有啥問(wèn)題,可以留言,當(dāng)然也可以issue

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/94476.html

相關(guān)文章

  • Node +MongoDB 搭建后臺(tái)的全過(guò)程

    摘要:搭建后臺(tái)的全過(guò)程近期基于搭建前端項(xiàng)目,搭建后臺(tái),遇到了不少問(wèn)題,總結(jié)博客如下,有什么不正確的地方,請(qǐng)大家批評(píng)指正是非關(guān)系型數(shù)據(jù)庫(kù)。是用來(lái)啟動(dòng)的,是的命令行客戶端。 Node + mongoDB 搭建后臺(tái)的全過(guò)程 近期基于 vue-cil 搭建前端項(xiàng)目, express + mongoose 搭建后臺(tái),遇到了不少問(wèn)題,總結(jié)博客如下,有什么不正確的地方,請(qǐng)大家批評(píng)指正^?_?^! mong...

    voidking 評(píng)論0 收藏0
  • 電商購(gòu)物網(wǎng)站 - 需求與設(shè)計(jì)

    摘要:登錄之后,用戶可以對(duì)相關(guān)商品進(jìn)行選購(gòu)并添加到購(gòu)物車。結(jié)構(gòu)劃分項(xiàng)目主要分為以下幾大模塊注冊(cè)模塊,登錄模塊,商品模塊購(gòu)物車模塊結(jié)算模塊。購(gòu)物車模塊對(duì)相關(guān)商品進(jìn)行增加減少刪除操作。結(jié)算模塊對(duì)購(gòu)物車內(nèi)已選擇商品進(jìn)行結(jié)算。 1、功能介紹 用戶可以完成注冊(cè)、登錄,登錄后對(duì)商品進(jìn)行瀏覽。 登錄之后,用戶可以對(duì)相關(guān)商品進(jìn)行選購(gòu)并添加到購(gòu)物車。 用戶可以對(duì)購(gòu)物車?yán)锩娴纳唐愤M(jìn)行增加、減少、刪除操作。 用...

    Anshiii 評(píng)論0 收藏0
  • 基于 Vue2+Node+mongoDB 的前后端分離全棧練手小項(xiàng)目

    摘要:本文源碼簡(jiǎn)介之前剛?cè)腴T并做好了一個(gè)簡(jiǎn)而全的純?nèi)彝暗捻?xiàng)目,數(shù)據(jù)都是本地模擬請(qǐng)求的詳情請(qǐng)移步這里為了真正做到數(shù)據(jù)庫(kù)的真實(shí)存取,于是又開(kāi)始入門了并以此來(lái)為之前的頁(yè)面寫(xiě)后臺(tái)數(shù)據(jù)接口。 本文源碼:Github 簡(jiǎn)介: 之前剛?cè)腴Tvue并做好了一個(gè)簡(jiǎn)而全的純vue2全家桶的項(xiàng)目,數(shù)據(jù)都是本地 json 模擬請(qǐng)求的;詳情請(qǐng)移步這里:vue-proj-demo 為了真正做到數(shù)據(jù)庫(kù)的真實(shí)存取,于是又...

    jay_tian 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<