Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui
commit
0d5c60ed8c
|
@ -0,0 +1,5 @@
|
|||
# 默认依赖包指定淘宝源
|
||||
registry=https://registry.npm.taobao.org/
|
||||
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
|
||||
phantomjs_cdnurl=https://npm.taobao.org/mirrors/phantomjs/
|
||||
electron_mirror=https://npm.taobao.org/mirrors/electron/
|
|
@ -0,0 +1,5 @@
|
|||
registry "https://registry.npmmirror.com"
|
||||
sass_binary_site "https://npmmirror.com/mirrors/node-sass"
|
||||
phantomjs_cdnurl "https://npmmirror.com/mirrors/phantomjs"
|
||||
electron_mirror "https://npmmirror.com/mirrors/electron"
|
||||
|
|
@ -81,3 +81,14 @@ export function articleDetail (id) {
|
|||
method: Method.GET
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 获取IM接口前缀
|
||||
export function getIMDetail () {
|
||||
return request({
|
||||
url: `${commonUrl}/common/IM`,
|
||||
method: Method.GET
|
||||
});
|
||||
}
|
||||
|
|
|
@ -224,7 +224,7 @@ export default {
|
|||
count: 1, // 商品数量
|
||||
imgIndex: 0, // 展示图片下标
|
||||
currentSelceted: [], // 当前商品sku
|
||||
imgList: [{}], // 商品图片列表
|
||||
imgList: [{url:''}], // 商品图片列表
|
||||
skuDetail: this.detail.data, // sku详情
|
||||
goodsSpecList: this.detail.specs, // 商品spec
|
||||
promotionMap: {
|
||||
|
|
|
@ -1,30 +1,12 @@
|
|||
module.exports = {
|
||||
/**
|
||||
* @description 配置显示在浏览器标签的title、底部信息、部分信息展示的值
|
||||
*/
|
||||
title: "lili-shop",
|
||||
/**
|
||||
* @description icp证
|
||||
*/
|
||||
icpCard: "",
|
||||
|
||||
company:{
|
||||
href:"https://pickmall.cn",
|
||||
name:"北京宏业汇成科技有限公司"
|
||||
},
|
||||
/**
|
||||
* @description icp备案号
|
||||
*/
|
||||
icpMessage: "京ICP备20009696号-1",
|
||||
/**
|
||||
* @description 是否使用国际化,默认为false
|
||||
* 如果不使用,则需要在路由中给需要在菜单中展示的路由设置meta: {title: 'xxx'}
|
||||
* 用来在菜单中显示文字
|
||||
*/
|
||||
useI18n: false,
|
||||
/**
|
||||
* @description 高德web端申请的api key
|
||||
*/
|
||||
aMapKey: "b440952723253aa9fe483e698057bf7d",
|
||||
|
||||
title: "lili-shop", //配置显示在浏览器标签的title、底部信息、部分信息展示的值
|
||||
icpCard: "", // icp证
|
||||
company: {
|
||||
href: "https://pickmall.cn",
|
||||
name: "北京宏业汇成科技有限公司",
|
||||
}, //公司信息
|
||||
icpMessage: "京ICP备20009696号-1", //icp备案
|
||||
aMapKey: "b440952723253aa9fe483e698057bf7d", //高德web端申请的api key
|
||||
enableCDN: true, //生产环境 是否启用cdn加载 vue等js
|
||||
port:10000, //端口
|
||||
};
|
||||
|
|
|
@ -13,14 +13,24 @@
|
|||
</BreadcrumbItem>
|
||||
</Breadcrumb>
|
||||
<div class="store-collect">
|
||||
<span class="mr_10" v-if="goodsMsg.data"><router-link
|
||||
:to="'Merchant?id=' + goodsMsg.data.storeId">{{ goodsMsg.data.storeName }}</router-link></span>
|
||||
<span @click="collect"><Icon type="ios-heart"
|
||||
:color="storeCollected ? '#ed3f14' : '#666'"/>
|
||||
{{storeCollected ? '已收藏店铺' : '收藏店铺'}}
|
||||
</span>
|
||||
<span @click="connectCs(storeMsg.yzfSign)" class="ml_10"><Icon
|
||||
custom="icomoon icon-customer-service"/>联系客服</span>
|
||||
<span class="mr_10" v-if="goodsMsg.data">
|
||||
|
||||
<router-link :to="'Merchant?id=' + goodsMsg.data.storeId">{{ goodsMsg.data.storeName }}</router-link>
|
||||
</span>
|
||||
<span @click="collect">
|
||||
<Icon type="ios-heart" :color="storeCollected ? '#ed3f14' : '#666'" />
|
||||
{{storeCollected ? '已收藏店铺' : '收藏店铺'}}
|
||||
</span>
|
||||
<!--
|
||||
先看下udesk merchantEuid 是否有值
|
||||
有的话 链接udesk
|
||||
没有的话 显示云智服
|
||||
-->
|
||||
<span class="ml_10" v-if="storeMsg.merchantEuid" @click="IMService()">联系客服</span>
|
||||
|
||||
<span v-else @click="connectCs(storeMsg.yzfSign)" class="ml_10">
|
||||
<Icon custom="icomoon icon-customer-service" />联系客服
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -35,128 +45,158 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import Search from '@/components/Search';
|
||||
import ShopHeader from '@/components/header/ShopHeader';
|
||||
import ShowGoods from '@/components/goodsDetail/ShowGoods';
|
||||
import ShowGoodsDetail from '@/components/goodsDetail/ShowGoodsDetail';
|
||||
import {goodsSkuDetail} from '@/api/goods';
|
||||
import {cancelCollect, collectGoods, isCollection, getGoodsDistribution} from '@/api/member';
|
||||
import {getDetailById} from '@/api/shopentry'
|
||||
|
||||
import Search from "@/components/Search";
|
||||
import ShopHeader from "@/components/header/ShopHeader";
|
||||
import ShowGoods from "@/components/goodsDetail/ShowGoods";
|
||||
import ShowGoodsDetail from "@/components/goodsDetail/ShowGoodsDetail";
|
||||
import { goodsSkuDetail } from "@/api/goods";
|
||||
import {
|
||||
cancelCollect,
|
||||
collectGoods,
|
||||
isCollection,
|
||||
getGoodsDistribution,
|
||||
} from "@/api/member";
|
||||
import { getDetailById } from "@/api/shopentry";
|
||||
import { getIMDetail } from "@/api/common";
|
||||
export default {
|
||||
name: 'GoodsDetail',
|
||||
beforeRouteEnter (to, from, next) {
|
||||
name: "GoodsDetail",
|
||||
beforeRouteEnter(to, from, next) {
|
||||
window.scrollTo(0, 0);
|
||||
next();
|
||||
},
|
||||
created () {
|
||||
created() {
|
||||
this.getGoodsDetail();
|
||||
// this.getIMDetailMethods();
|
||||
},
|
||||
data () {
|
||||
data() {
|
||||
return {
|
||||
goodsMsg: {}, // 商品信息
|
||||
isLoading: false, // 加载状态
|
||||
categoryBar: [], // 分类
|
||||
storeCollected: false, // 商品收藏
|
||||
storeMsg: {} // 店铺信息
|
||||
storeMsg: {}, // 店铺信息
|
||||
IMLink: "",
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
// 跳转im客服
|
||||
IMService() {
|
||||
window.open(this.IM);
|
||||
},
|
||||
// 获取im信息
|
||||
async getIMDetailMethods() {
|
||||
let res = await getIMDetail();
|
||||
if (res.success) {
|
||||
this.IMLink = res.result;
|
||||
}
|
||||
},
|
||||
// 获取商品详情
|
||||
getGoodsDetail () {
|
||||
getGoodsDetail() {
|
||||
this.isLoading = true;
|
||||
const params = this.$route.query;
|
||||
// 分销员id
|
||||
let distributionId = (params && params.distributionId) ? params.distributionId : this.Cookies.getItem('distributionId');
|
||||
let distributionId =
|
||||
params && params.distributionId
|
||||
? params.distributionId
|
||||
: this.Cookies.getItem("distributionId");
|
||||
// 如果有分销信息
|
||||
if (distributionId) {
|
||||
console.log(distributionId)
|
||||
console.log(distributionId);
|
||||
// 先存储
|
||||
this.Cookies.setItem('distributionId', params.distributionId)
|
||||
this.Cookies.setItem("distributionId", params.distributionId);
|
||||
let _this = this;
|
||||
// 绑定关系
|
||||
getGoodsDistribution(params.distributionId).then(res => {
|
||||
getGoodsDistribution(params.distributionId).then((res) => {
|
||||
// 绑定成功,则清除关系
|
||||
if (res.success) {
|
||||
_this.Cookies.removeItem('distributionId');
|
||||
_this.Cookies.removeItem("distributionId");
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
goodsSkuDetail(params).then((res) => {
|
||||
this.isLoading = false;
|
||||
if (res.success) {
|
||||
const result = res.result;
|
||||
const cateName = res.result.categoryName;
|
||||
const cateId = result.data.categoryPath.split(',');
|
||||
const cateArr = [];
|
||||
cateId.forEach((e, index) => { // 插入分类id和name
|
||||
cateArr.push({
|
||||
id: e,
|
||||
name: cateName[index]
|
||||
goodsSkuDetail(params)
|
||||
.then((res) => {
|
||||
this.isLoading = false;
|
||||
if (res.success) {
|
||||
const result = res.result;
|
||||
const cateName = res.result.categoryName;
|
||||
const cateId = result.data.categoryPath.split(",");
|
||||
const cateArr = [];
|
||||
cateId.forEach((e, index) => {
|
||||
// 插入分类id和name
|
||||
cateArr.push({
|
||||
id: e,
|
||||
name: cateName[index],
|
||||
});
|
||||
});
|
||||
});
|
||||
this.categoryBar = cateArr;
|
||||
this.goodsMsg = res.result;
|
||||
// 判断是否收藏
|
||||
if (this.Cookies.getItem('userInfo')) {
|
||||
isCollection('STORE', this.goodsMsg.data.storeId).then(res => {
|
||||
if (res.success && res.result) {
|
||||
this.storeCollected = true;
|
||||
}
|
||||
})
|
||||
}
|
||||
// 获取店铺信息
|
||||
getDetailById(this.goodsMsg.data.storeId).then(res => {
|
||||
if (res.success) {
|
||||
this.storeMsg = res.result
|
||||
this.categoryBar = cateArr;
|
||||
this.goodsMsg = res.result;
|
||||
// 判断是否收藏
|
||||
if (this.Cookies.getItem("userInfo")) {
|
||||
isCollection("STORE", this.goodsMsg.data.storeId).then((res) => {
|
||||
if (res.success && res.result) {
|
||||
this.storeCollected = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$Message.error(res.message)
|
||||
this.$router.push('/')
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$router.push('/')
|
||||
});
|
||||
// 获取店铺信息
|
||||
getDetailById(this.goodsMsg.data.storeId).then((res) => {
|
||||
if (res.success) {
|
||||
this.storeMsg = res.result;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$Message.error(res.message);
|
||||
this.$router.push("/");
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.$router.push("/");
|
||||
});
|
||||
},
|
||||
goGoodsList (currIndex) { // 跳转商品列表
|
||||
const arr = []
|
||||
goGoodsList(currIndex) {
|
||||
// 跳转商品列表
|
||||
const arr = [];
|
||||
this.categoryBar.forEach((e, index) => {
|
||||
if (index <= currIndex) {
|
||||
arr.push(e.id)
|
||||
arr.push(e.id);
|
||||
}
|
||||
})
|
||||
return location.origin + '/goodsList?categoryId=' + arr.toString()
|
||||
});
|
||||
return location.origin + "/goodsList?categoryId=" + arr.toString();
|
||||
},
|
||||
async collect () { // 收藏店铺
|
||||
async collect() {
|
||||
// 收藏店铺
|
||||
if (this.storeCollected) {
|
||||
let cancel = await cancelCollect('STORE', this.goodsMsg.data.storeId)
|
||||
let cancel = await cancelCollect("STORE", this.goodsMsg.data.storeId);
|
||||
if (cancel.success) {
|
||||
this.$Message.success('已取消收藏')
|
||||
this.$Message.success("已取消收藏");
|
||||
this.storeCollected = false;
|
||||
}
|
||||
} else {
|
||||
let collect = await collectGoods('STORE', this.goodsMsg.data.storeId);
|
||||
let collect = await collectGoods("STORE", this.goodsMsg.data.storeId);
|
||||
if (collect.code === 200) {
|
||||
this.storeCollected = true;
|
||||
this.$Message.success('收藏店铺成功,可以前往个人中心我的收藏查看');
|
||||
this.$Message.success("收藏店铺成功,可以前往个人中心我的收藏查看");
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
'$route.query.skuId': function (val) {
|
||||
"$route.query.skuId": function (val) {
|
||||
location.reload();
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
IM() {
|
||||
return this.IMLink + this.storeMsg.merchantEuid;
|
||||
},
|
||||
},
|
||||
computed: {},
|
||||
components: {
|
||||
Search,
|
||||
ShopHeader,
|
||||
ShowGoods,
|
||||
ShowGoodsDetail
|
||||
}
|
||||
ShowGoodsDetail,
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
|
|
|
@ -13,6 +13,7 @@ const configs = require('./src/config')
|
|||
*/
|
||||
const enableProduction = process.env.NODE_ENV === "production"; // 是否生产环境
|
||||
|
||||
|
||||
let externals = {
|
||||
vue: "Vue",
|
||||
axios: "axios",
|
||||
|
@ -53,8 +54,8 @@ let jsPlugin = [
|
|||
})
|
||||
];
|
||||
// 判断是否需要加载CDN
|
||||
cdn = enableProduction ? cdn : { css: [], js: [] };
|
||||
externals = enableProduction ? externals : {};
|
||||
cdn = enableProduction && configs.enableCDN ? cdn : { css: [], js: [] };
|
||||
externals = enableProduction && configs.enableCDN ? externals : {};
|
||||
jsPlugin = enableProduction ? jsPlugin : [];
|
||||
|
||||
module.exports = {
|
||||
|
@ -80,7 +81,7 @@ module.exports = {
|
|||
}
|
||||
},
|
||||
devServer: {
|
||||
port: 10000
|
||||
port: configs.port
|
||||
},
|
||||
|
||||
// 打包时不生成.map文件 避免看到源码
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
# 默认依赖包指定淘宝源
|
||||
registry=https://registry.npm.taobao.org/
|
||||
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
|
||||
phantomjs_cdnurl=https://npm.taobao.org/mirrors/phantomjs/
|
||||
electron_mirror=https://npm.taobao.org/mirrors/electron/
|
|
@ -0,0 +1,5 @@
|
|||
registry "https://registry.npmmirror.com"
|
||||
sass_binary_site "https://npmmirror.com/mirrors/node-sass"
|
||||
phantomjs_cdnurl "https://npmmirror.com/mirrors/phantomjs"
|
||||
electron_mirror "https://npmmirror.com/mirrors/electron"
|
||||
|
|
@ -1,14 +1,7 @@
|
|||
export default {
|
||||
/**
|
||||
* @description 配置显示在浏览器标签的title
|
||||
*/
|
||||
title: "lilishop",
|
||||
/**
|
||||
* @description 高德web端申请的api key
|
||||
*/
|
||||
aMapKey: "b440952723253aa9fe483e698057bf7d",
|
||||
/**
|
||||
* @description 官网地址
|
||||
*/
|
||||
website: "https://www.pickmall.cn",
|
||||
module.exports = {
|
||||
title: "lilishop", //配置显示在浏览器标签的title
|
||||
aMapKey: "b440952723253aa9fe483e698057bf7d", //高德web端申请的api key
|
||||
website: "https://www.pickmall.cn", //官网地址
|
||||
enableCDN: true, //生产环境 是否启用cdn加载 vue等js
|
||||
port:10003, //端口
|
||||
};
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
import config from '@/config/index'
|
||||
export default {
|
||||
lili: config.title,
|
||||
usernameLogin: 'UsernameLogin',
|
||||
mobileLogin: 'MobileLogin',
|
||||
autoLogin: 'Auto Login',
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import config from '@/config/index'
|
||||
|
||||
export default {
|
||||
lili: config.title,
|
||||
usernameLogin: '账户密码登录',
|
||||
mobileLogin: '手机号登录',
|
||||
autoLogin: '自动登录',
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import Main from "@/views/Main.vue";
|
||||
import config from '@/config/index'
|
||||
|
||||
const config = require('@/config/index')
|
||||
// 不作为Main组件的子页面展示的页面单独写,如下
|
||||
export const loginRouter = {
|
||||
path: "/login",
|
||||
|
|
|
@ -13,7 +13,8 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config/index'
|
||||
|
||||
const config = require('@/config/index')
|
||||
export default {
|
||||
name: "footer",
|
||||
data() {
|
||||
|
|
|
@ -31,7 +31,8 @@
|
|||
<script>
|
||||
import AMapLoader from "@amap/amap-jsapi-loader";
|
||||
import { getRegion } from "@/api/common.js";
|
||||
import config from '@/config'
|
||||
|
||||
const config = require('@/config/index')
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
|
|
@ -255,8 +255,8 @@ import {
|
|||
deleteFile,
|
||||
} from "@/api/index";
|
||||
import DPlayer from "dplayer";
|
||||
import config from "@/config";
|
||||
|
||||
const config = require('@/config/index')
|
||||
import { commonUrl } from "@/libs/axios";
|
||||
var dp;
|
||||
export default {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
const path = require("path");
|
||||
const configs = require('./src/config')
|
||||
const CompressionPlugin = require("compression-webpack-plugin");
|
||||
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
|
||||
const resolve = dir => {
|
||||
|
@ -12,6 +13,7 @@ const resolve = dir => {
|
|||
*/
|
||||
const enableProduction = process.env.NODE_ENV === "production"; // 是否生产环境
|
||||
|
||||
|
||||
let externals = {
|
||||
vue: "Vue",
|
||||
axios: "axios",
|
||||
|
@ -63,8 +65,9 @@ let jsPlugin = [
|
|||
];
|
||||
|
||||
// 判断是否需要加载CDN,线上删除注释
|
||||
cdn = enableProduction ? cdn : { css: [], js: [] };
|
||||
externals = enableProduction ? externals : {};
|
||||
|
||||
cdn = enableProduction && configs.enableCDN ? cdn : { css: [], js: [] };
|
||||
externals = enableProduction && configs.enableCDN ? externals : {};
|
||||
jsPlugin = enableProduction ? jsPlugin : [];
|
||||
module.exports = {
|
||||
css: {
|
||||
|
@ -78,7 +81,7 @@ module.exports = {
|
|||
}
|
||||
},
|
||||
devServer: {
|
||||
port: 10003
|
||||
port: configs.port
|
||||
},
|
||||
|
||||
// 打包时不生成.map文件 避免看到源码
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
registry "https://registry.npmmirror.com"
|
||||
sass_binary_site "https://npmmirror.com/mirrors/node-sass"
|
||||
phantomjs_cdnurl "https://npmmirror.com/mirrors/phantomjs"
|
||||
electron_mirror "https://npmmirror.com/mirrors/electron"
|
||||
|
|
@ -1,16 +1,7 @@
|
|||
export default {
|
||||
/**
|
||||
* @description 配置显示在浏览器标签的title
|
||||
*/
|
||||
title: "lilishop",
|
||||
|
||||
/**
|
||||
* @description 高德web端申请的api key
|
||||
*/
|
||||
aMapKey: "b440952723253aa9fe483e698057bf7d",
|
||||
/**
|
||||
* @description 官网地址
|
||||
*/
|
||||
website: "https://www.pickmall.cn",
|
||||
|
||||
module.exports = {
|
||||
title: "lilishop", //配置显示在浏览器标签的title
|
||||
aMapKey: "b440952723253aa9fe483e698057bf7d", //高德web端申请的api key
|
||||
website: "https://www.pickmall.cn", //官网地址
|
||||
enableCDN: true, //生产环境 是否启用cdn加载 vue等js
|
||||
port:10002, //端口
|
||||
};
|
||||
|
|
|
@ -2,7 +2,8 @@ import lazyLoading from './lazyLoading.js';
|
|||
import Cookies from "js-cookie";
|
||||
import { result } from './routerJson.js';
|
||||
|
||||
import config from '@/config/index'
|
||||
const config = require('@/config/index')
|
||||
|
||||
let util = {
|
||||
|
||||
};
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import Main from "@/views/Main.vue";
|
||||
import config from '@/config/index'
|
||||
|
||||
const config = require('@/config/index')
|
||||
// 不作为Main组件的子页面展示的页面单独写,如下
|
||||
export const loginRouter = {
|
||||
path: "/login",
|
||||
|
|
|
@ -13,7 +13,8 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import config from '@/config/index'
|
||||
|
||||
const config = require('@/config/index')
|
||||
export default {
|
||||
name: "footer",
|
||||
data() {
|
||||
|
|
|
@ -31,7 +31,8 @@
|
|||
<script>
|
||||
import AMapLoader from "@amap/amap-jsapi-loader";
|
||||
import { getRegion } from "@/api/common.js";
|
||||
import config from '@/config'
|
||||
|
||||
const config = require('@/config/index')
|
||||
export default {
|
||||
name: "map",
|
||||
data() {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
const path = require("path");
|
||||
const configs = require('./src/config')
|
||||
const CompressionPlugin = require("compression-webpack-plugin");
|
||||
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
|
||||
const resolve = dir => {
|
||||
|
@ -11,6 +12,7 @@ const resolve = dir => {
|
|||
* 我们可以根据环境变量进行相应的处理,只有在产品的时候,才让插件去自动注入相应的资源文件到html页面
|
||||
*/
|
||||
const enableProduction = process.env.NODE_ENV === "production"; // 是否生产环境
|
||||
// const enableProduction = false // 统一取消cdn加载 目前cdn链接的https请求挂了
|
||||
|
||||
let externals = {
|
||||
vue: "Vue",
|
||||
|
@ -60,8 +62,8 @@ let jsPlugin = [
|
|||
})
|
||||
];
|
||||
// 判断是否需要加载CDN
|
||||
cdn = enableProduction ? cdn : { css: [], js: [] };
|
||||
externals = enableProduction ? externals : {};
|
||||
cdn = enableProduction && configs.enableCDN ? cdn : { css: [], js: [] };
|
||||
externals = enableProduction && configs.enableCDN ? externals : {};
|
||||
jsPlugin = enableProduction ? jsPlugin : [];
|
||||
|
||||
module.exports = {
|
||||
|
@ -83,7 +85,7 @@ module.exports = {
|
|||
}
|
||||
},
|
||||
devServer: {
|
||||
port: 10002
|
||||
port: configs.port
|
||||
},
|
||||
|
||||
// 打包时不生成.map文件 避免看到源码
|
||||
|
|
Loading…
Reference in New Issue