提交 85bceeb6 authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 10b70a6d
...@@ -11,7 +11,8 @@ ...@@ -11,7 +11,8 @@
"@ant-design/icons": "^5.6.1", "@ant-design/icons": "^5.6.1",
"@fortaine/fetch-event-source": "^3.0.6", "@fortaine/fetch-event-source": "^3.0.6",
"@tanstack/react-query": "^5.67.1", "@tanstack/react-query": "^5.67.1",
"antd": "^5.24.3", "@tanstack/react-query-devtools": "^5.69.0",
"antd": "^5.24.4",
"axios": "^1.8.3", "axios": "^1.8.3",
"blueimp-md5": "^2.19.0", "blueimp-md5": "^2.19.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
...@@ -1434,9 +1435,19 @@ ...@@ -1434,9 +1435,19 @@
} }
}, },
"node_modules/@tanstack/query-core": { "node_modules/@tanstack/query-core": {
"version": "5.67.1", "version": "5.69.0",
"resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.67.1.tgz", "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.69.0.tgz",
"integrity": "sha512-AkFmuukVejyqVIjEQoFhLb3q+xHl7JG8G9cANWTMe3s8iKzD9j1VBSYXgCjy6vm6xM8cUCR9zP2yqWxY9pTWOA==", "integrity": "sha512-Kn410jq6vs1P8Nm+ZsRj9H+U3C0kjuEkYLxbiCyn3MDEiYor1j2DGVULqAz62SLZtUZ/e9Xt6xMXiJ3NJ65WyQ==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/tannerlinsley"
}
},
"node_modules/@tanstack/query-devtools": {
"version": "5.67.2",
"resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.67.2.tgz",
"integrity": "sha512-O4QXFFd7xqp6EX7sdvc9tsVO8nm4lpWBqwpgjpVLW5g7IeOY6VnS/xvs/YzbRhBVkKTMaJMOUGU7NhSX+YGoNg==",
"license": "MIT", "license": "MIT",
"funding": { "funding": {
"type": "github", "type": "github",
...@@ -1444,18 +1455,35 @@ ...@@ -1444,18 +1455,35 @@
} }
}, },
"node_modules/@tanstack/react-query": { "node_modules/@tanstack/react-query": {
"version": "5.67.1", "version": "5.69.0",
"resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.67.1.tgz", "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.69.0.tgz",
"integrity": "sha512-fH5u4JLwB6A+wLFdi8wWBWAYoJV5deYif2OveJ26ktAWjU499uvVFS1wPWnyEyq5LvZX1MZInvv9QRaIZANRaQ==", "integrity": "sha512-Ift3IUNQqTcaFa1AiIQ7WCb/PPy8aexZdq9pZWLXhfLcLxH0+PZqJ2xFImxCpdDZrFRZhLJrh76geevS5xjRhA==",
"license": "MIT",
"dependencies": {
"@tanstack/query-core": "5.69.0"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/tannerlinsley"
},
"peerDependencies": {
"react": "^18 || ^19"
}
},
"node_modules/@tanstack/react-query-devtools": {
"version": "5.69.0",
"resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.69.0.tgz",
"integrity": "sha512-sYklnou3IKAemqB5wJeBwjmG5bUGDKAL5/I4pVA+aqSnsNibVLt8/pAU976uuJ5K71w71bHtI/AMxiIs3gtkEA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@tanstack/query-core": "5.67.1" "@tanstack/query-devtools": "5.67.2"
}, },
"funding": { "funding": {
"type": "github", "type": "github",
"url": "https://github.com/sponsors/tannerlinsley" "url": "https://github.com/sponsors/tannerlinsley"
}, },
"peerDependencies": { "peerDependencies": {
"@tanstack/react-query": "^5.69.0",
"react": "^18 || ^19" "react": "^18 || ^19"
} }
}, },
...@@ -1891,9 +1919,9 @@ ...@@ -1891,9 +1919,9 @@
} }
}, },
"node_modules/antd": { "node_modules/antd": {
"version": "5.24.3", "version": "5.24.4",
"resolved": "https://registry.npmjs.org/antd/-/antd-5.24.3.tgz", "resolved": "https://registry.npmjs.org/antd/-/antd-5.24.4.tgz",
"integrity": "sha512-H5fopyOVRAnegfwLuEdjhPR+l5z3/lo4aQyDsgIYhfmeBcRgN/XNkefVxzRHNuWHeYr9E9LbyxEQcMF91sy5lg==", "integrity": "sha512-s89666DcoWeekJFaIqbtz2vRlIvgPR28GuDYYGUpW1mVP08bV7HZAPBH5lFJKYNGKrN3dHbZGgRK5aNRD2iPHg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@ant-design/colors": "^7.2.0", "@ant-design/colors": "^7.2.0",
...@@ -1935,7 +1963,7 @@ ...@@ -1935,7 +1963,7 @@
"rc-slider": "~11.1.8", "rc-slider": "~11.1.8",
"rc-steps": "~6.0.1", "rc-steps": "~6.0.1",
"rc-switch": "~4.1.0", "rc-switch": "~4.1.0",
"rc-table": "~7.50.3", "rc-table": "~7.50.4",
"rc-tabs": "~15.5.1", "rc-tabs": "~15.5.1",
"rc-textarea": "~1.9.0", "rc-textarea": "~1.9.0",
"rc-tooltip": "~6.4.0", "rc-tooltip": "~6.4.0",
...@@ -5185,9 +5213,9 @@ ...@@ -5185,9 +5213,9 @@
} }
}, },
"node_modules/rc-table": { "node_modules/rc-table": {
"version": "7.50.3", "version": "7.50.4",
"resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.50.3.tgz", "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.50.4.tgz",
"integrity": "sha512-Z4/zNCzjv7f/XzPRecb+vJU0DJKdsYt4YRkDzNl4G05m7JmxrKGYC2KqN1Ew6jw2zJq7cxVv3z39qyZOHMuf7A==", "integrity": "sha512-Y+YuncnQqoS5e7yHvfvlv8BmCvwDYDX/2VixTBEhkMDk9itS9aBINp4nhzXFKiBP/frG4w0pS9d9Rgisl0T1Bw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.10.1", "@babel/runtime": "^7.10.1",
......
...@@ -13,7 +13,8 @@ ...@@ -13,7 +13,8 @@
"@ant-design/icons": "^5.6.1", "@ant-design/icons": "^5.6.1",
"@fortaine/fetch-event-source": "^3.0.6", "@fortaine/fetch-event-source": "^3.0.6",
"@tanstack/react-query": "^5.67.1", "@tanstack/react-query": "^5.67.1",
"antd": "^5.24.3", "@tanstack/react-query-devtools": "^5.69.0",
"antd": "^5.24.4",
"axios": "^1.8.3", "axios": "^1.8.3",
"blueimp-md5": "^2.19.0", "blueimp-md5": "^2.19.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
......
...@@ -36,1103 +36,1103 @@ export function getMapList() { ...@@ -36,1103 +36,1103 @@ export function getMapList() {
// 我的数据集列表 // 我的数据集列表
export function getMyList(params?: Partial<{ page: number; 'per-page': number }>) { export function getMyList(params?: Partial<{ page: number; 'per-page': number }>) {
return Promise.resolve({ // return Promise.resolve({
code: 0, // code: 0,
message: 'OK', // message: 'OK',
data: { // data: {
total: 10, // total: 10,
title: [ // title: [
{ // {
name: '序号', // name: '序号',
english_name: 'pk_id', // english_name: 'pk_id',
type: 'INT', // type: 'INT',
}, // },
{ // {
name: '订单编号', // name: '订单编号',
english_name: 'order_number', // english_name: 'order_number',
type: 'VARCHAR(7)', // type: 'VARCHAR(7)',
}, // },
{ // {
name: '品牌', // name: '品牌',
english_name: 'brand', // english_name: 'brand',
type: 'VARCHAR(12)', // type: 'VARCHAR(12)',
}, // },
{ // {
name: '店铺', // name: '店铺',
english_name: 'store', // english_name: 'store',
type: 'VARCHAR(21)', // type: 'VARCHAR(21)',
}, // },
{ // {
name: '负责人', // name: '负责人',
english_name: 'person_in_charge', // english_name: 'person_in_charge',
type: 'VARCHAR(9)', // type: 'VARCHAR(9)',
}, // },
{ // {
name: '商品', // name: '商品',
english_name: 'product', // english_name: 'product',
type: 'VARCHAR(21)', // type: 'VARCHAR(21)',
}, // },
{ // {
name: '颜色', // name: '颜色',
english_name: 'color', // english_name: 'color',
type: 'VARCHAR(6)', // type: 'VARCHAR(6)',
}, // },
{ // {
name: '客户购买类型', // name: '客户购买类型',
english_name: 'customer_purchase_type', // english_name: 'customer_purchase_type',
type: 'VARCHAR(6)', // type: 'VARCHAR(6)',
}, // },
{ // {
name: '销量', // name: '销量',
english_name: 'sales_volume', // english_name: 'sales_volume',
type: 'SMALLINT', // type: 'SMALLINT',
}, // },
{ // {
name: '单价', // name: '单价',
english_name: 'unit_price', // english_name: 'unit_price',
type: 'DECIMAL(5, 2)', // type: 'DECIMAL(5, 2)',
}, // },
{ // {
name: '销售额', // name: '销售额',
english_name: 'sales_amount', // english_name: 'sales_amount',
type: 'DECIMAL(6, 2)', // type: 'DECIMAL(6, 2)',
}, // },
{ // {
name: '是否优惠', // name: '是否优惠',
english_name: 'is_discounted', // english_name: 'is_discounted',
type: 'VARCHAR(18)', // type: 'VARCHAR(18)',
}, // },
{ // {
name: '优惠金额', // name: '优惠金额',
english_name: 'discount_amount', // english_name: 'discount_amount',
type: 'SMALLINT', // type: 'SMALLINT',
}, // },
{ // {
name: '实际单价', // name: '实际单价',
english_name: 'actual_unit_price', // english_name: 'actual_unit_price',
type: 'DECIMAL(5, 2)', // type: 'DECIMAL(5, 2)',
}, // },
{ // {
name: '实际付款', // name: '实际付款',
english_name: 'actual_payment', // english_name: 'actual_payment',
type: 'DECIMAL(6, 2)', // type: 'DECIMAL(6, 2)',
}, // },
{ // {
name: '成本', // name: '成本',
english_name: 'cost', // english_name: 'cost',
type: 'DECIMAL(7, 3)', // type: 'DECIMAL(7, 3)',
}, // },
{ // {
name: '利润', // name: '利润',
english_name: 'profit', // english_name: 'profit',
type: 'DECIMAL(6, 3)', // type: 'DECIMAL(6, 3)',
}, // },
{ // {
name: '客户性别', // name: '客户性别',
english_name: 'customer_gender', // english_name: 'customer_gender',
type: 'TINYINT', // type: 'TINYINT',
}, // },
{ // {
name: '客户年龄', // name: '客户年龄',
english_name: 'customer_age', // english_name: 'customer_age',
type: 'VARCHAR(5)', // type: 'VARCHAR(5)',
}, // },
{ // {
name: '会员情况', // name: '会员情况',
english_name: 'membership_status', // english_name: 'membership_status',
type: 'VARCHAR(12)', // type: 'VARCHAR(12)',
}, // },
{ // {
name: '是否访问页面', // name: '是否访问页面',
english_name: 'has_visited_page', // english_name: 'has_visited_page',
type: 'VARCHAR(3)', // type: 'VARCHAR(3)',
}, // },
{ // {
name: '访问页面时长', // name: '访问页面时长',
english_name: 'page_visit_duration', // english_name: 'page_visit_duration',
type: 'TINYINT', // type: 'TINYINT',
}, // },
{ // {
name: '交易状态', // name: '交易状态',
english_name: 'transaction_status', // english_name: 'transaction_status',
type: 'VARCHAR(12)', // type: 'VARCHAR(12)',
}, // },
{ // {
name: '商品状态', // name: '商品状态',
english_name: 'product_status', // english_name: 'product_status',
type: 'VARCHAR(9)', // type: 'VARCHAR(9)',
}, // },
{ // {
name: '收货人姓名', // name: '收货人姓名',
english_name: 'recipient_name', // english_name: 'recipient_name',
type: 'VARCHAR(9)', // type: 'VARCHAR(9)',
}, // },
{ // {
name: '收货人电话', // name: '收货人电话',
english_name: 'recipient_phone', // english_name: 'recipient_phone',
type: 'VARCHAR(11)', // type: 'VARCHAR(11)',
}, // },
{ // {
name: '发货地址', // name: '发货地址',
english_name: 'shipping_address', // english_name: 'shipping_address',
type: 'VARCHAR(9)', // type: 'VARCHAR(9)',
}, // },
{ // {
name: '收货地址省份', // name: '收货地址省份',
english_name: 'recipient_province', // english_name: 'recipient_province',
type: 'VARCHAR(21)', // type: 'VARCHAR(21)',
}, // },
{ // {
name: '收货地址', // name: '收货地址',
english_name: 'recipient_address', // english_name: 'recipient_address',
type: 'VARCHAR(39)', // type: 'VARCHAR(39)',
}, // },
{ // {
name: '物流公司', // name: '物流公司',
english_name: 'logistics_company', // english_name: 'logistics_company',
type: 'VARCHAR(15)', // type: 'VARCHAR(15)',
}, // },
{ // {
name: '运单号', // name: '运单号',
english_name: 'waybill_number', // english_name: 'waybill_number',
type: 'VARCHAR(7)', // type: 'VARCHAR(7)',
}, // },
{ // {
name: '运送方式', // name: '运送方式',
english_name: 'shipping_method', // english_name: 'shipping_method',
type: 'VARCHAR(12)', // type: 'VARCHAR(12)',
}, // },
{ // {
name: '支付时间', // name: '支付时间',
english_name: 'payment_time', // english_name: 'payment_time',
type: 'VARCHAR(10)', // type: 'VARCHAR(10)',
}, // },
{ // {
name: '预计到达时间', // name: '预计到达时间',
english_name: 'estimated_arrival_time', // english_name: 'estimated_arrival_time',
type: 'VARCHAR(10)', // type: 'VARCHAR(10)',
}, // },
{ // {
name: '实际到达时间', // name: '实际到达时间',
english_name: 'actual_arrival_time', // english_name: 'actual_arrival_time',
type: 'VARCHAR(10)', // type: 'VARCHAR(10)',
}, // },
{ // {
name: '快递反馈', // name: '快递反馈',
english_name: 'courier_feedback', // english_name: 'courier_feedback',
type: 'VARCHAR(6)', // type: 'VARCHAR(6)',
}, // },
{ // {
name: '是否退货', // name: '是否退货',
english_name: 'is_returned', // english_name: 'is_returned',
type: 'VARCHAR(3)', // type: 'VARCHAR(3)',
}, // },
{ // {
name: '退款原因', // name: '退款原因',
english_name: 'refund_reason', // english_name: 'refund_reason',
type: 'VARCHAR(9)', // type: 'VARCHAR(9)',
}, // },
{ // {
name: '客户满意度', // name: '客户满意度',
english_name: 'customer_satisfaction', // english_name: 'customer_satisfaction',
type: 'VARCHAR(9)', // type: 'VARCHAR(9)',
}, // },
{ // {
name: '出生日期', // name: '出生日期',
english_name: 'date_of_birth', // english_name: 'date_of_birth',
type: 'VARCHAR(17)', // type: 'VARCHAR(17)',
}, // },
{ // {
name: '品类', // name: '品类',
english_name: 'category', // english_name: 'category',
type: 'VARCHAR(9)', // type: 'VARCHAR(9)',
}, // },
{ // {
name: '材质', // name: '材质',
english_name: 'material', // english_name: 'material',
type: 'VARCHAR(6)', // type: 'VARCHAR(6)',
}, // },
], // ],
list: [ // list: [
{ // {
pk_id: '1', // pk_id: '1',
order_number: 'A929818', // order_number: 'A929818',
brand: '丽丽', // brand: '丽丽',
store: '卡卡家女装', // store: '卡卡家女装',
person_in_charge: '袁英', // person_in_charge: '袁英',
product: '安全裤', // product: '安全裤',
color: '红色', // color: '红色',
customer_purchase_type: '零售', // customer_purchase_type: '零售',
sales_volume: '256', // sales_volume: '256',
unit_price: '156.14', // unit_price: '156.14',
sales_amount: '156.14', // sales_amount: '156.14',
is_discounted: '店铺活动优惠', // is_discounted: '店铺活动优惠',
discount_amount: '12', // discount_amount: '12',
actual_unit_price: '144.14', // actual_unit_price: '144.14',
actual_payment: '144.14', // actual_payment: '144.14',
cost: '99.460', // cost: '99.460',
profit: '44.680', // profit: '44.680',
customer_gender: '0', // customer_gender: '0',
customer_age: '33岁', // customer_age: '33岁',
membership_status: '无会员', // membership_status: '无会员',
has_visited_page: '是', // has_visited_page: '是',
page_visit_duration: '2', // page_visit_duration: '2',
transaction_status: '交易成功', // transaction_status: '交易成功',
product_status: '已收货', // product_status: '已收货',
recipient_name: '孙倩', // recipient_name: '孙倩',
recipient_phone: '181****4056', // recipient_phone: '181****4056',
shipping_address: '福建省', // shipping_address: '福建省',
recipient_province: '陕西省', // recipient_province: '陕西省',
recipient_address: '陕西省延安市子长县', // recipient_address: '陕西省延安市子长县',
logistics_company: ' 百世快递', // logistics_company: ' 百世快递',
waybill_number: 'L810590', // waybill_number: 'L810590',
shipping_method: '公路运输', // shipping_method: '公路运输',
payment_time: '6/21/2020', // payment_time: '6/21/2020',
estimated_arrival_time: '6/26/2020', // estimated_arrival_time: '6/26/2020',
actual_arrival_time: '6/26/2020', // actual_arrival_time: '6/26/2020',
courier_feedback: '准时', // courier_feedback: '准时',
is_returned: '否', // is_returned: '否',
refund_reason: '无', // refund_reason: '无',
customer_satisfaction: '中评', // customer_satisfaction: '中评',
date_of_birth: '1989年10月26日', // date_of_birth: '1989年10月26日',
category: '女裤', // category: '女裤',
material: '麻质', // material: '麻质',
}, // },
{ // {
pk_id: '2', // pk_id: '2',
order_number: 'A451538', // order_number: 'A451538',
brand: '雅羊人', // brand: '雅羊人',
store: '秋兰女装专卖店', // store: '秋兰女装专卖店',
person_in_charge: '刘佳', // person_in_charge: '刘佳',
product: '不规则连衣裙', // product: '不规则连衣裙',
color: '粉色', // color: '粉色',
customer_purchase_type: '零售', // customer_purchase_type: '零售',
sales_volume: '198', // sales_volume: '198',
unit_price: '247.44', // unit_price: '247.44',
sales_amount: '247.44', // sales_amount: '247.44',
is_discounted: '无', // is_discounted: '无',
discount_amount: '0', // discount_amount: '0',
actual_unit_price: '247.44', // actual_unit_price: '247.44',
actual_payment: '247.44', // actual_payment: '247.44',
cost: '158.360', // cost: '158.360',
profit: '89.080', // profit: '89.080',
customer_gender: '0', // customer_gender: '0',
customer_age: '36岁', // customer_age: '36岁',
membership_status: '无会员', // membership_status: '无会员',
has_visited_page: '是', // has_visited_page: '是',
page_visit_duration: '8', // page_visit_duration: '8',
transaction_status: '交易成功', // transaction_status: '交易成功',
product_status: '已收货', // product_status: '已收货',
recipient_name: '余玉英', // recipient_name: '余玉英',
recipient_phone: '181****8027', // recipient_phone: '181****8027',
shipping_address: '广东省', // shipping_address: '广东省',
recipient_province: '⼴西壮族⾃治区', // recipient_province: '⼴西壮族⾃治区',
recipient_address: '广西壮族自治区贵港市', // recipient_address: '广西壮族自治区贵港市',
logistics_company: '极兔快 递', // logistics_company: '极兔快 递',
waybill_number: 'L806051', // waybill_number: 'L806051',
shipping_method: '公路运输', // shipping_method: '公路运输',
payment_time: '4/13/2023', // payment_time: '4/13/2023',
estimated_arrival_time: '4/15/2023', // estimated_arrival_time: '4/15/2023',
actual_arrival_time: '4/15/2023', // actual_arrival_time: '4/15/2023',
courier_feedback: '准时', // courier_feedback: '准时',
is_returned: '否', // is_returned: '否',
refund_reason: '无', // refund_reason: '无',
customer_satisfaction: '好评', // customer_satisfaction: '好评',
date_of_birth: '1986年7月17日', // date_of_birth: '1986年7月17日',
category: '连衣裙', // category: '连衣裙',
material: '氨纶', // material: '氨纶',
}, // },
{ // {
pk_id: '3', // pk_id: '3',
order_number: 'A479212', // order_number: 'A479212',
brand: '威兰西', // brand: '威兰西',
store: '威兰西旗舰店', // store: '威兰西旗舰店',
person_in_charge: '陈建平', // person_in_charge: '陈建平',
product: '网红同款连衣裙', // product: '网红同款连衣裙',
color: '白色', // color: '白色',
customer_purchase_type: '零售', // customer_purchase_type: '零售',
sales_volume: '128', // sales_volume: '128',
unit_price: '245.49', // unit_price: '245.49',
sales_amount: '245.49', // sales_amount: '245.49',
is_discounted: '双12优惠', // is_discounted: '双12优惠',
discount_amount: '15', // discount_amount: '15',
actual_unit_price: '230.49', // actual_unit_price: '230.49',
actual_payment: '230.49', // actual_payment: '230.49',
cost: '117.550', // cost: '117.550',
profit: '112.940', // profit: '112.940',
customer_gender: '0', // customer_gender: '0',
customer_age: '22岁', // customer_age: '22岁',
membership_status: '无会员', // membership_status: '无会员',
has_visited_page: '是', // has_visited_page: '是',
page_visit_duration: '4', // page_visit_duration: '4',
transaction_status: '交易成功', // transaction_status: '交易成功',
product_status: '已收货', // product_status: '已收货',
recipient_name: '杨军', // recipient_name: '杨军',
recipient_phone: '139****7024', // recipient_phone: '139****7024',
shipping_address: '浙江省', // shipping_address: '浙江省',
recipient_province: '河北省', // recipient_province: '河北省',
recipient_address: '河北省衡水市武强县', // recipient_address: '河北省衡水市武强县',
logistics_company: '顺丰快递', // logistics_company: '顺丰快递',
waybill_number: 'L356804', // waybill_number: 'L356804',
shipping_method: '公路运输', // shipping_method: '公路运输',
payment_time: '12/1/2019', // payment_time: '12/1/2019',
estimated_arrival_time: '12/6/2019', // estimated_arrival_time: '12/6/2019',
actual_arrival_time: '12/7/2019', // actual_arrival_time: '12/7/2019',
courier_feedback: '延后', // courier_feedback: '延后',
is_returned: '否', // is_returned: '否',
refund_reason: '无', // refund_reason: '无',
customer_satisfaction: '好评', // customer_satisfaction: '好评',
date_of_birth: '2000年5月3日', // date_of_birth: '2000年5月3日',
category: '连衣裙', // category: '连衣裙',
material: '棉质', // material: '棉质',
}, // },
{ // {
pk_id: '4', // pk_id: '4',
order_number: 'A389270', // order_number: 'A389270',
brand: 'H&R', // brand: 'H&R',
store: '壹佰女装', // store: '壹佰女装',
person_in_charge: '杨兰英', // person_in_charge: '杨兰英',
product: '蕾丝花边T恤', // product: '蕾丝花边T恤',
color: '紫色', // color: '紫色',
customer_purchase_type: '批发', // customer_purchase_type: '批发',
sales_volume: '13', // sales_volume: '13',
unit_price: '168.30', // unit_price: '168.30',
sales_amount: '2187.90', // sales_amount: '2187.90',
is_discounted: '双11优惠', // is_discounted: '双11优惠',
discount_amount: '200', // discount_amount: '200',
actual_unit_price: '152.92', // actual_unit_price: '152.92',
actual_payment: '1987.90', // actual_payment: '1987.90',
cost: '1013.830', // cost: '1013.830',
profit: '974.070', // profit: '974.070',
customer_gender: '0', // customer_gender: '0',
customer_age: '26岁', // customer_age: '26岁',
membership_status: '无会员', // membership_status: '无会员',
has_visited_page: '是', // has_visited_page: '是',
page_visit_duration: '4', // page_visit_duration: '4',
transaction_status: '交易成功', // transaction_status: '交易成功',
product_status: '已收货', // product_status: '已收货',
recipient_name: '郑强', // recipient_name: '郑强',
recipient_phone: '159****6299', // recipient_phone: '159****6299',
shipping_address: '四川省', // shipping_address: '四川省',
recipient_province: '河南省', // recipient_province: '河南省',
recipient_address: '河南省郑州市新密市', // recipient_address: '河南省郑州市新密市',
logistics_company: '顺丰快递', // logistics_company: '顺丰快递',
waybill_number: 'L335437', // waybill_number: 'L335437',
shipping_method: '公路运输', // shipping_method: '公路运输',
payment_time: '11/10/2019', // payment_time: '11/10/2019',
estimated_arrival_time: '11/14/2019', // estimated_arrival_time: '11/14/2019',
actual_arrival_time: '11/15/2019', // actual_arrival_time: '11/15/2019',
courier_feedback: '延后', // courier_feedback: '延后',
is_returned: '否', // is_returned: '否',
refund_reason: '无', // refund_reason: '无',
customer_satisfaction: '好评', // customer_satisfaction: '好评',
date_of_birth: '1996年5月4日', // date_of_birth: '1996年5月4日',
category: '上衣', // category: '上衣',
material: '棉质', // material: '棉质',
}, // },
{ // {
pk_id: '5', // pk_id: '5',
order_number: 'A327122', // order_number: 'A327122',
brand: 'H&R', // brand: 'H&R',
store: 'H&R旗舰店', // store: 'H&R旗舰店',
person_in_charge: '袁英', // person_in_charge: '袁英',
product: '春夏新款连衣裙', // product: '春夏新款连衣裙',
color: '红色', // color: '红色',
customer_purchase_type: '批发', // customer_purchase_type: '批发',
sales_volume: '13', // sales_volume: '13',
unit_price: '119.64', // unit_price: '119.64',
sales_amount: '1555.32', // sales_amount: '1555.32',
is_discounted: '无', // is_discounted: '无',
discount_amount: '0', // discount_amount: '0',
actual_unit_price: '119.64', // actual_unit_price: '119.64',
actual_payment: '1555.32', // actual_payment: '1555.32',
cost: '839.870', // cost: '839.870',
profit: '715.450', // profit: '715.450',
customer_gender: '0', // customer_gender: '0',
customer_age: '22岁', // customer_age: '22岁',
membership_status: '无会员', // membership_status: '无会员',
has_visited_page: '是', // has_visited_page: '是',
page_visit_duration: '8', // page_visit_duration: '8',
transaction_status: '交易成功', // transaction_status: '交易成功',
product_status: '已收货', // product_status: '已收货',
recipient_name: '刘冬梅', // recipient_name: '刘冬梅',
recipient_phone: '185****4586', // recipient_phone: '185****4586',
shipping_address: '广东省', // shipping_address: '广东省',
recipient_province: '陕西省', // recipient_province: '陕西省',
recipient_address: '陕西省延安市富县', // recipient_address: '陕西省延安市富县',
logistics_company: '中通快递', // logistics_company: '中通快递',
waybill_number: 'L209106', // waybill_number: 'L209106',
shipping_method: '公路运输', // shipping_method: '公路运输',
payment_time: '4/28/2019', // payment_time: '4/28/2019',
estimated_arrival_time: '4/30/2019', // estimated_arrival_time: '4/30/2019',
actual_arrival_time: '4/30/2019', // actual_arrival_time: '4/30/2019',
courier_feedback: '准时', // courier_feedback: '准时',
is_returned: '否', // is_returned: '否',
refund_reason: '无', // refund_reason: '无',
customer_satisfaction: '无评论', // customer_satisfaction: '无评论',
date_of_birth: '2000年7月3日', // date_of_birth: '2000年7月3日',
category: '连衣裙', // category: '连衣裙',
material: '氨纶', // material: '氨纶',
}, // },
{ // {
pk_id: '6', // pk_id: '6',
order_number: 'A577484', // order_number: 'A577484',
brand: 'H&R', // brand: 'H&R',
store: 'COCO女装', // store: 'COCO女装',
person_in_charge: '刘佳', // person_in_charge: '刘佳',
product: '秋冬款连衣裙', // product: '秋冬款连衣裙',
color: '粉色', // color: '粉色',
customer_purchase_type: '批发', // customer_purchase_type: '批发',
sales_volume: '12', // sales_volume: '12',
unit_price: '173.70', // unit_price: '173.70',
sales_amount: '2084.40', // sales_amount: '2084.40',
is_discounted: '店铺活动优惠', // is_discounted: '店铺活动优惠',
discount_amount: '100', // discount_amount: '100',
actual_unit_price: '165.37', // actual_unit_price: '165.37',
actual_payment: '1984.40', // actual_payment: '1984.40',
cost: '1091.420', // cost: '1091.420',
profit: '892.980', // profit: '892.980',
customer_gender: '0', // customer_gender: '0',
customer_age: '61岁', // customer_age: '61岁',
membership_status: '钻石会员', // membership_status: '钻石会员',
has_visited_page: '是', // has_visited_page: '是',
page_visit_duration: '7', // page_visit_duration: '7',
transaction_status: '交易成功', // transaction_status: '交易成功',
product_status: '已收货', // product_status: '已收货',
recipient_name: '谢博', // recipient_name: '谢博',
recipient_phone: '147****5024', // recipient_phone: '147****5024',
shipping_address: '广东省', // shipping_address: '广东省',
recipient_province: '⽢肃省', // recipient_province: '⽢肃省',
recipient_address: '甘肃省甘南藏族自治州卓尼县', // recipient_address: '甘肃省甘南藏族自治州卓尼县',
logistics_company: '申通快递', // logistics_company: '申通快递',
waybill_number: 'L913348', // waybill_number: 'L913348',
shipping_method: '航空运输', // shipping_method: '航空运输',
payment_time: '4/7/2019', // payment_time: '4/7/2019',
estimated_arrival_time: '4/11/2019', // estimated_arrival_time: '4/11/2019',
actual_arrival_time: '4/11/2019', // actual_arrival_time: '4/11/2019',
courier_feedback: '准时', // courier_feedback: '准时',
is_returned: '否', // is_returned: '否',
refund_reason: '无', // refund_reason: '无',
customer_satisfaction: '中评', // customer_satisfaction: '中评',
date_of_birth: '1961年8月12日', // date_of_birth: '1961年8月12日',
category: '连衣裙', // category: '连衣裙',
material: '麻质', // material: '麻质',
}, // },
{ // {
pk_id: '7', // pk_id: '7',
order_number: 'A293474', // order_number: 'A293474',
brand: '拉夏贝尔', // brand: '拉夏贝尔',
store: '拉夏贝尔旗舰店', // store: '拉夏贝尔旗舰店',
person_in_charge: '刘佳', // person_in_charge: '刘佳',
product: '泫雅风T恤', // product: '泫雅风T恤',
color: '粉色', // color: '粉色',
customer_purchase_type: '批发', // customer_purchase_type: '批发',
sales_volume: '12', // sales_volume: '12',
unit_price: '162.02', // unit_price: '162.02',
sales_amount: '1944.24', // sales_amount: '1944.24',
is_discounted: '双11优惠', // is_discounted: '双11优惠',
discount_amount: '200', // discount_amount: '200',
actual_unit_price: '145.35', // actual_unit_price: '145.35',
actual_payment: '1744.24', // actual_payment: '1744.24',
cost: '1186.080', // cost: '1186.080',
profit: '558.160', // profit: '558.160',
customer_gender: '0', // customer_gender: '0',
customer_age: '59岁', // customer_age: '59岁',
membership_status: '普通会员', // membership_status: '普通会员',
has_visited_page: '是', // has_visited_page: '是',
page_visit_duration: '2', // page_visit_duration: '2',
transaction_status: '交易成功', // transaction_status: '交易成功',
product_status: '已收货', // product_status: '已收货',
recipient_name: '赵丽丽', // recipient_name: '赵丽丽',
recipient_phone: '186****8566', // recipient_phone: '186****8566',
shipping_address: '浙江省', // shipping_address: '浙江省',
recipient_province: '⼴东省', // recipient_province: '⼴东省',
recipient_address: '广东省梅州市', // recipient_address: '广东省梅州市',
logistics_company: '圆通快递', // logistics_company: '圆通快递',
waybill_number: 'L841704', // waybill_number: 'L841704',
shipping_method: '铁路运输', // shipping_method: '铁路运输',
payment_time: '11/10/2019', // payment_time: '11/10/2019',
estimated_arrival_time: '11/15/2019', // estimated_arrival_time: '11/15/2019',
actual_arrival_time: '11/15/2019', // actual_arrival_time: '11/15/2019',
courier_feedback: '准时', // courier_feedback: '准时',
is_returned: '否', // is_returned: '否',
refund_reason: '无', // refund_reason: '无',
customer_satisfaction: '中评', // customer_satisfaction: '中评',
date_of_birth: '1963年5月27日', // date_of_birth: '1963年5月27日',
category: '上衣', // category: '上衣',
material: '氨纶', // material: '氨纶',
}, // },
{ // {
pk_id: '8', // pk_id: '8',
order_number: 'A424004', // order_number: 'A424004',
brand: '艾米丽', // brand: '艾米丽',
store: '卡卡家女装', // store: '卡卡家女装',
person_in_charge: '宋建华', // person_in_charge: '宋建华',
product: '大码牛仔裤', // product: '大码牛仔裤',
color: '红色', // color: '红色',
customer_purchase_type: '批发', // customer_purchase_type: '批发',
sales_volume: '11', // sales_volume: '11',
unit_price: '73.54', // unit_price: '73.54',
sales_amount: '808.94', // sales_amount: '808.94',
is_discounted: '双11优惠', // is_discounted: '双11优惠',
discount_amount: '100', // discount_amount: '100',
actual_unit_price: '64.45', // actual_unit_price: '64.45',
actual_payment: '708.94', // actual_payment: '708.94',
cost: '425.360', // cost: '425.360',
profit: '283.580', // profit: '283.580',
customer_gender: '0', // customer_gender: '0',
customer_age: '23岁', // customer_age: '23岁',
membership_status: '无会员', // membership_status: '无会员',
has_visited_page: '是', // has_visited_page: '是',
page_visit_duration: '8', // page_visit_duration: '8',
transaction_status: '交易成功', // transaction_status: '交易成功',
product_status: '已收货', // product_status: '已收货',
recipient_name: '谢雷', // recipient_name: '谢雷',
recipient_phone: '150****7487', // recipient_phone: '150****7487',
shipping_address: '浙江省', // shipping_address: '浙江省',
recipient_province: '宁夏回族自治区', // recipient_province: '宁夏回族自治区',
recipient_address: '宁夏回族自治区银川市贺兰县', // recipient_address: '宁夏回族自治区银川市贺兰县',
logistics_company: ' 百世快递', // logistics_company: ' 百世快递',
waybill_number: 'L451724', // waybill_number: 'L451724',
shipping_method: '公路运输', // shipping_method: '公路运输',
payment_time: '11/27/2023', // payment_time: '11/27/2023',
estimated_arrival_time: '12/1/2023', // estimated_arrival_time: '12/1/2023',
actual_arrival_time: '12/1/2023', // actual_arrival_time: '12/1/2023',
courier_feedback: '准时', // courier_feedback: '准时',
is_returned: '否', // is_returned: '否',
refund_reason: '无', // refund_reason: '无',
customer_satisfaction: '好评', // customer_satisfaction: '好评',
date_of_birth: '1999年12月18日', // date_of_birth: '1999年12月18日',
category: '女裤', // category: '女裤',
material: '锦纶', // material: '锦纶',
}, // },
{ // {
pk_id: '9', // pk_id: '9',
order_number: 'A561021', // order_number: 'A561021',
brand: 'TARA', // brand: 'TARA',
store: 'TARA旗舰店', // store: 'TARA旗舰店',
person_in_charge: '邹勇', // person_in_charge: '邹勇',
product: '春夏季新款裤子', // product: '春夏季新款裤子',
color: '橙色', // color: '橙色',
customer_purchase_type: '批发', // customer_purchase_type: '批发',
sales_volume: '11', // sales_volume: '11',
unit_price: '57.25', // unit_price: '57.25',
sales_amount: '629.75', // sales_amount: '629.75',
is_discounted: '双12优惠', // is_discounted: '双12优惠',
discount_amount: '150', // discount_amount: '150',
actual_unit_price: '43.61', // actual_unit_price: '43.61',
actual_payment: '479.75', // actual_payment: '479.75',
cost: '287.850', // cost: '287.850',
profit: '191.900', // profit: '191.900',
customer_gender: '0', // customer_gender: '0',
customer_age: '36岁', // customer_age: '36岁',
membership_status: '普通会员', // membership_status: '普通会员',
has_visited_page: '是', // has_visited_page: '是',
page_visit_duration: '7', // page_visit_duration: '7',
transaction_status: '交易成功', // transaction_status: '交易成功',
product_status: '已收货', // product_status: '已收货',
recipient_name: '王桂珍', // recipient_name: '王桂珍',
recipient_phone: '137****8424', // recipient_phone: '137****8424',
shipping_address: '福建省', // shipping_address: '福建省',
recipient_province: '湖南省', // recipient_province: '湖南省',
recipient_address: '湖南省永州市市辖区', // recipient_address: '湖南省永州市市辖区',
logistics_company: '申通快递', // logistics_company: '申通快递',
waybill_number: 'L948843', // waybill_number: 'L948843',
shipping_method: '公路运输', // shipping_method: '公路运输',
payment_time: '12/17/2019', // payment_time: '12/17/2019',
estimated_arrival_time: '12/19/2019', // estimated_arrival_time: '12/19/2019',
actual_arrival_time: '12/19/2019', // actual_arrival_time: '12/19/2019',
courier_feedback: '准时', // courier_feedback: '准时',
is_returned: '否', // is_returned: '否',
refund_reason: '无', // refund_reason: '无',
customer_satisfaction: '好评', // customer_satisfaction: '好评',
date_of_birth: '1986年6月1日', // date_of_birth: '1986年6月1日',
category: '女裤', // category: '女裤',
material: '锦纶', // material: '锦纶',
}, // },
{ // {
pk_id: '10', // pk_id: '10',
order_number: 'A191677', // order_number: 'A191677',
brand: '富贵人', // brand: '富贵人',
store: '富贵人旗舰店', // store: '富贵人旗舰店',
person_in_charge: '刘佳', // person_in_charge: '刘佳',
product: '蕾丝花边T恤', // product: '蕾丝花边T恤',
color: '粉色', // color: '粉色',
customer_purchase_type: '批发', // customer_purchase_type: '批发',
sales_volume: '11', // sales_volume: '11',
unit_price: '117.92', // unit_price: '117.92',
sales_amount: '1297.12', // sales_amount: '1297.12',
is_discounted: '无', // is_discounted: '无',
discount_amount: '0', // discount_amount: '0',
actual_unit_price: '117.92', // actual_unit_price: '117.92',
actual_payment: '1297.12', // actual_payment: '1297.12',
cost: '674.500', // cost: '674.500',
profit: '622.620', // profit: '622.620',
customer_gender: '0', // customer_gender: '0',
customer_age: '38岁', // customer_age: '38岁',
membership_status: '无会员', // membership_status: '无会员',
has_visited_page: '否', // has_visited_page: '否',
page_visit_duration: '0', // page_visit_duration: '0',
transaction_status: '交易取消', // transaction_status: '交易取消',
product_status: '已取消', // product_status: '已取消',
recipient_name: '梁秀华', // recipient_name: '梁秀华',
recipient_phone: '136****1451', // recipient_phone: '136****1451',
shipping_address: '广东省', // shipping_address: '广东省',
recipient_province: '⼭东省', // recipient_province: '⼭东省',
recipient_address: '山东省聊城市冠县', // recipient_address: '山东省聊城市冠县',
logistics_company: '申通快递', // logistics_company: '申通快递',
waybill_number: 'L385723', // waybill_number: 'L385723',
shipping_method: '航空运输', // shipping_method: '航空运输',
payment_time: '12/3/2019', // payment_time: '12/3/2019',
estimated_arrival_time: '12/8/2019', // estimated_arrival_time: '12/8/2019',
actual_arrival_time: '12/8/2019', // actual_arrival_time: '12/8/2019',
courier_feedback: '准时', // courier_feedback: '准时',
is_returned: '是', // is_returned: '是',
refund_reason: '不喜欢', // refund_reason: '不喜欢',
customer_satisfaction: '无评论', // customer_satisfaction: '无评论',
date_of_birth: '1984年2月27日', // date_of_birth: '1984年2月27日',
category: '上衣', // category: '上衣',
material: '棉质', // material: '棉质',
}, // },
], // ],
info: { // info: {
id: '7306145818979860480', // id: '7306145818979860480',
experiment_id: '7028276368903241728', // experiment_id: '7028276368903241728',
name: '王', // name: '王',
table_name: '7028276368903241728_6602032005293015040_my_data', // table_name: '7028276368903241728_6602032005293015040_my_data',
type: '2', // type: '2',
source: { // source: {
name: '《商务数据分析基础》数据集-电子商务-10条.xlsx', // name: '《商务数据分析基础》数据集-电子商务-10条.xlsx',
url: 'https://webapp-pub.ezijing.com/upload/saas-bi/f6a1ab335e0a19935b750537e5d8a6f2.xlsx', // url: 'https://webapp-pub.ezijing.com/upload/saas-bi/f6a1ab335e0a19935b750537e5d8a6f2.xlsx',
}, // },
created_operator: '6602032005293015040', // created_operator: '6602032005293015040',
created_time: '2025-03-14 10:55:04', // created_time: '2025-03-14 10:55:04',
updated_operator: '6602032005293015040', // updated_operator: '6602032005293015040',
updated_time: '2025-03-14 16:31:47', // updated_time: '2025-03-14 16:31:47',
}, // },
}, // },
}) // })
return httpRequest.get('/api/bi/v1/data/my/list', { params }) return httpRequest.get('/api/bi/v1/data/my/list', { params })
} }
// 查看字段详情 // 查看字段详情
export function getMyField() { export function getMyField() {
return Promise.resolve({ // return Promise.resolve({
code: 0, // code: 0,
message: 'OK', // message: 'OK',
data: [ // data: [
{ // {
name: '订单编号', // name: '订单编号',
english_name: 'order_number', // english_name: 'order_number',
type: 'VARCHAR(7)', // type: 'VARCHAR(7)',
length: '7', // length: '7',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '品牌', // name: '品牌',
english_name: 'brand', // english_name: 'brand',
type: 'VARCHAR(12)', // type: 'VARCHAR(12)',
length: '12', // length: '12',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '店铺', // name: '店铺',
english_name: 'store', // english_name: 'store',
type: 'VARCHAR(21)', // type: 'VARCHAR(21)',
length: '21', // length: '21',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '负责人', // name: '负责人',
english_name: 'person_in_charge', // english_name: 'person_in_charge',
type: 'VARCHAR(9)', // type: 'VARCHAR(9)',
length: '9', // length: '9',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '商品', // name: '商品',
english_name: 'product', // english_name: 'product',
type: 'VARCHAR(21)', // type: 'VARCHAR(21)',
length: '21', // length: '21',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '颜色', // name: '颜色',
english_name: 'color', // english_name: 'color',
type: 'VARCHAR(6)', // type: 'VARCHAR(6)',
length: '6', // length: '6',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '客户购买类型', // name: '客户购买类型',
english_name: 'customer_purchase_type', // english_name: 'customer_purchase_type',
type: 'VARCHAR(6)', // type: 'VARCHAR(6)',
length: '6', // length: '6',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '销量', // name: '销量',
english_name: 'sales_volume', // english_name: 'sales_volume',
type: 'SMALLINT', // type: 'SMALLINT',
length: '', // length: '',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '整数', // type_name: '整数',
}, // },
{ // {
name: '单价', // name: '单价',
english_name: 'unit_price', // english_name: 'unit_price',
type: 'DECIMAL(5, 2)', // type: 'DECIMAL(5, 2)',
length: '5', // length: '5',
point: '2', // point: '2',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '小数', // type_name: '小数',
}, // },
{ // {
name: '销售额', // name: '销售额',
english_name: 'sales_amount', // english_name: 'sales_amount',
type: 'DECIMAL(6, 2)', // type: 'DECIMAL(6, 2)',
length: '6', // length: '6',
point: '2', // point: '2',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '小数', // type_name: '小数',
}, // },
{ // {
name: '是否优惠', // name: '是否优惠',
english_name: 'is_discounted', // english_name: 'is_discounted',
type: 'VARCHAR(18)', // type: 'VARCHAR(18)',
length: '18', // length: '18',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '优惠金额', // name: '优惠金额',
english_name: 'discount_amount', // english_name: 'discount_amount',
type: 'SMALLINT', // type: 'SMALLINT',
length: '', // length: '',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '整数', // type_name: '整数',
}, // },
{ // {
name: '实际单价', // name: '实际单价',
english_name: 'actual_unit_price', // english_name: 'actual_unit_price',
type: 'DECIMAL(5, 2)', // type: 'DECIMAL(5, 2)',
length: '5', // length: '5',
point: '2', // point: '2',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '小数', // type_name: '小数',
}, // },
{ // {
name: '实际付款', // name: '实际付款',
english_name: 'actual_payment', // english_name: 'actual_payment',
type: 'DECIMAL(6, 2)', // type: 'DECIMAL(6, 2)',
length: '6', // length: '6',
point: '2', // point: '2',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '小数', // type_name: '小数',
}, // },
{ // {
name: '成本', // name: '成本',
english_name: 'cost', // english_name: 'cost',
type: 'DECIMAL(7, 3)', // type: 'DECIMAL(7, 3)',
length: '7', // length: '7',
point: '3', // point: '3',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '小数', // type_name: '小数',
}, // },
{ // {
name: '利润', // name: '利润',
english_name: 'profit', // english_name: 'profit',
type: 'DECIMAL(6, 3)', // type: 'DECIMAL(6, 3)',
length: '6', // length: '6',
point: '3', // point: '3',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '小数', // type_name: '小数',
}, // },
{ // {
name: '客户性别', // name: '客户性别',
english_name: 'customer_gender', // english_name: 'customer_gender',
type: 'TINYINT', // type: 'TINYINT',
length: '', // length: '',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '整数', // type_name: '整数',
}, // },
{ // {
name: '客户年龄', // name: '客户年龄',
english_name: 'customer_age', // english_name: 'customer_age',
type: 'VARCHAR(5)', // type: 'VARCHAR(5)',
length: '5', // length: '5',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '会员情况', // name: '会员情况',
english_name: 'membership_status', // english_name: 'membership_status',
type: 'VARCHAR(12)', // type: 'VARCHAR(12)',
length: '12', // length: '12',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '是否访问页面', // name: '是否访问页面',
english_name: 'has_visited_page', // english_name: 'has_visited_page',
type: 'VARCHAR(3)', // type: 'VARCHAR(3)',
length: '3', // length: '3',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '访问页面时长', // name: '访问页面时长',
english_name: 'page_visit_duration', // english_name: 'page_visit_duration',
type: 'TINYINT', // type: 'TINYINT',
length: '', // length: '',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '整数', // type_name: '整数',
}, // },
{ // {
name: '交易状态', // name: '交易状态',
english_name: 'transaction_status', // english_name: 'transaction_status',
type: 'VARCHAR(12)', // type: 'VARCHAR(12)',
length: '12', // length: '12',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '商品状态', // name: '商品状态',
english_name: 'product_status', // english_name: 'product_status',
type: 'VARCHAR(9)', // type: 'VARCHAR(9)',
length: '9', // length: '9',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '收货人姓名', // name: '收货人姓名',
english_name: 'recipient_name', // english_name: 'recipient_name',
type: 'VARCHAR(9)', // type: 'VARCHAR(9)',
length: '9', // length: '9',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '收货人电话', // name: '收货人电话',
english_name: 'recipient_phone', // english_name: 'recipient_phone',
type: 'VARCHAR(11)', // type: 'VARCHAR(11)',
length: '11', // length: '11',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '发货地址', // name: '发货地址',
english_name: 'shipping_address', // english_name: 'shipping_address',
type: 'VARCHAR(9)', // type: 'VARCHAR(9)',
length: '9', // length: '9',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '收货地址省份', // name: '收货地址省份',
english_name: 'recipient_province', // english_name: 'recipient_province',
type: 'VARCHAR(21)', // type: 'VARCHAR(21)',
length: '21', // length: '21',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '收货地址', // name: '收货地址',
english_name: 'recipient_address', // english_name: 'recipient_address',
type: 'VARCHAR(39)', // type: 'VARCHAR(39)',
length: '39', // length: '39',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '物流公司', // name: '物流公司',
english_name: 'logistics_company', // english_name: 'logistics_company',
type: 'VARCHAR(15)', // type: 'VARCHAR(15)',
length: '15', // length: '15',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '运单号', // name: '运单号',
english_name: 'waybill_number', // english_name: 'waybill_number',
type: 'VARCHAR(7)', // type: 'VARCHAR(7)',
length: '7', // length: '7',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '运送方式', // name: '运送方式',
english_name: 'shipping_method', // english_name: 'shipping_method',
type: 'VARCHAR(12)', // type: 'VARCHAR(12)',
length: '12', // length: '12',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '支付时间', // name: '支付时间',
english_name: 'payment_time', // english_name: 'payment_time',
type: 'VARCHAR(10)', // type: 'VARCHAR(10)',
length: '10', // length: '10',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '预计到达时间', // name: '预计到达时间',
english_name: 'estimated_arrival_time', // english_name: 'estimated_arrival_time',
type: 'VARCHAR(10)', // type: 'VARCHAR(10)',
length: '10', // length: '10',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '实际到达时间', // name: '实际到达时间',
english_name: 'actual_arrival_time', // english_name: 'actual_arrival_time',
type: 'VARCHAR(10)', // type: 'VARCHAR(10)',
length: '10', // length: '10',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '快递反馈', // name: '快递反馈',
english_name: 'courier_feedback', // english_name: 'courier_feedback',
type: 'VARCHAR(6)', // type: 'VARCHAR(6)',
length: '6', // length: '6',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '是否退货', // name: '是否退货',
english_name: 'is_returned', // english_name: 'is_returned',
type: 'VARCHAR(3)', // type: 'VARCHAR(3)',
length: '3', // length: '3',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '退款原因', // name: '退款原因',
english_name: 'refund_reason', // english_name: 'refund_reason',
type: 'VARCHAR(9)', // type: 'VARCHAR(9)',
length: '9', // length: '9',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '客户满意度', // name: '客户满意度',
english_name: 'customer_satisfaction', // english_name: 'customer_satisfaction',
type: 'VARCHAR(9)', // type: 'VARCHAR(9)',
length: '9', // length: '9',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '出生日期', // name: '出生日期',
english_name: 'date_of_birth', // english_name: 'date_of_birth',
type: 'VARCHAR(17)', // type: 'VARCHAR(17)',
length: '17', // length: '17',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '品类', // name: '品类',
english_name: 'category', // english_name: 'category',
type: 'VARCHAR(9)', // type: 'VARCHAR(9)',
length: '9', // length: '9',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
{ // {
name: '材质', // name: '材质',
english_name: 'material', // english_name: 'material',
type: 'VARCHAR(6)', // type: 'VARCHAR(6)',
length: '6', // length: '6',
point: '', // point: '',
null: '允许', // null: '允许',
default: '', // default: '',
type_name: '字符串', // type_name: '字符串',
}, // },
], // ],
}) // })
return httpRequest.get('/api/bi/v1/data/my/field-detail') return httpRequest.get('/api/bi/v1/data/my/field-detail')
} }
......
import { lazy, ReactNode, useState } from 'react' import { lazy, ReactNode } from 'react'
import { Card, Flex } from 'antd' import { Card, Flex } from 'antd'
import AIChat from '@/components/ai/AIChat' import AIChat from '@/components/ai/AIChat'
import DataRender from './DataRender' import DataRender from './DataRender'
...@@ -19,8 +19,7 @@ export default function DataWrap({ ...@@ -19,8 +19,7 @@ export default function DataWrap({
empty?: ReactNode empty?: ReactNode
hasAI?: boolean hasAI?: boolean
}) { }) {
const [pagination, setPagination] = useState({ page: 1, 'per-page': 100 }) const { data, isPending } = useDataQuery()
const { data, isPending } = useDataQuery(pagination)
const columns: any = data.title.map((item: any) => { const columns: any = data.title.map((item: any) => {
return { return {
...@@ -31,10 +30,6 @@ export default function DataWrap({ ...@@ -31,10 +30,6 @@ export default function DataWrap({
} }
}) })
const handleTableChange = (pagination: any) => {
setPagination({ page: pagination.current, 'per-page': pagination.pageSize })
}
const Header = () => { const Header = () => {
if (headerRender) return headerRender(data) if (headerRender) return headerRender(data)
return ( return (
...@@ -54,14 +49,7 @@ export default function DataWrap({ ...@@ -54,14 +49,7 @@ export default function DataWrap({
) : ( ) : (
<> <>
<Header /> <Header />
<DataRender <DataRender rowKey={'pk_id'} loading={isPending} dataSource={data.list} columns={columns} />
rowKey={'pk_id'}
loading={isPending}
dataSource={data.list}
pagination={{ total: data.total, current: pagination.page, pageSize: pagination['per-page'] }}
columns={columns}
onChange={handleTableChange}
/>
</> </>
)} )}
</Card> </Card>
......
import { useEffect } from 'react' import { useEffect } from 'react'
import { useQuery, keepPreviousData } from '@tanstack/react-query' import { useQuery } from '@tanstack/react-query'
import { getUser, getMapList, getMyList, getMyField } from '@/api/base' import { getUser, getMapList, getMyList, getMyField } from '@/api/base'
import { useUserStore } from '@/stores/user' import { useUserStore } from '@/stores/user'
import { useMapStore } from '@/stores/map' import { useMapStore } from '@/stores/map'
...@@ -33,17 +33,16 @@ export function useMapQuery() { ...@@ -33,17 +33,16 @@ export function useMapQuery() {
} }
// 我的数据集 // 我的数据集
export function useDataQuery(params?: Partial<{ page: number; 'per-page': number }>) { export function useDataQuery() {
const query = useQuery({ const query = useQuery({
queryKey: ['data', params], queryKey: ['data'],
queryFn: () => { queryFn: () => {
return getMyList(params) return getMyList({ page: 1, 'per-page': 1000 })
}, },
select: (res) => res.data, select: (res) => res.data,
initialData: (): any => { initialData: (): any => {
return { data: { total: 0, list: [], title: [] } } return { data: { total: 0, list: [], title: [] } }
}, },
placeholderData: keepPreviousData,
}) })
return query return query
......
...@@ -5,7 +5,7 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query' ...@@ -5,7 +5,7 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { ConfigProvider } from 'antd' import { ConfigProvider } from 'antd'
import zhCN from 'antd/locale/zh_CN' import zhCN from 'antd/locale/zh_CN'
import App from './App.tsx' import App from './App.tsx'
import { ReactQueryDevtools } from '@tanstack/react-query-devtools'
const queryClient = new QueryClient() const queryClient = new QueryClient()
const antdTheme = { const antdTheme = {
...@@ -19,6 +19,7 @@ const antdTheme = { ...@@ -19,6 +19,7 @@ const antdTheme = {
ReactDOM.createRoot(document.getElementById('root')!).render( ReactDOM.createRoot(document.getElementById('root')!).render(
<React.StrictMode> <React.StrictMode>
<QueryClientProvider client={queryClient}> <QueryClientProvider client={queryClient}>
<ReactQueryDevtools />
<ConfigProvider theme={antdTheme} locale={zhCN}> <ConfigProvider theme={antdTheme} locale={zhCN}>
<BrowserRouter> <BrowserRouter>
<App /> <App />
......
import { useState } from 'react'
import { Button, Flex, Modal, Form, Divider, Select, Radio, Row, Col } from 'antd'
import { useDataFieldQuery } from '@/hooks/useQuery'
export default function ButtonModal() {
const { data } = useDataFieldQuery()
const [open, setOpen] = useState(false)
const [form] = Form.useForm()
const fieldOptions = data?.map((item) => ({ label: item.name, value: item.name }))
const hiddenOptions = [
{
label: '隐藏',
value: true,
},
{
label: '不隐藏',
value: false,
},
]
return (
<>
<Button type="primary" onClick={() => setOpen(true)}>
新建柱状图
</Button>
<Modal
title="新建柱状图"
open={open}
footer={
<Flex justify="center" gap={20}>
<Button type="primary">预览组件效果</Button>
<Button type="primary">AI对话调整</Button>
<Button type="primary" autoInsertSpace>
保存
</Button>
</Flex>
}
destroyOnClose
width={1000}
onCancel={() => setOpen(false)}>
<div style={{ minHeight: 300, padding: '20px 0' }}>
<Form form={form} preserve={false}>
<Divider orientation="left" orientationMargin="0">
步骤1:数字字段设置
</Divider>
<Row gutter={20}>
<Col span={8}>
<Form.Item label="请选择“行”字段" name="x">
<Select options={fieldOptions} placeholder="请选择" mode="multiple"></Select>
</Form.Item>
</Col>
<Col span={8}>
<Form.Item label="计算规则" name="x_rule">
<Select options={fieldOptions} placeholder="请选择"></Select>
</Form.Item>
</Col>
<Col span={8}>
<Form.Item label="排序规则" name="x_sort">
<Select options={fieldOptions} placeholder="请选择"></Select>
</Form.Item>
</Col>
</Row>
<Row gutter={20}>
<Col span={8}>
<Form.Item label="请选择“列”字段" name="y">
<Select options={fieldOptions} placeholder="请选择"></Select>
</Form.Item>
</Col>
<Col span={8}>
<Form.Item label="计算规则" name="y_rule">
<Select options={fieldOptions} placeholder="请选择"></Select>
</Form.Item>
</Col>
<Col span={8}>
<Form.Item label="排序规则" name="y_sort">
<Select options={fieldOptions} placeholder="请选择"></Select>
</Form.Item>
</Col>
</Row>
<Row gutter={20}>
<Col span={8}>
<Form.Item label="是否隐藏行轴" name="hidden_x">
<Radio.Group options={hiddenOptions}></Radio.Group>
</Form.Item>
</Col>
<Col span={8}>
<Form.Item label="是否隐藏列轴" name="hidden_y">
<Radio.Group options={hiddenOptions}></Radio.Group>
</Form.Item>
</Col>
</Row>
<Divider orientation="left" orientationMargin="0">
步骤2:辅助可视化设置
</Divider>
<Row gutter={20}>
<Col span={12}>
<Form.Item label="请选择“标签”字段">
<Select options={fieldOptions} placeholder="请选择"></Select>
</Form.Item>
</Col>
<Col span={12}>
<Form.Item label="请选择颜色规则">
<Select options={fieldOptions} placeholder="请选择"></Select>
</Form.Item>
</Col>
</Row>
<Row gutter={20}>
<Col span={12}>
<Form.Item label="是否有标题" name="hidden_y">
<Radio.Group options={hiddenOptions}></Radio.Group>
</Form.Item>
</Col>
<Col span={12}>
<Form.Item label="请选择填充图案" name="hidden_y">
<Radio.Group options={hiddenOptions}></Radio.Group>
</Form.Item>
</Col>
</Row>
<Row gutter={20}>
<Col span={12}>
<Form.Item label="是否隐藏图例" name="hidden_y">
<Radio.Group options={hiddenOptions}></Radio.Group>
</Form.Item>
</Col>
<Col span={12}>
<Form.Item label="是否四个角圆滑" name="hidden_y">
<Radio.Group options={hiddenOptions}></Radio.Group>
</Form.Item>
</Col>
</Row>
<Divider orientation="left" orientationMargin="0">
步骤3:预览组件效果
</Divider>
</Form>
</div>
</Modal>
</>
)
}
import { lazy } from 'react'
import ChartWrap from '@/components/data/ChartWrap' import ChartWrap from '@/components/data/ChartWrap'
import { Button } from 'antd'
const ButtonModal = lazy(() => import('../components/ButtonModal'))
export default function DataProcess() { export default function DataProcess() {
return <ChartWrap title="可视化:柱状图" buttons={<Button type="primary">新建柱状图</Button>}></ChartWrap> return <ChartWrap title="可视化:柱状图" buttons={<ButtonModal />}></ChartWrap>
} }
import { useState } from 'react'
import { Button, Flex, Modal, Select, Form, Input, Popover } from 'antd'
import { useDataFieldQuery } from '@/hooks/useQuery'
import AppProgressSteps from '@/components/AppProgressSteps'
import { QuestionCircleOutlined } from '@ant-design/icons'
export default function ButtonModal() {
const { data } = useDataFieldQuery()
const [open, setOpen] = useState(false)
const [current, setCurrent] = useState(0)
const [form] = Form.useForm()
const fieldOptions = data?.map((item) => ({ label: item.name, value: item.name }))
const [step, setStep] = useState<number>(-1)
const options = [
{
label: 'True',
value: true,
},
{
label: 'False',
value: false,
},
]
const steps = [
{
title: '设置算法',
content: (
<>
<Form.Item label="请选择自变量" name="processingMethod">
<Select options={fieldOptions} placeholder="请选择" mode="multiple" />
</Form.Item>
<Form.Item label="请选择因变量" name="rule">
<Select options={fieldOptions} placeholder="请选择" />
</Form.Item>
<Flex gap={20}>
<div style={{ flex: 1 }}>
<Form.Item label="请输入是否拟合截距项(fit_intercept)" name="fit_intercept">
<Flex gap={10}>
<Select options={options} placeholder="请选择" />
<Popover
title="是否拟合截距项(fit_intercept)"
content={
<>
控制模型是否包含截距项(即偏置项,用于调整模型基线)
<br />
取值范围:
<br />
True(模型更灵活,适合大多数场景)
<br />
False(模型强制通过原点,可能欠拟合)
</>
}>
<QuestionCircleOutlined />
</Popover>
</Flex>
</Form.Item>
<Form.Item label="请输入是否复制数据(copy_X)" name="is_copy">
<Flex gap={10}>
<Select options={options} placeholder="请选择" />
<Popover
title="是否复制数据(copy_X)"
content={
<>
决定是否复制输入数据(避免修改原始数据)
<br />
取值范围:
<br />
True(安全但内存占用高)
<br />
False(节省内存,但可能覆盖原始数据)
</>
}>
<QuestionCircleOutlined />
</Popover>
</Flex>
</Form.Item>
<Form.Item label="请输入并行计算核心数(n_jobs)" name="is_jobs">
<Flex gap={10}>
<Input placeholder="请输入" />
<Popover
title="并行计算核心数(n_jobs)"
content={
<>
选择优化算法(不同算法支持不同正则化类型和计算效率)
<br />
取值范围:
<br />
None(单线程)或 ≥1 的整数(如 -1 表示使用所有核心)
</>
}>
<QuestionCircleOutlined />
</Popover>
</Flex>
</Form.Item>
<Form.Item label="请输入强制正系数(positive)" name="is_positive">
<Flex gap={10}>
<Select options={options} placeholder="请选择" />
<Popover
title="强制正系数(positive)"
content={
<>
是否强制回归系数为非负值(适用于需正向解释的场景,如经济学或物理模型)
<br />
取值范围:
<br />
True(系数非负,可能牺牲模型拟合能力)
<br />
False(系数可正可负,灵活性高)
</>
}>
<QuestionCircleOutlined />
</Popover>
</Flex>
</Form.Item>
</div>
<Button type="primary" style={{ height: '200px' }}>
AI设置
</Button>
</Flex>
</>
),
},
{
title: '线性回归处理',
content: (
<>
<Flex vertical align="center" style={{ marginTop: '20px' }}>
<Button type="primary" onClick={() => setStep(1)}>
开始处理
</Button>
<AppProgressSteps
style={{ margin: '80px' }}
current={step}
items={[
{
title: (
<>
第一步
<br />
启动
</>
),
},
{
title: (
<>
第二步
<br />
计算
</>
),
},
{
title: (
<>
第三步
<br />
计算结束
</>
),
},
]}
/>
</Flex>
</>
),
},
]
return (
<>
<Button type="primary" onClick={() => setOpen(true)}>
线性回归
</Button>
<Modal
title={steps[current].title}
open={open}
footer={
<Flex justify="center" gap={20}>
{current === 0 && <Button type="primary">AI检查试算</Button>}
{current > 0 && <Button onClick={() => setCurrent(current - 1)}>上一步</Button>}
{current < steps.length - 1 && (
<Button type="primary" onClick={() => setCurrent(current + 1)}>
下一步
</Button>
)}
{current === steps.length - 1 && (
<Button type="primary" onClick={() => setOpen(false)}>
关闭
</Button>
)}
</Flex>
}
destroyOnClose
width={800}
onCancel={() => setOpen(false)}>
<div style={{ minHeight: 300, padding: '20px 0' }}>
<Form form={form} preserve={false}>
{steps.map((item, index) => (
<div key={index} hidden={current !== index} style={{ marginTop: '20px' }}>
{item.content}
</div>
))}
</Form>
</div>
</Modal>
</>
)
}
import { lazy } from 'react'
import DataWrap from '@/components/data/DataWrap' import DataWrap from '@/components/data/DataWrap'
import { Button } from 'antd'
const ButtonModal = lazy(() => import('../components/ButtonModal'))
export default function DataProcess() { export default function DataProcess() {
return <DataWrap title="数据挖掘:线性回归" buttons={<Button type="primary">线性回归</Button>}></DataWrap> return <DataWrap title="数据挖掘:线性回归" buttons={<ButtonModal />}></DataWrap>
} }
...@@ -104,10 +104,32 @@ export default function ButtonModal() { ...@@ -104,10 +104,32 @@ export default function ButtonModal() {
style={{ margin: '80px' }} style={{ margin: '80px' }}
current={step} current={step}
items={[ items={[
{ title: '检查字段处理规则' },
{ title: '缺失值处理' },
{ {
title: '处理结果', title: (
<>
第一步
<br />
检查字段处理规则
</>
),
},
{
title: (
<>
第二步
<br />
缺失值处理
</>
),
},
{
title: (
<>
第三步
<br />
处理结果
</>
),
description: ( description: (
<> <>
累计处理XX个字段 累计处理XX个字段
......
...@@ -11,10 +11,11 @@ export default defineConfig({ ...@@ -11,10 +11,11 @@ export default defineConfig({
host: 'dev.ezijing.com', host: 'dev.ezijing.com',
proxy: { proxy: {
'/api/bi': { '/api/bi': {
target: 'http://local-com-resource-api.bi.ezijing.com', target: 'https://saas-lab.ezijing.com',
changeOrigin: true, changeOrigin: true,
rewrite: (path) => path.replace(/^\/api\/bi/, ''), rewrite: (path) => path.replace(/^\/api\/bi/, '/api/resource/bi'),
}, },
// '/api/bi': 'https://saas-lab.ezijing.com/api/resource/bi',
'/api': 'https://saas-lab.ezijing.com', '/api': 'https://saas-lab.ezijing.com',
}, },
}, },
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论