




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、移動(dòng)商城項(xiàng)目(系統(tǒng))總體設(shè)計(jì)說明書亞信聯(lián)創(chuàng)科技(中國)文檔中的全部內(nèi)容屬亞信聯(lián)創(chuàng)科技(中國)所有,不可全部或部分、使用于任何目的。編 寫編寫 時(shí)間2013-03-05審 核審核 時(shí)間文檔版本V1.00.00文檔修訂日期版本號描述著者審閱者日期2011/05/16v1.0對原總體設(shè)計(jì)文檔進(jìn)行簡單修訂目錄1.引言.1.3.文檔說明4參考資料4名詞與縮寫42.系統(tǒng)概述.2.3.設(shè)計(jì)目標(biāo)5實(shí)現(xiàn)功能5設(shè)計(jì)約定...2.3.5.設(shè)計(jì)原則5Entity 設(shè)計(jì)原則6Business Service 設(shè)計(jì)原則6Action 設(shè)計(jì)原則7W
2、ge 設(shè)計(jì)原則93.總體架構(gòu)114.規(guī)范與規(guī)則125.數(shù)據(jù)模型/對象136.應(yīng)用部署.部署14運(yùn)行環(huán)境147.接口設(shè)計(jì)概要.外部接口15內(nèi)部接口188.安全性設(shè)計(jì).系統(tǒng)層面20應(yīng)用層面209.技術(shù)體系219.1. 21技術(shù)..3.SpringMVC 概念21Freemarker 概念22ibatis 概念231.引言1.1. 文檔說明該文檔概述了 2012 年移動(dòng)網(wǎng)上商城基本的技術(shù)詳細(xì)設(shè)計(jì),為閱讀對象了解系統(tǒng)的設(shè)計(jì)思路及基本功能提供支持。1.2.參考資料移動(dòng)網(wǎng)上商城項(xiàng)目移動(dòng)網(wǎng)上商城項(xiàng)目(系統(tǒng))詳細(xì)設(shè)計(jì)說明書移動(dòng)網(wǎng)
3、上商城項(xiàng)目(系統(tǒng))概要設(shè)計(jì)說明書接口重整業(yè)務(wù)表 new.xlsx1.3. 名詞與縮寫SBusiness & Operation Support System 的簡稱,即業(yè)務(wù)運(yùn)營支撐系統(tǒng)Customer Relationship Managemen 的簡稱,即客戶關(guān)系管理系統(tǒng)ECPSmerl Portal System 的簡稱,即電子商務(wù)門戶系統(tǒng)2.系統(tǒng)概述2.1.設(shè)計(jì)目標(biāo)移動(dòng)新版商城系統(tǒng)(項(xiàng)目)設(shè)計(jì)的目標(biāo)是為了取代前一版的商場系統(tǒng),后的商城可承擔(dān)號卡、機(jī)、案等的銷售任務(wù)。2.2.實(shí)現(xiàn)功能實(shí)現(xiàn)移動(dòng)用戶單點(diǎn)登錄、商城獨(dú)有用戶登錄;實(shí)現(xiàn)號卡、機(jī)、營銷案;實(shí)現(xiàn)用戶訂單管理、賬戶管理功能。2.3. 設(shè)計(jì)
4、約定2.3.1.所有設(shè)計(jì)原則必須繼承 Base遵遁 Spring 的設(shè)計(jì)原則,所有外部資源,由 Spring 注入正確的示例:Component(userService)public claserService Autowiredprivate Useruser;public void add(User user) user.save(user);public UsergetUser() return user;錯(cuò)誤的示例:Component(userService)public claserService private Useruser= new UserImpl();public voi
5、d add(User user) user.save(user);負(fù)責(zé)的簡單的數(shù)據(jù)庫操作,該層不應(yīng)該引入有任何的業(yè)務(wù)邏輯正確的示例:public void save(User user) hibernateTemplate.save(user);錯(cuò)誤的示例:public void save(User user) if (user.getName().equals(“admin”)user.set(“YYY”);hibernateTemplate.save(user);2.3.2.Entity 設(shè)計(jì)原則主鍵應(yīng)注意物理主鍵及邏輯主鍵的區(qū)別,盡最大可能保持它們是一致的,在任何情況下,都需要對邏輯主鍵
6、的有效性、唯一性進(jìn)行代碼驗(yàn)證,而不能依賴于數(shù)據(jù)庫2.3.3.Business Service 設(shè)計(jì)原則設(shè)計(jì)方法時(shí)應(yīng)該將方法的功能盡量單一化每次只完成一個(gè)事務(wù),盡最大可能減少事務(wù)的執(zhí)行時(shí)間正確的示例:public void createAndStoreEvent(String title, Date theDate) ses.begranion();Event theEvent = new Event();theEvent.setTitle(title);theEvent.setDate(theDate);ses.save(theEvent);ses.getTranion().commit();
7、錯(cuò)誤的示例:publicvoid createAndStoreEvent(String title,DatetheDate)ses.begranion();Event theEvent = new Event();theEvent.setTitle(title);theEvent.setDate(theDate);ses.save(theEvent);ses.getTranion().commit();sesTwo.begranion();Useruser= new User ();User.setTitle(title);User.setDate(theDate);sesTwo.save(t
8、heEvent);sesTwo.getTranion().commit();所有的方法都需要檢查其參數(shù)的有效性嚴(yán)格按照 Spring 的設(shè)計(jì)原則來設(shè)計(jì) Business Service 類,通過 Spring 注入的方式來獲得相應(yīng)的的實(shí)例Business Service 由erface 及 implemenion 組成,implemenion 實(shí)現(xiàn)erface的所有方法,F(xiàn)acade 層只能使用erface 來調(diào)用其中的方法2.3.4.Action 設(shè)計(jì)原則在調(diào)用 Business Service 之前,需要驗(yàn)證所準(zhǔn)備處理的數(shù)據(jù)的合理性。服務(wù)器驗(yàn)證不通過者是不能被 Business Servi
9、ce 層對其進(jìn)行處理的。正確的示例:Overridepublic String execute() throws Exception String strLoginId = mobjLoginDto.getMstrLoginId();String strPwd = mobjLoginDto.getMstrPwd();if (null != strLoginId & !(.equals(strLoginId)objUserService.addUser();錯(cuò)誤的示例:Overridepublic String execute() throws Exception String strLogin
10、Id = mobjLoginDto.getMstrLoginId();String strPwd = mobjLoginDto.getMstrPwd();objUserService.addUser();Action 只能調(diào)用 Business Service 層或者其它 WebService 的客戶端。正確的示例:public String execute() throws Exception objUserService.addUser();return super.execute();錯(cuò)誤的示例:public String execute() throws Exception mobju
11、ser.addUser();return super.execute();Action 需要做好 Exception 處理,所捕獲的任何 Exception 均應(yīng)被處理成友好的描述,其中包括用戶可以看到明白的原因,以及處理辦法。顯示拋出異常.2.3.5.Wge 設(shè)計(jì)原則遵遁 W3C 標(biāo)準(zhǔn)所有頁面采用的 DTD錯(cuò)誤的示例:Form1.get(“id”);正確的示例:. geementById(id);Web 頁面里所包含的靜態(tài)資源如 JS、CSS 文件,應(yīng)盡量給他們瘦身,減少客戶端的量采用 UTF-8 編碼,修改方法如下:單個(gè)工程:整個(gè)工程:Form 中的各項(xiàng)字段都應(yīng)作輸入檢查,確保所輸入的內(nèi)容
12、是合法的、有效的,可以采用 Ajax或 JavaScript 驗(yàn)證。3.總體架構(gòu)4.規(guī)范與規(guī)則編程工具:eclipse編碼規(guī)范:5.數(shù)據(jù)模型/對象序號子系統(tǒng)表名中文名稱和簡單描述使用方式1前臺、后臺子系統(tǒng)共用EB_BRAND商品品牌表,所有品牌信息。公用2EB_CAT商品類目表,針對的類目信息。公用3EB_CATBRAND類目品牌關(guān)聯(lián)表公用4EB_ITEM商品表,每條商品的具體信息。公用5EB_FEATURE商品屬性表,描述商品的功能屬性。公用6EB_ITEM_TAG_IMG商品公用7EB_ITEM_CLOB商品大字段表公用8EB_SKU商品規(guī)格表,商品規(guī)格信息。公用9EB_OFFER_GRO
13、UP案表,描述活動(dòng)集合的概念,包含開始和結(jié)束時(shí)間。公用10EB_OFFER活動(dòng)檔次表,描述具體活動(dòng)檔次信息,包含話費(fèi)定制與返還規(guī)則。公用11EB_BACKLANDLOG登錄日志表,每次登錄的用戶信息。公用12EB_CONSTR適用品牌表,每個(gè)案使用的品牌,包含,動(dòng)感地帶,神州行。公用13EB_PARA_VALUE商品與商品屬性關(guān)聯(lián)表,商品中使用了商品屬性的具體值。公用14EB_SKU_OFFER商品規(guī)格與活動(dòng)檔次關(guān)聯(lián)表,哪個(gè)規(guī)格參與該活動(dòng)檔次的信息。公用15EB_SPEC_VALUE商品規(guī)格與商品屬性關(guān)聯(lián)表,哪些商品屬性是影響規(guī)格的,導(dǎo)致不同價(jià)格。公用16EB_USER用戶表,的用戶信息。公用
14、17EB_ROLE用戶角色表,定義用戶的角色范圍。公用18EB_PERMIS用戶權(quán)限表,定義用戶可的頁面。公用19EB_ROLEPERM用戶角色和權(quán)限關(guān)聯(lián)表,通過關(guān)聯(lián)使相應(yīng)角色可以哪個(gè)頁面。公用20EB_USERROLE用戶和角色關(guān)聯(lián)表,通過關(guān)聯(lián)可設(shè)置用戶有哪些角色。公用21EB_MYFAV_SKU用戶中心收藏表,用戶的收藏內(nèi)容。公用22EB_ORDER訂單表,訂單信息。公用23EB_SHIP_ADDR收貨地址表,詳細(xì)收貨地址信息。公用6.應(yīng)用部署6.1. 部署7.接口設(shè)計(jì)概要7.1. 外部接口用戶號登錄驗(yàn)證用戶信息查詢活動(dòng)檔次互斥校驗(yàn)校驗(yàn)接 名稱下發(fā)接口 / Send_sms()接口類型We
15、bService交互方向ECPS-/S輸入號碼 / phone_id、下發(fā)內(nèi)容 / message輸出處理結(jié)果代碼 / obdCode (obdCode != 0 代表下發(fā)失敗 ;obdCode = 0代表下發(fā)成功)功能定義1)用戶登錄時(shí),驗(yàn)證用戶號登錄口接 名稱判斷用戶能否辦理指定活動(dòng)檔次業(yè)務(wù) / Do_chkPromoCondition()接口類型WebService交互方向ECPS-/S輸入號碼 / phone_id、活動(dòng)/ promo_id、子活動(dòng)/ cond_id輸出處理結(jié)果代碼 / flag (flag 0 代表活動(dòng)檔次不互斥,可以辦理)功能定義用戶下訂單時(shí),判斷用戶能否辦理指定活
16、動(dòng)檔次業(yè)務(wù)口接 名稱根據(jù)號碼查詢/Query_userInfo()接口類型WebService交互方向ECPS-/S輸入號碼/phone_id輸出區(qū)域編碼/region_code、區(qū)稱/region_name功能定義用戶登錄時(shí),根據(jù)號碼查詢,包括區(qū)域編碼和區(qū)稱口接 名稱驗(yàn)證/ Verify_usassword()接口類型WebService交互方向ECPS-/S輸入號碼/phone_id、/password輸出處理結(jié)果代碼/result (result 0 代表驗(yàn)證成功)功能定義用戶登錄時(shí),需要客戶進(jìn)行驗(yàn)證??趥}儲庫存校驗(yàn)串號校驗(yàn)支付接口需要()支付成功接口需要()實(shí)體商品(終端)信息同步首先
17、通過 sql 導(dǎo)入中間臨時(shí)表中,然后通過觸發(fā)“導(dǎo)入”接 名稱支付結(jié)果返回 / MPAY_OrderSusNotice接口類型ECPS-支付交互方向支付-ECPS輸入商戶號、原訂單日期、商戶訂單號、狀態(tài)、備注輸出商戶收到的應(yīng)答報(bào)文功能定義商戶得到支付的結(jié)果口接 名稱發(fā)起支付請求 / MPAY_TradeOrderFromWEB接口類型頁面接口交互方向ECPS-支付輸入商戶號、交易金額、是否允許評論、用戶進(jìn)行確認(rèn)的方式、幣種、url、有效期數(shù)量、有效期、產(chǎn)品描述、產(chǎn)品、產(chǎn)品名稱、交易類型、商戶訂單號、訂單日期輸出令牌功能定義商戶在用戶發(fā)起支付請求時(shí)調(diào)用此接口得到去支付網(wǎng)關(guān)的 URL口接 名稱判斷該
18、設(shè)備是否可用/ Get_eqptInfo ()接口類型WebService交互方向ECPS-/S輸入串號 / phone_sequence輸出設(shè)備信息 / sResEqptInfoList_Item功能定義案開通時(shí),需要填寫可用的設(shè)備串號進(jìn)行案開通口接 名稱判斷用戶選擇的商品資源是否在該中心廳有庫存 / Get_storageFor()接口類型WebService交互方向ECPS-/S輸入資源/ res_code 、中心廳/_id輸出庫存數(shù)量 / total_count功能定義庫存顯示,判斷用戶能否該商品資源口2)用戶下訂單前,調(diào)用此接口下發(fā)給客戶,再次驗(yàn)證用戶信息按鈕導(dǎo)入相關(guān)的庫中實(shí)體商品
19、SKU 信息同步首先通過 sql 導(dǎo)入中間臨時(shí)表中,然后通過觸發(fā)“導(dǎo)入”按鈕導(dǎo)入相關(guān)的庫中案信息同步首先通過 sql 導(dǎo)入中間臨時(shí)表中,然后通過觸發(fā)“導(dǎo)入”按鈕導(dǎo)入電商相關(guān)的庫中案開通案取消接 名稱案取消接口 / Do_stopPromo()口接 名稱案開通接口 / Do_soUsromo()接口類型WebService交互方向ECPS-/S輸入號 / phone_id、活動(dòng)/ promo_id、活動(dòng)類型 / promo_type、子活動(dòng)/ cond_id、串號 / eqpt_sn輸出處理流水號 / so_nbr 、錯(cuò)誤信息 / error_msg功能定義案銷售時(shí),開通案口接 名稱案同步接口類
20、型WebService/文件交互方向/S-ECPS輸入套餐編碼、案編碼、活動(dòng)檔次說明等輸出處理結(jié)果代碼、對處理代碼的解釋功能定義口接 名稱實(shí)體商品規(guī)格(SKU)同步接口類型WebService/文件交互方向/S-ECPS輸入產(chǎn)品代碼、規(guī)格代碼、規(guī)格參數(shù)等輸出處理結(jié)果代碼、對處理代碼的解釋功能定義口接 名稱實(shí)體商品同步接口類型WebService/文件交互方向/S-ECPS輸入產(chǎn)品代碼、產(chǎn)品名稱等輸出處理結(jié)果代碼、對處理代碼的解釋功能定義口退款需要()支付訂單狀態(tài)查詢需要()7.2. 內(nèi)部接口用于檢查用戶登錄狀態(tài)用戶提交訂單接口名稱提交訂單 / submitOrder.do接口類型http輸入訂
21、單相關(guān)信息輸出無功能定義用戶提交訂單接口名稱查詢用戶登錄狀態(tài) / getAjaxLoginUser.do接口類型http輸入用戶名輸出登錄成功返回用戶json功能定義下訂單時(shí)檢查用戶是否已經(jīng)登錄接口名稱訂單狀態(tài)查詢 / MPAY_OrderSus_Query接口類型WebService交互方向ECPS-支付輸入商戶號、商品訂單號、原訂單日期輸出原訂單日期、退款金額、訂單狀態(tài)、支付類型、訂單失效日期、訂單最后記賬時(shí)間、拒付原因功能定義商戶調(diào)用這個(gè)接口發(fā)起退款接口名稱退款 / MPAY_OrderRefuse接口類型WebService交互方向ECPS-支付輸入商戶號、商戶訂單號、原訂單日期、退款
22、金額、請求流水號、退款金額類型輸出商戶代碼、支付單號、退款金額、退款結(jié)果功能定義商戶調(diào)用這個(gè)接口發(fā)起退款接口類型WebService交互方向ECPS-/S輸入號 / phone_id、處理流水號 / rso_nbr輸出處理流水號 / so_nbr 、錯(cuò)誤信息 / error_msg功能定義訂單取消后,取消案的開通號卡訂單接口名稱號卡訂單/ unlockedSimCard.do接口類型http輸入訂單號輸出無功能定義用于鎖定的號卡訂單8.安全性設(shè)計(jì)8.1.系統(tǒng)層面防止網(wǎng)絡(luò)、異常流量:、檢測系統(tǒng)(IDS)系統(tǒng):定期安全掃描、及時(shí)打補(bǔ)丁系統(tǒng)架構(gòu):水平擴(kuò)展、冗余備份、系統(tǒng)功能降級、流量溢出控制8.2.
23、應(yīng)用層面防止 SQL 注入、防止頁面跨站嚴(yán)格的權(quán)限控制做刪除,移動(dòng)等不可逆的重要操作時(shí)請用戶二次確認(rèn)操作9.技術(shù)體系9.1. 技術(shù)PMS 系統(tǒng)的構(gòu)建流程:根據(jù)需求分類設(shè)計(jì)不同的表結(jié)構(gòu)保存對應(yīng)數(shù)據(jù)。為每個(gè)表結(jié)構(gòu)構(gòu)建相應(yīng)的實(shí)體類。按業(yè)務(wù)需求編寫備數(shù)據(jù)。至此 M接口和實(shí)現(xiàn)類,SQLMap 文件,建立實(shí)體類與數(shù)據(jù)庫之間的聯(lián)系,為業(yè)務(wù)類準(zhǔn)層設(shè)計(jì)完成。編寫 SpringMVC 配置文件,構(gòu)建系統(tǒng)框架,整合各個(gè)模塊。編寫 service 接口和實(shí)現(xiàn)類,根據(jù)用戶需求的不同進(jìn)行相應(yīng)的業(yè)務(wù)處理。編寫 Action 類,設(shè)計(jì)實(shí)現(xiàn)接受用戶請求的方法。至此 Controller 成設(shè)計(jì)完成。編寫 html 頁面。美化頁
24、面,View 層完成。9.1.1. SpringMVC 概念Spring 框架提供了構(gòu)建 Web 應(yīng)用程序的全功能 MVC 模塊。SpringMVC 框架圍繞DispatcherServlet 設(shè)計(jì)。 DispatcherServlet 的作用是將請求分發(fā)到不同的處理器。 Spring的 web 框架包括可配置的處理器(handler)、視圖(view)、本地化(local)、 主題(theme以及對文件上傳的支持。Spring 的 Web 框架中缺省的處理器是 Controller 接口,這是一個(gè)非常簡單的接口,僅包含 MAndView handleRequest(request, resp
25、onse) 方法??梢酝ㄟ^實(shí)現(xiàn)這個(gè)接口來創(chuàng)建自己的控制器(也可以稱之為處理器),Controller;Controller 接收 request, response 參數(shù),然后返回MAndViewcontrollermactorview圖 5 MVC 流程圖作用所用技術(shù)或框架版本數(shù)據(jù)庫oracle10g持久層框架ibatis2.3.4輸出工具freemarker2.3.16整合系統(tǒng)中的 Web 部分SpringMVC.2.Freemarker 概念FreeMarker 是一個(gè)模板引擎,一個(gè)基于模板生成文本輸出的通用工具,使用純 Java 編寫被設(shè)計(jì)用來生成 HTML Web 頁
26、面,特別是基于 MVC 模式的應(yīng)用程序,更適合作為 M2 框架(如 Struts)的視圖組件。FreeMarker 允許 Java servlet 保持圖形設(shè)計(jì)同應(yīng)用程序邏輯的分離,這是通過在模板中密封 HTML 完成的。模板用 servlet 提供的數(shù)據(jù)動(dòng)態(tài)地生成 HTML。FreeMarker 與 Web 容器無關(guān),即在 Web 運(yùn)行時(shí),它并不知道 Servlet 或 HTTP。它不僅可以用作表現(xiàn)層的實(shí)現(xiàn)技術(shù),而且還可以用于生成 XML,JSP 或 Java 文等。圖 6 FreeMarker 原理解說圖模板 + 數(shù)據(jù)模型 = 輸出1.FreeMarker 基于設(shè)計(jì)者和程序員是具有不同專業(yè)
27、技能的不同的觀念2.設(shè)計(jì)者專注于表示創(chuàng)建 HTML 文件、生成設(shè)計(jì)頁面要顯示的數(shù)據(jù)、Web 頁面的其它可視化方面;程序員創(chuàng)建系統(tǒng),3. 在 Web 頁面(或其它類型的文檔)中顯示的信息在設(shè)計(jì)頁面時(shí)是無效的,是基于動(dòng)態(tài)數(shù)據(jù)的。數(shù)據(jù)模型典型的數(shù)據(jù)模型是樹型結(jié)構(gòu),可以任意復(fù)雜和次,如下面的例子:(root)|+-|animals|+-|+-|mouse|+- size = small|+- price = 50elephant|+- size = large|+- price = 5000類似于目錄的變量稱為 hashes,包含保存下級變量的唯一的查詢名字類似于文件的變量稱為 scalars,保存單值scalars 保存的值有兩種類型:字符串(用引號括起,可以是單引號或雙引號)和數(shù)字(不要用引號將數(shù)字
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 尊重話題班會課件
- 2024年湖南長沙中考真題及答案
- 水粉教學(xué)課件兒童
- 片段教學(xué)課件一等獎(jiǎng)
- 智能化生產(chǎn)廠房施工合同十項(xiàng)應(yīng)用
- 茶園土地流轉(zhuǎn)與種植承包合同
- 車用起重機(jī)租賃及設(shè)備操作規(guī)范培訓(xùn)合同
- 餐飲服務(wù)員勞動(dòng)合同合同解除通知協(xié)議
- 中醫(yī)正骨教學(xué)課件
- 無人駕駛車輛通信協(xié)議與網(wǎng)絡(luò)安全研究考核試卷
- 2025年黑龍江省龍東地區(qū)中考數(shù)學(xué)試卷真題(含答案)
- 2025年建筑電氣工程師職業(yè)資格考試試卷及答案
- 2025年湖北省中考物理試題(含答案及解析)
- 2025年中小學(xué)暑假安全教育主題家長會 課件
- 近視管理白皮書(2025)專家共識-
- 半導(dǎo)體中載流子的統(tǒng)計(jì)分布和計(jì)算
- 組織部處級干部培訓(xùn)審計(jì)財(cái)經(jīng)紀(jì)律課件
- 史上最全最權(quán)威婦產(chǎn)科icd編碼培訓(xùn)【版】課件
- 心血管診治與搶救標(biāo)準(zhǔn)操作規(guī)程(SOP)
- 中南大學(xué)自主招生綜合素質(zhì)測試面試試題答題技巧
- 科爾沁蒙古族草原上的婚禮
評論
0/150
提交評論