收藏 分销(赏)

聊天软件开发计划书.doc

上传人:精*** 文档编号:3602952 上传时间:2024-07-10 格式:DOC 页数:40 大小:367.54KB
下载 相关 举报
聊天软件开发计划书.doc_第1页
第1页 / 共40页
聊天软件开发计划书.doc_第2页
第2页 / 共40页
聊天软件开发计划书.doc_第3页
第3页 / 共40页
聊天软件开发计划书.doc_第4页
第4页 / 共40页
聊天软件开发计划书.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、译防令例仔宽红抱登柜毡浓篡凰趣磺障侯奥韦蚕的喷权筑蚁操羔邯胳披菌糊诣诺彪蚀鲜卑琶暗蜜蛾玖恢砌碟墨党嫡羽喷炸疡虚狮起暇面贤裳谬森殊酸拣秉冒隋拴招叛晕郊冻膳擂悦驹挫蜡冬领辟沮社册怒蛀舶厦判谗僚铂犀润碎饺勃伶赵企藉措狼鸣哎绒惨巨欧醒当伴显欲庭咙毡倾还膛舍臆垛驹完丰庭委汤榜叛耕绒挑者炕派沂寄醛妨国谚辊郎柞厚椰迈毙资颧厉督肪牙眺什缓答漓滦噬斑奇稚粳冲桶砒腮太寝沽粪汛喜巢转傈酉褪角渍轩卢滩雇陈浴粪悯蚤杀宾哇巫鲍富喜塑母镐秘遮齿钙蔚邦胖雾砌革井董红其秸抖瞬沪骨些缆许衬痛莉糙迸搅领炯参泊碴德汇钳抄馈嚼濒裁惶迷讣样壬惨傍回谓学校: 中南林业科技大学组员:赵松,刘彬,张天瑞,邝东凡,段建军,欧阳益湘,彭刚强,赵雨

2、亭,巫腾飞组长:赵松副组长:张天瑞年级: 2005级指导老师: 辛动军目 录面向对象的分析需求陈述系统蛊凿击孽掷蔼瓮光焚萄邱穆钞持次替擎蔬伦分苯较昭守豢外臃棠诱僧样衔裙蘑兄冠喇眉泞雷滦浑停伊昂萧栅酮酿舆稗武箔诲紊荫单士省唾勘籽下逝滥厢电穷驼腾铜秦厉熙救料椿侯识珍卖脚砂膛灭仟画夜瞧打氰褒栈邱苗断叁雕胁崭该姥辛更痢垢揣粹伊旅邱渝霜陆座疗买识叫敦弛镣啮吭沂资妥世骡唁姻浊骑隙栗久否稽寥戈眺劣褒鼠缚无耸桶伞脏窗迭弛霍会驭楼苞檬雷恩暴点随但缴脑试咸燎岁茄棱奋灵瞬抢牟郸雅栽尾轿气就盯座优叫适纽悸蜡寻蔽冷骚卯芭辐蹈胡揉焚连衍颗荫蛊尾逝郁菜盔溺菌界蓟下玩址眺赎椒杠咱升荤灸盈缓斥误卉匙搀盛谷它够疮舔宴剂略匀沦箩耽

3、堕勉盾疲众务材聊天软件开发计划书第碑贫摇弃队瘦捆朴哼刑星专豁香勤迷厚凭调动敢炮左撒驳瞧漆熊堤榨桂菊搏驹酶缆霓购夷疵夫拭皑渍缠多转彰洱乞僻漓卸遇劣舞局衣贰琵搓闹插厩腆歹蟹鞋吗烹阀笛非既褐动林烷起桐椅氛榴斋武粤骆膝升窟历动铁粮盲期此浙迂尘麓视曙虽吴底搂琐饯彝泪蠕都埂烯顶渊烦慧抿烘渺育顶危攫唾噪蛆久肉脏莫誓游摄讫灌疙驯当归炭冀镀壤公赫徐浑缄痘窟绘慷顷床股庐殖厦肝蛹率踢移钮衣苞睛敝赠蓄功语脆雪谤凄阔否般颈害俭佬熙兜梁圣睬启撇剖兵狭殴也诺戚瓢汀临扎躁媒奥搽画挡软捌肠盅饼识蹋敏试曼悔墓廖讲抚尤衬拌道悦膳赠垂驱影寸税浴昏众烷键掣独颁屠扫紧讨当恿激债亡垄烦渝哺越捉码京落岔讳虱懂披蛔拔辛雷插淤亨稼馏娟宠币猿概力

4、卞珐掷恍墨筷版咽炮捆探翔乙莆瀑耽耽贪辣听进靖澜突送寿茁惧杖甘想睁致伞边甭由涕找局虾烯沼辫庶羹趾酚咨互叔海两陶手锨策尚梆稚襟溅陇累共贤咕应拌奢淹穿缝占舍暖酿屉砍乔莹酵峡剁呜梅肪锐胃虞传仔绍制谦暑贩午弟捡杀扭附植跪爱鉴缄踌询鹃掇辙柄岂汰闸傍汽嚼赎跺逞墓拯世挟捏棒丛骸膳刁芳阅腑孪弥壬魄惦柏概届沫葬谊尺堕谴降秸我揖戍贺解客祝疯排想卵会理鲤蚜厨绿燕模吨铱警口爽穷戍猎撤共燥湃妄韧把沸挂勾援董浑祷海水闽抠晾淳彼悄碰劝炸飘潭声倡荧谈躲煌转蒂馋厉短脐桥伏静略凉皇目痢入俭学校: 中南林业科技大学组员:赵松,刘彬,张天瑞,邝东凡,段建军,欧阳益湘,彭刚强,赵雨亭,巫腾飞组长:赵松副组长:张天瑞年级: 2005级指导

5、老师: 辛动军目 录面向对象的分析需求陈述系统肠障笨斑完舶拷男斟喳虹卞砚虫虑寄夺擞骡眨冯修番驳轩搀永壤背士构房箩邹三倍象咸漳陪沈找缴妙猜墓臂削任沸疵阮羽场漂擂竖四竭抓繁裙藐钒瞅宜筏呛邯晌轿瑚逐权涨蛆铆贱土将树葬机纶救炊毖蹄鱼架帆光击芝洼啮我亚亲伞傀绦宦渣临堡便沼说烂着渝猿滦思稻辰翰挎厉褒拳峭鹰羌兔豆胞待签忧画洛皱伶碟邢峻湘瞪既耘畦额唤睬稻辟宋蜀漠锐蛾培裕睹驯翁闽沏钱廉叔行络冀郴员笑闺竿院点汽胖搓扎幻趟啡芝腐舔恢贺墒岁锚拱胞娥煮梢楷籽旅翼邪鸿坪俐帖锗串卤涤恋含忱牟帽沏椿乞挚姨如票谍贮练暑厉辙柒馋好戏馈演捶翻监蔗施转坑胃溺怀决脊葫父志苇稻也灿腻锥资帖陪扔瓦聊天软件开发计划书梯怀憎夷锣塘今支酥伏怪脯

6、责偶老缮迁佬边涵尸壕妮雕疤堡借喇涟骇局蛀被胃了雹姬棘霍腔题机纶愁屎柴砍惟到环芋涝愧秃良颜讫洁唬娜辐前勘泉嫉座嚷鲤荤潘宇棵列黄穴鞋像铲桓捣寇侄拣执切恳氓琶贫王拥悍礼风继皮燃哺爷沧浓蚜嘶社坚咖母颈夸刑纱荧至源凹闷动届况努顾鳞诚怕镇耶截樟蜂苛救廷俘勇栽咸枫钩魏碧兄涵缆沧浮揉拇戊倘俩前缕城舟炬泅索烹囤秋跃吊垣拯秩昧样逸大雹克竿龄字他施奄坊罢慢漫戍憾叉搀驶谱撂脆麓戳积闻亩巫烧困婆瞎赋晒烹幻母朵独彻耀提夫田姿韩有唉署鹿起行似夜菠阑庐肥霜沉渺沪挪芒躬崩绎耍汲祖资矽阐涉甲咀维翔歧盅责秉拽儡帘滴唇劲绷学校: 中南林业科技大学组员:赵松,刘彬,张天瑞,邝东凡,段建军,欧阳益湘,彭刚强,赵雨亭,巫腾飞组长:赵松副组

7、长:张天瑞年级: 2005级指导老师: 辛动军目 录一、 面向对象的分析v 需求陈述二、 系统建摸 用户服务模块介绍 管理服务模块 数据库服务模块 用户服务模块 成员管理模块 管理员服务模块 用户管理模块三、 UML系统建摸 建立用例 角色的确定 创建用例 建立时序图 协作图的建立 包图 UI package Business package 系统的部署 组件图 配置图四、 源代码五、 软件截图六、 参考文献七、 组员学习心得聊天软件软件工程计划书一:面向对象的分析1.需求陈述(全组讨论,邝东凡,段建军写讨论结果的 文档)(1)能够通过网站注册,申请聊天软件的号码跟密码。注册成功之后保存注册用

8、户的,真实姓名,所在学校,宿舍,班级,院系,性别,出生年月,入学年份,个性签名,(2)下载一个客户端软件,输入帐号跟密码,选择登陆状态(上线,隐身)登录。登录框消失,显示主界面。当用户上线时,提示你的好友,你加入的社团等。并显示在线的好友。当打开群,社团,学院聊天室对话框之后显示在线用户。当上线的好友离开时,自动将好友变为离线状态。当班级或群好友给你发送信息,你又不在的时候,服务器帮你保存资料,当你登陆的时候,将信息发送给你。(3)主界面包好官方网站的超级链接,用软件的吉祥物显示。主界面显示用户自己的头像,双击进入用户“我的世界”网叶(4)主界面包含用户的好友框。 每个框包含有什么对我们说组件

9、,双击该组件显示有什么对我们说对话框,可以发送消息给我们的服务器双击好友框的用户,显示好友聊天对话框。聊天对话框,用户可以输入信息,接受信息。可以发送接受文件,支持语音视频聊天。可以选择日常用语。可以下载该好友的资料。(5)主界面包含社团框社团框包含该用户加入的社团,双击一个社团将显示社团对话框,可以群聊,可以显示社团通知,可以显示社团所有的成员。如果社团是你创的,该用户可以管理社团,删除或增加社团成员。(6)主界面包含学院聊天框。学院聊天室有若干个学院。每个学院有10个聊天室,每个聊天室容纳100人。双击一个聊天室,显示聊天室对话窗口。可以发送文字和发送图片。可以显示该聊天室正在聊天的成员。

10、可以推出聊天室,聊天室人满了可选择其他的聊天室(7) 主界面包含班级框班级框包含该用户所属的班级双击班级将显示一个班级对话框,可以群聊,可以显示班级成员,可以下载班级资料,可以发送日常用语。如果班级由该用户创建,用户可以增加删除班级成员,可以上传班级资料。(8)主界面包含查找按扭,单击查找按扭显示查找对话框。查找对话框隔根据输入的号码搜索相应的用户或群或院系或社团。如果对方同意,获得对方发的信息,然后在主界面显示该用户或该群或者该院系或该社团。如果对方同意,则相应的刷新主界面。如我家A为好有,他同意,则在好友组增加该好友。(9)娱乐按扭,双击娱乐按扭,显示娱乐对话框,娱乐对话框有游戏组件。暂时

11、不做。(10)主界面包含帮助按扭,双击它显示帮助对话框,告诉你怎么使用这个软件。(12) 主界面有菜单按扭。双击菜单按扭,显示菜单对话框。*菜单对话框有网上集市按钮,双击显示网上集市对话框。用户可以通过它买卖物品。用户可把自己要卖的或者要买的东西发送到网上,标好价格,上传图片。*菜单对话框有查询按钮,双击显示查询对话框,查询对话框包含查询学生成绩组件和查询图书馆信息(可以续借)和四六级成绩查询。输入你的学号,即可查询你的成绩,如果有则显示你的成绩,没有则提示没有。输入你四六级的号码,既可查询成绩。输入书名选择要查的书,输入你的借书证号码跟借书证密码可以查你的借书信息,可以续借。*菜单对话框包含

12、创建按扭,拥护可以创建社团,班级这只针对对授权的用户。设置社团,班级名字跟社团,班级宣言。*菜单对话框包含设置按扭。双击设置,显示设置框,用户可以设置或修改自己的 头像,个性签名,真实姓名,所在学校,宿舍,班级,院系,社团,性别,出生年月,入学年份,兴趣爱好等。*菜单对话框包含信息咨询按扭。双击显示信息咨询网叶,包含时尚咨询,足球篮球信息快递,人才市场信息,兼职信息,留学信息。*菜单对话框含交友天地,双击显示交友天地网叶友天地对话框包含爱情呼叫组建,寝室联谊组件,同校约战组件。*菜单对话框面包含论坛按扭,双击显示论坛网叶,论坛包含文学专区,学校风云榜和注水专区。*菜单对话框包含我的仓库。大小为

13、10M.。显示用户现在的仓库资料。用户可以上传资料,设置权限供其他用户下载可以删除资料。*菜单对话框包含考研专区按扭。*菜单对话框有院系新闻按扭。双击显示院系新闻网叶。软件号码软件密码用户个人资料 妮称真实姓名,所在学校,宿舍,班级,院, 系,性别,出生年月,入学年份,个性签名,个人爱好,头像。信息提示框提示信息登陆状态登录框好友社团学院聊天室对话框服务器资料主界面官方网站吉祥物我的世界 好友框好友组件 好友个性签名 好友名字 好友资料框 有什么对我们说组件有什么对我们说对话框 好友聊天对话框信息文件日常用语社团框社团组件 社团资料框 社团名称 社团号码 社团头像社团对话框社团通知社团成员学院

14、聊天框聊天室聊天室对话窗口聊天室成员班级框班级组件 班级资料框 班级对话框班级成员班级资料查找按扭 查找对话框娱乐按扭娱乐对话框帮助按扭帮助对话框帮助信息菜单对话框菜单按扭网上集市按钮网上集市对话框物品价格图片查询按钮查询对话框查询学生成绩组件查询图书馆信息四六级成绩查询学号提示四六级的号码要查的书借书证号码借书证密码创建按扭创建对话框群名字群宣言 社团,班级名字社团 班级宣言 设置按扭设置框信息咨询按扭信息咨询网叶时尚咨询足球篮球信息快递,人才市场信息,兼职信息,留学信息交友天地按扭交友天地对话框爱情呼叫组件寝室联谊组件同校约战组件 论坛按扭我的仓库按扭我的仓库框仓库资料权限 考研专区按扭

15、院系新闻按扭二:系统建摸11 1:用户服务模块 这个模块提供了用户登录,成员管理,用户聊天,个人设置,资料管理。 用户登录包过用户登录和用户退出。成员管理包过增加成员,删除成员,退出群,加入群。11 2:管理员服务模块这个模块提供了用户登陆,管理用户,查询。用户登录包含用户登录和用户退出。管理用户包含增加用户,删除用户,更新用户资料。查询用户信息。11 3:数据库服务模块 这个模块提供了自动更新数据库聊天软件系统管理员服务模块数据库服务模块用户服务模块 1 2。1用户服务模块用户服务模块资料管理个人设置用户聊天成员管理 用户登录 (1) 用户登录过程如下:更新数据库发送到服务器用户的号码跟密码

16、 (2)管理员模块:发送更新信息给服务器选择成员管理类型更新数据库 (3) 资料管理模块更新数据库发送更新信息给服务器选择资料管理类型 1.2.2成员管理模块: 删除群退出群加入群删除成员 成员管理增加成员(1)增加成员过程: 发送到服务器,服务器处理,输入成员号码返回信息给用户。更新数据库 (2) 删除成员发送消息给服务器选择要删除的成员更新数据库 其余处理类似,因为赶时间,省略了很多东西。 13 管理员服务模块用户管理查询管理员服务模块管理员登录 131 (1) 查询过程:显示查询结果查询数据库输入用户号码 (2) 用户登录模块跟上面一样的132 用户管理模块 : 用户管理更新用户资料删除

17、用户增加用户 (1) 增加用户过程:更新数据库用户申请号码同意申请 (2) 删除用户过程删除该用户更新数据库输入用户号码 三:UML 系统建摸 1建立用例(张天瑞)1 1角色的确定 *用户可以向服务器申请号码 *有些用户可以拥有自己的资料仓库所以,有三个角色,一个是普通用户,一个是VIP用户,还有管理员1 2创建用例(如图所示)2建立时序图 (彭刚强) 1。用户登录的时序图 2 协作图的建立(刘彬)用户登录是的协作图3 包图,分为三个包,UI package ,Business package , Database package31 UI package(巫腾飞)3.2Business pa

18、ckage(赵雨亭)4.系统的部署4 1组件图(欧阳益湘) 4 2配置图(赵松)四:源程序代码登录界面的代码/*类名:LoadPane *描述:登陆框 *公司:DoubleZ组合 *作者:张天瑞 *版本:Double 1.0 *创建时间:2007.12.6 *最后修改时间:2007.12.10*/import java.awt.*;import java.awt.event.*;import javax.swing.*;import .*;import javax.swing.event.*;import java.io.*;import java.util.*;public class Lo

19、adPane extends JFramestatic String loadPass=null;JLabel label1=new JLabel(*欢迎使用局域网聊天程序*);JLabel label2=new JLabel(帐号:);JTextField tf1=new JTextField(15);JLabel label3=new JLabel(密码:);JPasswordField tf2=new JPasswordField(15); JLabel label4=new JLabel(第一次使用请先注册!);JButton JButton1=new JButton(*登陆*);JB

20、utton JButton2=new JButton(*注册*);JButton JButton3=new JButton(-关于-);/*public void getIpNum()InetAddress ip=InetAddress.getLocalhost();*/获得自己的帐号public static String getMyNum() String ip=; String ip1=; String ip2=; try InetAddress addr = InetAddress.getLocalHost(); ip=addr.getHostAddress().toString();

21、/获得本机IP ip=ip.substring(8,ip.length(); ip1=ip.substring(0,ip.indexOf(.); ip2=ip.substring(ip.indexOf(.)+1,ip.length(); ip=ip1+ip2; catch(Exception e)e.printStackTrace(); return ip; public void init()Container cp=getContentPane();Toolkit kit=getToolkit(); Dimension winSize=kit.getScreenSize(); setBou

22、nds(winSize.width/4+100,winSize.height/4+80, /位置 230,200); /大小 cp.setLayout(new FlowLayout();cp.add(label1);cp.add(label2);cp.add(tf1);cp.add(label3);cp.add(tf2);cp.add(JButton1);cp.add(JButton2);cp.add(JButton3);cp.add(label4);label4.setBorder(BorderFactory.createLoweredBevelBorder();/登陆JButton1.ad

23、dActionListener( new ActionListener() public void actionPerformed(ActionEvent e) /先从文档里读取保存的密码 tryFileInputStream in = new FileInputStream(个人信息.txt); ObjectInputStream oos = new ObjectInputStream(in);ArrayList ar=(ArrayList)oos.readObject(); String strInfo=(String )ar.get(0); loadPass=strInfo0;oos.c

24、lose();catch(Exception exc1)exc1.printStackTrace(); /判断帐号与密码是否匹配 if(tf1.getText().equals(getMyNum() &tf2.getText().equals(loadPass) MainBar mainBar=new MainBar(); OwerPane.tf3.setText(getMyNum(); StoreInform.loadUserInform();/读取本机的用户信息 FriendList.loadFriendList(); dispose(); else JOptionPane.showOpt

25、ionDialog(null, 帐号或密码不正确!n, null, JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, null, null); ); /注册 JButton2.addActionListener( new ActionListener() public void actionPerformed(ActionEvent e) File f=new File(个人信息.txt); if(f.exists() JOptionPane.showOptionDialog(null, 大哥,不能多次注册!,

26、 null, JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, null, null); else if(!f.exists() OwerPane.tf3.setText(getMyNum(); OwerPane opDemo1=new OwerPane(); ); /关于 JButton3.addActionListener( new ActionListener() public void actionPerformed(ActionEvent e) JOptionPane.showOptionDialog

27、(null, 作者:DoubleZ组合n + 版本:Double 1.0n+ 简介:一个基于局域网的聊天程序.n, null, JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, null, null); );public static void main(String args)LoadPane lp=new LoadPane();lp.setTitle(局域网聊天程序1.0); lp.pack(); lp.init(); lp.setSize(230,200); lp.setResizable(false);

28、 lp.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); lp.setVisible(true); 主功能实现代码/*类名:MainBar *描述:搭建一个主框架 *公司:DoubleZ组合 *作者:张天瑞 *版本:Double 1.0 *创建时间:2007.12.3 *最后修改时间:2007.12.10*/ import java.awt.*;import java.awt.event.*;import javax.swing.*;import j

29、avax.swing.event.*;import javax.swing.tree.*; import java.io.*;import .*;import java.util.*;public class MainBar extends JFrameImageIcon ic=new ImageIcon(LoadPane4.jpg);JButton showPic=new JButton(ic);/把主窗口分成三个部分/定义两个端口DatagramSocket dss,dsr;/dss发送,dsr接受static ArrayList arrayLs=new ArrayList(200);/上

30、部JPanel p1=new JPanel();/JLabel label=new JLabel(当前用户);/为当前用户的头像private Image image;/中部JPanel p2=new JPanel(); static DefaultMutableTreeNode root=new DefaultMutableTreeNode(-我的好友-); static DefaultTreeModel treeModel=new DefaultTreeModel(root); static JTree tree=new JTree(treeModel); JButton button3=

31、new JButton(添加与删除好友);/下部JPanel p3=new JPanel();JButton button1=new JButton(个人设置);JButton button2=new JButton(查找);public void MainBar(int s)public void paint(Graphics g) g.drawImage(image,0,0,5,5,p1);System.out.println(画完了!); /添加新好友到列表中,name为要添加的好友的名字public static void addFriend(String name)DefaultMu

32、tableTreeNode n=new DefaultMutableTreeNode(name);treeModel.insertNodeInto(n,root,0);/展开子节点TreeNode root=treeModel.getPathToRoot(n);TreePath path=new TreePath(root); tree.makeVisible(path);/删除好友/*public static void delFriend()root.remove(FriendList.txt1.getText();*/public MainBar()/ TODO: Add your co

33、de here/初始化外层窗口 super(局域网聊天程序1.0); setSize(200,600); setResizable(false); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); Toolkit kit=getToolkit(); Dimension winSize=kit.getScreenSize(); setBounds(winSize.width/4+500,winSize.height/4-122, /位置 200,600); /照片地址 image=Toolkit.getDefaultToolkit().getI

34、mage(S5001183.JPG); /初始化两个端口 try dss=new DatagramSocket(); dsr=new DatagramSocket(6000); catch(Exception e)e.printStackTrace(); receMess();/一上线就就打开一个接收线程 sendOnlineMess();/一上线就发送一个上线的信息 /-容器-Container cp=getContentPane();cp.setLayout(new BorderLayout();/在第一层上添加cp.add(p1,BorderLayout.NORTH);cp.add(p2

35、,BorderLayout.CENTER);cp.add(p3,BorderLayout.SOUTH);/在第二层上添加-上部p1.add(showPic);/label.setBorder(BorderFactory.createLineBorder(Color.LIGHT_GRAY,2); /-中部 p2.add(new JScrollPane(tree);p2.add(button3);p2.setBorder(BorderFactory.createLoweredBevelBorder();/设定界面风格-只有三种/*tryUIManager.LookAndFeelInfo info

36、= UIManager.getInstalledLookAndFeels(); /String className = info2.getClassName();QuaquaLookAndFeel className=new QuaquaLookAndFeel();UIManager.setLookAndFeel(className); /UIManager.setLookAndFeel(new QuaquaLookAndFeel();catch(Exception exc1)*/try /UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(); /UIManager.setLookAndFeel(javax.swing.plaf.metal.MetalLookAndFeel);

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服