Golang期末作业之电子商城(源码)

作品介绍

1.网页作品简介方面 :主要有:首页 商品详情 购物车 订单  评价 支付 总共 5个页面

2.作品使用的技术:这个作品基于Golang语言,并且结合一些前端的知识,例如:HTML、CSS、JS、AJAX等等知识点,同时连接数据库的,实现一个简单的电子商场项目。代码水平也就是简单的学生水平,希望有大佬可以帮忙提出改进的建议。

设计说明

1.首页

首页的内容包括页眉、欢迎横幅、轮播图、主义内容区。

  • 页眉部分 (<header>)

    • 包含导航和搜索表单,用于用户导航和搜索功能。
  • 欢迎横幅 (<div class="welcome-banner">)

    • 一个简单的欢迎消息,通常用于引导用户注意力。
  • 轮播图 (<div class="carousel">)

    • 一组图片,通过 JavaScript 控制轮播效果。
  • 主要内容区 (<main>)

    • 推荐商品标题 (<h2 class="recommended-title">):标题部分,介绍推荐商品。
    • 商品列表容器 (<ul class="goods-list">)

2.商品详情

商品详情的页面也有导航栏,同时当用户点击某一件商品的时候,会跳转到对应的商品详情页

  • 页眉部分 (<header>)

    • 包含一个导航栏,用于用户导航至不同的页面。
  • 商品详情列表 (<ul class="goods-detail">)

3.购物车

  • 主体内容 (<body>)

    • 页眉部分 (<header>)

      • 包含一个导航栏,用于用户导航至不同的页面。
    • 页面主标题 (<h1>购物车</h1>)

      • 显示页面的主标题为“购物车”。
    • 生成订单按钮 (<button id="generateOrder">生成订单</button>)

      • 提供一个按钮,可能用于触发生成用户购物车中商品的订单操作。
    • 商品列表 (<table>)

      • 用表格形式展示用户已选购的商品信息。

4.订单

与购物车页面相似,同时利用时间戳来生成订单时间

5.评价

与购物车页面相似,利用一些前端的知识来实现评价功能

6.支付

与购物车页面相似,简单输出支付的金额

效果展示

首页

商品详情

购物车

生成订单

评价

支付

数据库展示

代码演示

首页

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>商品列表</title>
    <link rel="stylesheet" href="/Static/styles/index.css">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="Static/js/index.js"></script>
</head>

<body>
    <!-- 导航栏 -->
    <header>
        <nav>
            <ul>
                <li><a href="/">首页</a></li>
                <li><a href="/showCart">购物车</a></li>
                <li><a href="/order">订单</a></li>
                <li><a href="/showComment">评价</a></li>
                <li><a href="/payment">支付</a></li>
            </ul>
            <form class="search-form" action="/search" method="get">
                <input type="text" name="query" placeholder="搜索商品...">
                <button type="submit">搜索</button>
            </form>
        </nav>
    </header>

    <div class="welcome-banner">
        <h2>欢迎来到我的商店</h2>
    </div>

    <!-- 轮播图 -->
    <div class="carousel">
        <img src="Static/images/1.png" alt=" 商品图片1" class="active">
        <img src="Static/images/2.png" alt="商品图片2">
        <img src="Static/images/3.png" alt="商品图片3">
        <div class="controls">
            <span class="control-prev">&lt;</span>
            <span class="control-next">&gt;</span>
        </div>
    </div>

    <main>

        <h2 class="recommended-title">推荐商品</h2>

        <ul class="goods-list"> <!-- 这里是商品列表的容器 -->
            {{range .}}
            <li>
                <a href="/goods?id={{ .GoodId }}">
                    <img src="{{.ImageUrl}}" alt="{{.GoodName}}" style="width:100px;height:auto;"> <!-- 使用auto保持图片比例 -->
                    <h2>{{.GoodName}}</h2>
                    <p class="price">价格: {{.Price}}</p>
                    <p>库存: {{.Inventory}}</p>
                    <p>描述: {{.Description}}</p>
                </a>
            </li>
            {{end}}
        </ul>
    </main>
</body>

</html>

/* 轮播图样式 */
.carousel {
    position: relative;
    width: 100%;
    max-width: 100%; /* 容器宽度占满整个屏幕 */
    margin: 20px auto; /* 居中显示 */
    overflow: hidden;
}

.carousel img {
    width: 100%; /* 图片宽度填充整个轮播图容器 */
    height: auto; /* 高度自适应 */
    display: none;
}

.carousel img.active {
    display: block;
}

.carousel .controls {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
}

.carousel .control-prev, .carousel .control-next {
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    padding: 5px 10px;
    cursor: pointer;
}

body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
}

header {
    background-color: #333;
    color: white;
    padding: 10px 0;
}

header nav ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
}

header nav ul li {
    margin: 0 15px;
}

header nav ul li a {
    color: white;
    text-decoration: none;
    font-weight: bold;
}
/* 在index.css中添加 */
.search-form {
    display: inline-block;
    margin-left: 20px;
}

.search-form input {
    padding: 5px;
    font-size: 14px;
}

.search-form button {
    padding: 5px 10px;
    font-size: 14px;
    background-color: #007BFF;
    color: white;
    border: none;
    cursor: pointer;
}



.welcome-banner {
    background-color: #f0f8ff; /* 浅蓝色背景 */
    color: #333; /* 深色文本 */
    text-align: center; /* 文本居中 */
    padding: 50px 20px; /* 内边距 */
    margin: 20px auto; /* 居中 */
    border-radius: 10px; /* 圆角 */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 阴影效果 */
}

.welcome-banner h2 {
    margin: 0;
    font-size: 2em;
}

/* 其他样式 */
.goods-list {
    list-style-type: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.goods-list li {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    margin: 10px;
    padding: 15px;
    width: calc(33% - 40px);
    box-sizing: border-box;
}

.goods-list li img {
    max-width: 100%;
    height: auto;
}

.goods-list li h2 {
    font-size: 1.5em;
    margin: 10px 0;
}

.goods-list li .price {
    color: #e91e63; /* 粉红色价格 */
    font-weight: bold;
}

.goods-list li p {
    margin: 5px 0;
}

.recommended-title {
    text-align: center; /* 标题居中 */
    color: red; /* 标题颜色变红 */
}

商品详情

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>商品详情</title>
    <link rel="stylesheet" href="/Static/styles/goods.css">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="Static/js/goods.js"></script>

</head>

<body>
    <!-- 导航栏 -->
    <header>
        <nav>
            <ul>
                <li><a href="/">首页</a></li>
                <li><a href="/showCart">购物车</a></li>
                <li><a href="/order">订单</a></li>
                <li><a href="/showComment">评价</a></li>
                <li><a href="/payment">支付</a></li>

            </ul>
        </nav>
    </header>
    <main>
        <ul class="goods-detail">
            <h1>{{.GoodName}}</h1>
            <img src="{{.ImageUrl}}" alt="{{.GoodName}}" style="width:300px;height:auto;">
            <p class="price">价格: {{.Price}}</p>
            <p>库存: {{.Inventory}}</p>
            <p>描述: {{.Description}}</p>

            <button class="add-to-cart" data-goods-id="{{.GoodId}}">加入购物车</button>
        </ul>
    </main>

</body>

</html>



/* 导航栏样式 */  
header nav {  
    background-color: #333;  
    padding: 10px 0;  
}  
  
header nav ul {  
    list-style: none;  
    margin: 0;  
    padding: 0;  
    display: flex;  
    justify-content: space-around;  
    align-items: center;  
}  
  
header nav ul li a {  
    color: #fff;  
    text-decoration: none;  
    padding: 10px 15px;  
    display: block;  
    transition: background-color 0.3s ease;  
}  
  
header nav ul li a:hover {  
    background-color: #555;  
}  

/* 设置 main 的宽度、边距等 */  
main {  
    width: 100%; /* 或者你想要的宽度 */  
    margin: 20px auto; /* 上下外边距为20px,左右自动居中 */  
    padding: 20px; /* 内边距 */  
    box-sizing: border-box; /* 使得padding不影响元素的宽度 */  
    display: flex; /* 设置为 flex 容器 */  
    justify-content: center; /* 水平居中 */  
    align-items: center; /* 垂直居中(如果 main 只有一个子元素的话) */  
    /* 注意:如果 main 中有多个子元素,你可能需要调整这些属性或移除它们 */  
}  
  
/* 假设 goods-detail 现在是 li 的父元素 */  
.goods-list { /* 可能你需要将 goods-detail 改为一个更有意义的类名,如 goods-list */  
    display: flex; /* 设置为 flex 容器 */  
    flex-direction: column; /* 子项垂直排列 */  
    align-items: center; /* 子项在交叉轴上居中(对于列布局来说,就是水平居中) */  
    text-align: center; /* 文本内容居中 */  
    max-width: 800px; /* 假设你希望商品详情有一个最大宽度 */  
    margin: 0 auto; /* 左右外边距自动,以在水平方向上居中 */  
}  
  
/* 设置 goods-detail 的样式(现在作为 li 的样式) */  
.goods-list li { /* 假设每个商品详情项是一个 li 元素 */  
    list-style-type: none; /* 移除默认的列表样式 */  
    margin-bottom: 20px; /* 每个商品详情项之间的间距 */  
}  
  
/* 其他样式保持不变 */  
/* ... */  
  
/* 设置加入购物车按钮的样式 */  
.goods-detail .add-to-cart {  
    display: inline-block; /* 内联块级元素 */  
    padding: 10px 20px; /* 内边距 */  
    background-color: #4CAF50; /* 背景色 */  
    color: white; /* 文字颜色 */  
    border: none; /* 无边框 */  
    border-radius: 4px; /* 边框圆角 */  
    cursor: pointer; /* 鼠标悬停时变为小手形状 */  
    text-decoration: none; /* 去除下划线 */  
    transition: background-color 0.3s ease; /* 背景色过渡效果 */  
}  
  
/* 按钮点击效果 */  
.goods-detail .add-to-cart:hover {  
    background-color: #45a049; /* 鼠标悬停时的背景色 */  
}

购物车

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>购物车</title>
    <link rel="stylesheet" href="/Static/styles/carts.css">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="Static/js/carts.js"></script>
</head>

<body>
    <header>
        <nav>
            <ul>
                <li><a href="/">首页</a></li>
                <li><a href="/showCart">购物车</a></li>
                <li><a href="/order">订单</a></li>
                <li><a href="/showComment">评价</a></li>
                <li><a href="/payment">支付</a></li>

            </ul>
        </nav>
    </header>
    <h1>购物车</h1>
    <button id="generateOrder">生成订单</button>
    <table>
        <tr>
            <th>商品ID</th>
            <th>商品名称</th>
            <th>图片</th>
            <th>数量</th>
            <th>操作</th>
        </tr>
        {{range $key, $value := .}}
        <tr>
            <td>{{$value.GoodId}}</td>
            <td>{{$value.GoodName}}</td>
            <td><img src="{{$value.ImageUrl}}" alt="{{$value.GoodName}}" width="100"></td>
            <td>{{$value.Quantity}}</td>
            <td><button class="delete-item" data-goods-id="{{$value.GoodId}}">删除</button></td>
        </tr>
        {{end}}
    </table>
</body>

</html>

订单

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>订单</title>
    <link rel="stylesheet" href="/Static/styles/order.css">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="Static/js/order.js"></script>
</head>

<body>
    <header>
        <nav>
            <ul>
                <li><a href="/">首页</a></li>
                <li><a href="/showCart">购物车</a></li>
                <li><a href="/order">订单</a></li>
                <li><a href="/showComment">评价</a></li>
                <li><a href="/payment">支付</a></li>
            </ul>
        </nav>
    </header>

    <div class="container">
        <h1>订单详情</h1>
        <table>
            <thead>
                <tr>
                    <th>订单ID</th>
                    <th>商品名称</th>
                    <th>数量</th>
                    <th>单价</th>
                    <th>总价</th>
                    <th>订单时间</th>
                </tr>
            </thead>
            <tbody>
                {{ range $index, $order := . }}
                <tr>
                    <td>{{ $order.OrderId }}</td>
                    <td>{{ $order.GoodName }}</td>
                    <td>{{ $order.Quantity }}</td>
                    <td>{{ $order.Price }}</td>
                    <td class="total-price">{{ $order.TotalPrice }}</td>

                    <td>{{ $order.OrderTime }}</td>
                </tr>
                {{ end }}
            </tbody>
        </table>

        <div class="payment-section">
            <label for="payment-method">选择支付方式:</label>
            <select id="payment-method" name="payment-method">
                <option value="weChat">微信</option>
                <option value="alipay">支付宝</option>
                <option value="bankCardPayment">银行卡</option>
            </select>
        </div>

        <button id="checkout">结算</button>
    </div>
</body>

</html>

评价

<!DOCTYPE html>
<html lang="zh">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>商品详情</title>
    <link rel="stylesheet" href="/Static/styles/comment.css">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="Static/js/comment.js"></script>
</head>

<body>
    <nav>
        <ul>
            <li><a href="/">首页</a></li>
            <li><a href="/showCart">购物车</a></li>
            <li><a href="/order">订单</a></li>
            <li><a href="/showComment">评价</a></li>
            <li><a href="/payment">支付</a></li>
        </ul>
    </nav>

    <div class="container">
        <h1>商品评价</h1>
        <div class="goods">
            {{range .}}
            <div class="good">
                <img src="{{.ImageUrl}}" alt="{{.GoodName}}">
                <h2>{{.GoodName}}</h2>
                <p>{{.Description}}</p>
                <div class="review-form">
                    <h3>发表评价</h3>
                    <form class="reviewForm" data-product-id="{{.GoodId}}">
                        <input type="hidden" class="productId" value="{{.GoodId}}">
                        <textarea class="reviewContent" placeholder="请输入您的评价"></textarea>
                        <button type="submit">提交评价</button>
                    </form>
                </div>
            </div>
            {{end}}
        </div>
    </div>
</body>

</html>

支付

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>支付成功页面</title>
    <link rel="stylesheet" href="/Static/styles/pay.css">
</head>

<body>
    <header>
        <nav>
            <ul>
                <li><a href="/">首页</a></li>
                <li><a href="/showCart">购物车</a></li>
                <li><a href="/order">订单</a></li>
                <li><a href="/showComment">评价</a></li>
                <li><a href="/payment">支付</a></li>
            </ul>
        </nav>
    </header>
    <div class="container">
        <h1>支付{{.Amount}}元成功</h1>
        <!-- 如果需要显示订单详情,可以在这里添加表格或其他HTML结构 -->
    </div>
</body>

</html>

代码太多了,小郑就不展示完整代码了,这个电子商场的作业还不是很完善,小郑有时间的话会进行优化修改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/786615.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++项目】从零实现一个在线编译器

前言 身为一名程序员&#xff0c;想必大家都有接触过像leetcode这样的刷题网站&#xff0c;不知你们在刷题的过程中是否思考过一个问题&#xff1a;它们是如何实现在线编译运行的功能。如果你对此感到好奇&#xff0c;那么本文将一步步带你来实现一个简易在线编译器。 项目概…

【kafka】可视化工具cmak(原kafka-manager)安装问题解决

众所周知&#xff08;反正不管你知不知道&#xff09;&#xff0c;kafka-maneger更名了&#xff0c;现在叫cmak&#xff01;原因是什么呢&#xff1f;据不可靠小道信息说&#xff0c;原kafka-manager这个名字涉及到kafka商标使用问题&#xff0c;应该是被律师函警告了&#xff…

游戏AI的创造思路-技术基础-蒙特卡洛树搜索(1)

本篇介绍蒙特卡洛树搜索算法&#xff0c;AlphaGo用于围棋计算的应用就是基于蒙特卡洛树搜索研发的~~~ 目录 1. 定义 2. 发展历史 3. 公式和函数 3.1.算法的公式和函数 3.2. Python实现公式和函数 4. 运行原理 4.1. 运行原理 4.2. 各步骤用Python代码 5. 优缺点和缺陷的…

C语言-预处理详解

文章目录 &#x1f3af;引言&#x1f453;预处理详解1.预定义符号1.1 __FILE__1.2 __LINE__1.3 __DATE__1.4 __TIME__1.5 __STDC__ 2.#define定义常量2.1 定义数值常量2.2 定义字符串常量 3.#define中使用参数3.1**使用示例**3.2注意事项 4.宏替换的规则5.宏函数和函数的对比5.…

使用Redis实现消息队列:List、Pub/Sub和Stream的实践

摘要 Redis是一个高性能的键值存储系统&#xff0c;它的多种数据结构使其成为实现消息队列的理想选择。本文将探讨如何使用Redis的List、Pub/Sub和Stream数据结构来实现一个高效的消息队列系统。 1. 消息队列的基本概念 消息队列是一种应用程序之间进行通信的机制&#xff0…

解锁算力新极限,Xilinx UltraScale+赋能的高性能低延时FPGA加速卡

01、产品概述 AiHPC-V9P 是一款基于 AMD Virtex UltraScale FPGA VU9P 的 PCIe Gen3.0 x16 接口智能网卡&#xff0c;具有最大2*200GbE /或者16*10GbE(典型应用&#xff09;接入容量的高性能低延时智能网卡。 对外接口支持两组QSFP-DD 最高25Gb/s x8Lane 光口接入&#xf…

Java基础-组件及事件处理(中)

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 BorderLayout布局管理器 说明&#xff1a; 示例&#xff1a; FlowLayout布局管理器 说明&#xff1a; …

我跟ai学web知识点:“短链接”

我跟ai学web知识点&#xff0c;短链接不是“免费午餐”。 (笔记模板由python脚本于2024年07月08日 12:44:47创建&#xff0c;本篇笔记适合喜欢Web知识的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经…

Windows下编译OpenSSL静态库

目录 1. 版本与下载地址 2. 下载与安装VS2015 3. 下载与安装Perl 4. 测试ActivePerl是否安装正确 5. 下载OpenSSL 6. 编译32位OpenSSL静态库 6.1 解压openssl-1.0.2l.tar.gz 6.2 打开VS2015 x86本机工具命令提示符 6.3 输入命令进入到openssl的目录中 6.4 执行配置命…

一文洞悉巴基斯坦电子游戏出海引流获客广告风口不容忽视

一文洞悉巴基斯坦电子游戏出海引流获客广告风口不容忽视 随着全球数字经济的蓬勃发展&#xff0c;电子游戏行业也迎来了前所未有的机遇。巴基斯坦&#xff0c;这个拥有庞大人口基数和日益增长的消费能力的国家&#xff0c;其电子游戏市场潜力巨大。本文旨在探讨巴基斯坦电子游戏…

tomcat安装

tomcat tomcat和php一样&#xff0c;都是用来处理动态页面的。 tomcat也可以作为web应用服务器&#xff0c;开源的。 php .php tomcat .jsp nginx .html tomcat是用java代码写的程序&#xff0c;运行的是java的web应用程序 tomcat的特点和功能&#xff1a; 1、servlet容…

首席数据官CDO证书报考指南:方式、流程、适考人群与考试难度

在信息泛滥的今天&#xff0c;数据已转变为企业不可或缺的宝贵资源。 面对海量的信息&#xff0c;如何提炼出价值&#xff0c;为企业带来实质性的收益&#xff1f;首席数据官&#xff08;CDO&#xff09;认证的出现正是为了满足这一需求&#xff0c;它不仅是个人专业能力的体现…

AI Earth——1990-2022年全国月度气象数据检索应用app

应用结果 代码 #导入安装包 import os import json import datetime import streamlit as st import streamlit.components.v1 as components import traceback from PIL import Imageimport aie#读取当前目录的内容 current_work_dir = os.path.dirname(__file__) #添加地图…

简单的Java面向对象小游戏并使用三层架构(表示层、业务逻辑层、数据访问层)

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

AE-时间轴的基础操作

目录 预览&#xff08;快捷键空格&#xff09; 调整时间线显示比例&#xff08;Alt鼠标滚轮&#xff09; 控制预览长度&#xff08;B/N&#xff09; 逐帧移动&#xff08;笔记本&#xff1a;按住fn上下方向键&#xff09; 视频剪切&#xff08;ctrlshiftD&#xff09; 剪…

数据结构:顺序表+链表

数据结构&#xff1a;顺序表链表 一。顺序表&#xff1a; 首先在了解顺序表和链表之前&#xff0c;先了解一下线性表&#xff0c;**线性表&#xff08;linear list&#xff09;**是n个具有相同特征元素的有限序列 &#xff0c;在逻辑上是线性结构&#xff0c;也就是一条连续的…

深入剖析预处理

目录 1.预定义符号 2.#define 定义常量 3.#define定义宏 4.带有副作用的宏参数 5.宏替换的规则 6.宏函数的对比 7.#和## 7.1 #运算符 7.2 ## 运算符 8.命名约定 9.#undef 10.命令行定义 11.条件编译 12.头文件的包含 12.1 头文件被包含的方式&#xff1a; 12.1…

React setState

老生常谈之setState 是同步的还是异步的&#xff1f; 设想setState是同步的&#xff0c;那也就是每次调用setState都要进行新旧虚拟DOM的对比&#xff0c;然后将差异化的dom更新到页面上&#xff0c;性能损耗很大 所以react把setState设置为了异步&#xff0c;当状态更新时不…

基于springboot+vue实现的厨艺交流平台(文末源码+Lw)093

93基于SpringBootVue的实现的厨艺交流平台&#xff08;源码数据库万字Lun文流程图ER图结构图演示视频软件包&#xff09; 系统功能&#xff1a; 这次开发的厨艺交流平台功能有个人中心&#xff0c;食材分类管理&#xff0c;用户管理&#xff0c;菜品分类管理&#xff0c;菜谱信…

【Axure】产品原型如何在谷歌浏览器中打开

作为一名前端开发来说&#xff0c;在拿到产品的原型图后&#xff0c;如何打开&#xff1f;直接用谷歌浏览器打开&#xff0c;是打不开的&#xff0c;需要安装对应的插件。但是谷歌插件市场在不翻墙的情况下&#xff0c;是没有办法直接打开的&#xff0c;分享一种超级简单的方法…