基于nodejs+vue旅游出行指南python-flask-django-php

马肤
这是懒羊羊

 

为设计一个安全便捷,并且使用户更好获取本旅游出行信息,本文主要有安全、简洁为理念,实现用户快捷寻找旅游出行信息,从而解决旅游出行信息复杂难辨的问题。该系统以express架构技术为基础,采用nodejs语言和MySQL数据库进行开发设计,通过对旅游出行业务流程的分析,分析了其功能性和非功能性需求,设计了旅游出行指南,该系统包括个人管理员和用户两部分。同时还能为用户提供一个方便实用的旅游出行指南,使得用户能够及时地找到合适自己的旅游出行信息。个人用户在使用本系统时,可以浏览景点信息,酒店信息,餐厅信息,交通路线,旅行日记,公告信息等;管理员在使用本系统时,可以通过后台管理员界面管理用户的信息,也可以发布系统公告,让用户及时了解旅游出行信息。这样,用户就可以安全高效地找到旅游出行信息。

前端技术:nodejs+vue+elementui,

Express 框架于Node运行环境的Web框架,

语言 node.js

框架:Express

前端:Vue.js

数据库:mysql

数据库工具:Navicat

开发软件:VScode

视图层其实质就是vue页面,通过编写vue页面从而展示在浏览器中,编写完成的vue页面要能够和控制器类进行交互,从而使得用户在点击网页进行操作时能够正常。

代码结构讲解

 1、 node_modules文件夹(有npn install产生)

    这文件夹就是在创建完项目后,cd到项目目录执行npm install后生成的文件夹,下载了项目需要的依赖项。

2、package.json文件

     此文件是项目的配置文件(可定义应用程序名,版本,依赖项等等)。node_modules文件夹下的依赖项是从哪里知道的呢?原因就是项目根目录下的这个package.json文件,执行npm install时会去找此文件中的dependencies,并安装指定的依赖项。

3、public文件夹(包含images、javascripts、stylesheets)

      这个文件夹做过Web开发的应该一看就知道,为了存放图片、脚本、样式等文件的。

4、routes文件夹

      用于存放路由文件。

5、views文件夹

      存放视图。  

随着社会的发展,旅游出行的管理形势越来越严峻。越来越多的用户利用互联网获得信息,但旅游出行信息鱼龙混杂,信息真假难以辨别。为了方便用户更好的获得本旅游出行信息,因此,设计一种安全高效的旅游出行指南极为重要。目录

第1章 概 述 5

1.1 开发背景及研究意义 5

1.2 国内外研究现状和发展趋势 5

1.3 本文主要研究的内容 6

第2章 关键技术介绍 7

2.1 开发环境 7

2.2nodejs技术 7

2.3 MySQL数据库 7

2.4 express框架 8

2.6 本章小结 8

第3章 系统分析 9

3.1 系统概述 9

3.2 需求分析 9

3.3 可行性分析 9

3.3.1 技术可行性分析 10

3.3.2 经济可行性分析 10

3.4 系统用例分析 10

3.5系统流程分析 12

3.5.1 用户登录流程 12

3.5.2 添加信息流程 13

3.5.3 修改信息流程 13

3.5.4 删除信息流程 14

3.6本章小结 14

第4章 系统设计 15

4.1 系统基本结构设计 15

4.2 数据库设计 15

4.2.1 数据库E-R图设计 16

4.2.2 数据库表设计 18

4.3 本章小结 27

第5章 系统实现 28

5.1系统前台实现 28

5.2后台功能实现 30

5.2.1管理员模块实现 30

5.2.2用户模块实现 33

第6章 系统测试 35

6.1 系统测试的目的 35

6.2 系统功能测试 35

6.2.1 登录注册功能测试 35

6.2.2 用户管理功能测试 36

6.3 本章小结 36

结 论 37

参考文献 38

致 谢 39

第1章 概 述

通过对本文的开发背景、研究意义以及国内外研究现状和发展趋势的分析,确定本文的研究内容是系统开发的前提。

1.1 开发背景及研究意义

近年来互联网技术的发展使得互联网产品和网站层出不穷,对人才的需求不断提高 [1]。同时,面对过去使用手抄等方式进行记录,工作效率很难得到提高,无法满足现代人们的需求;自从人类进入互联网时代,通过纸质手抄的方式转换成线上无纸化管理,有效的解决了获取信息的渠道,全面提升工作效率。由此,实现一套完整的旅游出行指南非常必要。

设计和实现了一个基于nodejs的旅游出行指南。该系统具有良好的扩展性、稳定性、安全性以及可移植性等特点。为方便用户找到适合自己的景点信息和酒店信息等并进行交流,特制定本旅游出行指南。

1.2 国内外研究现状和发展趋势

在国内,由于历史环境因素的影响和发展的不平衡,旅游出行管理不完善,这对计算机领域的应用以及外部状态信息在旅游出行管理中的应用产生了很大的影响。简单的技术可以取代过去的形式或方法,但如果你想设计一个管理计划以更科学的方式重新管理这一环节,你必须放弃传统的管理方法,尽快改变管理方法,改变管理理念以合理运作,使系统更精细,控制成本,提高管理效率。

在国外,系统管理发展迅速。相应的信息系统软件设计和保护的研发也有所增加。随着时代的变化,产品研发得到了推动,系统软件得到了极大的发展。如今,它正朝着智能化、数字化和信息化的方向快速发展。所有大公司都采用了类似的规章制度,促进了公司的快速发展,取得了较好的经济效益。

计算机作为信息科学的媒介和关键,对人类社会的繁荣起着至关重要的作用。政府机构和事业单位将根据工作内容选择一套优秀的通信技术和专业办公设备,并利用这些技术和设备快速收集、解决和存储信息,使管理变得方便快捷,实现科学合理的管理目标。

总而言之,旅游出行指南的发展呈持续上升发展趋势,现在传统式的手工制作和半手动式管理方法转变为信息化管理的转变历程中,必须使用和融合全新的信息技术性来完成传统的系统设计方法,确保系统的效果和品质。

但是这些旅游出行指南都是由传统企业开发建设而成的,在旅游出行信息发布上主要采用人工方式进行管理和维护,这种方法效率低下且容易出错,已经不能满足现在快速多变的社会需求,且大都缺乏有效的安全认证机制和管理机制,用户使用虚假信息注册,使得网站存在大量的虚假景点信息,无法保证景点信息的安全性[2]。自1993年美国实施National Information Infrastructure以来,网络普及率大幅提高,互联网用户数量快速增长,旅游出行指南开始快速增长。

第3章 系统分析

系统分析是软件开发的关键。但在实际工作中却往往容易被人们忽视或误解。其实需求分析在软件开发过程中起着重要作用,它不仅为软件产品提供了一个基本框架和基础结构,而且还能够提高软件开发效率及质量。大多数软件的故障都是由于需求分析错误造成的,因为需求分析可以分析用户的业务,并根据用户的需求进行定制分析[10]。
3.1 系统概述

该系统由个人管理员和用户两部分组成。其中:用户进入系统首页可以实现首页,景点信息,酒店信息,餐厅信息,交通路线,旅行日记,公告信息,后台管理,个人中心等;管理员则是根据不同需求设置了不同功能,可以通过后台管理接口管理用户信息。

3.2 需求分析

需求分析,也称为软件需求分析、系统需求分析或需求分析工程,是指开发人员经过充分的研究和分析,准确地理解用户和项目在功能、性能、可靠性等方面的具体需求,并将用户的非正式需求表述转化为确定系统必须执行的需求的完整定义的过程[11]。

功能需求分析是系统设计的前提,它要求开发者和用户定义开发什么样的体系和系统需要什么样的功能。本文主要介绍了一种基于windows平台实现的旅游出行指南。该系统为用户找到景点信息和酒店信息提供了更安全、更高效、更便捷的途径。本系统有两个角色:管理员和用户,要求具备以下功能:

(1)用户可以浏览主页了解旅游出行信息,并进行酒店预订和景点购票等操作;

(2)管理员通过后台管理员界面,实现对用户信息管理,或发布系统公告,让用户实时知道最新的旅游出行信息;

3.3 可行性分析

可行性分析是指通过比较项目的主要内容和支撑条件,如市场需求、资源供应、环境影响、资金筹措情况、盈利能力等,预测项目建成后可能产生的资金、经济效益、社会和环境影响,为项目决策提供依据的综合性系统分析方法。可行性研究报告编制的质量直接影响着投资决策的成,而可行性研究报告编制程序又决定了可行性研究报告能否得到有效执行。因此,必须重视可行性研究工作,提高其编制水平。可行性分析应当具有预见性、公正性、可靠性和科学性[13]。

 3.4 系统用例分析

旅游出行指南综合网络空间开发设计要求。目的是将旅游出行指南从传统管理方式转换为在网上管理,完成旅游出行信息管理的方便快捷、安全性高、交易规范做了保障,目标明确。旅游出行指南可以将功能划分为管理员功能和用户功能。

(1)、管理员关键功能包含系统首页,个人中心,用户管理,天气预报管理,景点信息管理,门票预订管理,酒店信息管理,酒店预订管理,餐厅信息管理,餐厅预订管理,交通路线管理,旅行日记管理,旅游规划管理,系统管理等进行管理。

4.2.2 数据库表设计

数据表是用来保存多种数据的表,它是所有数据库的核心对象,且对于软件开发有着不可替代的作用。其相关数据表如下:

表4-1:收藏表

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

userid bigint 用户id

refid bigint 商品id

tablename varchar 200 表名

name varchar 200 名称

picture longtext 4294967295 图片

type varchar 200 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) 1

inteltype varchar 200 推荐类型

remark varchar 200 备注

表4-2:餐厅信息评论表

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

refid bigint 关联表id

userid bigint 用户id

avatarurl longtext 4294967295 头像

nickname varchar 200 用户名

content longtext 4294967295 评论内容

reply longtext 4294967295 回复内容

表4-3:旅游规划

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

mudedi varchar 200 目的地

chufashijian datetime 出发时间

yujitianshu int 预计天数

lvyouluxian longtext 4294967295 旅游路线

guihuaneirong longtext 4294967295 规划内容

zhanghao varchar 200 账号

xingming varchar 200 姓名

表4-4:公告信息

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

title varchar 200 标题

introduction longtext 4294967295 简介

picture longtext 4294967295 图片

content longtext 4294967295 内容

表4-5:配置文件

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

name varchar 100 配置参数名称

value varchar 100 配置参数值

表4-6:旅行日记评论表

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

refid bigint 关联表id

userid bigint 用户id

avatarurl longtext 4294967295 头像

nickname varchar 200 用户名

content longtext 4294967295 评论内容

reply longtext 4294967295 回复内容

表4-7:用户表

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

username varchar 100 用户名

password varchar 100 密码

role varchar 100 角色 管理员

addtime timestamp 新增时间 CURRENT_TIMESTAMP

表4-8:酒店信息评论表

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

refid bigint 关联表id

userid bigint 用户id

avatarurl longtext 4294967295 头像

nickname varchar 200 用户名

content longtext 4294967295 评论内容

reply longtext 4294967295 回复内容

表4-9:token表

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

userid bigint 用户id

username varchar 100 用户名

tablename varchar 100 表名

role varchar 100 角色

token varchar 200 密码

addtime timestamp 新增时间 CURRENT_TIMESTAMP

expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP

表4-10:景点信息评论表

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

refid bigint 关联表id

userid bigint 用户id

avatarurl longtext 4294967295 头像

nickname varchar 200 用户名

content longtext 4294967295 评论内容

reply longtext 4294967295 回复内容

表4-11:交通路线评论表

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

refid bigint 关联表id

userid bigint 用户id

avatarurl longtext 4294967295 头像

nickname varchar 200 用户名

content longtext 4294967295 评论内容

reply longtext 4294967295 回复内容

表4-12:旅行日记

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

lvxingdidian varchar 200 旅行地点

lvxingleixing varchar 200 旅行类型

lvxingtianshu int 旅行天数

lvxingneirong longtext 4294967295 旅行内容

lvxingtupian longtext 4294967295 旅行图片

zhanghao varchar 200 账号

xingming varchar 200 姓名

thumbsupnum int 赞 0

crazilynum int 踩 0

表4-13:门票预订

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

jingdianmingcheng varchar 200 景点名称

jingdiandizhi varchar 200 景点地址

menpiaojiage float 门票价格

jingdiandengji varchar 200 景点等级

yudingshijian datetime 预订时间

beizhu varchar 200 备注

zhanghao varchar 200 账号

xingming varchar 200 姓名

shouji varchar 200 手机

ispay varchar 200 是否支付 未支付

表4-15:餐厅预订

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

cantingmingcheng varchar 200 餐厅名称

cantingdidian varchar 200 餐厅地点

yudingjiage float 预订价格

yudingshijian datetime 预订时间

yudingshuoming varchar 200 预订说明

zhanghao varchar 200 账号

xingming varchar 200 姓名

shouji varchar 200 手机

ispay varchar 200 是否支付 未支付

表4-16:酒店预订

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

jiudianmingcheng varchar 200 酒店名称

jiudianleixing varchar 200 酒店类型

jiudiandizhi varchar 200 酒店地址

fangjianleixing varchar 200 房间类型

yuyuejiage float 预约价格

yudingshijian datetime 预订时间

yudingshuoming varchar 200 预订说明

zhanghao varchar 200 账号

xingming varchar 200 姓名

shouji varchar 200 手机

ispay varchar 200 是否支付 未支付

表4-17:餐厅信息

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

cantingmingcheng varchar 200 餐厅名称

cantingdidian varchar 200 餐厅地点

renjunxiaofei int 人均消费

yudingjiage int 预订价格

cantingjieshao longtext 4294967295 餐厅介绍

cantingtupian longtext 4294967295 餐厅图片

thumbsupnum int 赞 0

crazilynum int 踩 0

clicktime datetime 最近点击时间

clicknum int 点击次数 0

表4-18:酒店信息

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

jiudianmingcheng varchar 200 酒店名称

jiudianleixing varchar 200 酒店类型

jiudiandizhi varchar 200 酒店地址

fangjianleixing varchar 200 房间类型

yuyuejiage float 预约价格

lianxidianhua varchar 200 联系电话

jiudianjieshao longtext 4294967295 酒店介绍

jiudiantupian longtext 4294967295 酒店图片

thumbsupnum int 赞 0

crazilynum int 踩 0

clicktime datetime 最近点击时间

clicknum int 点击次数 0

表4-19:景点信息

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

jingdianmingcheng varchar 200 景点名称

jingdiandizhi varchar 200 景点地址

jingdiandengji varchar 200 景点等级

menpiaojiage int 门票价格

jingdiandianhua varchar 200 景点电话

jingdianjieshao longtext 4294967295 景点介绍

jingdiantupian longtext 4294967295 景点图片

thumbsupnum int 赞 0

crazilynum int 踩 0

clicktime datetime 最近点击时间

clicknum int 点击次数 0

表4-20:交通路线

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

luxianmingcheng varchar 200 路线名称

luxianleixing varchar 200 路线类型

shifadi varchar 200 始发地

zhongdiandi varchar 200 终点地

quanchengjuli varchar 200 全程距离

luxianxiangqing longtext 4294967295 路线详情

luxiantupian longtext 4294967295 路线图片

表4-21:用户

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

zhanghao varchar 200 账号

mima varchar 200 密码

xingming varchar 200 姓名

xingbie varchar 200 性别

nianling int 年龄

shouji varchar 200 手机

touxiang longtext 4294967295 头像

表4-22:天气预报

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

chengshi varchar 200 城市

fengmian longtext 4294967295 封面

tianqi varchar 200 天气

qiwen varchar 200 气温

shidu varchar 200 湿度

fengxiang varchar 200 风向

fengsu varchar 200 风速

shiyichuxing varchar 200 适宜出行

chuanyituijian varchar 200 穿衣推荐

gengxinshijian datetime 更新时间

4.3 本章小结

通过本章针对旅游出行指南功能的总体结构、E-R属性图和数据表的大概介绍,对在开发系统时所要涉及到的数据库进行简单设计,为下一章系统的实现做好铺垫。

 第6章 系统测试

系统测试是检验软件产品是否满足预期需求,确保产品无缺陷的重要手段。系统测试侧重于评估系统是否满足指定的要求,并帮助检查整个系统的功能性需求。通过对系统功能和非功能两个方面的测试用例进行分析与比较可以发现软件存在的问题以及需要改进之处。软件可靠性设计是一项系统性工程,涉及到多个学科领域,因此其难度较大。测试将侧重于功能测试,这是黑盒测试的一部分,黑盒测试的重点是用户提供的要求,而不是系统的实际代码。

6.1 系统测试的目的

系统测试(System Testing)是为了向使用者提供有关被测试产品或服务的质量信息而进行的检查。系统测试还可以提供客观和独立的系统评估,以使运营者能够了解和系统实施所面临的潜在问题。系统测试涉及软件组件或系统组件的执行,以评估一个或多个系统属性。通常这些属性表明被测组件或系统满足系统预期开发需求,在各种预期的时间内,正确响应各种系统输入,在可接受的时间内执行其功能,足够可用,同时可以满足分析设计时要求的程度。在预期的环境中运行,并达到用户期望的总体结果。经过一系列严格功能测试,以发现系统功能方面潜在的问题,保证系统的正常运行。

6.2 系统功能测试

在系统的功能性测试中,开发人员需要按照操作要求使旅游出行指南软件的各项功能,并准确记录测试期间的每个功能的运行数据,判定软件系统开发的功能是否符合预期的结果,主要是对MySQL数据库里的数据进行增删改查,从而实现登录、门票预订、管理系统信息等功能。

6.2.1 登录注册功能测试

软件测试的第一步是旅游出行指南的用户注册登录功能模块进行测试,测试用户在初次进入软件系统时,是否可以使用注册后登录的功能,具体测试的步骤如表6-1所示。

表6-1 登录注册管理功能测试数据表

编号 测试的功能 步骤 预期结果 实际结果

1 用户注册 正确填写注册信息,然后点击注册按钮 可以完成用户注册 注册成功

2 用户登录 正确输入账号、密码,然后点击登录按钮 可以完成用户登录 用户登录成功

6.2.2 用户管理功能测试

系统的管理层可在此模块进行以下操作:对用户基础信息的修改;对用户的登录密码进行重置;删除用户;新增用户;根据关键词进行检索。以用户名:abo 密码:123456为例对该功能进行测试。测试操作如表6-2所示:

表6-2 用户管理测试过程及结果

测试项 测试用例 测试特性 用例描述 系统反应 测试结果

用户管理操作 用户名:abo

密码:123456 功能测试 添加一个新用户,基础信息与已有用户完全一致 添加失败,提示“该用户已存在” 通过

用户管理操作 用户名:abo

密码:999999 功能测试 添加一个新用户,基础信息与已存在用户均有所不同 添加成功 通过

用户管理操作 用户名:abo

密码:123456 功能测试 修改系统中用户名 修改成功 通过

用户管理操作 用户名:abo

密码:123456 功能测试 删除系统中用户 删除成功 通过

用户管理操作 用户名:abo

密码:123456 功能测试 按关键词搜索用户信息 查找成功 通过

用户管理操作 用户名:abo

密码:88888888 功能测试 重置用户密码 密码修改成功 通过

6.3 本章小结

本章所做的主要工作是对系统进行功能性测试。网站管理系统的正确性是网站的不可或缺的因素,系统的功能性测试是其中必不可少的步骤,也是占有很大比重的部分,这个过程中遇到的最多的问题是当界面跳转的时候系统终止运行。使用Eclipse中的Log Cat功能能够实现对程序每一个步骤进行跟踪,且定位出错误的位置十分方便。通过对各功能模块的测试结果和预期结果的比较,发现系统功能满足项目要求。

结 论

在设计旅游出行指南的过程中采用express架构技术,采用了nodejs技术来呈现给用户,后台数据采用MySQL数据库来进行存储。

此系统为旅游出行指南,为了达成预期效果该系统拥有管理员和用户两种角色。用户可以通过对景点进行购票和酒店预定,我的收藏等功能。管理员用户则可以通过后台管理功能对整个系统的信息进行管理,如每个用户发布的信息,都需要经过管理员审核才能被其他用户所看到,用户所发布的旅游出行信息也需要通过审核,除此之外平台的所有公告也是由管理员直接发布,以此来达到维护整个平台信息健康的目的。

基于nodejs的旅游出行指南的设计与实现基本上自己在大学生活中学习的大部分知识都融入了进去,但是还不够,在许多方面还没有考虑全面,相信自己在进入工作中会更加努力,做出更加完美的系统。

致 谢

时光荏苒,四年的大学生活使我收获良多,感谢学校给我们提供了一个创新思维、思考问题和解决问题的平台,感谢老师们在过去给予我的知识和帮助。在这里我要向你们表达最真挚的谢意——感谢大家对我门课程教学的支持与鼓励!我想说的话:努力掌握专业知识、不断提高自己的综合素质。通过四年的学习和实验,老师不仅教会了我们知识,还培养了我们自主学习的能力,让我们可以用课堂上所学到的知识去钻研专业的其它方面。

从旅游出行指南的选择,到系统的详细设计,再到系统各个功能模块的编码,再到论文的撰写,作为一名没有实际开发经验学员,我的第一感觉就是不知从何说起,非常感谢老师们在系统架构设计、进度安排、关键技术等方面的宝贵经验和投入,让我备受鼓舞,顺利完成了课题。我相信在今后的工作中将会得到更多的收获!互联网时代已经到来了。随着信息技术的不断发展,网络技术也越来越成熟,它改变着人们的生活方式,同时对传统行业产生巨大影响。互联网时代我们提供了丰富的资源,解决了我在发展过程中遇到的许多问题,在前辈的指导下,我一直有一种开放的感觉。

一般来说,不付出艰苦的努力就不会有预期的结果,一个从最初的想法到实践到具体目标的软件系统需要反复的设计、改进、实验、耐心、细心和信心,以及坚持不懈、不断尝试和探索未知事物的精神与勇气。


文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复:表情:
评论列表 (暂无评论,0人围观)

还没有评论,来说两句吧...

目录[+]

取消
微信二维码
微信二维码
支付宝二维码