中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

開發(fā)app的注意事項seo代理計費系統(tǒng)

開發(fā)app的注意事項,seo代理計費系統(tǒng),怎樣做私人網(wǎng)站,做網(wǎng)站淘汰了目錄 一、總述 1.1 前端思路 1.2 后端思路 二、前端部分 2.1 刪除功能 2.2 新增功能 2.3 修改功能 三、后端部分 3.1 刪除接口 3.2 新增接口 3.3 修改接口 四、總結(jié) 一、總述 1.1 前端思路 刪除和新增以及修改的前端無非就是點擊按鈕,就向后端發(fā)送請求…

目錄

一、總述

1.1 前端思路

1.2 后端思路

二、前端部分

2.1 刪除功能

2.2 新增功能

2.3 修改功能

三、后端部分

3.1 刪除接口

3.2 新增接口

3.3 修改接口

四、總結(jié)


一、總述

1.1 前端思路

?刪除和新增以及修改的前端無非就是點擊按鈕,就向后端發(fā)送請求,交與后端真正的執(zhí)行相關(guān)操作。

具體來說,就是正確的找到按鈕,合理的綁定好點擊事件,然后處理的方法寫好:使用引入的請求對象,使用請求對象發(fā)送請求

對于刪除操作前和操作后是需要進行消息框提示的,這可以直接使用若依框架提供給我們進行提示。

對于新增和修改都是需要點擊后彈出一個彈窗,新增的話就是在表單輸入信息,然后將信息動態(tài)綁定到數(shù)據(jù)域中的字段,然后點擊提交將信息提交給后端完成新增操作即可,新增通常有些字段是需要有默認(rèn)值的,修改和新增差不多,就字段而言的話,就只是某幾個字段的修改,不涉及到默認(rèn)值什么的,就將修改的幾個字段提交給后端就行了,這點區(qū)別還是次要的,修改最關(guān)鍵的就是內(nèi)容回顯,需要回顯最新的數(shù)據(jù),這點需要注意。就是打開彈窗,需要向后端獲取到最新數(shù)據(jù),然后綁定到數(shù)據(jù)域中,由于和表單信息進行了綁定,表單里面的信息就能正常顯示最新信息了。

這里代碼如果要不冗余的話,那個彈窗完全就可以復(fù)用,當(dāng)點擊新增或者是修改按鈕的時候,記錄下當(dāng)前是什么情況打開的這個彈窗,然后最后點擊提交時按照不同的情況,做不同的處理。

1.2 后端思路

后端就沒什么了,簡單的增刪還有獲取信息接口,具體實現(xiàn)交由MyBatisPlus完成增刪獲取操作。

注意:增刪并不是直接無腦的使用,還是需要配置一些東西的。否則的話,會出現(xiàn)一些小的bug,比較煩躁,下面我會進行說明

二、前端部分

現(xiàn)在還是分類管理,所以不需要創(chuàng)建新的組件,仍然使用原先 顯示三級分類列表的那個組件就行了。下面我將以此介紹增刪改這三個功能的前端實現(xiàn):

2.1 刪除功能

這個刪除功能的前端邏輯就那樣很簡單:

1. 當(dāng)點擊刪除按鈕給予提示信息,是否確認(rèn)刪除

2. 當(dāng)點擊確認(rèn)刪除之后,向后端發(fā)送請求,服務(wù)器進行刪除

3. 當(dāng)成功刪除之后,基于刪除成功的提示信息

代碼:

remove(node, data) {this.$modal.confirm('是否確認(rèn)刪除類別名稱為"' + data.name + '"的類別?').then(function () {var ids = [];ids.push(data.catId);return deleteCategory(ids);}).then(() => {this.getTreeList();this.selectCids.push(data.parentCid);this.$modal.msgSuccess("刪除成功");}).catch(() => {});}

注意:新增和刪除之前要先調(diào)好彈窗

<el-dialog :title="title" :visible.sync="dialogVisible" width="30%"><el-form :model="category"><el-form-item label="分類名稱"><el-input v-model="category.name" autocomplete="off" ></el-input></el-form-item><el-form-item label="圖標(biāo)地址"><el-input v-model="category.icon" autocomplete="off"></el-input></el-form-item><el-form-item label="計量單位"><el-input v-model="category.productUnit" autocomplete="off"></el-input></el-form-item></el-form><span slot="footer" class="dialog-footer"><el-button @click="dialogVisible = false">取 消</el-button><el-button type="primary" @click="submitData">確 定</el-button></span></el-dialog>

當(dāng)然這里發(fā)請求最重要的請求對象別落下:

export function deleteCategory(data) {return request({url: '/product/category',method: 'delete',data: data})
}

不要忘記在組件中進行導(dǎo)入哦!!!?

2.2 新增功能

新增的話,我在前端思路那里已經(jīng)說了,其實很簡單

1. 點擊新增按鈕,打開彈窗(也就是修改彈窗的屬性值,參考elementUI官網(wǎng)),并根據(jù)父級分類設(shè)置好當(dāng)前新增分類的必要屬性值(層級、父id),并保存打開彈窗的方式是新增的狀態(tài)(以便提交的時候作判斷)

注意:因為這里新增和刪除要到了同一套的屬性,一旦修改過后,其某些屬性其實已經(jīng)就有值了,倘若新增時不清空掉屬性值,就會出現(xiàn)錯誤的值,而新增我們是需要字段屬性都為空的。

先在數(shù)據(jù)域中定義好數(shù)據(jù):

新增按鈕位置:?

?關(guān)鍵代碼:

append(data) {this.dialogType = "add";this.title = "添加分類";this.category.parentCid = data.catId;this.category.catLevel = data.catLevel+1;this.category.name = "";this.category.icon = "";this.category.productUnit = "";this.dialogVisible = true;}

2. 點擊提交的時候,將數(shù)據(jù)域中的信息提交給后端,完成添加操作,之后關(guān)閉彈窗,并給予添加成功的提示,最后注意要”還原現(xiàn)場“:也就是新增之后不要收縮起來,新增之后就要展開顯示這個新增,這里就參考elementUI文檔,展開當(dāng)前新增節(jié)點的父節(jié)點(注意這部分的邏輯都是單獨寫在一個方法中,最終點擊提交的時候,再去調(diào)用這個方法,至于為什么會調(diào)用這個方法而不會調(diào)用修改分類方法,原因就是當(dāng)初打開彈窗的時候保存了狀態(tài),再最終提交的時候做了判斷)

?

addCategoty() {console.log(this.category);addCategory(this.category).then((response) => {this.dialogVisible = false;this.$modal.msgSuccess("添加成功");this.getTreeList();this.selectCids.push(this.category.parentCid);});}

submitData(){if(this.dialogType == "add"){this.addCategory();}if(this.dialogType == "edit"){this.editCategory();}}

最后重要的請求對象不要忘記編寫:

export function addCategory(data) {return request({url: '/product/category',method: 'post',data: data})
}

2.3 修改功能

修改和新增類似

1. 同樣也是點擊修改按鈕之后,打開彈窗,需要保存打開方式是修改的狀態(tài)

在打開彈窗之前,向后端發(fā)送請求獲取到分類的最新信息,綁定到數(shù)據(jù)域里面去,由于表單的字段屬性值與數(shù)據(jù)域中的進行了綁定,因此分類的最新信息就能進行回顯

修改按鈕位置:

?關(guān)鍵代碼:

edit(data){this.dialogType = "edit";this.title = "修改分類";//拿到分類的最新信息getCategory(data.catId).then((response)=>{this.category.name = response.data.name;this.category.icon = response.data.icon;this.category.productUnit = response.data.productUnit;this.category.parentCid = response.data.parentCid;this.category.catId = response.data.catId;})this.dialogVisible = true;}

2. 填寫好信息,填寫好的信息會動態(tài)的更新數(shù)據(jù)域中的信息(因為進行了綁定),抽取需要的信息發(fā)送到后端,完成分類信息的修改,然后和新增一樣也是關(guān)閉彈窗,給予提示,最后展開其當(dāng)前修改節(jié)點的父節(jié)點

editCategory(){var {name,icon,productUnit,catId} = this.category;updateCategory({name,icon,productUnit,catId}).then((response)=>{this.dialogVisible = false;this.$modal.msgSuccess("修改成功");this.getTreeList();this.selectCids.push(this.category.parentCid);})}

?最終邏輯,封裝的

submitData(){if(this.dialogType == "add"){this.addCategory();}if(this.dialogType == "edit"){this.editCategory();}}

?同樣請求對象:

export function updateCategory(data) {return request({url: '/product/category',method: 'put',data: data})
}

三、后端部分

3.1 刪除接口

沒什么好說的

controller:

/*** 刪除商品三級分類*/@ApiOperation("刪除商品三級分類")//@PreAuthorize("@ss.hasPermi('product:category:remove')")@Log(title = "商品三級分類", businessType = BusinessType.DELETE)@DeleteMappingpublic AjaxResult remove(@RequestBody Long[] catIds) {return toAjax(categoryService.removeMenuByIds(Arrays.asList(catIds)));}

service:

接口:

boolean removeMenuByIds(List<Long> list);

實現(xiàn):

 @Overridepublic boolean removeMenuByIds(List<Long> list) {boolean result = removeByIds(list);return result;}

這里直接使用的MP的批量刪除方法,所以就沒有顯式寫dao層了,逆向代碼自動生成的

注意:

1. 這里是邏輯刪除,不是物理刪除,所以可以在MP的全局配置中配一下字段,另外這里與實際含義相反,所以得在實體類中指明好

實際上刪除時0的,在實體類中標(biāo)明一下:

2. 這里我在測試的時候遇到一個坑,就是刪除不了,不知道主鍵是什么字段,因為我這是使用的MP的自帶的根據(jù)主鍵進行刪除,就需要指定好實體類哪個屬性是主鍵,得告訴MP

使用@TableId注解進行標(biāo)識?

/*** 新增商品三級分類*/@ApiOperation("新增商品三級分類")//@PreAuthorize("@ss.hasPermi('product:category:add')")@Log(title = "商品三級分類", businessType = BusinessType.INSERT)@PostMappingpublic AjaxResult add(@RequestBody Category category) {return toAjax(categoryService.save(category));}

所以最好實體類最開始就把這個注解加上,因為根據(jù)主鍵來進行修改或者是刪除這樣的操作實在是太多了。?

3. 明明聲明主鍵的注解也加上了,可是還是刪除不了,也不報錯。

最終是由于jdk版本高的緣故,MP對于高版本的jdk還不支持根據(jù)主鍵刪除的方法,將jdk修改為8可以解決

3.2 新增接口

這沒什么好說的也是直接使用MP的現(xiàn)成方法,也就是MP中直接插入對象

controller:

/*** 新增商品三級分類*/@ApiOperation("新增商品三級分類")//@PreAuthorize("@ss.hasPermi('product:category:add')")@Log(title = "商品三級分類", businessType = BusinessType.INSERT)@PostMappingpublic AjaxResult add(@RequestBody Category category) {return toAjax(categoryService.save(category));}

反正直接使用的MP中現(xiàn)成的service接口中的方法,我這里就不寫出來了。

注意:

默認(rèn)的話新增的話,MP默認(rèn)新增的主鍵值是按照雪花算法生成的,并不是我們通常想要的主鍵自增,所以得在配置文件中,在MP的配置那里加上主鍵自增的配置。這也是使用MP時經(jīng)常容易忘記的

這是全局配置

3.3 修改接口

同樣也是直接使用MP的現(xiàn)成方法

controller:

@ApiOperation("修改商品三級分類")//@PreAuthorize("@ss.hasPermi('product:category:edit')")@Log(title = "商品三級分類", businessType = BusinessType.UPDATE)@PutMappingpublic AjaxResult edit(@RequestBody Category category) {return toAjax(categoryService.updateById(category));}

下面沒什么好些的,都是MP的service

注意:這里和刪除一樣,一定得記得在實體類上標(biāo)明哪個字段是主鍵,否則找不到

四、總結(jié)

前端部分依舊是寫組件中的相關(guān)內(nèi)容。

這里主要是方法邏輯的編寫,新增刪除修改,新的東西也就是elementUI中的彈窗了,用一下。

其實最終練習(xí)的目的就是掌握,一張表的增刪改查操作,得掌握這種套路,都差不多的,當(dāng)然這里主要是練習(xí),因為這里代碼很是固定,因此之后都不需要我們再去一個一個的自己去寫了,可以使用若依幫我們逆向自動生成的,可見逆向生成器是多么的厲害,后端代碼給我們生成好了一套,前端的組件以及api也幫我們生成好了。我們程序員只需要關(guān)注核心業(yè)務(wù)即可。

后端部分更沒什么好說的,基本上我都不需要寫什么,只是實際在測試的過程中發(fā)現(xiàn)了一些問題,

主要是MP的配置上面,比如說主鍵的指定,主鍵的增長方式等,以后注意即可。

http://www.risenshineclean.com/news/7959.html

相關(guān)文章:

  • 兩耳清風(fēng)怎么做網(wǎng)站南京網(wǎng)絡(luò)優(yōu)化培訓(xùn)
  • 校園網(wǎng)站建設(shè)論文域名大全查詢
  • wordpress+4.9+google蘋果aso優(yōu)化
  • 做網(wǎng)站還要寫文章嗎品牌運營中心
  • 做圖片網(wǎng)站用什么程序百度地圖導(dǎo)航手機版免費下載
  • 可以先做網(wǎng)站后備案么app拉新推廣平臺有哪些
  • 2345網(wǎng)址導(dǎo)航手機上網(wǎng)導(dǎo)航下載seo網(wǎng)絡(luò)推廣教程
  • 秦皇島建設(shè)網(wǎng)站品牌宣傳方式
  • 網(wǎng)絡(luò)營銷方式的使用方法搜索引擎優(yōu)化有哪些要點
  • 長春關(guān)鍵詞推廣快速排名優(yōu)化seo
  • 網(wǎng)頁設(shè)計與實現(xiàn)論文杭州seo公司排名
  • 濟寧營銷網(wǎng)站建設(shè)長沙網(wǎng)站優(yōu)化排名推廣
  • 加強兩微一端和門戶網(wǎng)站建設(shè)云資源軟文發(fā)布平臺
  • 代購網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷平臺有哪些?
  • 武漢網(wǎng)站多少百度網(wǎng)址導(dǎo)航
  • 南山做網(wǎng)站推廣樂云seo最新營銷模式
  • 網(wǎng)站給他人做付刑事責(zé)任現(xiàn)在什么app引流效果好
  • 交易所網(wǎng)站開發(fā)實戰(zhàn)優(yōu)化排名軟件
  • 武漢肥貓科技商城網(wǎng)站建設(shè)北京專業(yè)seo公司
  • 簡要列舉網(wǎng)站常見類型合肥百度關(guān)鍵詞優(yōu)化
  • 深圳外包網(wǎng)站制作公司seo網(wǎng)站優(yōu)化快速排名軟件
  • 建站快車凡科網(wǎng)站維護的內(nèi)容有哪些
  • 廣州最新新聞發(fā)大水杭州谷歌seo公司
  • wordpress 列表頁面sem優(yōu)化師
  • 中國建設(shè)銀行網(wǎng)站 黨費云安卓優(yōu)化大師官網(wǎng)
  • 怎樣做網(wǎng)站二維碼windows優(yōu)化大師怎么下載
  • 粘土做龍網(wǎng)站視頻seo新方法
  • 淘寶代做網(wǎng)站百度競價關(guān)鍵詞價格查詢工具
  • 網(wǎng)站兩邊廣告整站優(yōu)化外包服務(wù)
  • 香港做雞網(wǎng)站今日資訊最新消息