1094 Commits
v4.2 ... master

Author SHA1 Message Date
pikachu1995@126.com
8a0f5ff120 fix(goods): 移除下载结算单接口URL中的多余斜杠 2025-12-09 16:44:18 +08:00
chc
c5fecda212 先注释掉未实际使用功能,后续优化密码修改内容 2025-12-01 18:55:46 +08:00
pikachu1995@126.com
e5d98d022e feat(manager): 调整分页组件默认页面大小为20
- 将所有页面的默认页面大小从10调整为20
- 更新分页选项数组,将最小值从10改为20
- 统一所有分页相关组件的pageSize默认值为20
- 修改pageSizeOpts选项为[20, 50, 100]
- 确保所有涉及分页的业务逻辑使用新的默认值
2025-11-24 13:09:11 +08:00
pikachu1995@126.com
799184fd21 style(components): 将按钮组件替换为链接样式
- 统一将页面中的 Button 组件替换为 a 标签,保持样式一致
- 添加统一的链接样式类 ops-link 和分隔符样式类 ops-sep
- 更新操作列中按钮的样式,使用颜色、光标和文本装饰属性替代原有 props 配置
- 在多个文件中调整了操作项之间的分隔符显示逻辑
- 优化表格操作列渲染函数,去除冗余的 Button 属性配置
- 保持功能不变的前提下提升界面视觉一致性
2025-11-24 11:33:54 +08:00
pikachu1995@126.com
756cb28daa fix(api): 修正更新隐私协议的API路径格式
feat(ui): 在顶部导航栏添加客服按钮及样式
添加客服按钮功能,包括获取IM链接和用户信息验证

refactor(order): 重构分销订单状态显示逻辑
统一订单状态显示为"未完成"、"完成"和"退款",并调整对应颜色
2025-11-23 16:30:41 +08:00
lifenlong
5f6eb6a26d feat(积分商品分类): 添加分页功能并支持按排序值排序
在积分商品分类页面添加分页组件,支持分页查询和排序
新增排序值字段展示,并对分类列表按排序值进行递归排序
2025-11-20 15:32:46 +08:00
pikachu1995@126.com
4efbec5741 refactor(分页): 统一调整分页大小选项为[20, 50, 100]并更新默认pageSize
style(售后订单): 优化商品图片样式,添加圆角和固定宽高
docs(售后订单): 更新售后状态显示文本,使其更清晰易懂
2025-10-27 18:34:01 +08:00
Ryan Ran
86dbc0d86e docs(README): 更新安装指导,新增yarn安装和启动步骤,移除npm相关内容以简化用户体验 2025-10-22 15:01:21 +08:00
pikachu1995@126.com
c32d011851 docs(readme): 更新交流方式和联系方式- 移除了旧的QQ群交流信息
- 新增微信交流群二维码
- 添加在线客服链接
- 精简了联系方式展示方式
- 统一了交流渠道描述格式
2025-10-20 14:52:33 +08:00
pikachu1995@126.com
311ca35afc feat(商品设置): 添加ES商品索引管理功能
新增三个API接口用于管理ES商品索引:
1. 删除ES中下架的商品
2. 删除不存在的索引
3. 生成所有商品的缓存
同时在商品设置页面添加对应操作按钮
2025-10-20 13:43:34 +08:00
Ryan Ran
1a3fae6501 fix(README & package.json): 更新 README 文档以反映 Node.js 版本兼容性,移除 NODE_OPTIONS 环境变量的依赖,确保项目在 Node.js 16 及以上版本下正常运行,优化用户安装指导。 2025-10-10 15:23:27 +08:00
Ryan Ran
3432530de7 fix(README.md): 更新文档以兼容更高的 Node.js 版本(20、18、16),并提供安装指导,确保用户能够顺利拉取最新代码和处理依赖问题。 2025-09-30 14:03:43 +08:00
Ryan Ran
af85493863 fix(buyer端升级node版本): 添加 .npmrc 和 .yarnrc 文件以支持引擎配置,更新 package.json 中的 NODE_OPTIONS 环境变量,替换多个组件中的 /deep/ 选择器为 ::v-deep,优化依赖管理,确保兼容性,兼容node16版本 2025-09-30 13:33:22 +08:00
Ryan Ran
ae85f0d612 fix(manager端升级node版本): 更新多个组件的样式,替换 /deep/ 选择器为 ::v-deep,替换 node-sass 为 sass,优化依赖管理和兼容性,兼容node16版本 2025-09-30 11:38:38 +08:00
Ryan Ran
16c4a78e29 fix(兼容性): 更新 seller 项目的 package.json 和 README.md,添加 NODE_OPTIONS 环境变量以支持 Node.js 版本 20 和 18 的运行,详细说明各版本的兼容性和安装要求,优化文档以提升用户体验。 2025-09-30 11:04:12 +08:00
Ryan Ran
8fb87aa64d feat(seller端升级node版本): 添加 .npmrc 和 .yarnrc 文件以支持引擎配置,更新 package.json 中的引擎要求并替换 node-sass 为 sass,优化依赖管理和兼容性,兼容node16版本 2025-09-29 18:26:52 +08:00
Ryan Ran
c5d675b6d2 fix(商品规格): 优化规格值处理逻辑,确保在规格值为空时移除对应行并更新表格数据,增强用户体验 2025-09-23 19:17:24 +08:00
Ryan Ran
f4d06b2d7b fix(商品审核): 更新审核功能,添加请求头以支持表单数据提交,提升接口兼容性 2025-09-23 14:14:43 +08:00
Ryan Ran
bb610a7cd8 fix(商品审核): 优化审核功能,使用FormData处理请求数据,提升代码可读性和维护性 2025-09-23 14:01:53 +08:00
misworga831
bb864e72b3 fix(商品规格): 优化规格值编辑逻辑,避免空值提交并清理错误提示 2025-09-15 21:45:47 +09:00
misworga831
c6c4797d87 fix(商品规格): 修复规格值过滤逻辑,确保移除空值并更新表格数据 2025-09-15 21:03:33 +09:00
misworga831
25fed42395 fix(商品规格): 添加内联错误提示,优化规格值验证逻辑 2025-09-15 16:04:48 +09:00
misworga831
66c4676493 fix(商品规格): 更新规格值提示信息,增加用户操作指导 2025-09-12 22:35:03 +09:00
misworga831
f8747b5d5d fix(商品操作): 优化模板和方法中的代码格式,提升可读性 2025-09-12 22:19:38 +09:00
misworga831
0eb58d4b8a fix(商品规格): 修复规格值编辑逻辑,避免对未定义索引的访问 2025-09-11 19:52:35 +09:00
pikachu1995@126.com
7b30ea343f feat(商品管理): 添加商品复制功能并优化批量操作
- 在商品操作页面添加复制商品功能,通过copyId参数区分复制操作
- 复制商品时自动清除原商品ID确保提交为新商品
- 优化批量操作按钮功能,包括上架、下架、删除和设置物流模板
- 移除未使用的批量规格更新功能
- 调整商品列表操作按钮布局,将复制功能加入操作列
2025-09-09 17:04:58 +08:00
pikachu1995@126.com
7db8484a7c feat(售后订单): 添加售后数量统计功能并显示在标签页
- 在manager和seller端添加获取售后数量统计的API接口
- 修改售后订单页面,显示各状态对应的数量统计
- 新增计算属性serviceStatusWithCount动态生成带数量的标签页
- 在初始化、搜索和状态切换时调用统计接口更新数据
2025-08-29 11:36:45 +08:00
pikachu1995@126.com
78b058009b feat(订单/商品): 添加数量统计功能并优化列表展示
- 在订单和商品管理页面添加数量统计功能
- 优化订单和商品列表的筛选和展示样式
- 统一API接口参数传递方式
- 移除重复代码和无用代码
2025-08-29 09:40:36 +08:00
pikachu1995@126.com
05abad3905 feat(会员管理): 新增会员ID搜索和头像显示功能
refactor(订单管理): 移除表格边框并优化分页选项

feat(售后订单): 添加关键字搜索字段并移除二维码功能

feat(商品管理): 新增批量操作和审核功能,优化商品列表展示

style: 移除多余的margin-top样式
2025-08-27 16:15:11 +08:00
pikachu1995@126.com
ad178b1806 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2025-08-27 10:12:05 +08:00
pikachu1995@126.com
075c20ae41 feat(订单列表): 新增搜索字段和支付方式筛选功能
- 添加关键字、商品名称、收货人和支付方式搜索字段
- 增加支付方式显示列和筛选功能
- 调整默认分页大小为20并增加100条选项
- 优化订单状态筛选逻辑
2025-08-27 10:11:40 +08:00
Ryan Ran
56420bd4d0 feat: 添加pageClientType属性以支持页面类型设置
在`renovation.vue`文件中,新增`pageClientType`属性并设置为'PC',以便于在页面数据中区分客户端类型,提升页面功能的灵活性。
2025-08-26 10:40:19 +08:00
pikachu1995@126.com
a18fc729c0 style(oss-manage): 调整表单元素宽度并优化布局结构
将日期选择器和输入框的宽度从200px统一调整为240px,提升表单元素的一致性
拆分操作区域到单独的Card组件中,改善页面布局结构
2025-08-21 16:41:46 +08:00
pikachu1995@126.com
099941a54e style: 统一输入框和选择器宽度为240px并优化卡片布局
- 将多处输入框和选择器的宽度从200px调整为240px
- 优化卡片布局结构,添加分割卡片提升可读性
- 移除部分冗余的刷新按钮和样式代码
- 调整日期选择器等表单元素的宽度为240px
2025-08-21 16:41:27 +08:00
Ryan Ran
3867d51d92 fix: 移除管理端会员列表,回收站username字段,优化成员列表组件的属性结构 2025-08-13 18:18:41 +08:00
Ryan Ran
f1be18b7e3 添加vue-virtual-scroller依赖并在消息视图中实现虚拟滚动功能,以优化对话列表的渲染性能。同时,为managerseller项目添加minimatch依赖项的解析版本以解决潜在的版本冲突。 2025-07-15 16:16:42 +08:00
Ryan Ran
ef46380f9e 添加minimatch依赖项的解析版本以解决潜在的版本冲突 2025-07-04 17:16:47 +08:00
chc
d711273cf0 商品发布参数项校验无法some问题 2025-03-12 10:28:59 +08:00
chc
5e7cf2d679 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2025-03-11 19:09:39 +08:00
chc
11319ba21f 分类参数必填校验 2025-03-11 19:09:05 +08:00
Chopper711
b4a706820e ### feat: 优化优惠折扣输入组件 (master)
- 将`Input`组件替换为`InputNumber`组件,以确保输入的优惠折扣
  在0.1到9.9之间,并支持一位小数。
- 在`full-discount-add.vue`和`full-discount-detail.vue`文件中,
  更新了`FormItem`组件的`优惠折扣`输入逻辑。
- 在`coupon-publish.vue`文件中,更新了描述文本以强调输入
  范围和格式。
- 在`coupon.vue`文件中,修复了优惠券类型判断逻辑,增加了
  "DISCOUNT"类型和未知类型的处理。
2025-02-21 17:34:58 +08:00
Chopper711
376a3223dc fix: 优化积分商品添加页面和对账单详情页面的功能 (master)
- 移除积分商品添加页面的冗余标题
- 将兑换时间选择器替换为活动时间范围选择器
- 简化验证规则,使用rangeTime替代单独的开始和结束时间
- 调整批量删除按钮和其他按钮的样式格式
- 在对账单详情页面添加删除消息提示框功能
2025-02-21 16:09:14 +08:00
Chopper711
a85ec69549 fix: 消息提示框以及消息点击查看后需要标记已读按钮优化 2025-02-20 15:48:19 +08:00
Chopper711
ebf4d6d3eb Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2025-02-20 14:57:21 +08:00
Chopper711
2ccd8265b9 fix: 消息提示框以及消息点击查看后需要标记已读按钮优化 2025-02-20 14:52:53 +08:00
chc
fb1671d062 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2025-02-17 13:41:42 +08:00
chc
95e37df2ec 电子面单物流选中错误问题 2025-02-17 13:41:05 +08:00
pikachu1995@126.com
cfde72f1ab Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2025-02-11 15:43:20 +08:00
pikachu1995@126.com
efc778acbc 微信支付配置,添加配置使用公钥还是证书 2025-02-11 15:43:09 +08:00
misworga831
37384ebadd fix: 优化商品编辑 2025-01-21 13:53:07 +08:00
misworga831
9a7aee7e97 fix: 优化商品编辑 2025-01-20 18:43:21 +08:00
chc
1a56534d28 提现设置增加校验 2025-01-20 18:12:41 +08:00
chc
79e7e5f087 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2025-01-17 17:42:58 +08:00
chc
aea03cf975 支付设置选中状态错误问题 2025-01-17 17:42:49 +08:00
pikachu1995@126.com
8ef6f944dc 微信支付配置,添加微信支付公钥 2025-01-08 16:14:14 +08:00
pikachu1995@126.com
e18d243961 优化微信支付配置,不读取密钥文件,改成读配置文件 2024-12-27 11:01:53 +08:00
chc
765b633cea Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-12-25 10:35:50 +08:00
chc
9c402a3878 1.查看物流信息
2.直播图片选择器修改
3.管理端隐藏会员详情
2024-12-25 10:35:40 +08:00
Chopper711
86426b087a feat: 使用InputNumber组件替换折扣输入框 (master)
在coupon-publish.vue中,将折扣输入框从Input组件更改为
InputNumber组件,以便更好地控制折扣值的输入范围。
2024-12-23 11:51:05 +08:00
chc
c5aaa2f3e2 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-12-02 18:05:51 +08:00
chc
cc59bb6094 售后实际退款金额显示错误问题 2024-12-02 18:05:43 +08:00
Ryan Ran
5662da1210 fix: 修改商家端分销商品列表点击链接商品不展示问题 2024-11-25 10:43:49 +08:00
Ryan Ran
863725d3ba 优化管理端活动楼层装修 2024-11-11 15:23:32 +08:00
Yer11214
b1acfbdd4b !40 修复了行政地区切换验证状态没更新的问题
Merge pull request !40 from 孟锴/feature/mengkai-master-branch
2024-10-14 07:34:03 +00:00
mengkai
001f9c3f30 修复了行政地区切换验证状态没更新的问题 2024-10-14 11:26:26 +08:00
Yer11214
8d4df4b66e Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-10-07 22:26:15 +08:00
Yer11214
604447508a fix: oss选择图片不展示报错bug 2024-10-07 22:26:13 +08:00
misworga831
6f30949620 fix: 移动端楼层装修促销活动移除优惠券.pc端楼层装修快捷导航外部链接无法填写问题 2024-09-23 21:18:27 +08:00
chc
10e8e82fe4 增加部分发货状态 2024-09-18 15:25:04 +08:00
Yer11214
5227e0ae13 优惠券列表样式修改 2024-09-08 23:10:23 +08:00
misworga831
cf193f4eab fix: 优化店铺oss分组删除问题 2024-09-05 14:29:10 +08:00
RyanRan
708ae53fe2 docs: seller 端 axios修改 timeout过期时间 2024-07-24 14:45:46 +08:00
Yer11214
aed57177dd update README.md.
Signed-off-by: Yer11214 <17633066053@163.com>
2024-07-19 02:12:28 +00:00
Yer11214
e916a03ff8 update README.md.
Signed-off-by: Yer11214 <17633066053@163.com>
2024-07-19 02:10:18 +00:00
pikachu1995@126.com
859d60c0bf Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-07-18 14:30:27 +08:00
pikachu1995@126.com
1eeaf38638 优化店铺资源管理页面 2024-07-18 14:30:14 +08:00
RyanRan
ca09bbe3fc Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-07-18 14:05:02 +08:00
RyanRan
57b42bdc66 删除.npmrc以及.yarnrc命令 2024-07-18 14:05:00 +08:00
misworga831
88c31d157e fix: 修复商品编辑规格第一个规格值无效问题 2024-07-18 09:44:46 +08:00
RyanRan
c738274423 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-07-17 14:52:42 +08:00
RyanRan
1c62ee6efe docs: 删除package.json中无用的引用导致报错 2024-07-17 14:52:22 +08:00
Yer11214
4fcb24607d update README.md.
修改readme文档

Signed-off-by: Yer11214 <17633066053@163.com>
2024-07-12 06:26:28 +00:00
RyanRan
52ce1e795c fix: buyer端删除 package-lock.json 2024-07-10 13:15:29 +08:00
pikachu1995@126.com
39c4593d9e 优化支付、短信的配置内容 2024-07-07 14:04:19 +08:00
pikachu1995@126.com
6ae288cf01 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-07-02 14:56:20 +08:00
pikachu1995@126.com
bab54570fe 优化结算单详情以及分销相关页面展示 2024-07-02 14:56:10 +08:00
Yer11214
2551c76d97 删除文件 buyer/yarn.lock 2024-07-02 03:15:18 +00:00
pikachu1995@126.com
e3a5583802 商家增加库存导出导入api 2024-06-28 10:44:53 +08:00
pikachu1995@126.com
b03adc1b1f 优化微信支付的参数配置 2024-06-28 09:09:01 +08:00
pikachu1995@126.com
6e9d725f6d 支持店铺通过excel批量更新商品库存功能 2024-06-27 17:09:58 +08:00
pikachu1995@126.com
92559ca9e7 优化订单导出功能 2024-06-26 11:51:22 +08:00
misworga831
3bfa99f578 fix: 修复优惠券使用范围中的部分商品分类 2024-06-14 11:30:53 +08:00
misworga831
30b85163b7 fix: 临时注释优惠券使用范围中的部分商品分类(后续改为部分店铺分类) 2024-06-13 16:11:00 +08:00
15386982806
ef528a2952 OSS资源修改分组 2024-05-27 16:41:34 +08:00
lele0521
907e9d35a7 fix: 增加订单备注 2024-05-15 17:56:06 +08:00
lele0521
d003e5da70 fix: 增加订单备注 2024-05-15 16:57:27 +08:00
lele0521
19530988ce Merge remote-tracking branch 'origin/master' 2024-05-15 15:57:00 +08:00
lele0521
4e9baebcf5 fix: 增加订单备注 2024-05-15 15:56:50 +08:00
RyanRan
3a1cbfe8bb fix: 🐛 修改昨天提交判断出错bug 2024-05-10 17:36:55 +08:00
RyanRan
c16b37c8bc feat: pc端新增专题功能 2024-05-09 18:38:22 +08:00
15386982806
0c6703f04d 修改促销活动展示问题 2024-04-23 11:28:44 +08:00
lele0521
3471caf00a fix: 商品导入后,导入动态样式未取消 2024-04-22 16:34:09 +08:00
lele0521
ad28e70a07 fix: 运营后台首页统计数据,处理默认数据显示 2024-03-29 11:46:34 +08:00
lele0521
47315963f1 fix: 订单支付超时跳转对应页面 2024-03-27 15:36:56 +08:00
15386982806
fb8fa9e787 修改OSS资源回显 2024-03-26 18:07:20 +08:00
lele0521
223fa7ca05 fix: 修复商品评价中商家回复信息的展示 2024-03-25 16:31:03 +08:00
Yer
b568c242e3 perf: 🐛 修改个人资料后应该直接刷新页面,获取最新数据 2024-03-24 09:02:15 +08:00
15386982806
e4283e1c53 修改编辑会员地址 2024-03-21 19:19:59 +08:00
15386982806
25f9cc1095 修改编辑店铺入参 2024-03-21 18:51:39 +08:00
15386982806
85729e3761 我的评价展示商家回复 2024-03-21 17:38:47 +08:00
15386982806
fa0a0cb1d8 优化订单统计展示、修改店铺校验 2024-03-21 17:12:16 +08:00
15386982806
e7ee256b80 会员回收站列表 修改器启用提示信息 2024-03-21 16:19:02 +08:00
lele0521
36190438f0 fix: OSS资源管理运营端增加按店铺名称搜索 2024-03-19 17:58:45 +08:00
chc
ce629a1fb6 PC端增加修改价格字段 2024-03-15 16:29:13 +08:00
15386982806
f989d1ef4e OSS资源回显问题 2024-03-15 10:35:25 +08:00
chc
99455dee58 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-03-11 16:08:13 +08:00
chc
c7bd7223bc 多货物订单无售后按钮 2024-03-11 16:08:05 +08:00
chc
8166f90f0f 多SKU订单无申请售后按钮 2024-03-11 15:49:35 +08:00
15386982806
8b2587daa7 修改商家端素材管理样式 2024-03-07 19:32:25 +08:00
Yer
82e047c797 style: 2024-03-07 15:48:22 +08:00
misworga831
3cefb40ccb merge conflict 2024-02-28 09:14:38 +08:00
misworga831
8bba4a1e48 fix: 修复编辑商品sku规格项时,值为空鼠标移出后显示错误问题 2024-02-28 09:13:16 +08:00
Yer
a12f317aa8 fix: 🐛 修改部分页面点击回车刷新页面bug 2024-02-27 11:56:43 +08:00
Chopper711
1d133af38d fix: 淘宝镜像源地址https证书过期问题处理 2024-02-19 18:06:26 +08:00
chc
9cab354cbb 去除商家修改收货地址的长度限制 2024-02-19 15:04:05 +08:00
chc
c0385414ca 隐藏普通发货功能,使用分包裹发货 2024-02-18 16:12:26 +08:00
Yer
4f7846dc4e Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2024-02-02 18:29:12 +08:00
Yer
01beac9265 fix: 🐛 优化管理端商品分类添加/修改/删除 之后原有的 层级关闭问题 2024-02-02 18:29:10 +08:00
15386982806
77ad146e24 商家端优化OSS资源管理 2024-02-02 18:09:29 +08:00
15386982806
6c1c47de1d 管理端优化OSS资源管理 2024-02-02 17:24:57 +08:00
lele0521
b3cac070df fix: 管理端-结算单流水去除(flowType: "PAY") 2024-01-30 09:39:37 +08:00
Yer
daf1b20f67 fix: 🐛 修改订单设置退单描述问题 2024-01-29 14:53:04 +08:00
Yer
2316fb8d11 fix: 🐛 修改订单配置中描述错误bug 2024-01-29 14:08:24 +08:00
lele0521
43159335f8 Revert "分销结构优化"
This reverts commit 63b22f4c86.
2024-01-26 13:35:47 +08:00
misworga831
0e56c2038d Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2024-01-25 17:51:09 +08:00
misworga831
0840740e2c fix: 优化秒杀展示 2024-01-25 17:50:55 +08:00
15386982806
e2404f0f3b Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-01-25 13:20:57 +08:00
15386982806
5e9a258cc8 隐私协议右侧添加手机查看效果 2024-01-25 13:20:46 +08:00
misworga831
8cfc420085 fix: 买家端虚拟商品订单不显示地址信息 2024-01-25 09:36:04 +08:00
misworga831
83593bd015 fix: 优化虚拟商品不需要收货地址 2024-01-24 19:23:34 +08:00
pikachu1995@126.com
c1cdf97edb Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-01-24 14:58:11 +08:00
pikachu1995@126.com
eca8370c70 结算单详情调优 2024-01-24 14:58:01 +08:00
chc
54502b331f Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-01-24 11:33:21 +08:00
chc
0ec5955ea0 库存预警,分类搜索问题 2024-01-24 11:33:12 +08:00
pikachu1995@126.com
b70a9bf0c0 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-01-24 09:47:11 +08:00
pikachu1995@126.com
fb20cb32da 结算单详情调优 2024-01-24 09:46:59 +08:00
chc
a314373e64 商品编辑数据可能被覆盖问题 2024-01-23 16:51:10 +08:00
pikachu1995@126.com
4976b87c4e Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-01-23 10:33:08 +08:00
misworga831
3b9e54375a fix: 修复删除sku图片无效问题 2024-01-23 10:06:36 +08:00
misworga831
8b15cfb0b1 fix: 兼容旧版本图片格式 2024-01-22 18:11:25 +08:00
pikachu1995@126.com
ff02cce191 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-01-22 15:24:41 +08:00
misworga831
83beb81a3b fix: 兼容旧版本图片格式 2024-01-22 14:39:43 +08:00
misworga831
de89249d3e improved: 优化sku编辑 2024-01-22 14:09:00 +08:00
chc
77732e766a Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-01-18 11:46:30 +08:00
chc
21c91cfcf1 库存预警 2024-01-18 11:46:11 +08:00
Yer
ebaf5e34d8 fix: 🐛 修改商家端订单评论发现的bug 和后端字段不统一 2024-01-17 18:35:11 +08:00
15386982806
94e389ab23 编辑商品字符长度限制 2024-01-16 18:09:11 +08:00
15386982806
7ba94c7fe1 编辑商品详情 2024-01-16 17:54:28 +08:00
15386982806
c47394a162 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-01-16 17:29:39 +08:00
15386982806
bf8afdc0f4 买家端订单状态 2024-01-16 17:29:19 +08:00
chc
3df17ed33f Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-01-16 17:28:33 +08:00
chc
dc6d3b3743 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2024-01-16 17:28:25 +08:00
15386982806
6e626f6e11 买家端订单退款状态 2024-01-16 17:27:05 +08:00
chc
d20da31f2c 库存预警 2024-01-16 17:26:09 +08:00
15386982806
2182cd012a 商品详情展示此规格的价格 2024-01-16 16:33:43 +08:00
15386982806
71c629cb06 运费模板 品牌 计量单位刷新成功提醒 2024-01-16 11:12:07 +08:00
15386982806
185d675abf 库存预警还原 2024-01-16 10:45:03 +08:00
chc
6221b59b21 库存预警回退 2024-01-16 10:18:39 +08:00
15386982806
07f320ca2f 修改订单查询物流样式 2024-01-11 14:45:17 +08:00
15386982806
9908b83b18 商家端优化库存预警,管理端 商家端隐藏所有促销活动的删除按钮 2024-01-11 13:32:39 +08:00
15386982806
9ce1c966eb 订单支持分包裹发货 2024-01-10 19:15:24 +08:00
15386982806
c81eff58d3 上传图片采用素材管理 2024-01-09 17:09:23 +08:00
15386982806
92b61a203f 商家端图片上传采用素材管理上传 2024-01-09 16:39:52 +08:00
15386982806
b1f9c0adf2 商家端添加OSS资源素材管理 2024-01-08 17:59:49 +08:00
15386982806
c5d75a3570 运营后台商品详情展示此规格的价格 2024-01-05 16:28:36 +08:00
15386982806
42c64920b1 商品规格字符长度限制 2024-01-05 15:54:10 +08:00
15386982806
77e7d095a7 运费模板 品牌 计量单位 支持刷新功能 2024-01-05 15:10:48 +08:00
15386982806
560199944d PC端订单货物展示退款状态与实际退款金额 2024-01-05 14:00:22 +08:00
15386982806
21ae217369 订单取消状态改为已关闭、订单货物展示退款数量 2024-01-05 10:08:37 +08:00
mahe
4565297fe6 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-12-22 17:41:30 +08:00
mahe
118e68b8ac fix: 修复楼层装修跳转错误 2023-12-22 17:41:19 +08:00
Yer
a03f908e96 style: 🐛 修改店铺入驻协议样式问题 2023-12-22 17:35:51 +08:00
Yer
0b6dcf17d1 fix: 🐛 修改 im cdn 2023-12-22 17:13:18 +08:00
Yer
5136f8b3dd fix: 🐛 修改商家端楼层装修bug 2023-12-22 14:31:39 +08:00
mahe
286295393d 发布商品增加局部刷新与去除成本价 2023-12-18 18:04:44 +08:00
mahe
195ea35798 修改图片超出内容问题 2023-12-18 15:35:20 +08:00
mahe
053279f60d 修改店铺分类未展示 2023-12-18 14:43:58 +08:00
Chopper711
9bfb7e8b69 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-12-11 07:58:28 +08:00
Chopper711
c82f8a6de3 fix: 部门搜索功能bug修复 2023-12-11 07:58:22 +08:00
Yer
749147cfad feat: 商家端富文本改为本地引入 2023-12-01 11:38:31 +08:00
Yer
4429227665 feat: 商家端富文本改为本地引入 2023-12-01 11:38:01 +08:00
Yer
3ec0e9d997 feat: 新增富文本本地引入 2023-12-01 10:47:33 +08:00
Chopper711
904046f02c Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-11-30 18:50:01 +08:00
pikachu1995@126.com
5a29215b80 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-10-26 14:34:49 +08:00
misworga831
508a00d103 fix: 优化编译脚本 2023-10-18 08:14:54 +08:00
misworga831
5385d10bc8 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-10-16 18:20:34 +08:00
misworga831
08b4a04791 resolve conflict 2023-10-16 18:20:29 +08:00
misworga831
218cee2aef fix: 优化售后订单搜索 2023-10-16 18:16:28 +08:00
pikachu1995@126.com
63b22f4c86 分销结构优化 2023-10-16 16:00:15 +08:00
Chopper711
709a3f71fd Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-10-13 11:14:19 +08:00
Yer
f7589e42ab Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-10-11 16:36:38 +08:00
Yer
0e7008862e feat: 新增弹出页以及广告页面开启关闭提示 2023-10-11 16:36:36 +08:00
misworga831
7e88ee930b resolve conflict 2023-10-11 10:11:11 +08:00
chc
e935f2a3e3 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-10-10 11:29:15 +08:00
chc
9d442a2aa1 订单统计切换分页问题处理 2023-10-10 11:26:50 +08:00
Yer
eed6ba43d9 合并提交 2023-10-09 13:30:56 +08:00
Yer
b2c286f0f5 fix: 🐛 修复在统计图中可能出现的Bug 2023-10-09 13:27:13 +08:00
misworga831
2aae5a4bff fix: 修复拼团批量删除,所选数量不正确问题 2023-09-30 17:48:35 +08:00
“Yer”
c88c1865e7 fix: 🐛 修改统计图已发现的问题 2023-09-30 16:18:27 +08:00
Chopper711
7152e339e5 fix: 前后端交互数据出现问题处理 2023-09-27 07:07:22 +08:00
pikachu1995@126.com
46143beb83 添加文件-文件夹 2023-09-26 18:48:55 +08:00
Yer
2c66eaae2b fix: 🐛 修复已知统计问题 2023-09-26 15:53:13 +08:00
Yer
b8c74ac84c Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-09-26 15:02:20 +08:00
Yer
cb210916eb style: 调整投诉详情页面的样式 2023-09-26 15:02:17 +08:00
Chopper711
f968f3d20d refactor: 重构PC分享页面,优化布局展示,增加移动端二维码展示 2023-09-25 15:02:57 +08:00
Chopper711
4ef2496221 店铺菜单管api 补充提交 2023-09-25 12:13:07 +08:00
Chopper711
b2b56178a2 菜单权限url增加长度限制 2023-09-25 12:05:05 +08:00
Chopper711
525838468c refactor: 增加店铺菜单维护页面 2023-09-25 11:58:34 +08:00
Yer
ef92bcfe3a fix: 🐛 修改部分已知的Bug 2023-09-25 10:05:41 +08:00
Yer
ed72c2ffc2 style: 关闭文章列表在楼层中添加文章功能 2023-09-22 11:51:18 +08:00
Yer
9f94c2013a style: 调整商品选择器,店铺选择器代码 2023-09-22 10:49:11 +08:00
misworga831
8666254ffe Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-09-19 09:37:04 +08:00
Yer
e13fc57ae7 fix: 🐛 修复已知的bug 2023-09-19 09:25:57 +08:00
misworga831
c6cf90fb4e fix: 优化统计数据文本显示 2023-09-18 16:59:23 +08:00
Yer
fff086a3a1 feat: 新增商品审核中多个规格以及库存展示 2023-09-18 16:45:30 +08:00
misworga831
b7a2a5af6d fix: 修复管理端商品分类,编辑时状态显示错误问题及佣金比例限制 2023-09-18 16:04:25 +08:00
Yer
1786dfeee2 fix: 🐛 修复几个已知的bug 2023-09-18 15:36:46 +08:00
Yer
2c32088f4c feat: 优化部分代码,新增审核商品视频 2023-09-15 19:43:41 +08:00
Yer
71f61461ce Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-09-14 18:07:44 +08:00
Yer
54be87efea fix: 🐛 解决几个发现的重置bug 2023-09-14 18:07:42 +08:00
misworga831
76fc55fdd0 improve: 统一物流单号名词 2023-09-14 16:58:35 +08:00
misworga831
5d5a845523 fix: 完善文字性描述 2023-09-14 15:06:59 +08:00
Yer
4f915a32b6 fix: 🐛 解决几个已知的bug 2023-09-14 13:58:50 +08:00
Yer
78df54d153 fix: 🐛 修复几个已知bug 2023-09-14 09:11:25 +08:00
Yer
24554a0768 feat: 编辑会员新增默认头像展示 2023-09-13 17:25:35 +08:00
Yer
ffe03fd785 feat: 买家端查看商品详情新增商品参数功能,修复几个已知的bug 2023-09-13 16:06:42 +08:00
Yer
4b635735ae Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-09-05 11:28:26 +08:00
Yer
79c1e2c5bb fix: 🐛 修复填写支付宝微信支付秘钥被截断问题 2023-09-05 11:28:23 +08:00
Yer11214
cf9f9fb7dd style: 💄 PC端收藏商品中收藏店铺添加跳转以及优化样式 2023-08-26 13:48:04 +08:00
Yer
2bcefc1306 fix: 🐛 解决商品编辑中重新选择分类、商品参数不更新问题 2023-08-24 16:40:28 +08:00
Chopper711
39547b542c style: 默认描述增加 2023-08-22 16:08:54 +08:00
Yer
8c9246faa4 fix: 🐛 修复商家端菜单切换之后active样式丢失问题 2023-08-16 16:29:45 +08:00
Yer
74b180f6d3 fix: 🐛 修改展示字错误 2023-08-14 15:53:44 +08:00
Yer
ac26690e78 fix: 🐛 修改部分已知的bug 2023-08-11 17:41:44 +08:00
Yer
d642e00844 fix: 🐛 修改订单详情因为发票信息可能出现的bug 2023-08-10 16:53:14 +08:00
Yer
7bbb657379 perf: 优化地区选择器代码 2023-08-10 11:29:57 +08:00
Yer
00a56473f1 fix: 🐛 优化买家端首页点击回到顶部的判断 2023-08-09 15:32:44 +08:00
Yer
e138275c0a fix: 📝 补充提交 2023-08-09 14:57:35 +08:00
Yer
9e7a1b3ee3 feat: 商家端新增楼层数据保存到本地功能 2023-08-09 14:56:57 +08:00
Yer
c5e06ad1f2 feat: 新增管理端楼层装修保存到本地功能 2023-08-09 14:42:23 +08:00
Yer
128ad892d1 feat: 买家端使用最新地址选择器,默认在config关闭高德地图功能,开启后可继续使用 2023-08-03 16:36:41 +08:00
Yer
552b4c605d feat: 地图选择器 2023-08-03 10:38:07 +08:00
Yer
8b33dbe8d7 feat: 管理端使用最新地址选择器,默认在config关闭高德地图功能,开启后可继续使用 2023-08-03 10:37:53 +08:00
Yer
8a43335b75 feat: 商家端使用最新地址选择器,默认在config关闭高德地图功能,开启后可继续使用 2023-08-02 10:53:14 +08:00
“Yer”
a4d17102f1 style: 💄 修改文章页面红线突兀样式 2023-07-31 17:48:30 +08:00
Yer
d02d0adb39 fix: 🐛 修改PC首页跳转bug 2023-07-28 17:11:19 +08:00
Yer
c86cecf4f0 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-07-25 10:10:22 +08:00
Yer
7bc5d67efc feat: 商家端新增redirect登录功能 2023-07-25 10:10:20 +08:00
misworga831
d058d7d6e8 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-07-24 15:11:03 +08:00
misworga831
914fa0a324 fix: 优化统计数据文本展示 2023-07-24 15:10:52 +08:00
Yer
4389911436 买家端展示视频判断 2023-07-24 14:26:07 +08:00
Yer
841d48e2a7 style: 🐛 修改几个console警告问题 2023-07-21 11:17:40 +08:00
Yer
b6c16e7048 提交优化一个小问题 2023-07-20 18:10:16 +08:00
Yer
9fce33ca18 买家端新增视频播放功能 2023-07-20 16:50:43 +08:00
Yer
6a653198c3 商家端新增上传视频功能 2023-07-19 14:08:32 +08:00
Yer
2c8e34008f 轮播图 string类型改成 number类型 要不然有警告 2023-07-14 13:45:00 +08:00
Yer
6feb650f06 优化Buyer端展示 2023-07-14 13:42:35 +08:00
Yer
873764b59e feat: 管理端添加多标签Tab页内嵌模式设置 2023-07-14 09:19:52 +08:00
Yer
36ef331b94 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-07-13 17:24:03 +08:00
Yer
308619fbdd feat: buyer端新增 平台/店铺切换搜索,管理端意见按照时间反馈排序展示 2023-07-13 17:24:00 +08:00
pikachu1995@126.com
6dec218e81 删除无用的配置项 2023-07-13 16:00:09 +08:00
Yer
f9717eb7ac 微信消息订阅模板 描述文字更换 订阅 改成 初始化 2023-07-11 17:10:54 +08:00
Chopper711
cb10bd97a0 店铺编辑管理端排版处理 2023-07-11 15:35:25 +08:00
Yer
430894eb69 删除管理端中 物流公司中需要填写的电子表单 2023-07-11 15:07:10 +08:00
Yer
34cb3b4a29 style: 💄 优化PC首页展示以及店铺中搜索商品未携带id问题 2023-07-11 11:45:29 +08:00
Yer
b89f81e5d6 fix: 🐛 修复日志管理中开发人员操作时间展示问题 2023-07-10 10:13:38 +08:00
Yer
604bdcaf77 fix: 🐛 修改日志模块中操作时间展示问题 2023-07-10 09:49:14 +08:00
Yer
a46cd8ee97 优化最新pc首页展示的问题 ,删除秒杀活动默认展示以及轮播图新增自动滚动 2023-07-07 09:21:07 +08:00
Yer
7e14569479 补充提交 2023-07-06 17:23:46 +08:00
Yer
3c296ea011 feat: 新增楼层装修 更改部分买家端UI 2023-07-06 17:21:38 +08:00
Yer
8529641145 优化了部分展示功能 2023-07-06 16:21:25 +08:00
Yer
b133502062 补充提交 2023-07-06 15:37:59 +08:00
Yer
5470253626 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-07-06 11:44:17 +08:00
Yer
6b697f9ecd feat: 新增多标签Tab页内嵌模式 2023-07-06 11:44:15 +08:00
pikachu1995@126.com
44558d9072 运营后台-售后列表,售后状态展示优化 2023-07-05 11:42:25 +08:00
pikachu1995@126.com
8dbd5429f0 运营后台-订单列表,订单状态展示优化 2023-07-05 11:11:39 +08:00
Yer
3c83179579 feat: 管理端新增格式化价格文件插件并在代码中引入,更新代码需要install插件 2023-07-04 10:24:21 +08:00
Yer
bf70527c58 feat: 商家端新增格式化价格文件插件并在代码中引入,更新代码需要install插件 2023-07-03 16:28:58 +08:00
Yer
26a539662e fix: 🐛 修改在买家端商品详情中因为categoryName为空导致页面出错不展示bug 2023-06-16 10:58:06 +08:00
mahe
48f2bd82a1 修改热区无法跳转专题问题 2023-06-15 09:44:46 +08:00
mahe
73c2654cc5 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-06-09 17:42:16 +08:00
mahe
49dfd644a2 修改优惠券展示问题 2023-06-09 17:39:59 +08:00
chc
09ce16dc95 IM携带商品信息 2023-06-01 10:10:51 +08:00
Chopper711
5b58d1de5e fix:之前的部分售后逻辑补足,不过代码判定存在问题,需要未来进行优化 2023-05-31 15:04:46 +08:00
Yer
775b339c17 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-05-26 16:54:29 +08:00
Yer
1ef8dd26cf fix: 🐛 修改店铺详情bug 2023-05-26 16:54:26 +08:00
yeliang-king
b36be16f38 会员修改刷新列表 2023-05-16 17:10:48 +08:00
Yer
1c765f37cf feat: 新增pc端 商品下架功能 2023-05-10 13:51:24 +08:00
Yer
724922dddc Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-05-09 11:42:44 +08:00
Yer
9dece4dd2c fix: 🐛 修复规格列表中,第一次新增规格点击编辑不回显问题 2023-05-09 11:42:41 +08:00
mahe
4a628acd37 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-05-09 11:05:49 +08:00
mahe
5c3501f08d 优化系统设置中的警告 2023-05-09 11:05:40 +08:00
misworga831
ad09b38ed5 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-05-08 18:42:09 +08:00
misworga831
c60a54b8f9 fix: 修复满减活动没有传递范围参数 2023-05-08 18:41:56 +08:00
Chopper711
056386e8e9 fix:用户端提现状态展示问题处理 2023-05-06 16:34:33 +08:00
Chopper711
8ad79b8728 fix: 兼容提现失败前端的展示 2023-05-06 16:23:29 +08:00
Chopper711
a78374910f fix: 兼容提现失败前端的展示 2023-05-06 16:23:27 +08:00
mahe
4318e8d0da 修改店铺装修选择链接问题 2023-05-06 16:07:30 +08:00
mahe
4ace1a9cca 增加店铺楼层装修图片热区功能 2023-05-06 15:57:34 +08:00
chc
7ded1c564e 类型保存问题 2023-04-26 11:02:24 +08:00
chc
28d68bdca6 去除电子面单必填校验 2023-04-25 10:40:31 +08:00
9181befdf9 秒杀增加card,满额详情不展示操作列 2023-04-23 10:23:32 +08:00
87b3cbe344 满额活动增加card样式 2023-04-23 09:33:16 +08:00
Yer
8b0ca5ba7e Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-04-21 17:36:05 +08:00
Yer
b30be8efb2 优化商城端可以重复搜索内容 2023-04-21 17:36:02 +08:00
Yer
2213f0d0ce 新版楼层装修样式修改以及链接修改 2023-04-21 17:25:16 +08:00
夜良king
0883a967b6 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-04-19 10:34:43 +08:00
夜良king
c8e8685586 删除多余的文字 2023-04-19 10:34:32 +08:00
73ce45aff9 虚拟订单展示物流bug 2023-04-17 17:41:16 +08:00
e954cf4d92 订单详情重复展示问题 2023-04-17 11:31:52 +08:00
d1a974f6b0 规格列表,编辑不回显问题 2023-04-17 10:13:29 +08:00
39f7f1ed38 修改规格列表多余提示 2023-04-17 09:29:26 +08:00
lemon橪
5380cf9ba9 Merge remote-tracking branch 'refs/remotes/origin/master' 2023-04-15 09:37:13 +08:00
lemon橪
6e9ca81b58 fix: 🐛 修改系统设置oss设置表单校验不通过问题 2023-04-15 09:36:36 +08:00
学习很差啦
531ed5b2dd Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui into dev-feature 2023-04-12 11:07:47 +08:00
学习很差啦
ebc79da0fc feat: 对原有填写金额的input框进行改进,优化部分样式问题 2023-04-12 11:06:25 +08:00
学习很差啦
1cbafbce25 最新楼层装修模块 2023-04-07 16:47:27 +08:00
学习很差啦
816d842a57 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui into dev-feature 2023-04-07 10:12:01 +08:00
misworga831
e5c25895a0 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-04-04 15:15:09 +08:00
misworga831
1abc7a5a52 fix: 适配新获取商品返回结果 2023-04-04 15:14:41 +08:00
学习很差啦
170244cc9c style: 修改部分页面中展示细节,分销订单中新增状态展示,统计模块优化代码,热词模块 历史热词默认展示昨天热词,以及优化热词统计 2023-04-03 14:22:07 +08:00
学习很差啦
3498de4529 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-03-31 18:16:37 +08:00
学习很差啦
16b0d457fc style: 新增部分代码注释 页面新增部分提示 2023-03-31 18:16:33 +08:00
misworga831
87b6ddbaa6 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-03-31 17:14:29 +08:00
misworga831
2f6e50cc1c fix: 适配新获取商品返回结果 2023-03-31 17:14:22 +08:00
Chopper711
aa196918bf update README.md.
Signed-off-by: Chopper711 <1814994716@qq.com>
2023-03-31 07:23:51 +00:00
学习很差啦
5958353383 楼层装修新增内容 2023-03-31 15:22:38 +08:00
lemon橪
f37f633f51 新增部分楼层 2023-03-29 14:05:31 +08:00
chc
8c286610ba 待自提状态 2023-03-29 10:06:59 +08:00
chc
d2540733dc fix: 电子面单参数显示错误 2023-03-28 17:00:19 +08:00
chc
ab56bdfcad 规格问题 2023-03-27 19:45:53 +08:00
Chopper711
803eae5c7d style:按钮空格 2023-03-23 16:44:28 +08:00
学习很差啦
6b3892e17d 楼层装修新特征 2023-03-22 16:22:10 +08:00
学习很差啦
500afcc33f 楼层装修新特征 2023-03-22 16:22:01 +08:00
pikachu1995@126.com
64c61d5365 Merge branch 'master' into Bulbasaur 2023-03-22 08:43:05 +08:00
chc
bf58711c88 -fix APP版本时间问题,微信消息修改时间问题 2023-03-15 19:41:08 +08:00
学习很差啦
48b3e3246c Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-03-15 10:44:05 +08:00
学习很差啦
8f629db5ab feat: 新增全局Input表单默认最大输入值,开放config全局配置 2023-03-15 10:44:02 +08:00
Chopper711
1ca94d289a fix: 关闭优惠券按钮状态判定未判定新活动状态导致新活动点击关闭按钮无效 2023-03-15 10:19:03 +08:00
17600048398
3159c325e3 商品分类移除多余字符 2023-03-14 11:18:17 +08:00
17600048398
b51040c73e 物流管理-关闭物流传参错误问题, 2023-03-14 09:10:18 +08:00
17600048398
f4ddeaa5c5 前端问题处理 2023-03-09 18:16:10 +08:00
misworga831
8599708af3 Increase payment support and update parameters
- Improved payment system with WeChat and AliPay support
- Increased minimum recharge amount to `1`
- Added maximum of `9` characters for the recharge amount
- Added minimum withdraw amount setting
- Added real name field for AliPay
- Added third-party login field for AliPay
- Added maxlength of `9` characters for the withdraw amount
- Added a span tag to append '元' to the recharge amount
- Added a new function `with

[buyer/src/pages/home/userCenter/MoneyManagement.vue]
- Raise the minimum recharge amount to `1`
- Allow for a maximum of `9` characters for the recharge amount
- Added support for WeChat and AliPay
- Added a minimum withdraw amount setting
- Added a real name field for AliPay
- Added a third-party login field for AliPay
- Added maxlength of `9` characters for the withdraw amount
- Added a span tag to append '元' to the recharge amount
- Fixed typo
[buyer/src/api/pay.js]
- Add a new function `withdrawalSettingVO` for payment result inquiry
- Change the parameters for `payCallback` function
2023-03-08 21:58:29 +08:00
pikachu1995@126.com
72fb11d3d3 Merge branch 'master' into Bulbasaur 2023-03-08 18:42:17 +08:00
chc
7d0b3c6908 feat: 商家端增加修改密码,手机号登录 2023-03-08 10:25:23 +08:00
chc
f7a9bff2ba feat: 集成顺丰平台,发货,查询物流,打印面单 2023-03-06 18:00:11 +08:00
chc
4fd419fcfe Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-03-02 17:55:47 +08:00
chc
f72c28d770 fix: 🐛 关闭物流公司传递参数错误,css /deep/拼写错误 2023-03-02 17:55:36 +08:00
pikachu1995@126.com
7c775f7692 增加提现设置内容:提现方式、最低提现金额、微信提现应用ID 2023-03-02 06:52:15 +08:00
学习很差啦
ac0404adaa 补充提交im ws-socket中发现的问题 2023-03-01 17:51:43 +08:00
学习很差啦
40ccbf3edb fix: 🐛 买家端buyer im传值优化 2023-03-01 15:25:00 +08:00
学习很差啦
2aa7b67b7a Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-03-01 14:59:57 +08:00
学习很差啦
4700bc995a feat: 优化im 接口403判定,新增从买家端以及卖家端进行跳转im权限判定,新增im掉线重连以及重连成功提醒,新增发送的消息断线将会进行重新发送消息提示,优化最近浏览 订单列表空展示。注释部分im打印的日志信息 2023-03-01 14:59:54 +08:00
Chopper711
7052fa7420 !31 修复添加源时默认切换源类型不正确问题
Merge pull request !31 from Jimi/master
2023-02-28 03:32:00 +00:00
Jimi
08c62e5c9c fix:修复添加源时默认切换源类型不正确问题 2023-02-28 09:21:41 +08:00
学习很差啦
32b29f45e7 修改直播价格展示信息错误 2023-02-21 14:25:32 +08:00
学习很差啦
49d023cef0 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-02-17 11:28:29 +08:00
学习很差啦
674c2352ef feat: 新增im接口权限失效判定,优化买家显示样式以及卖家样式。 2023-02-17 11:28:26 +08:00
pikachu1995@126.com
96156508b5 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-02-16 18:16:17 +08:00
pikachu1995@126.com
802f13e6e5 存储新增:腾讯云、华为云
短信新增:腾讯云、华为云
物流新增:快递100
2023-02-16 18:15:39 +08:00
学习很差啦
5d24dda4c1 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-02-16 16:28:25 +08:00
学习很差啦
2207d11c7c 修改入驻电话校验 2023-02-16 16:28:24 +08:00
495096c779 im跳转问题 2023-02-16 15:57:18 +08:00
9375ba9e31 im金额格式化 2023-02-13 09:24:30 +08:00
42a24d854b im路径跳转 2023-02-09 16:34:01 +08:00
cc31b6232f im聊天发送中文问题 2023-02-09 15:59:08 +08:00
092873592d Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-02-09 15:14:05 +08:00
70757e8adf IM商家端不显示问题 2023-02-09 15:13:55 +08:00
Chopper711
b1fb019b01 update README.md.
Signed-off-by: Chopper711 <1814994716@qq.com>
2023-02-09 03:21:07 +00:00
15386982806
ed4f78bf6a 用户PC端,我的订单,根据订单号搜索框展示不全问题修改 2023-02-08 18:18:09 +08:00
chc
826ba41866 自提地址最下方显示问题 2023-02-03 17:26:49 +08:00
mahe
4886b53847 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-02-03 10:22:13 +08:00
mahe
56d6401cda 调整im样式,过滤数据 2023-02-03 10:22:06 +08:00
夜良king
36794613cd Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-02-03 10:06:50 +08:00
夜良king
cfd2529caf 修改错别字 2023-02-03 10:06:22 +08:00
chc
f0628c5995 失效商品导致页面不展示 2023-02-02 18:04:49 +08:00
chc
4780ae5b18 核销自提订单 2023-02-02 17:06:32 +08:00
chc
5a93abb946 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-02-01 15:03:51 +08:00
chc
d371fd0146 IM功能 2023-02-01 15:03:40 +08:00
misworga831
c850a27cca fix: 🐛 修复规格值为空后,规格错乱问题 2023-02-01 10:18:38 +08:00
chc
a97ed0c3f6 接口问题修改 2023-01-31 17:42:36 +08:00
15386982806
3c65de9912 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-01-31 17:07:36 +08:00
15386982806
c6e1cc060a 重置用户密码 2023-01-31 17:07:28 +08:00
chc
9df377677b 开启面单按钮问题 2023-01-19 17:26:31 +08:00
chc
69caf86c7e 下载问题 2023-01-19 17:25:07 +08:00
15386982806
c86d863f1d 修改积分商品回显问题 2023-01-18 11:28:46 +08:00
c130597e95 im商家接口问题 2023-01-13 18:16:14 +08:00
5d16a7a80e 转换表情 2023-01-13 10:53:39 +08:00
bad9f9109c im当前浏览发送问题 2023-01-12 17:10:34 +08:00
7e33598b8e 宽度,表情 2023-01-12 14:34:38 +08:00
lemon橪
83f145767e refactor: 修改config API_DEV为线上掩饰站点api 2023-01-12 11:07:25 +08:00
8ea3843d61 足迹 2023-01-11 18:24:18 +08:00
paulGao
29cc6002cd Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2023-01-11 11:29:34 +08:00
paulGao
db33b34f18 feat: 增加优惠券领取详情和优化pc端跳转使用优惠券页面 2023-01-11 11:28:28 +08:00
73acb0bc09 跳转样式问题 2023-01-10 18:44:39 +08:00
夜良king
94ab061cc8 config 修改 2023-01-10 18:32:26 +08:00
夜良king
4f243afb63 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2023-01-10 18:27:52 +08:00
夜良king
efd3ed26df 自动发券模块(管理端加前端展示) 2023-01-10 18:27:37 +08:00
Chopper711
e7d1664673 Merge branch 'lili_self' 2023-01-09 18:47:48 +08:00
夜良king
7b7310ed75 优惠券详情 2023-01-06 10:33:10 +08:00
夜良king
c8649caf1a 商家端 规格修改 2023-01-05 10:43:37 +08:00
aaa2deef85 pc发布商品不显示IM 2022-12-30 18:40:50 +08:00
夜良king
b0ed6635e5 修改发布商品模块 商品描述 请求数据删除 2022-12-30 17:24:41 +08:00
0dc3124bba 订单列表发送 2022-12-29 18:20:06 +08:00
1135c1fbc3 滚动加载样式 2022-12-28 18:32:48 +08:00
779f6e4fa1 滚动加载样式 2022-12-28 18:31:26 +08:00
chc
f4bf4dc060 展示问题 2022-12-28 18:23:23 +08:00
84d3dd247d 滚动请求 2022-12-28 14:54:57 +08:00
61c44af5a0 ds 2022-12-28 11:25:40 +08:00
e8b7a85140 聊天 2022-12-28 11:23:46 +08:00
chc
aa4dbc1bbd 商品信息展示修改 2022-12-28 11:22:54 +08:00
3881370b6e IM 2022-12-28 10:08:51 +08:00
0fa93d545e 删除IM文件夹 2022-12-28 10:08:18 +08:00
chc
a92c213b64 IM功能 2022-12-28 09:22:05 +08:00
lemon橪
fcc9a9f8c5 fix: 🐛 解决秒杀商品中分页错误,以及删除看到的冗余代码 2022-12-26 18:03:09 +08:00
夜良king
0ffd0f0c29 goolist 虚拟/实物展示问题 2022-12-26 11:48:10 +08:00
夜良king
3afad96b8f 楼层 选择链接模板修改 2022-12-23 15:31:59 +08:00
chc
d9e1a4a491 站点图标与logo分开添加与展示 2022-12-22 15:17:13 +08:00
chc
2e4246e63b 手机号搜索消失 2022-12-19 10:19:06 +08:00
Chopper711
235d582ae2 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2022-12-07 17:01:28 +08:00
c34e2ad6ad 楼层代码注释 2022-12-07 17:00:37 +08:00
Chopper711
78b8a002e9 楼层装修问题处理 2022-12-07 16:58:51 +08:00
夜良king
29091739d4 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-12-07 10:45:25 +08:00
夜良king
aa05ee1165 去除店铺结算已审核 2022-12-07 10:45:12 +08:00
学习很差啦
2446c28b20 补充提交api地址错误问题 2022-12-07 10:42:47 +08:00
学习很差啦
8378182730 解决合并冲突 2022-12-07 10:37:24 +08:00
学习很差啦
d84250ab88 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-12-07 10:36:17 +08:00
学习很差啦
5218388eff 删除富文本中不用的插件,新增商品上传提示 2022-12-07 10:36:15 +08:00
夜良king
984bc4b635 去除 店铺 申请中状态 2022-12-07 09:58:31 +08:00
paulGao
acc9a0b88a 补全缺失接口 2022-12-06 16:42:32 +08:00
paulGao
a31c7a5ad0 fix: 修复移动端楼层装修外部链接没有地方填写问题 2022-12-06 16:32:29 +08:00
paulGao
f0882793e4 fix: 🐛 优化批发商品,起批量提示 2022-11-29 15:00:45 +08:00
paulGao
053e5ce062 fix: 🐛 优化批发商品购买数量不能低于起批量 2022-11-29 11:40:37 +08:00
mahe
34ef7e555a 修改优惠券的宽度,浏览记录分页与评论超出问题 2022-11-28 09:51:47 +08:00
chc
34165127f0 im 2022-11-23 18:43:53 +08:00
学习很差啦
4d347df505 fix: 🐛 修改 商家端楼层装中 intro 和 mobileIntro 可能存在转义符导致json出错问题 2022-11-23 14:44:46 +08:00
chc
830154371a 自提 2022-11-22 17:17:37 +08:00
学习很差啦
69c2c4c5c2 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-11-22 15:17:14 +08:00
学习很差啦
a5d067943d fix: 🐛 商家端楼层装修选择图片问题修改,以及删除商家端搜索模块 2022-11-22 15:17:09 +08:00
Chopper711
1e190e3a88 update LICENSE.
Signed-off-by: Chopper711 <1814994716@qq.com>
2022-11-21 03:23:34 +00:00
paulGao
b042bd6052 增加可链接外部页面 2022-11-18 10:13:28 +08:00
chc
3861881996 行高问题 2022-10-28 11:27:21 +08:00
chc
405bb4a216 Merge remote-tracking branch 'origin/master' 2022-10-28 09:44:47 +08:00
chc
c382f015f4 移动装修分页无效和pc装修分页样式 2022-10-28 09:44:24 +08:00
夜良king
c083a58f30 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-10-26 16:34:46 +08:00
夜良king
a78d637468 楼层装修 2022-10-26 16:34:34 +08:00
paulGao
0cb32caa3e 优化秒杀页面样式问题 2022-10-26 15:42:08 +08:00
8095aa0d8e 登陆页header footer 警告 2022-10-26 11:13:43 +08:00
chc
60117f51b3 商家跳转404 2022-10-26 08:57:31 +08:00
chc
b51a5e6deb 店铺 2022-10-25 19:22:52 +08:00
chc
b9869053c2 wapList 2022-10-25 18:50:54 +08:00
chc
f1753babbe 跳转问题 2022-10-25 18:35:48 +08:00
chc
05f8defe56 配置文件 2022-10-25 17:32:49 +08:00
chc
af115c45cc 配置文件 2022-10-25 17:32:09 +08:00
学习很差啦
532fc8b2dd fix: 🐛 修改演示站点多展示专题问题 2022-10-24 11:10:33 +08:00
chc
fa8aa633bf v4.2.5 2022-10-21 11:22:56 +08:00
chc
dca8ee512f 导入提示 2022-10-20 17:30:31 +08:00
学习很差啦
50c3fd6af8 docs: 📝 更改楼层装修中商品分类模块的表述内容 2022-10-19 14:56:19 +08:00
学习很差啦
bb93be2fb1 feat: 楼层装修新增绑定分类功能 2022-10-19 11:56:08 +08:00
paulGao
17a4131bf1 fix: 修复新增首个规格项的规格值时。规格列表显示错乱问题 2022-10-14 15:43:39 +08:00
eb9c999a16 修改分类树形 2022-10-13 10:36:37 +08:00
学习很差啦
a70c741990 feat: 🎨 新增加专题功能 2022-10-11 17:24:37 +08:00
学习很差啦
6007dc57d5 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-10-09 18:33:32 +08:00
学习很差啦
7dfdb4f685 fix: 🐛 修改发现的代码bug 2022-10-09 18:33:30 +08:00
paulGao
0cc27f4e60 style: 优化秒杀页面显示效果 2022-10-09 16:04:25 +08:00
paulGao
163f9f26c2 fix: 🐛 修复管理端分类绑定规格无数据问题 2022-09-27 10:38:33 +08:00
学习很差啦
68ba97e590 fix: 🐛 修改扫码登录等待时间 2022-09-23 15:24:31 +08:00
学习很差啦
d36c2bdc3d fix: 🐛 解决部门中出现的bug
部门中排序代码导致页面报错不能操作
2022-09-22 09:52:42 +08:00
学习很差啦
72c64f017f Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-09-22 09:14:05 +08:00
学习很差啦
0f28a7f16c 提交微信登录不能登录问题 2022-09-22 09:14:03 +08:00
paulGao
581a1f75e1 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2022-09-21 16:29:36 +08:00
paulGao
a727001daf 适配统一接口返回值 2022-09-21 16:29:28 +08:00
学习很差啦
2f9754b2a5 优化pc二维码刷新 2022-09-21 11:07:21 +08:00
paulGao
a11452a430 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2022-09-20 19:08:16 +08:00
paulGao
7d90846960 修复添加直播商品报错问题 2022-09-20 19:07:59 +08:00
lemon橪
23e456d265 feat: 基于 @xiaochangbai 老哥的代码进行了一点样式优化
看到老哥有引入其他的qr插件,在项目里面本身自带了一个,稍微改了一下部分样式

https://gitee.com/beijing_hongye_huicheng/lilishop-uniapp/pulls/3
2022-09-16 16:37:38 +08:00
paulGao
cddd94b9e5 fix: 🐛 商品编辑时无商品类型问题 2022-09-16 10:01:08 +08:00
paulGao
685ec5f679 fix: 🐛 修复热区弹框优先级问题。优化编辑商品时,可修改分类与商品类型 2022-09-09 19:40:01 +08:00
paulGao
0933f1942e fix: 🐛 修复管理端下架商品传递undefined问题,优化秒杀展示 2022-09-09 14:30:15 +08:00
paulGao
2792df38c0 修复店铺分类可能为undefined问题 2022-09-07 17:58:14 +08:00
paulGao
62d8d121c6 优化热区展示 2022-09-07 16:38:41 +08:00
paulGao
b99db4c673 修复热区移动bug 2022-09-07 15:17:34 +08:00
paulGao
3639804d1b Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2022-09-06 19:45:13 +08:00
paulGao
f6ff0b8a12 管理端楼层装修增加热区功能 2022-09-06 19:45:02 +08:00
Chopper
a345586b25 功能测试与修改 2022-09-05 14:35:01 +08:00
学习很差啦
3d0ba486df Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-09-05 14:22:00 +08:00
学习很差啦
4651d74b7b 优化部分操作流程,修改售后显示问题,优化计量单位 商品规格添加重复问题 2022-09-05 14:21:58 +08:00
paulGao
55aa57d812 优化管理端代码结构 2022-09-02 17:51:33 +08:00
paulGao
36c4584970 修复编辑店铺时,步骤按钮不正确问题 2022-09-02 16:44:55 +08:00
paulGao
96b6565272 优化商品规格编辑 2022-09-02 11:12:02 +08:00
paulGao
8b22b73f3d 优化pc端商品详情页的优惠券展示 2022-09-02 11:00:01 +08:00
fengtianyangyang
ba91d7c26d 合并 2022-09-02 10:46:41 +08:00
paulGao
fd847944b7 还原routes 2022-09-02 10:42:12 +08:00
mahe
4ea142ea08 增加楼层专题 2022-09-02 09:30:57 +08:00
chc
2aceffc112 电子面单页面,导入商品 2022-09-01 18:52:11 +08:00
paulGao
ed59b389a5 improve code 2022-09-01 18:30:51 +08:00
paulGao
2b433cf1e8 merge code 2022-09-01 18:20:22 +08:00
paulGao
41ea3b7a88 重构商品规格编辑部分 2022-09-01 17:36:24 +08:00
paulGao
f5a452c124 重构商品规格编辑部分 2022-09-01 17:34:41 +08:00
chc
9ce3a5e916 电子面单前端页面 2022-08-31 17:27:09 +08:00
学习很差啦
248c4031c0 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-08-30 09:06:29 +08:00
学习很差啦
8715066f7c 修改部分页面展示问题 2022-08-30 09:06:27 +08:00
Chopper
5dc5cce96b 店铺详情多一个空页面问题处理 2022-08-29 16:17:25 +08:00
paulGao
f58500c4e3 优化编辑规格 2022-08-26 19:56:25 +08:00
paulGao
2041eca723 修复删除规格项问题 2022-08-25 14:05:01 +08:00
学习很差啦
db6e47fa04 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-08-18 12:44:54 +08:00
学习很差啦
116c168ed7 修改演示站点发现的问题 2022-08-18 12:44:53 +08:00
paulGao
8ff6c0414a 优化买家端订单详情页,优化卖家端、平台端优惠券显示。优化结算页无效商品提示。 2022-08-12 19:24:41 +08:00
Chopper
aaf1c172de 秒杀销售百分比展示问题 2022-08-12 10:06:45 +08:00
学习很差啦
f7c310b126 修改楼层装修判断的语法 2022-08-12 09:11:07 +08:00
paulGao
ab0db38eb2 修复管理端楼层装修符号错误问题 2022-08-11 22:06:21 +08:00
paulGao
283f4d6afa 修复订单列表查询订单类型查询无效问题 2022-08-11 20:57:30 +08:00
chc
db51df89f7 热词统计增加下方表格 2022-08-11 10:32:26 +08:00
学习很差啦
b77b4c0ef8 解决楼层装修 移动端发现的小问题 2022-08-10 19:06:19 +08:00
学习很差啦
dd67687d3a 发现 并解决了一个 移动端楼层装修拖动促销活动时候出现的bug 2022-08-10 17:54:17 +08:00
学习很差啦
61f5dde015 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-08-04 14:40:55 +08:00
学习很差啦
0355dcddde 新增商家发布商品同步描述按钮 2022-08-04 14:40:50 +08:00
Chopper
1d6a61d5d9 店铺修改密码接口调整 2022-08-04 11:19:22 +08:00
学习很差啦
bf393181b8 补充提交 2022-08-03 18:32:16 +08:00
学习很差啦
79ff1cecb4 修改楼层装修判断失误导致误出现Bug 2022-08-03 18:31:00 +08:00
学习很差啦
0d21c87816 修改发现的bug 2022-08-03 15:18:06 +08:00
学习很差啦
c281b0a867 优化退款消息提示 2022-08-03 11:20:07 +08:00
OceansDeep
bd322709f3 修复多次选择积分商品信息有误 2022-07-28 07:42:06 +00:00
Chopper711
bc4f9527d0 !26 去除router.js中重复的路由
Merge pull request !26 from master
2022-07-20 01:09:27 +00:00
胡程
0b5e7c40b0 去掉fix:router.js中重复路由 2022-07-19 17:51:22 +08:00
学习很差啦
8d5f4db494 修改pc足迹以及nav显示遮罩问题 2022-07-19 16:28:40 +08:00
lemon橪
4ecb41e9a2 merge paulGao commit 2022-07-14 10:38:52 +08:00
lemon橪
dba167738b 优化商家对账时点击切换可能出现的问题 2022-07-14 10:38:07 +08:00
OceansDeep
c1853fd4e0 !25 修复pc端楼层装修外部链接无法填写
Merge pull request !25 from OceansDeep/dev-gl
2022-07-13 13:05:58 +00:00
paulGao
75ef173c64 修复pc端楼层装修外部链接无法填写 2022-07-13 20:00:41 +08:00
Chopper
752c1086a0 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2022-07-13 19:06:42 +08:00
Chopper
6c5994202b 增加minio配置前端访问地址 2022-07-13 19:06:28 +08:00
lemon橪
00e229e7f4 新增退款失败错误提示 2022-07-13 18:12:30 +08:00
lemon橪
4674cfae37 merge 2022-07-13 09:38:58 +08:00
lemon橪
eeadfc1db9 新增移动端公告横纵向设置,我的足迹以及秒杀活动展示优化 2022-07-13 09:37:59 +08:00
Chopper711
34788d800e 足迹未能正常展示问题处理 2022-07-13 01:15:42 +00:00
lemon橪
954cd1cda9 修改分销中展示问题 2022-07-08 18:52:03 +08:00
lemon橪
f3ef286aa7 修改分销订单显示问题 2022-07-08 14:48:23 +08:00
lemon橪
7874931b1f 修改win上商品详情展示优化 2022-07-08 11:48:12 +08:00
lemon橪
c3b3e7bb61 合并master 2022-07-08 11:13:11 +08:00
lemon橪
12839eee8d 解决秒杀活动可能在首页出现的bug 2022-07-08 11:12:13 +08:00
Chopper
601a2e8d33 PC端分销用户绑定关系接口问题处理 2022-07-08 09:34:45 +08:00
mhhhh
a3fe3a3743 修改隐私协议的判断 2022-07-07 18:25:27 +08:00
lemon橪
86fa39d7af 合并master 2022-07-06 17:33:08 +08:00
lemon橪
a785718715 修改回收站不能修改用户信息问题 2022-07-06 17:31:12 +08:00
OceansDeep
d4eb17e573 !24 优化逻辑
Merge pull request !24 from OceansDeep/dev-gl
2022-07-06 08:43:21 +00:00
paulGao
994b700892 优化逻辑 2022-07-06 16:18:09 +08:00
mhhhh
317bf1cd47 增加商家后台打印发货单 2022-07-06 15:18:56 +08:00
lemon橪
8327639c23 优化看到的富文本大小问题 2022-07-05 18:27:01 +08:00
lemon橪
c1830df1a2 修改优化 2022-07-05 18:24:14 +08:00
lemon橪
590ceaf641 合并merge 2022-07-05 18:04:22 +08:00
lemon橪
c7b739e546 更换editor,可支持拖拽式上传 2022-07-05 18:04:04 +08:00
OceansDeep
42db858d61 !23 优化订单投诉显示
Merge pull request !23 from OceansDeep/dev-gl
2022-07-05 01:58:13 +00:00
paulGao
85349a197f 优化订单投诉显示 2022-07-04 18:36:05 +08:00
lemon橪
8ef3510c4b 修改pc显示商品详情图片问题 2022-07-04 18:33:40 +08:00
mhhhh
8d6fa2f19f 去掉隐私协议中的排序,分类 2022-06-30 10:25:38 +08:00
Chopper711
af975b9f46 update README.md. 2022-06-23 01:45:56 +00:00
OceansDeep
3de928ee14 !22 优化管理端促销相关文本,操作条件;优化k8s部署提交
Merge pull request !22 from OceansDeep/dev-gl
2022-06-22 02:56:27 +00:00
paulGao
0a5563e5e2 优化管理端促销相关文本,操作条件 2022-06-22 10:55:17 +08:00
paulGao
f4b7068cd6 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui into dev-gl 2022-06-22 10:20:06 +08:00
lemon橪
2cb6f04465 更改统计图关键字 2022-06-21 16:57:32 +08:00
lemon橪
037a307ed1 pc端分销问题 2022-06-21 16:51:39 +08:00
lemon橪
cd81a6afb1 合并master 2022-06-17 18:50:54 +08:00
lemon橪
f930d73a6a 商品选择器显示零售商品批发商品 2022-06-17 18:50:30 +08:00
paulGao
23bae9efd5 优化k8s部署提交 2022-06-16 14:08:46 +08:00
OceansDeep
2880c21a26 !21 优化代码
Merge pull request !21 from OceansDeep/dev-gl
2022-06-16 01:24:18 +00:00
paulGao
274ac3f155 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui into dev-gl 2022-06-16 09:21:29 +08:00
paulGao
c85d488de4 优化代码 2022-06-16 09:21:14 +08:00
lemon橪
92d58ea7e5 合并paulGao代码 2022-06-15 18:49:34 +08:00
lemon橪
9a3d202524 优化统计图显示 2022-06-15 18:48:43 +08:00
OceansDeep
ba71eaeaaf !20 适配优化的sql,将平台id改为0
Merge pull request !20 from OceansDeep/dev-gl
2022-06-08 08:16:55 +00:00
paulGao
273fdf2e84 适配优化的sql,将平台id改为0 2022-06-08 15:40:23 +08:00
lemon橪
59cfa0efb0 合并master 更改并提交内容 2022-06-07 10:22:42 +08:00
lemon橪
14d720beed 商家端刷新token 路径修改 2022-06-07 10:22:11 +08:00
Chopper
2dcfacd431 适配minio 2022-06-07 09:37:53 +08:00
mhhhh
71690cfd8f 修改title闪现undefined 2022-06-06 16:08:58 +08:00
Chopper
d2c2da25b4 消费积分设置问题 2022-06-02 09:29:19 +08:00
mhhhh
c3c29af8c7 吧配送模版费用为0的限制去掉 2022-06-01 13:56:29 +08:00
mhhhh
e5f9f81ef7 解决冲突 2022-06-01 10:26:41 +08:00
mhhhh
0c0c903529 修改商家logo没有更换的问题 2022-06-01 10:13:53 +08:00
OceansDeep
115fa87ff2 !19 管理端商品详情增加批发商品信息展示
Merge pull request !19 from OceansDeep/dev-gl
2022-06-01 01:15:27 +00:00
paulGao
bb40364aed 管理端商品详情增加批发商品信息展示 2022-06-01 09:04:36 +08:00
lemon橪
0e921de6c3 合并master 2022-05-31 11:17:29 +08:00
lemon橪
58eeed4bbd 解决商品分类控件-添加一个品种后重复添加问题 2022-05-31 11:17:05 +08:00
mhhhh
21289f5a92 修改logo缓存 2022-05-31 11:04:40 +08:00
mhhhh
0aec486291 修改logo接口缓存 2022-05-31 09:51:43 +08:00
OceansDeep
5c34245ba4 !18 修复编辑sku时,单独编辑的sku图片没有保存问题
Merge pull request !18 from OceansDeep/dev-gl
2022-05-30 06:45:42 +00:00
paulGao
3d0a202cbe 修复编辑sku时,单独编辑的sku图片没有保存问题 2022-05-30 14:44:36 +08:00
OceansDeep
66143deb0d !17 增加批发商品的标识
Merge pull request !17 from OceansDeep/dev-gl
2022-05-27 10:28:17 +00:00
paulGao
2111020f62 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui into dev-gl 2022-05-27 18:27:20 +08:00
lemon橪
160658cfb6 批发商品部分 2022-05-27 18:20:42 +08:00
lemon橪
8a7f9b2487 批量商品价格展示 2022-05-27 18:16:12 +08:00
paulGao
85061ed2f8 增加批发商品的标识 2022-05-27 18:12:19 +08:00
paulGao
3405cf68bb 优化生成价格区间 2022-05-27 16:28:26 +08:00
paulGao
ebacb58049 商品搜索优化 2022-05-27 16:07:54 +08:00
paulGao
8873f575db 商品搜索和列表显示增加销售模式 2022-05-27 15:49:27 +08:00
paulGao
994ef217ac add wholesale of sale model 2022-05-27 15:23:10 +08:00
paulGao
1bda042bc9 add wholesale of sale model 2022-05-27 15:22:36 +08:00
lemon橪
e97dbe1c90 批量价格显示的样式 2022-05-27 10:28:37 +08:00
lemon橪
f19071542a 添加vuex cdn 2022-05-24 14:21:10 +08:00
lemon橪
50836e0aa3 删除已发现的冗余内容 2022-05-23 14:17:36 +08:00
lemon橪
1b4c05f70b 修改高德地图key更新此commit 之前请务必确认一下创建的高德key日期。修改部分方法名称 2022-05-20 16:40:09 +08:00
lemon橪
32dffe96ed 修改axios为19.2链接 2022-05-20 15:42:23 +08:00
lemon橪
e2df32d906 补充提交 2022-05-20 15:11:26 +08:00
lemon橪
9eab3b261e 合并seller 2022-05-20 14:42:43 +08:00
lemon橪
1e40e2d557 修改axios版本 2022-05-20 14:42:11 +08:00
OceansDeep
256ada983b !16 优化商品sku编辑,不在清空数据。commit v1
Merge pull request !16 from OceansDeep/dev-gl
2022-05-19 09:32:57 +00:00
paulGao
cd0c90ace8 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui into dev-gl 2022-05-19 17:30:32 +08:00
paulGao
913b96af5a 优化商品sku编辑,不在清空数据。commit v1 2022-05-19 17:22:22 +08:00
lemon橪
a3f5212bbc 删除被墙的cdn 启用pickmall cdn加载资源 2022-05-19 15:51:32 +08:00
lemon橪
9d7a06e867 优化管理端代办事项 2022-05-19 09:13:16 +08:00
mhhhh
48f3c38fbd 修改获取logo接口地址 2022-05-18 21:53:32 +08:00
lemon橪
706bab7eff 修改buyer端发现的问题 2022-05-17 17:27:19 +08:00
mhhhh
b6fa3175c6 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2022-05-17 09:19:58 +08:00
mhhhh
3cd57a6915 隐私协议菜单,店铺详情店铺详情非空判断,自定义logo 2022-05-17 09:19:36 +08:00
lemon橪
d433ff02cb 首页历史统计新增 历史记录对比 2022-05-13 14:17:33 +08:00
lemon橪
68d2c25ff5 合并提交 2022-05-12 15:46:55 +08:00
lemon橪
9ccf51dd5c 优化商品发布规格丢失问题 新增修改删除规格值不丢失 2022-05-12 15:36:59 +08:00
mhhhh
727d240715 git stashMerge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2022-05-12 10:44:17 +08:00
mhhhh
1f4448ba08 增加打印发货单功能,隐藏配送信息,删除腾讯云智能客服 2022-05-12 10:33:02 +08:00
OceansDeep
6064c168bf !15 修复秒杀已售数量不正确问题
Merge pull request !15 from OceansDeep/dev-gl
2022-05-12 01:10:44 +00:00
fengtianyangyang
479470832d 结算单修改 2022-05-11 19:18:04 +08:00
paulGao
71fa00c267 修复秒杀已售数量不正确问题 2022-05-11 16:11:59 +08:00
OceansDeep
c1331e8ccf !14 add build.sh
Merge pull request !14 from OceansDeep/dev-gl
2022-05-10 07:58:11 +00:00
paulGao
8a2ec77c84 add build.sh 2022-05-10 15:57:30 +08:00
lemon橪
b197cda548 合并分支 2022-05-09 18:38:48 +08:00
lemon橪
c83eddd62e 优化订单统计 2022-05-09 18:37:53 +08:00
OceansDeep
46168a037d !13 修复秒杀活动页已售数量问题
Merge pull request !13 from OceansDeep/dev-gl
2022-05-09 07:11:47 +00:00
paulGao
cbb2365ae8 修复秒杀活动页已售数量问题 2022-05-09 14:32:00 +08:00
OceansDeep
ec3093246a !12 修复bug
Merge pull request !12 from OceansDeep/dev-gl
2022-05-05 01:32:18 +00:00
paulGao
670ba74044 修复bug 2022-05-05 09:30:42 +08:00
学习很差啦
84e0803558 !9 修复查看满额活动详细后点击返回键找不到路由返回白屏问题
Merge pull request !9 from Assure/master 感谢Assure发现的返回白屏问题 此处接受并提交
2022-04-28 08:19:02 +00:00
ran
1691f8244f 修改账户昵称过长问题以及viper 在pr上提的Bug 2022-04-28 16:13:36 +08:00
Chopper
24f4a36082 流水信息退款单中展示更多细节 2022-04-26 11:14:57 +08:00
胡程
7cf7123dd2 fix:修复查看满额活动详细后点击返回键找不到路由返回白屏问题 2022-04-26 10:05:11 +08:00
Chopper
37064141c2 Merge branch 'dev-lmr'
# Conflicts:
#	manager/src/views/page/article-manage/hotWords.vue
2022-04-25 19:00:25 +08:00
Chopper
5bd66b9ec6 还原接口api 2022-04-25 18:16:06 +08:00
Chopper
9e34b44165 热词功能补充提交 2022-04-25 18:09:49 +08:00
Chopper
8d9a64d84b 热词功能完善 2022-04-25 18:08:29 +08:00
yeliang-king
92aafe3031 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-04-25 14:50:11 +08:00
yeliang-king
81f4f4a742 接口更改 2022-04-25 14:49:57 +08:00
lemon橪
9b14cd633e 热词部分代码 2022-04-25 09:18:31 +08:00
OceansDeep
118aaaf6fb !8 修复结算页中有无效商品店铺显示问题。优化购物车页。管理端增加搜索热词全删除
Merge pull request !8 from OceansDeep/dev-gl
2022-04-22 08:50:00 +00:00
paulGao
0635dd38a2 修复结算页中有无效商品店铺显示问题。优化购物车页。管理端增加搜索热词全删除 2022-04-22 16:48:43 +08:00
fengtianyangyang
1d648bbad7 结算单页面修改 2022-04-22 09:04:20 +08:00
OceansDeep
5dfcc2482c !7 优化楼层装修,修复结算页显示失效商品问题
Merge pull request !7 from OceansDeep/dev-gl
2022-04-21 08:27:40 +00:00
paulGao
7ff51b5e53 修复结算页显示失效商品问题 2022-04-21 16:11:11 +08:00
paulGao
c4168c9a2b 优惠移动端楼层装修 2022-04-21 14:57:33 +08:00
fengtianyangyang
7312b3ec3f 店铺结算单修改 2022-04-18 19:10:46 +08:00
fengtianyangyang
c09e25974f 结算单修改 2022-04-18 19:10:10 +08:00
paulGao
744567e8de 优化楼层装修 2022-04-18 09:49:09 +08:00
paulGao
4156d51d78 优化楼层装修 2022-04-18 09:38:52 +08:00
yeliang-king
0faae31b2e Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-04-18 09:18:08 +08:00
yeliang-king
79a719e7ff 取消横向滚动条 2022-04-18 09:15:08 +08:00
lemon橪
0d09920314 修复楼层装修选择链接时可能出现的bug 2022-04-18 09:01:09 +08:00
lemon橪
d641123987 新增商家商品模版显示分页显示 2022-04-13 14:34:34 +08:00
lemon橪
ce871a804c 合并提交 2022-04-13 10:42:05 +08:00
lemon橪
36fd58a446 解决短信模版页面分页条件不显示问题 2022-04-13 10:40:45 +08:00
pikachu
9e0a681e01 buyer端的导航条下拉 2022-04-12 18:03:31 +08:00
lemon橪
df408e640a 合并master 2022-04-08 17:31:14 +08:00
lemon橪
f365231ee7 提交高德api中更新安全密钥的提示 2022-04-08 17:29:28 +08:00
paulGao
2e8d124560 修复pc端订单详情不展示发票信息 2022-04-08 15:32:18 +08:00
paulGao
1e8279c849 improve code 2022-03-31 09:26:24 +08:00
paulGao
48668fd2d4 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2022-03-29 17:58:47 +08:00
paulGao
ee5539fb0f 修复pc搜索商品分类参数无效问题 2022-03-29 17:57:42 +08:00
pikachu
97d88abf80 溢出 滚动显示 2022-03-28 18:21:44 +08:00
pikachu
9a33db76e9 楼层装修 问题 2022-03-22 10:14:31 +08:00
Chopper
65aa9d0a9f Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2022-03-18 17:41:33 +08:00
Chopper
baaeef0978 管理端无法修改会员信息问题处理 2022-03-18 17:41:29 +08:00
lemon橪
e27070e089 优化一个上传组件控制台报错bug 以及 buyer端楼层装修显示 2022-03-17 16:35:10 +08:00
pikachu
2ea2723aed 样式 问题 2022-03-16 11:31:05 +08:00
pikachu
5188bba5b1 会员流量报表 名称修改 2022-03-15 11:46:49 +08:00
lemon橪
33bb16a0d3 修改菜单栏重复点击console会显示bug , 以及行政地区不回显问题 2022-03-04 15:12:37 +08:00
夜良king
87f6b81e37 合并 2022-03-04 02:31:56 +08:00
lemon橪
3b4f0b8c9d 修改店铺 2022-03-03 11:33:53 +08:00
lemon橪
3b540b1aac 提交补漏 2022-03-03 11:31:23 +08:00
lemon橪
378ac39315 商家楼层装修 2022-03-03 11:26:50 +08:00
lemon橪
2dac958227 更改买家提交售后显示的价格 2022-03-02 15:21:28 +08:00
lemon橪
c879cb2af0 优化订单详情中显示的价格问题 2022-03-02 15:02:18 +08:00
夜良king
32336decc6 动态导航 2022-02-27 18:24:35 +08:00
夜良king
7cd64553ab chongtu 2022-02-26 15:35:04 +08:00
夜良king
6e737a3fa7 解决冲突 2022-02-26 15:27:10 +08:00
fengtianyangyang
25b403cde9 冲突文件 2022-02-26 15:05:51 +08:00
fengtianyangyang
535a36c378 ‘合并 2022-02-23 21:24:18 +08:00
fengtianyangyang
7b30bc42d7 添加 2022-02-23 20:56:00 +08:00
lemon橪
403ae0a963 修改管理端会员详情缺少前缀问题 2022-02-23 16:16:29 +08:00
lemon橪
800b91d406 修改会员信息少一个前缀问题 2022-02-23 16:15:37 +08:00
Chopper
bf92b0804e 修改会员API路径调整导致无法修改会员信息问题处理 2022-02-23 16:00:37 +08:00
Chopper
7e8ff778f9 商家增加im按钮 2022-02-22 01:32:36 +08:00
Chopper
31f438edfa IM更新 2022-02-21 22:45:39 +08:00
zhenghao
a7ed6454af clerk 2022-02-17 16:37:11 +08:00
夜良king
12ea0c2b84 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-02-17 10:44:14 +08:00
paulGao
44086e8bf4 修改api 2022-02-17 15:32:56 +08:00
paulGao
b740a6f906 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2022-02-17 14:54:30 +08:00
paulGao
7376d4d890 修复api错误 2022-02-17 14:54:18 +08:00
夜良king
f9d09365ea 部分bug 2022-02-17 10:43:46 +08:00
夜良king
81297db7a8 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-02-16 11:37:50 +08:00
夜良king
b5ca94ab98 楼层装修 分页 2022-02-16 11:37:00 +08:00
lemon橪
a220339fd6 合并内容 2022-02-16 11:26:01 +08:00
lemon橪
0994b6659a 合并部分代码 回滚规格 2022-02-16 11:22:35 +08:00
夜良king
c4037a346d 修改样式 和 优化一些 功能 2022-02-16 09:25:01 +08:00
lemon橪
45a6e76d4a 需改pc样式上的bug 2022-02-15 16:54:36 +08:00
paulGao
aee67ec317 修改版本号 2022-02-15 14:08:04 +08:00
夜良king
51610546c4 重新修改config 2022-02-15 10:17:19 +08:00
夜良king
e8e7d27c0d Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-02-15 10:12:53 +08:00
夜良king
166e889b6f commit 2022-02-15 10:12:49 +08:00
paulGao
db95647cd8 修复管理端刷新tokenapi错误问题 2022-02-15 10:03:14 +08:00
lemon橪
db13814156 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2022-02-14 17:10:45 +08:00
lemon橪
5cf3956bc8 取消cdn加载 2022-02-14 17:10:40 +08:00
OceansDeep
329e6df722 !6 适配接口路径修改
Merge pull request !6 from OceansDeep/fengtianyangyang
2022-02-14 07:51:16 +00:00
paulGao
8023852b3c 升级版本号 2022-02-14 15:35:01 +08:00
paulGao
228935034d 适配api 2022-02-14 14:21:37 +08:00
paulGao
acff55dc65 适配修改后的api 2022-02-12 15:20:36 +08:00
paulGao
61a9110c51 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui into fengtianyangyang 2022-02-11 16:44:27 +08:00
paulGao
3a3e14e0a7 适配微服务 2022-02-10 18:57:36 +08:00
lemon橪
6ba767419e 新增文库详情页面,转门为审核使用 2022-02-10 17:13:26 +08:00
lemon橪
925365018b 优化商家发布商品丢失规格问题,修改开启cdn 2022-02-10 14:26:53 +08:00
lemon橪
5960df31bd 合并并提交修改 2022-02-09 20:50:09 +08:00
lemon橪
21f9fd92e2 取消cdn加载 2022-02-09 20:49:49 +08:00
paulGao
9765310136 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui into fengtianyangyang 2022-02-09 10:32:50 +08:00
paulGao
51cde2dd0d fix bugs 2022-01-27 14:58:37 +08:00
fengtianyangyang
3311568e50 修改路径 2022-01-25 19:08:47 +08:00
fengtianyangyang
e5918b041a 路径修改 2022-01-25 12:01:40 +08:00
paulGao
f46330ecf0 Merge branch 'fengtianyangyang' of gitee.com:beijing_hongye_huicheng/lilishop-ui into fengtianyangyang 2022-01-25 09:46:15 +08:00
paulGao
846e80f1fa 适配微服务版本 2022-01-25 09:46:12 +08:00
fengtianyangyang
631519d7c7 路径修改 2022-01-25 09:22:22 +08:00
paulGao
bbeb31e8a3 修复店铺和平台优惠券同时选择时,显示问题 2022-01-21 19:02:09 +08:00
paulGao
52bcf07e25 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2022-01-21 16:53:28 +08:00
paulGao
4d725221a5 优化店铺搜索栏 2022-01-21 16:53:16 +08:00
Chopper
c8a0619141 积分设置优化 2022-01-21 16:20:15 +08:00
fengtianyangyang
e1d7b1801d 接口修改 2022-01-21 09:14:21 +08:00
paulGao
15456ae377 修复删除会员评论,弹出框不关闭问题 2022-01-20 17:40:05 +08:00
fengtianyangyang
1c3d711298 路径修改 2022-01-20 17:21:30 +08:00
paulGao
1bee69cefb 优化管理端和卖家端登录 2022-01-17 18:00:49 +08:00
paulGao
cf740d9605 修复富文本编辑器xss过滤样式问题 2022-01-17 16:49:55 +08:00
paulGao
d2aca24d06 优化申请售后退货 2022-01-04 19:57:40 +08:00
paulGao
6e042c4b78 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2022-01-04 09:21:03 +08:00
paulGao
1afd1704ab 修复pc显示促销价格问题 2022-01-04 09:21:00 +08:00
夜良king
d5f81fe5d8 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-12-31 18:23:05 +08:00
夜良king
fada0a735f 修改样式 和查看虚拟实物 2021-12-31 18:22:30 +08:00
夜良king
35de0c031d 样式加 虚拟实物查看 2021-12-31 18:22:06 +08:00
lemon橪
2e5eefc079 提交 buyer和seller退出uuid清空bug 2021-12-30 11:16:08 +08:00
学习很差啦
1fa264b0bf !5 修复登出账号、修改密码等操作会清除uuid的bug 感谢大佬ray 提出的pr
Merge pull request !5 from master
2021-12-30 03:06:29 +00:00
zhanglei829
d2a0940858 修复登出账号、修改密码等操作会清除uuidbug 2021-12-30 10:13:34 +08:00
paulGao
4ff8eb6494 修复优化拼团 2021-12-29 19:50:24 +08:00
paulGao
8ca87cdb2a Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2021-12-28 19:54:58 +08:00
paulGao
f45b115355 修复满额活动赠送积分不显示填写积分。商品规格默认项无法退格删除。权限菜单选择某一子项获取选择全部问题 2021-12-28 19:54:40 +08:00
夜良king
7490211340 修改了小样式 按钮 2021-12-28 18:33:47 +08:00
夜良king
76d028277a buyer一些样式和一个弹框 2021-12-28 17:51:23 +08:00
lemon橪
0a0066fe5c Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-12-27 16:16:27 +08:00
lemon橪
4f7e38db3b 修改移动端楼层装修文章地址 2021-12-27 16:16:26 +08:00
paulGao
54dcd2d8be 修复优化促销问题 2021-12-25 18:36:15 +08:00
paulGao
6c1d7cce8d Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2021-12-25 17:05:19 +08:00
lemon橪
06b090cdf6 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-12-25 10:59:02 +08:00
lemon橪
3653b4e7cb 优化buyer底部信息,优化购物车显示规格数量可能导致的bug 新增订单物流显示 2021-12-25 10:59:00 +08:00
paulGao
c6c890da63 修复拼团排序问题 2021-12-24 16:55:30 +08:00
paulGao
75e7bc2d9c 优化搜索热词管理 2021-12-24 16:09:57 +08:00
paulGao
649f983990 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2021-12-23 21:20:52 +08:00
paulGao
193628913a 优化店铺详情页 2021-12-23 21:20:37 +08:00
lemon橪
cb304d7d53 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-12-23 19:02:30 +08:00
lemon橪
4bb7bd4603 buyer端 部分颜色优化以及部分间距优化 2021-12-23 19:02:29 +08:00
paulGao
1e408eb8ae 修复管理端积分商品问题 2021-12-23 17:11:30 +08:00
Chopper
d762d18c7b 将支付应用id分别配置 2021-12-23 11:58:09 +08:00
Chopper
3622c7bb53 pc订单详情无法跳转商品详情页面问题处理 2021-12-22 18:29:29 +08:00
paulGao
1b9b2d9c95 适配字段变化 2021-12-22 10:50:43 +08:00
paulGao
0d5c60ed8c Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2021-12-21 18:59:57 +08:00
paulGao
ab2bcb515f 优化促销相关代码 2021-12-21 18:59:45 +08:00
lemon橪
b3e6eb72eb 新增npmrc以及yarnrc文件,修改config配置变成可配置的cdn加载以及端口设置 2021-12-21 16:30:54 +08:00
lemon橪
9742aaf0bc udesk 技术储备方案 2021-12-20 17:37:22 +08:00
lemon橪
bc1942c492 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-12-20 16:48:10 +08:00
lemon橪
44facf549a 提交udesk方案 2021-12-20 16:48:08 +08:00
eeer
09dd9861fd update seller/vue.config.js. 统一取消cdn加载 目前cdn链接的https请求挂了 2021-12-20 06:31:42 +00:00
eeer
8d3b5cf91d update manager/vue.config.js. 统一取消cdn加载 目前cdn链接的https请求挂了 2021-12-20 06:31:08 +00:00
eeer
5a90567e98 update buyer/vue.config.js. 统一取消cdn加载 目前cdn链接的https请求挂了 2021-12-20 06:30:40 +00:00
lemon橪
246ba9057f 删除最低购买金额 2021-12-16 13:41:57 +08:00
lemon橪
9eecc603db Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-12-13 19:27:23 +08:00
lemon橪
1fe4078115 化楼层装修中商品分类判断 2021-12-13 19:27:20 +08:00
paulGao
ef73a6fe94 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2021-12-11 13:51:33 +08:00
paulGao
edef393535 适配重构促销 2021-12-11 13:50:58 +08:00
Chopper
97e6fc79ea Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2021-12-09 20:21:49 +08:00
Chopper
0b82ae7569 商家设置坐席id代码补充 2021-12-09 20:21:46 +08:00
lemon橪
3cb0e52ca0 优化楼层装修中商品分类代码可能会出现的bug . 如果更新此版本建议同步更新uni版本更新 2021-12-09 18:32:11 +08:00
lemon橪
fd1d32d431 管理端优惠券判断优化 2021-12-03 10:00:23 +08:00
lemon橪
8c169489eb 修改统计中发现的bug 2021-11-30 17:15:37 +08:00
lemon橪
6ecb6b8055 修改部分冗余代码,新增商家端npmrc配置 后续还会新增yarnrc 2021-11-22 11:16:32 +08:00
lemon橪
515cd3ebbd 新增部分售后判断 2021-11-18 18:07:58 +08:00
lemon橪
6c6b89f512 优化buyer端配置信息完善性 2021-11-18 17:10:44 +08:00
lemon橪
1ac5dcfe25 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-11-18 14:51:46 +08:00
lemon橪
ccd5decbf7 优化楼层装修 pc端中控制台因类型转换问题导致的报错信息 2021-11-18 14:51:44 +08:00
paulGao
9a12a29127 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2021-11-17 16:39:38 +08:00
paulGao
8d96a3c106 管理端增加退出登录 2021-11-17 16:39:24 +08:00
lemon橪
41bfd17cd0 pc端物流日志 2021-11-16 11:02:59 +08:00
paulGao
5614414185 add logout 2021-11-11 18:45:53 +08:00
lemon橪
7ac4010910 修改规格样式问题 2021-11-09 15:53:11 +08:00
lemon橪
ffc5af6d39 修改商品中参数可能出现的bug 2021-11-09 15:38:45 +08:00
lemon橪
c64f00fe9e merge master 2021-11-05 16:16:56 +08:00
lemon橪
d3a49f3f3e 修改商品参数中部分bug 2021-11-05 16:16:28 +08:00
paulGao
06c6abe250 修复售后订单loading 2021-11-05 10:49:08 +08:00
chopper711
f54739e337 update README.md. 2021-11-02 08:04:19 +00:00
lemon橪
cdc673da06 删除无用数据 2021-10-28 16:27:59 +08:00
Chopper
0bd99df26a 后台查阅消息,跳转分销提现页面内容问题处理 2021-10-27 10:56:25 +08:00
chopper711
0dcee2f2e2 !4 PC显示发票信息问题处理,结算页面商品宽度调整,后台发票开具条件增加已发货可以开具发票的按钮
Merge pull request !4 from chopper711/lifenlong
2021-10-26 02:40:06 +00:00
Chopper
f7f836f5fd PC显示发票信息问题处理,结算页面商品宽度调整,后台发票开具条件增加已发货可以开具发票的按钮 2021-10-26 10:38:41 +08:00
lemon橪
16d1576c10 秒杀金额显示问题 2021-10-22 15:11:18 +08:00
lemon橪
0d1dbd0350 修改语言插件 2021-10-21 17:50:34 +08:00
lemon橪
18ea8a4366 语言设定小插件 2021-10-21 15:48:03 +08:00
lemon橪
b9aa720bea 修改秒杀添加商品可能出现的bug 2021-10-21 14:09:00 +08:00
lemon橪
28473979ec 合并master 2021-10-19 16:41:03 +08:00
lemon橪
dbe5a21f4d 修改buyer api路径 将buyer manager seller 统一为 public/config下修改api地址,新增buyer底部 公司,备案号等信息展示,修改商家端seller秒杀bug以及部分issue中的优化方案 2021-10-19 16:40:43 +08:00
Chopper
31d9859f10 表单校验几个细节问题 2021-10-19 14:20:20 +08:00
lemon橪
7cbd2b698c 优化劵活动优惠券代码 2021-10-15 18:38:29 +08:00
lemon橪
6fa3fa7822 优化砍价逻辑,以及修改劵活动Bug 2021-10-12 18:06:52 +08:00
lemon橪
e80316d43d 修复管理后台es分词报错问题 2021-10-09 09:29:30 +08:00
paulGao
9979b6fd67 修复管理员添加密码验证 2021-10-08 14:56:25 +08:00
OceansDeep
a36a4cd244 !3 修复设置限时抢购活动无时间显示bug
Merge pull request !3 from OceansDeep/dev-gl
2021-10-08 03:38:51 +00:00
paulGao
f99e2673a6 修复设置限时抢购活动无时间显示bug 2021-10-08 11:37:11 +08:00
lemon橪
47da7d3b16 管理端新增文章时删除全部选项 2021-10-06 17:01:30 +08:00
lemon橪
4f2f6e8d20 优化楼层装修样式问题,以及退单金额显示,删除砍价批量删除商品功能 2021-09-29 16:04:24 +08:00
lemon橪
4da164dcba 优化商品发布规格校验,后续会优化规格详情中添加规格以前数据消失问题 2021-09-26 18:02:26 +08:00
lemon橪
1aab8aa8c8 合并shuai分支 优化正则校验以及商品发布中样式 ,后续会优化商品发布中规格问题 2021-09-26 16:37:53 +08:00
lemon橪
8a2a946bc1 合并shuai分支 优化正则校验以及商品发布中样式 ,后续会优化商品发布中规格问题 2021-09-26 16:36:57 +08:00
Chopper
038de5ed53 商品详情管理端,字段优化问题处理 2021-09-26 16:19:53 +08:00
Chopper
0bac362c95 Merge branch 'liushuai'
大部分为参数校验问题,以及部分商品字段优化
# Conflicts:
#	buyer/src/config/index.js
#	manager/src/config/index.js
#	seller/src/views/goods/goods-seller/draftGoods.vue
2021-09-26 16:12:24 +08:00
Chopper
04599148fc 文章分类,积分设置删除后无法新增问题处理 2021-09-26 16:07:50 +08:00
lemon橪
b61faef093 管理端删除基础配置 2021-09-26 14:49:41 +08:00
Chopper
642536f83e 校验问题处理 2021-09-26 14:49:19 +08:00
Chopper
7ebb5e21d2 各种页面校验功能补充优化 2021-09-24 18:19:09 +08:00
OceansDeep
0c18a0f6db !2 修复楼层装修选择店铺,店铺开启状态不正确
Merge pull request !2 from OceansDeep/dev-gl
2021-09-24 08:40:41 +00:00
paulGao
93768e4014 reset config 2021-09-24 16:39:24 +08:00
paulGao
3674b63db4 reset config 2021-09-24 16:38:27 +08:00
paulGao
9e8f369da4 reset config 2021-09-24 16:37:33 +08:00
paulGao
04cc8b991c reset config seller 2021-09-24 16:34:42 +08:00
paulGao
0342f1d17a fix dialog template shops storeDisable show error 2021-09-24 16:32:23 +08:00
paulGao
82838a5ebb Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui into dev-gl 2021-09-24 15:49:00 +08:00
Chopper
20042786aa 商品模块代码继续完善,表单校验等 2021-09-22 15:32:47 +08:00
lemon橪
2037b57a5d 优化管理端商家端冗余以及配置内容。抽出公共主题颜色、站点标题等内容。分离config中api配置,修改商家发布中拖拽以及控制台出错的bug。 2021-09-22 15:08:34 +08:00
Chopper
2932c7f35d 参数校验相关提交 2021-09-22 12:16:22 +08:00
lemon橪
53cc6f46d1 修改buyer端购物车显示bug 2021-09-17 18:26:24 +08:00
paulGao
a5e2ae9a4d Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui into dev-gl 2021-09-17 17:19:48 +08:00
lemon橪
95beebc5c7 合并master 2021-09-17 17:16:30 +08:00
lemon橪
f7b8713be1 解决商家端 商家列表报错问题 2021-09-17 17:16:15 +08:00
Chopper
c33d10734f im 页面声明 2021-09-17 11:03:09 +08:00
Chopper
edde94af69 IM 设置 2021-09-17 11:01:57 +08:00
Chopper
fbf2b6a6fa Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2021-09-16 16:22:36 +08:00
Chopper
b84f1b595e 镜像相关提交 2021-09-16 16:22:13 +08:00
lemon橪
e4bc52a219 修改已发现秒杀的bug 2021-09-15 17:05:43 +08:00
lemon橪
dc55e0983a 优化部分代码,修改发布商品部分bug 2021-09-15 13:48:35 +08:00
lemon橪
f3914b63b3 解决iview Radio 报错问题 2021-09-10 11:26:50 +08:00
lemon橪
1ad729ca0e 修改权限已知问题 2021-09-10 11:18:01 +08:00
lemon橪
8c864c207a 修改部分样式问题,新增解析转义,修改buyer端没有第三方登录问题 2021-09-09 10:43:41 +08:00
lemon橪
aaadc90b09 cdn axios版本升级 2021-09-07 11:46:54 +08:00
paulGao
ea8c86e2e2 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui into dev-gl 2021-09-07 09:37:30 +08:00
lemon橪
575e7b3297 修改验证价格问题 2021-09-06 17:19:17 +08:00
lemon橪
49b1252a1f seller在public文件夹下配置全局变量时,刷新页面失效 2021-09-06 17:08:32 +08:00
lemon橪
b0021a759f vue版本升级为2.6 优化cdn加载,优化部分样式,删除某部分图片,修改店铺bug 2021-09-06 17:01:38 +08:00
paulGao
70506767ef Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui into dev-gl 2021-09-03 15:44:06 +08:00
paulGao
48002d6143 conifg 2021-09-03 15:43:46 +08:00
lemon橪
43349a51d1 修改部分样式,分离seller端config文件,配置部分冗余数据,删除部分没用的图片 2021-09-03 14:58:03 +08:00
lemon橪
a6052bcd9d 合并Master 2021-09-03 11:38:35 +08:00
lemon橪
3d418fa9e1 修改楼层装修中需要的js cdn不加载问题 2021-09-03 11:37:54 +08:00
Chopper
9feff82451 merge master 2021-09-03 09:42:19 +08:00
Chopper
647ed90eac 价格展示相关优化,拼团活动返回不刷新问题处理 2021-09-03 09:40:57 +08:00
OceansDeep
30b968b3e5 !1 add goods parameter sort
Merge pull request !1 from OceansDeep/dev-gl
2021-09-02 08:45:29 +00:00
paulGao
c8edf9c1bd add goods parameter sort 2021-09-02 16:37:46 +08:00
lemon橪
a2c6a1d46d 删除seller mode模式 2021-09-02 15:04:15 +08:00
lemon橪
6d5428317f 修改统计出现的bug 2021-09-02 15:01:54 +08:00
lemon橪
b829d2cd05 seller线上删除console 2021-09-02 11:18:49 +08:00
lemon橪
7f46528086 删除部分manager不用的图片,压缩图片大小,修改统计时测出的bug 2021-09-02 11:17:11 +08:00
lemon橪
71e4c49c3e 优化cdn动态加载管理端,修复砍价金额bug,删除部分不规范代码 2021-09-01 10:11:12 +08:00
lemon橪
84cfb26512 i18n问题解决 2021-08-31 09:46:18 +08:00
lemon橪
07445e42e3 合并Master 2021-08-30 18:26:01 +08:00
lemon橪
201348202a 解决seller报错问题 2021-08-30 18:25:42 +08:00
Chopper
01d2ecda39 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2021-08-30 18:14:51 +08:00
Chopper
34967921a5 店铺首页展示字段问题处理,以及描述处理 2021-08-30 18:14:24 +08:00
lemon橪
692f7b6dbf 提交商品发布错误bug 2021-08-30 17:20:09 +08:00
lemon橪
8dc3923a4f 合并master 2021-08-30 16:21:23 +08:00
lemon橪
b5b74e8b3b 修改上星期提交的bug 2021-08-30 16:21:05 +08:00
Chopper
a7ee9a6444 双减号问题处理 2021-08-30 14:46:01 +08:00
lemon橪
5ac39d0e93 合并master修改 2021-08-27 18:11:52 +08:00
lemon橪
e6d8d87c31 优化店铺端代码,减少报错信息,动态cdn加载,优化速度30%+ 2021-08-27 18:10:33 +08:00
Chopper
bed539d16f 优惠金额,优惠券金额管理端展示问题处理 2021-08-27 17:29:26 +08:00
Chopper
abaefc59a6 领取数量调整描述为已领取数量,明确含义。
购物车无法渲染哪个商品参与了满减活动问题处理
2021-08-26 11:15:07 +08:00
Chopper
8d60a40688 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2021-08-25 14:18:50 +08:00
Chopper
589b7fc7c5 售后信息展示,单价展示问题处理 2021-08-25 14:18:35 +08:00
lemon橪
7caa2fd40d 优化店铺段报错问题,后续会配置开发环境以及生产环境动态CDN优化 2021-08-20 17:45:57 +08:00
lemon橪
b59da2c101 合并砍价功能 2021-08-19 14:48:19 +08:00
lemon橪
72ad898a6c 满额活动解决修改Cookie中的字段导致新增活动出现的问题 2021-08-17 15:46:59 +08:00
pikachu
db919a57f3 修改在已有秒杀商品情况下添加新的秒杀商品 数据保存错误问题 2021-08-16 19:54:18 +08:00
lemon橪
f33efac045 合并分支 2021-08-16 11:32:15 +08:00
lemon橪
334a27a12b 修改楼层装修中商品装修出现的默认不显示bug 2021-08-16 11:31:59 +08:00
mabo
08fcbe9acf Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-08-13 18:03:10 +08:00
mabo
14a8695cc9 删除debugger,证照信息需要上传正反面,修改店铺信息,地址回显,bug修改,代码优化,店铺详情展示优化 2021-08-13 18:03:07 +08:00
lemon橪
9e4449257e 新增收款流水 店铺展示,修改菜单权限ui样式 2021-08-13 14:30:24 +08:00
lemon橪
826454e164 合并master 2021-08-13 11:30:47 +08:00
lemon橪
4c11e448f1 修改菜单权限, 新增版本更新提示 2021-08-13 11:30:33 +08:00
mabo
cfc5c94f5a Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-08-13 10:38:08 +08:00
mabo
e6588af790 积分扣减展示问题,pc商品详情图片不展示问题,pc楼层装修提示修改,代码优化 2021-08-13 10:38:04 +08:00
lemon橪
9b81a70808 合并master 2021-08-13 09:19:07 +08:00
lemon橪
fb50143ec2 新增app版本描述 2021-08-13 09:18:46 +08:00
mabo
736c5ecd2c 结算单添加砍价,积分商品金额 2021-08-12 18:39:34 +08:00
mabo
e88c75d0b7 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-08-12 17:42:16 +08:00
mabo
a849d8906a 投诉详情取消投诉规则改变,商品分类2级分类没有图片 2021-08-12 17:42:05 +08:00
Chopper
2d2448ebba Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui
# Conflicts:
#	seller/src/views/promotion/seckill/seckill.vue
2021-08-12 17:12:13 +08:00
mabo
9b0a089e29 选择品牌,品牌绑定时候可以搜索 2021-08-12 16:41:43 +08:00
Chopper
682bd13b6e add elasticsearch progress 2021-08-12 02:17:28 +08:00
mabo
71ab63e047 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-08-12 01:03:43 +08:00
mabo
2e27a2fb85 好评率展示问题,申请售后图片变形,清除足迹不刷新列表,结算单筛选条件展示错误,店铺审核按钮调整到详情 2021-08-12 01:03:39 +08:00
Chopper
02bf570f08 商家端售后排序问题处理 2021-08-12 00:09:01 +08:00
Chopper
e52ac06fb3 pc支持分销 2021-08-11 22:53:47 +08:00
Chopper
c1a741466c 商家端查看秒杀活动列表问题处理 2021-08-11 22:29:27 +08:00
mabo
81ab58e009 店铺入驻bug修改 2021-08-11 22:13:25 +08:00
mabo
a42a7515dc Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-08-11 21:41:19 +08:00
mabo
2dabff65ed 店铺入驻没有回显问题 2021-08-11 21:41:15 +08:00
pikachu
71d8fbd5fe Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-08-11 21:32:54 +08:00
pikachu
7763abd591 拼团活动相关校验 2021-08-11 21:32:42 +08:00
mabo
6bbba6bd35 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-08-11 21:18:26 +08:00
mabo
c7ce4e72c6 店铺入驻bug修改,订单详情添加修改金额展示 2021-08-11 21:18:22 +08:00
pikachu
9e365c27b5 新增充值取消状态 2021-08-11 19:28:47 +08:00
mabo
4557b1d5c1 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-08-11 18:48:03 +08:00
mabo
e9163e4247 管理、商家,添加删除秒杀商品接口,管理端切换账号菜单权限不生效问题,代码优化 2021-08-11 18:47:59 +08:00
lemon橪
328bceec2c 合并master 2021-08-11 18:12:53 +08:00
lemon橪
82bb5577b2 修改统计错误信息 2021-08-11 18:12:36 +08:00
mabo
3e505a8a4e Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-08-11 14:56:06 +08:00
mabo
cc80242896 pc端添加2个轮播代码,楼层装修跟pc端样式不一致,楼层装修无法添加的bug修改 2021-08-11 14:56:02 +08:00
lemon橪
e521e723d5 修改移动端楼层装修bug 2021-08-11 11:57:02 +08:00
lemon橪
9213aed8e0 修改部分移动端楼层装修bug 2021-08-11 10:19:45 +08:00
mabo
d104baf426 管理端,装修页面添加两种新轮播 2021-08-10 18:01:07 +08:00
mabo
b89fb8b2ba Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-08-10 17:39:20 +08:00
mabo
bb8ea94850 pc收藏店铺字段变更,添加修改秒杀页面 2021-08-10 17:39:15 +08:00
lemon橪
783c6df0a4 修改统计上店铺不加载bug 修改统计图antV加载数据不齐全bug 2021-08-10 16:50:55 +08:00
lemon橪
06a6b77d2e pull最新代码 修改店铺简介的富文本框 2021-08-10 16:30:55 +08:00
mabo
924de43227 删除文件 buyer/src/pages/payment/thirdPay.vue 2021-08-10 08:11:21 +00:00
mabo
0597531c72 删除文件 buyer/src/pages/forgetPassword.vue 2021-08-10 08:11:11 +00:00
mabo
07e75f71cc 删除文件 buyer/src/pages/couponCenter.vue 2021-08-10 08:11:04 +00:00
mabo
c9d42755ef 删除文件 buyer/src/components/nav/cateNav.vue 2021-08-10 08:10:15 +00:00
mabo
9e45c45688 删除文件 buyer/src/components/indexDecorate/modelList/seckill.vue 2021-08-10 08:09:05 +00:00
mabo
75fd42e152 删除文件 buyer/src/components/indexDecorate/modelList/recommend.vue 2021-08-10 08:08:59 +00:00
mabo
97bc68ad26 删除文件 buyer/src/components/indexDecorate/modelList/notEnough.vue 2021-08-10 08:08:54 +00:00
mabo
05a25bd80f 删除文件 buyer/src/components/indexDecorate/modelList/newGoodsSort.vue 2021-08-10 08:08:45 +00:00
mabo
ffde03bc21 删除文件 buyer/src/components/indexDecorate/modelList/firstPageAdvert.vue 2021-08-10 08:08:39 +00:00
mabo
0d42bce536 删除文件 buyer/src/components/indexDecorate/modelList/carousel.vue 2021-08-10 08:08:31 +00:00
mabo
bf2eb82728 删除文件 buyer/src/components/indexDecorate/modelFormItem.vue 2021-08-10 08:07:02 +00:00
mabo
a62530d7b8 删除文件 buyer/src/components/indexDecorate/modelForm.vue 2021-08-10 08:06:57 +00:00
mabo
3e1fa0b937 修改秒杀页面展示名 2021-08-10 11:53:28 +08:00
mabo
604a918fd1 商家端代码优化 2021-08-10 10:17:48 +08:00
mabo
1f02b45600 管理端代码优化 2021-08-10 09:59:53 +08:00
lemon橪
ebb048f1a7 修改付款日志订单创建时间 2021-08-09 11:57:57 +08:00
lemon橪
c58d70524d 更改seller上面之前配置出错的问题 2021-08-09 11:11:57 +08:00
pikachu
86fed0db41 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-08-06 19:19:01 +08:00
pikachu
7cbca93d3d 积分字段修改 2021-08-06 19:18:55 +08:00
lemon橪
c1f846a633 修改虚拟订单不能时间筛选问题 2021-08-06 17:34:57 +08:00
lemon橪
7a43087ae0 合并master 2021-08-06 17:17:56 +08:00
lemon橪
f281f8e65a 修改售后原因bug 2021-08-06 17:17:40 +08:00
mabo
4d26bf08b2 修改提示信息 2021-08-06 16:13:48 +08:00
mabo
146854b098 导出订单默认导出一万条,优化代码 2021-08-06 16:12:41 +08:00
mabo
5cfbfdf67c 修改上传图片大小限制,最大1M 2021-08-06 15:35:07 +08:00
mabo
00a64c4d2a Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-08-06 14:12:35 +08:00
mabo
ba7e711a88 删除无用字段 2021-08-06 14:12:30 +08:00
lemon橪
10dcf4473c 合并master 2021-08-06 11:59:20 +08:00
lemon橪
4c217b85e9 优化菜单设置权限功能,懒人版一件选中权限 2021-08-06 11:58:53 +08:00
mabo
c75bd5208b 买家端商品分类,导航加载报错问题,商家端跳转买家端商品地址代码优化,文件上传地址调用位置修改 2021-08-06 11:32:29 +08:00
mabo
1fe7c050a4 分销商品添加移除功能,删除无用接口 2021-08-06 09:40:12 +08:00
mabo
c6874acb1b pc端修改我的优惠券bug,样式,管理端删除添加秒杀活动功能 2021-08-05 18:07:11 +08:00
mabo
ffeef640da 店铺列表,搜索项,店铺状态字段错误 2021-08-05 17:35:52 +08:00
mabo
1f054b796d 积分商品流程完成,billpirce改为flowprice,必填项提示错误 2021-08-05 17:10:10 +08:00
mabo
35881e30e0 积分商品,搜索热词为null问题 2021-08-05 11:19:12 +08:00
pikachu
a8e55d230a Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-08-04 19:08:33 +08:00
pikachu
083576ab3f 更改微信提现状态 2021-08-04 19:08:04 +08:00
mabo
0387ac510a 管理端和商家端userInfo字段名变更,管理端会员详情,他的积分字段调整 2021-08-04 17:51:43 +08:00
mabo
726ae1f856 1. 第一次进入商品列表,商品分类未展示
2. 链接选择器,店铺开启状态展示错误
3. 从新装修楼层,楼层bug修改
4. 搜索热词为空是返回null,导致报错
5. 首页全部商品分类缓存问题
6. 修改菜单项缓存、添加设置
7. 店铺分类二级分类修改时无父级分类
2021-08-04 17:07:39 +08:00
mabo
483d8c3aef 链接选择器,店铺开启状态展示错误 2021-08-03 18:12:27 +08:00
mabo
db42d19f44 买家端订单详情添加操作,商品选择器,categoryId传参错误 2021-08-03 18:08:18 +08:00
mabo
d822c3c809 swiper问题 2021-08-03 10:40:38 +08:00
mabo
94719d58cd lock文件添加 2021-08-03 10:20:54 +08:00
mabo
307153801d 取消pakcge-lock.json的忽略 2021-08-03 10:08:07 +08:00
mabo
a771189939 swiper 报错 2021-08-03 09:53:50 +08:00
mabo
98c65eab46 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-08-03 09:23:39 +08:00
mabo
21a37db1da 删除无用代码 2021-08-03 09:23:36 +08:00
Chopper
4008816c66 Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop-ui 2021-08-02 18:45:01 +08:00
Chopper
925e84528c 修改结算页面展示字段 2021-08-02 18:44:28 +08:00
mabo
8d6ee03d88 首页展示秒杀商品,楼层装修页面调整 2021-08-02 18:13:08 +08:00
mabo
8cec0e6ab8 商家端列表页缓存 2021-07-31 15:49:54 +08:00
mabo
ad17d8b743 文件名大小写修改 2021-07-31 11:05:34 +08:00
mabo
2792d24e98 添加注释 2021-07-31 09:49:17 +08:00
mabo
ff92fd8d76 添加pc端代码注释 2021-07-30 18:17:01 +08:00
mabo
93ba1c134f 热搜词缓存 2021-07-30 17:11:36 +08:00
mabo
dc08d545a2 删除like模块引用 2021-07-30 16:13:31 +08:00
mabo
ca3cf71c6d 搜索热词,pc端注释,管理端结算单订单号字段错误 2021-07-30 15:59:14 +08:00
lemon橪
96beccad82 修改退款金额有问题bug 2021-07-29 17:39:35 +08:00
lemon橪
f63c21b17a 订单详情不加载问题 2021-07-29 15:49:10 +08:00
lemon橪
6b27278e6e 订单详情 不触发加载问题 2021-07-29 15:48:41 +08:00
mabo
cd0cd14f77 代码注释添加 2021-07-28 17:07:37 +08:00
mabo
94a9404b39 结算单添加积分,砍价价格字段 2021-07-28 10:56:37 +08:00
mabo
2385bbd912 积分展示问题 2021-07-28 09:24:37 +08:00
mabo
327d911f80 买家图片地址问题 2021-07-28 09:02:48 +08:00
mabo
83f0f01233 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-07-27 18:13:48 +08:00
mabo
877ccc059e 楼层装修接口多次调用,发票管理状态错误,售后详情打开多个会为空 2021-07-27 18:13:45 +08:00
lemon橪
9313d5a886 新增商品楼层装修模块 2021-07-27 18:13:24 +08:00
mabo
5fb6986a18 菜单管理保存时删除无用字段 2021-07-27 16:13:38 +08:00
mabo
eb4a5e4fdc 管理端注释添加完成 2021-07-27 15:59:34 +08:00
mabo
59e1aedbf3 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-07-26 18:12:17 +08:00
mabo
87980277bf 添加注释,删除无用代码,bug修改 2021-07-26 18:12:13 +08:00
Chopper
30fbe6ca83 no message 2021-07-26 16:03:39 +08:00
Chopper
31d28627f1 热词功能完善 2021-07-26 16:02:31 +08:00
mabo
df9ea021b3 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-07-26 14:47:22 +08:00
mabo
a198fc0161 添加注释,测试功能,选择部门组件报错,会员详情积分字段展示错误,售后原因添加标识判断是新增还是编辑 2021-07-26 14:47:18 +08:00
chopper711
64bfe1cdc2 !5 提现审核功能
Merge pull request !5 from pipi
2021-07-26 06:15:36 +00:00
pikachu
6a716fa531 提现申请审核 2021-07-24 17:38:19 +08:00
pikachu
05b4f67bd3 修复提现记录不展示 2021-07-24 11:46:41 +08:00
mabo
9130485631 添加注释,修改分销设置提交方式,左侧菜单无法选中问题 2021-07-23 18:05:05 +08:00
mabo
ae329419a6 页签切换,一级菜单也要选中,报错信息提示多个问题 2021-07-23 11:46:01 +08:00
mabo
66462b9085 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-07-22 18:05:59 +08:00
mabo
80d070bb67 管理端售后,添加跳转链接 2021-07-22 18:05:55 +08:00
lemon橪
916dd1a398 合并Master 2021-07-22 18:03:04 +08:00
lemon橪
502c77fb6e 优化角色权限样式 2021-07-22 18:02:47 +08:00
mabo
2f8946f372 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-07-22 14:25:59 +08:00
mabo
abc58298a3 logo替换为本地文件,商品搜索项折叠,售后展示平台退款订单 2021-07-22 14:25:55 +08:00
lemon橪
4809c3839b 修改售后单部分样式以及逻辑 2021-07-22 14:23:31 +08:00
lemon橪
7fbcdafa9b 合并master 2021-07-22 09:10:42 +08:00
lemon橪
b2180ecaf7 更改退货列表间距 2021-07-22 09:10:15 +08:00
mabo
6351bdb633 买家优惠券页面调整,订单导出添加参数,订单详情样式调整 2021-07-22 09:01:59 +08:00
mabo
75bff1edc4 会员中心添加首页按钮,pclogo改为阿里云地址,编辑折扣券没有传折扣值, 2021-07-21 15:27:39 +08:00
paulGao
f512caa81d 添加自定义分词管理 2021-07-21 08:00:24 +08:00
lemon橪
c3178eb7d0 合并master 2021-07-20 18:03:28 +08:00
lemon橪
562679b366 新增楼层装修砍价的编辑 2021-07-20 18:02:49 +08:00
mabo
eee0258061 物流公司切换禁用无效问题,pc退货添加物流信息回填,保存发票回显错误 2021-07-20 18:00:35 +08:00
mabo
0a248d89d5 物流公司switch切换无效,代码注释添加 2021-07-20 14:06:53 +08:00
mabo
5062cad2b0 商家端添加注释,删除无用代码,优化样式 2021-07-19 18:03:35 +08:00
mabo
07f41f5cb6 pc商品列表样式修改,商家注释添加,订单统计,退订单按钮样式 2021-07-16 17:57:24 +08:00
mabo
133febe7a7 代码注释添加 2021-07-15 10:19:56 +08:00
mabo
e74c6d9eda Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-07-14 18:01:03 +08:00
mabo
0499a9c237 批量上传、添加注释 2021-07-14 18:00:59 +08:00
pikachu
fbb24fd07f 修复积分字段展示问题 2021-07-13 18:55:20 +08:00
pikachu
0b62cba3b9 修改积分类型字段 2021-07-13 18:46:55 +08:00
mabo
0fd4645514 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui
# Conflicts:
#	seller/src/config/index.js
2021-07-13 18:16:10 +08:00
mabo
0e277a8e6d 前端首页下拉样式,头部样式,seller端批量上传 2021-07-13 18:15:32 +08:00
pikachu
d7da00582a Merge branch 'master' into qiuqiu 2021-07-12 23:44:29 +08:00
pikachu
953320526e 砍价第一版本 2021-07-12 23:43:59 +08:00
pikachu
726b11eb82 砍价第一版本 2021-07-12 23:42:59 +08:00
lemon橪
ca8d518fae 修改物流请求 2021-07-12 18:37:42 +08:00
lemon橪
3e3c101a1e 合并方法 2021-07-12 18:19:05 +08:00
lemon橪
c6417cf197 修改商家端物流这块请求方法 2021-07-12 18:18:49 +08:00
mabo
4c0aec2f42 文章分类,订单列表,商品分类,收款记录等页面bug修改 2021-07-09 17:58:31 +08:00
mabo
7331fcbb17 Merge branch 'ma' 2021-07-09 15:21:28 +08:00
mabo
f5faad982c 发布商品代码拆分完成,管理端订单设置修改 2021-07-09 15:04:02 +08:00
mabo
48c0dcb69b bug修改 2021-07-08 14:36:05 +08:00
mabo
0504592f7d 拆分代码 2021-07-08 09:24:42 +08:00
mabo
9ff4197ec4 no message 2021-07-07 17:45:38 +08:00
mabo
c835616ad2 Merge branch 'master' into ma
# Conflicts:
#	buyer/src/components/goodsDetail/ShowGoodsDetail.vue
#	buyer/src/config/index.js
#	seller/src/views/goods/goods-seller/goodsOperation.vue
2021-07-07 16:14:23 +08:00
mabo
e5449213c2 no message 2021-07-07 16:12:55 +08:00
mabo
872a5d1982 左侧菜单选中设置 2021-07-07 16:03:48 +08:00
mabo
1246810c01 bug修改 2021-07-07 15:34:38 +08:00
mabo
fc393ecd64 部分bug修改 2021-07-05 17:53:23 +08:00
mabo
9b9295ea94 拆分发布商品代码 2021-07-05 16:08:12 +08:00
mabo
c403fce786 no message 2021-07-02 18:04:17 +08:00
mabo
31349634f6 Merge branch 'master' into ma
# Conflicts:
#	seller/src/views/goods/goods-seller/goodsOperation.vue
2021-07-02 17:38:14 +08:00
mabo
cc1afed902 分销提现,滑块验证bug修改 2021-07-02 16:45:52 +08:00
mabo
3a76ba2c1f 发布文章图片不回显,发布商品不选类型可以点下一步 2021-07-02 14:26:01 +08:00
mabo
da330b80c8 Merge branch 'master' into ma 2021-07-02 10:33:34 +08:00
mabo
1028b8189e 导出待发货订单 2021-07-02 10:32:15 +08:00
mabo
6988ad8bf0 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-07-02 09:50:28 +08:00
mabo
e318fe5be0 pc首页margin问题 2021-07-02 09:50:25 +08:00
lemon橪
4166a1ca58 合并master 2021-07-02 09:38:07 +08:00
lemon橪
35ea8adf7d 解决配送地址选择不回显bug 2021-07-02 09:37:46 +08:00
mabo
be2280907e 导出待发货订单 2021-07-02 09:10:53 +08:00
mabo
6100f1e39a 商品参数修改 2021-07-01 17:00:52 +08:00
mabo
5368f3c323 发布商品,选择模板后跳到商品编辑页面 2021-07-01 16:32:41 +08:00
mabo
be1a05e566 Revert "no message"
This reverts commit 0a02195ca6.
2021-07-01 16:04:06 +08:00
mabo
0a02195ca6 no message 2021-07-01 16:03:59 +08:00
mabo
6887b6c624 issues上bug修改 2021-07-01 16:02:12 +08:00
mabo
f7167912e7 商品sku只展示一个问题 2021-06-30 17:41:24 +08:00
mabo
14feac43fe Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-06-30 15:51:18 +08:00
mabo
c9e58f3586 修改bug 2021-06-30 15:51:14 +08:00
Chopper
e8809bbeb8 镜像脚本更新 2021-06-30 14:54:24 +08:00
lemon橪
d8b9d81f70 合并master 2021-06-30 14:29:03 +08:00
lemon橪
4340b1a5b7 优化商品分类,隐藏没用的楼层装修弹窗的样式 2021-06-30 14:28:50 +08:00
mabo
950b8a097c bug修改 2021-06-30 09:45:36 +08:00
mabo
72ed363ac3 商品评价,点击查看报错问题 2021-06-29 18:13:58 +08:00
mabo
e493f26442 拆分发布商品代码 2021-06-29 17:53:50 +08:00
mabo
f973cadd80 Merge branch 'master' into ma 2021-06-29 15:29:59 +08:00
mabo
5143f2b83f 添加滑块验证注释 2021-06-29 15:24:16 +08:00
mabo
b728e340a0 Merge branch 'master' of https://gitee.com/beijing_hongye_huicheng/lilishop-ui 2021-06-29 14:58:10 +08:00
mabo
18bfa0edef 滑块验证优化 2021-06-29 14:58:07 +08:00
mabo
9fbc61f742 拆分商品发布代码 2021-06-29 11:50:37 +08:00
1319 changed files with 329178 additions and 54845 deletions

7
.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
*/.vscode/
/.idea/
*/dist/
.DS_Store
node_modules/
yarn.lock
package-lock.json

View File

@@ -1,17 +0,0 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<option name="OTHER_INDENT_OPTIONS">
<value>
<option name="INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</value>
</option>
<codeStyleSettings language="JavaScript">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="0" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
</code_scheme>
</component>

View File

@@ -1,5 +0,0 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>

View File

@@ -1,6 +0,0 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
</profile>
</component>

12
.idea/lili-shop-ui.iml generated
View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
<excludeFolder url="file://$MODULE_DIR$/temp" />
<excludeFolder url="file://$MODULE_DIR$/tmp" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

6
.idea/misc.xml generated
View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>

8
.idea/modules.xml generated
View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/lili-shop-ui.iml" filepath="$PROJECT_DIR$/.idea/lili-shop-ui.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated
View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

380
.idea/workspace.xml generated
View File

@@ -1,380 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="BranchesTreeState">
<expand>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" />
</path>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
</path>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:origin" type="e8cecc67:BranchNodeDescriptor" />
</path>
</expand>
<select />
</component>
<component name="ChangeListManager">
<list default="true" id="7e964aa0-753b-43f7-854a-2942a3e76fe4" name="默认更改列表" comment="店铺设置">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<<<<<<< HEAD
<change beforePath="$PROJECT_DIR$/buyer/src/pages/home/orderCenter/AddAddress.vue" beforeDir="false" afterPath="$PROJECT_DIR$/buyer/src/pages/home/orderCenter/AddAddress.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/manager/src/config/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/manager/src/config/index.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/seller/src/config/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/seller/src/config/index.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/seller/src/views/statistics/goods/goodsStatistics.vue" beforeDir="false" afterPath="$PROJECT_DIR$/seller/src/views/statistics/goods/goodsStatistics.vue" afterDir="false" />
=======
<change beforePath="$PROJECT_DIR$/manager/src/views/goods-unit/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/manager/src/views/goods-unit/index.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/manager/src/views/sensitiveWords/index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/manager/src/views/sensitiveWords/index.vue" afterDir="false" />
>>>>>>> new-lmr
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Vue File" />
<option value="Vue Single File Component" />
<option value="JavaScript File" />
</list>
</option>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="ProjectId" id="1gGPnr0TWcTGoYhLT7QHFe5MrX4" />
<component name="ProjectLevelVcsManager">
<ConfirmationsSetting value="2" id="Add" />
</component>
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<<<<<<< HEAD
<property name="last_opened_file_path" value="$PROJECT_DIR$/manager/src/api" />
=======
<property name="last_opened_file_path" value="$PROJECT_DIR$/manager/src/views/sys/setting-manage" />
>>>>>>> new-lmr
<property name="node.js.detected.package.eslint" value="true" />
<property name="node.js.detected.package.tslint" value="true" />
<property name="node.js.path.for.package.eslint" value="project" />
<property name="node.js.path.for.package.tslint" value="project" />
<property name="node.js.selected.package.eslint" value="(autodetect)" />
<property name="node.js.selected.package.tslint" value="(autodetect)" />
<property name="nodejs_package_manager_path" value="npm" />
<property name="settings.editor.selected.configurable" value="preferences.sourceCode.XML" />
<property name="ts.external.directory.path" value="$APPLICATION_HOME_DIR$/plugins/JavaScriptLanguage/jsLanguageServicesImpl/external" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<<<<<<< HEAD
<recent name="$PROJECT_DIR$/manager/src/api" />
<recent name="$PROJECT_DIR$/manager/src/views/my-components" />
=======
<recent name="$PROJECT_DIR$/manager/src/views/sys/setting-manage" />
>>>>>>> new-lmr
<recent name="$PROJECT_DIR$/buyer/src/components/verify" />
<recent name="$PROJECT_DIR$/buyer/src/components/change" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/buyer/src/components/change" />
<recent name="$PROJECT_DIR$/buyer/src/pages/home/memberCenter" />
<recent name="$PROJECT_DIR$/buyer/src/pages/home/orderCenter" />
<recent name="$PROJECT_DIR$/buyer/src/pages/home" />
<recent name="$PROJECT_DIR$/buyer/src/components/home/order" />
</key>
</component>
<component name="RunManager">
<configuration name="Home.vue" type="JavascriptDebugType" temporary="true" nameIsGenerated="true" uri="http://localhost:63342/lili-shop-ui/buyer/src/page/user/Home.vue" useBuiltInWebServerPort="true">
<method v="2" />
</configuration>
<recent_temporary>
<list>
<item itemvalue="JavaScript Debug.Home.vue" />
</list>
</recent_temporary>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="7e964aa0-753b-43f7-854a-2942a3e76fe4" name="默认更改列表" comment="" />
<created>1597738125477</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1597738125477</updated>
<workItem from="1597738127938" duration="6268000" />
<workItem from="1597825716012" duration="3768000" />
<workItem from="1597830090678" duration="7632000" />
<workItem from="1597972262326" duration="865000" />
<workItem from="1597974893526" duration="112000" />
<workItem from="1597975021121" duration="17000" />
<workItem from="1597975216701" duration="17254000" />
<workItem from="1598184961388" duration="14000" />
<workItem from="1598233017859" duration="10307000" />
<workItem from="1598259954059" duration="2720000" />
<workItem from="1598318520176" duration="726000" />
<workItem from="1598319433942" duration="106000" />
<workItem from="1598319554477" duration="13265000" />
<workItem from="1598406300597" duration="6030000" />
<workItem from="1598422866858" duration="7787000" />
<workItem from="1598491104901" duration="37245000" />
<workItem from="1606876680167" duration="61000" />
<workItem from="1611131536390" duration="5616000" />
<workItem from="1611537245379" duration="828000" />
<workItem from="1611538362285" duration="350000" />
<workItem from="1611560515629" duration="834000" />
<workItem from="1611650051294" duration="3000" />
<workItem from="1611818003333" duration="239000" />
<workItem from="1613989205923" duration="7005000" />
<workItem from="1614076082765" duration="8973000" />
<workItem from="1614142479169" duration="2129000" />
<workItem from="1614162982178" duration="8343000" />
<workItem from="1614228135182" duration="3456000" />
<workItem from="1614248866969" duration="8023000" />
<workItem from="1614313313338" duration="83000" />
<workItem from="1614313447954" duration="211000" />
</task>
<task id="LOCAL-00001" summary="管理端页面优化">
<created>1613996019944</created>
<option name="number" value="00001" />
<option name="presentableId" value="LOCAL-00001" />
<option name="project" value="LOCAL" />
<updated>1613996019944</updated>
</task>
<task id="LOCAL-00002" summary="修复修改商家地址报错问题">
<created>1613996389449</created>
<option name="number" value="00002" />
<option name="presentableId" value="LOCAL-00002" />
<option name="project" value="LOCAL" />
<updated>1613996389449</updated>
</task>
<task id="LOCAL-00003" summary="去掉id">
<created>1614076370139</created>
<option name="number" value="00003" />
<option name="presentableId" value="LOCAL-00003" />
<option name="project" value="LOCAL" />
<updated>1614076370139</updated>
</task>
<task id="LOCAL-00004" summary="选择物流规则不能选择物流模板">
<created>1614080544415</created>
<option name="number" value="00004" />
<option name="presentableId" value="LOCAL-00004" />
<option name="project" value="LOCAL" />
<updated>1614080544415</updated>
</task>
<task id="LOCAL-00005" summary="修改查询条件样式">
<created>1614143298555</created>
<option name="number" value="00005" />
<option name="presentableId" value="LOCAL-00005" />
<option name="project" value="LOCAL" />
<updated>1614143298555</updated>
</task>
<task id="LOCAL-00006" summary="修改样式">
<created>1614143902874</created>
<option name="number" value="00006" />
<option name="presentableId" value="LOCAL-00006" />
<option name="project" value="LOCAL" />
<updated>1614143902874</updated>
</task>
<task id="LOCAL-00007" summary="修改更新时间为NAN">
<created>1614144541858</created>
<option name="number" value="00007" />
<option name="presentableId" value="LOCAL-00007" />
<option name="project" value="LOCAL" />
<updated>1614144541858</updated>
</task>
<task id="LOCAL-00008" summary="修复app版本无法添加和修改">
<created>1614230386509</created>
<option name="number" value="00008" />
<option name="presentableId" value="LOCAL-00008" />
<option name="project" value="LOCAL" />
<updated>1614230386509</updated>
</task>
<task id="LOCAL-00009" summary="去掉打印">
<created>1614230407722</created>
<option name="number" value="00009" />
<option name="presentableId" value="LOCAL-00009" />
<option name="project" value="LOCAL" />
<updated>1614230407722</updated>
</task>
<task id="LOCAL-00010" summary="去掉多选">
<created>1614230544808</created>
<option name="number" value="00010" />
<option name="presentableId" value="LOCAL-00010" />
<option name="project" value="LOCAL" />
<updated>1614230544808</updated>
</task>
<task id="LOCAL-00011" summary="修改消息标题宽度">
<created>1614230627881</created>
<option name="number" value="00011" />
<option name="presentableId" value="LOCAL-00011" />
<option name="project" value="LOCAL" />
<updated>1614230627881</updated>
</task>
<task id="LOCAL-00012" summary="店铺相关js提交">
<created>1614231645143</created>
<option name="number" value="00012" />
<option name="presentableId" value="LOCAL-00012" />
<option name="project" value="LOCAL" />
<updated>1614231645143</updated>
</task>
<task id="LOCAL-00013" summary="店铺修改">
<created>1614231785359</created>
<option name="number" value="00013" />
<option name="presentableId" value="LOCAL-00013" />
<option name="project" value="LOCAL" />
<updated>1614231785359</updated>
</task>
<task id="LOCAL-00014" summary="优化页面">
<created>1614249105672</created>
<option name="number" value="00014" />
<option name="presentableId" value="LOCAL-00014" />
<option name="project" value="LOCAL" />
<updated>1614249105672</updated>
</task>
<task id="LOCAL-00015" summary="页面优化">
<created>1614258980903</created>
<option name="number" value="00015" />
<option name="presentableId" value="LOCAL-00015" />
<option name="project" value="LOCAL" />
<updated>1614258980903</updated>
</task>
<task id="LOCAL-00016" summary="页面优化">
<created>1614259068248</created>
<option name="number" value="00016" />
<option name="presentableId" value="LOCAL-00016" />
<option name="project" value="LOCAL" />
<updated>1614259068248</updated>
</task>
<task id="LOCAL-00017" summary="页面优化">
<created>1614313690732</created>
<option name="number" value="00017" />
<option name="presentableId" value="LOCAL-00017" />
<option name="project" value="LOCAL" />
<updated>1614313690732</updated>
</task>
<option name="localTasksCounter" value="18" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
</component>
<component name="Vcs.Log.History.Properties">
<option name="COLUMN_ID_ORDER">
<list>
<option value="Default.Root" />
<option value="Default.Author" />
<option value="Default.Date" />
<option value="Default.Subject" />
</list>
</option>
</component>
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="1">
<value>
<State>
<option name="SHOW_ONLY_AFFECTED_CHANGES" value="true" />
<option name="FILTERS">
<map>
<entry key="branch">
<value>
<list>
<option value="HEAD" />
</list>
</value>
</entry>
<entry key="structure">
<value>
<list>
<option value="dir:/Users/liushuai/Documents/workspace/lili-shop-ui/seller/src/router" />
</list>
</value>
</entry>
</map>
</option>
</State>
</value>
</entry>
<entry key="MAIN">
<value>
<State>
<option name="COLUMN_ORDER" />
</State>
</value>
</entry>
</map>
</option>
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="店铺设置" />
<MESSAGE value="文件排序问题处理" />
<MESSAGE value="管理端页面优化" />
<MESSAGE value="修复修改商家地址报错问题" />
<MESSAGE value="去掉id" />
<MESSAGE value="选择物流规则不能选择物流模板" />
<MESSAGE value="修改查询条件样式" />
<MESSAGE value="修改样式" />
<MESSAGE value="修改更新时间为NAN" />
<MESSAGE value="修复app版本无法添加和修改" />
<MESSAGE value="去掉打印" />
<MESSAGE value="去掉多选" />
<MESSAGE value="修改消息标题宽度" />
<MESSAGE value="店铺相关js提交" />
<MESSAGE value="店铺修改" />
<MESSAGE value="优化页面" />
<MESSAGE value="页面优化" />
<option name="LAST_COMMIT_MESSAGE" value="页面优化" />
</component>
<component name="WindowStateProjectService">
<state x="2074" y="292" key="CommitChangelistDialog2" timestamp="1614313690605">
<screen x="0" y="23" width="3440" height="1333" />
</state>
<state x="2074" y="292" key="CommitChangelistDialog2/0.23.3440.1333@0.23.3440.1333" timestamp="1614313690605" />
<state x="1660" y="123" width="1572" height="1133" key="DiffContextDialog" timestamp="1614231764977">
<screen x="0" y="23" width="3440" height="1333" />
</state>
<state x="1660" y="123" width="1572" height="1133" key="DiffContextDialog/0.23.3440.1333@0.23.3440.1333" timestamp="1614231764977" />
<state x="2046" y="418" key="Vcs.Push.Dialog.v2" timestamp="1614313692405">
<screen x="0" y="23" width="3440" height="1333" />
</state>
<state x="2046" y="418" key="Vcs.Push.Dialog.v2/0.23.3440.1333@0.23.3440.1333" timestamp="1614313692405" />
<state x="2055" y="414" width="782" height="550" key="find.popup" timestamp="1614256597933">
<screen x="0" y="23" width="3440" height="1333" />
</state>
<state x="2055" y="414" width="782" height="550" key="find.popup/0.23.3440.1333@0.23.3440.1333" timestamp="1614256597933" />
<state x="2111" y="325" key="run.anything.popup" timestamp="1613991372498">
<screen x="0" y="23" width="3440" height="1333" />
</state>
<state x="2111" y="325" key="run.anything.popup/0.23.3440.1333@0.23.3440.1333" timestamp="1613991372498" />
<state x="2111" y="327" width="670" height="676" key="search.everywhere.popup" timestamp="1614254687317">
<screen x="0" y="23" width="3440" height="1333" />
</state>
<state x="2111" y="327" width="670" height="676" key="search.everywhere.popup/0.23.3440.1333@0.23.3440.1333" timestamp="1614254687317" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" type="javascript">
<url>file://$PROJECT_DIR$/manager/src/views/sys/monitor/monitor.vue</url>
<line>5</line>
<option name="timeStamp" value="2" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
</project>

143
LICENSE
View File

@@ -1,5 +1,5 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
@@ -7,17 +7,15 @@
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
software for all its users.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
@@ -26,44 +24,34 @@ them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate. Many developers of free software are heartened and
encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals. This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.
The precise terms and conditions for copying, distribution and
modification follow.
@@ -72,7 +60,7 @@ modification follow.
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
@@ -549,35 +537,45 @@ to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
the GNU Affero General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
@@ -635,40 +633,29 @@ the "copyright" line and a pointer to where the full notice is found.
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
GNU Affero General Public License for more details.
You should have received a copy of the GNU General Public License
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
For more information on this, and how to apply and follow the GNU AGPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

331
README.md
View File

@@ -1,96 +1,159 @@
## Lilishop B2B2C商城系统
##### 官方公众号 & 开源不易如有帮助请点Star
![image-20210511171611793](https://pickmall.cn/assets/imgs/h5-qrcode.png)
#### PS **演示站点所有环境均部署master分支。如果有演示站点问题可以反馈如果演示站点没问题本地运行有问题需自行处理**
- **[在线客服](https://work.weixin.qq.com/kfid/kfc4d8dc24a73c15f44)**
- **微信交流1群已满**
- **微信交流2群**:
![微信群](https://lilishop-wechat.oss-cn-beijing.aliyuncs.com/wechat.jpg)
##### 体验 公众号/小程序/APP 体验,扫描二维码
![image-20210511171611793](https://static.pickmall.cn/images/h5-qrcode.png)
[![star](https://gitee.com/beijing_hongye_huicheng/lilishop/badge/star.svg?theme=dark)](https://gitee.com/beijing_hongye_huicheng/lilishop/stargazers)
&nbsp;&nbsp;![github](https://img.shields.io/github/stars/hongyehuicheng/lilishop.svg?style=social&logo=#181717)
## 2025-10-10日更新
兼容更高的node版本16
这里我用的是node版本 v16.20.2
npm版本 8.19.4
使用yarn install 然后执行 yarn dev
yarn 安装/启动
```
// 如果没有 yarn 安装yarn
npm install yarn -g
// 切换源
yarn config set registry https://registry.npmmirror.com
// 以buyer项目为例
cd buyer
yarn install
yarn dev
```
### 介绍
没有二开过的项目直接拉最新代码即可,二开项目可以跟着提交记录一起同步修改 install出现问题检查的话删除 "package-lock.json" 重新install
Q&A 为什么不升级更高的node版本 :因为高node版本 OpenSSL 改动 导致旧版本 Webpack 插件会失效 试了好几次如果兼容的话 需要升级Webpack5以及其他的插件 升级内容较多 为了更稳定的还是尽量少动为主
****
## 如何在本地环境运行lilishop-ui部署视频
https://www.bilibili.com/video/BV1B28EeJEnP/
## 如何在服务器上部署lilishop-ui
https://www.bilibili.com/video/BV1WD87eoE9F/
## 开发项目
#### 安装Node.js
保证`node`版本`14`,推荐 14.17.0
2025-10-10日拉的代码之后不限制于node版本为14这里只是以14版本为例子
可以使用 `yarn` 或者 `npm` 进行安装
#### yarn 安装/启动
```
// 如果没有 yarn 安装yarn
npm install yarn -g
// 切换源
yarn config set registry https://registry.npmmirror.com
// 以buyer项目为例
cd buyer
yarn install
yarn dev
```
#### FAQ
##### npmmirror镜像源报错 451 Unavailable For Legal Reasons
```
//切换其他的镜像源
// npm
npm config set registry http://mirrors.cloud.tencent.com/npm/
// yarn
yarn config set registry http://mirrors.cloud.tencent.com/npm/
```
##### 安装不上去
可以按照这个思路排查一下
```
1. 看下Node.js 是否是14.17.0
2. 项目目录下是否有 package-lock.json 或者 .npmrc 或者 .yarnrc 设置了镜像源, 如果有可以删除重新install
3. 切换当前 npm 或者 yarn 镜像源重试
```
### 商城介绍
**官网**https://pickmall.cn
Lilishop 是一款Java开发基于SpringBoot研发的B2B2C多用户商城,前端使用 Vue、uniapp开发 **系统全端全部代码开源**
Lilishop商城系统支持商家入驻,后端基于SpringBoot 研发,前端使用 Vue、uniapp开发 **系统全端全部代码开源**
产品前后端分离支持分布式部署。
前后端分离支持分布式部署支持Docker各个API独立并且有独立的消费者
商城展示端包含 PC、H5、微信小程序、APP。
### 商城 API/消费者 聚合版
api不需要单独部署只需启动一个jar包就可以正常运转 如有需要,可以点击跳转
https://gitee.com/beijing_hongye_huicheng/lilishop-simplify
商城包含 会员模块、**第三方登录模块**、**第三方支付模块**、**楼层装修模块**、订单模块、分销模块、文章模块、系统设置模块、流量分析模块
### 开发/使用/常见问题 帮助文档
系统包含各种中间件、搜索引擎、多级缓存、分布式事务、分布式任务调度等支持Docker支持k8s。是一款高性能支持高并发等商城系统。
https://docs.pickmall.cn
开箱即用,简单配置即可部署一套属于您的系统。
### 项目地址
### 文档
gitee : https://gitee.com/beijing_hongye_huicheng
**产品文档**需求、架构、使用、部署、开发https://docs.pickmall.cn
github 镜像: https://github.com/lilishop?tab=repositories
商城UI 项目下3个文件夹
buyer买家PC端seller商家端manager后台管理端
### 项目链接(gitee)
**Java后台**https://gitee.com/beijing_hongye_huicheng/lilishop.git
**Vue后台前端** https://gitee.com/beijing_hongye_huicheng/lilishop-ui.git
**Uni-app**https://gitee.com/beijing_hongye_huicheng/lilishop-uniapp.git
**docker一键部署**https://gitee.com/beijing_hongye_huicheng/docker.git
### 项目链接(github)
**Java后台**https://github.com/hongyehuicheng/lilishop.git
**Vue后台前端** https://github.com/hongyehuicheng/lilishop-ui.git
**Uni-app**https://github.com/hongyehuicheng/lilishop-uniapp.git
**docker一键部署**https://github.com/hongyehuicheng/docker.git
### 演示地址
PS手机验证码为 111111
**运营后台**https://admin-b2b2c.pickmall.cn 账号admin/123456
**平台管理端**https://admin-b2b2c.pickmall.cn 账号admin/123456
**店铺后台**https://store-b2b2c.pickmall.cn 账号13011111111/111111
**店铺管理端**https://store-b2b2c.pickmall.cn 账号13011111111/111111
**用户前台**https://pc-b2b2c.pickmall.cn
**商城PC页面**https://pc-b2b2c.pickmall.cn
**移动端**https://m-b2b2c.pickmall.cn
**商城 小程序/公众号/APP**:扫描二维码
![image-20210511171611793](https://pickmall.cn/assets/imgs/h5-qrcode.png)
![image-20210511171611793](https://static.pickmall.cn/images/h5-qrcode.png)
### 3行命令搭建本地环境
### 快速本地部署
温馨提示由于服务较多如果笔记本环境启动内存没有32g可能无法启动成功macbookpro 2020 16g内存启动无法成功台式机在16g内存、AMD 3700x 的ubuntu系统成功运行。
##### 下载docker脚本
`git clone https://gitee.com/beijing_hongye_huicheng/docker.git `
##### 部署基础环境
`docker-compose up -d`
##### 部署应用
`docker-compose -f docker-compose-application.yml up -d`
PS:单独部署的话数据库文件访问这里https://gitee.com/beijing_hongye_huicheng/docker/tree/master/init/mysql
##### 各个地址
| API | 地址 |
| -------------- | --------------- |
| 买家API | http://127.0.0.1:8888 |
| 商家API | http://127.0.0.1:8889 |
| 管理端API | http://127.0.0.1:8887 |
| 通用API | http://127.0.0.1:8890 |
| 前端演示 | 地址 |
| -------------- | --------------- |
| PC | http://127.0.0.1:10000 |
| WAP | http://127.0.0.1:10001 |
| 商家 | http://127.0.0.1:10002 |
| 管理端 | http://127.0.0.1:10003 |
[点击跳转](https://docs.pickmall.cn/deploy/%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87.html)
**商城数据库**
使用docker-compose部署数据库自动初始化数据库不需要手动下载等操作
如果手动部署才需要获取sql [点击跳转](https://gitee.com/beijing_hongye_huicheng/docker/tree/master/init/mysql) PS这里有与tag版本一致的sql如果是历史版本则docker项目也切换至历史版本获取sql即可历史版本升级则根据java相聚的根目录DB目录下的升级sql按需执行
@@ -98,44 +161,35 @@ PS:单独部署的话数据库文件访问这里https://gitee.com/beijing_
#### 平台功能
#### 平台管理端功能
![平台功能](https://pickmall.cn/assets/imgs/other/managerList.jpg)
![平台管理端功能](https://static.pickmall.cn/images/other/managerList1.jpg)
#### 商家端功能
#### 卖家功能
![商家端功能](https://pickmall.cn/assets/imgs/other/storeList.jpg)
![商家端功能](https://static.pickmall.cn/images/other/storeList.jpg)
### 商城前端功能展示
#### 商城移动端
<img src="https://static.pickmall.cn/images/other/app.gif" alt="移动端功能展示" style="zoom:50%;" />
### 功能展示
#### 平台管理端
#### 移动端
<img src="https://pickmall.cn/assets/imgs/other/app.gif" alt="管理端功能展示" style="zoom:50%;" />
<img src="https://pickmall.cn/assets/imgs/other/app.gif" alt="移动端功能展示" style="zoom:50%;" />
#### 管理端
![管理端功能展示](https://pickmall.cn/assets/imgs/other/manager.gif)
![管理端功能展示](https://static.pickmall.cn/images/other/manager.gif)
### 技术选型
#### 架构图
![架构](https://lili-system.oss-cn-beijing.aliyuncs.com/docs/%E6%9E%B6%E6%9E%84.png)
![技术选型](https://lili-system.oss-cn-beijing.aliyuncs.com/docs/%E6%9E%B6%E6%9E%84.png)
##### Java后台
##### 后台技术选型
| 说明 | 框架 | 说明 | |
| -------------- | --------------- | -------------- | ------------- |
@@ -166,102 +220,21 @@ PS:单独部署的话数据库文件访问这里https://gitee.com/beijing_
| 基础UI库 | uViewui | 基础框架 | uni-app |
| CSS预处理 | scss | 地图引擎 | amap |
### 升级计划
#### 计划每个月发布一个版本,具体时间可能有出入
时间2021年6月15日
```
新增功能:
1.微信小程序直播
2.优惠券活动
3.新人赠券
4.准确发券
5.用户等级
6.数据导出
7.订单批量
8.APP版本升级检测
9.积分商城
功能优化:
1.优惠券有效期增加类型:设置领取后*内有效。
2.秒杀活动设置为每天开启,需设置秒杀活动开启时间。
3.店铺配送模板,配送地区如果选择省份则下方的市级地址不展示。
4.店铺配送模板支持,店铺包邮。
5.普通商品设置去除卖家承担运费。
```
时间2021年7月15日
```
新增功能:
1.会员权益
2.支持用户升级会员
3.供求单
4.IM腾讯云智服
5.服务商品
6.店铺支持订单核销
7.店铺自提点
功能优化:
1.用户分享商城、关注店铺、邀请新用户可获取积分、经验值。
```
时间2021年8月16日
```
新增功能:
1.微淘功能
2.店铺移动端
3.店铺发货单
```
时间2021年9月15日
```
新增功能:
增加供应商功能
```
### 版本升级
```
后续会持续版本升级修复bug完善功能覆盖更多业务场景 o2o/b2b/s2b2b2c/跨境电商
后续会考虑推出微服务/中台等 企业级版本
系统后续会提供多场景解决方案。
更多架构微服务、Saas、中台等都会支持。 支持差价升级商业授权
```
### 技术亮点
### 商业授权
商业版本与开源版本代码一致,没有区分
商业使用需要授权授权方式可选择联系官网客服或者qq群联系群主。
1.后端框架基于Springboot构建基于maven持久层使用MyBatisPlus。使用elasticsearch、redis、mongodb、rocketmq 等各种中间健。都是主流架构,轻松应对各种环境
2.支持集群、分布式支持docker 轻松部署,解决各种复杂场景!
3.代码模块清晰主要分为三端api买家、卖家、管理各端API互相隔离自己鉴权自己操作业务。
4.使用阿里开源的RocketMQ基于mq解决各种并发场景解决事务一致性解决搞并发延迟场景问题。
5.项目使用多级缓存应用不同场景redis缓存业务数据、mongodb缓存关系型多对多关系问题、nginx缓存高频访问低频修改的页面。
6.支持各种联合登陆,支持各种客户端的支付问题,灵活配置灵活开启。
7.内置完善的楼层装修机制,各种拖拉拽,维护跳转页面或外网,即便是一个什么都不懂的运营也可以轻松掌握。
8.内置阿里短信接口可以在线申请短信模版。内置阿里oss系统可以对文件执行各种操作。oss商家端资源相互隔离。
10.强大的统计报表,统计效果,可以实现各个场景,包含在线人数,历史在线人数,活跃人数等信息。
11.标准Api接口、提供swagger文档快速二开。
12.分布式调度任务中心,解决分布式定时任务多次执行问题。
13.代码注释完善,快速上手。
14.非移动端采用IView框架各种自定义插件、选择器实现。移动端采用uniapp一次编写全端使用
15.已经对接好各种第三方插件,支持各种复杂等联合登陆,联合支付等场景。
商业授权模式为永久授权,支持永久升级
商业案例由于涉及部分多层二开关系,如需了解可以咨询销售。
### 开源须知
@@ -269,9 +242,13 @@ PS:单独部署的话数据库文件访问这里https://gitee.com/beijing_
2.禁止将本开源的代码和资源进行任何形式任何名义的出售.
3.限制商用如果需要商业使用请联系我们。QQ3409056806.
3.软件受国家计算机软件著作权保护登记号2021SR0805085
### 交流群
4.限制商用如果需要商业使用请联系我们。QQ3409056806.或者加入qq群联系群主。
**QQ群**961316482
### 附录
有人有自己的学习视频、学习记录文档、希望宣传关联开源项目等均可以私聊仓库所有者。
类似:
清晨敲代码同学的分析: https://blog.csdn.net/vaevaevae233/category_12103567.html

19
build.sh Normal file
View File

@@ -0,0 +1,19 @@
#代码目录
code_path=$PWD
git pull
cd ${code_path}/manager
rm -rf ./dist
yarn install
yarn build
cd ${code_path}/seller
rm -rf ./dist
yarn install
yarn build
cd ${code_path}/buyer
rm -rf ./dist
yarn install
yarn build

1
buyer/.gitignore vendored
View File

@@ -12,4 +12,3 @@ yarn-error.log*
*.ntvs*
*.njsproj
*.sln
package-lock.json

1
buyer/.npmrc Normal file
View File

@@ -0,0 +1 @@
engine-strict=false

View File

@@ -1,10 +0,0 @@
// https://github.com/michael-ciniawsky/postcss-load-config
module.exports = {
"plugins": {
"postcss-import": {},
"postcss-url": {},
// to target browsers: use "browserslist" field in package.json
"autoprefixer": {}
}
}

1
buyer/.yarnrc Normal file
View File

@@ -0,0 +1 @@
--ignore-engines true

View File

@@ -1,8 +1,13 @@
FROM nginx:alpine
FROM node:10.19.0 as build-stage
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
RUN mkdir -p /app/
COPY ./dist /app/
# production stage
FROM nginx:stable-alpine as production-stage
COPY --from=build-stage /app/dist /usr/share/nginx/html
COPY ./nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]k

View File

@@ -1,25 +0,0 @@
### 全局css src/assets/styles
### 工具类 src/plugins
### 顶部广告页 src/components/advertising
### 全部商品分类 components/nav
### 底部导航栏 components/footer
### 发票模态框 components/invoiceModal
### 商品详情 pages/GoodsDetail.vue
#### 商品详情组件 components/goodsDetail
### 全部商品分类 pages/AllCategories.vue
### 意见反馈 pages/Feedback.vue
### 卡片的封装 components/card
### 购物车 pages/Cart.vue

5
buyer/babel.config.js Normal file
View File

@@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}

View File

@@ -1,41 +0,0 @@
'use strict'
require('./check-versions')()
process.env.NODE_ENV = 'production'
const ora = require('ora')
const rm = require('rimraf')
const path = require('path')
const chalk = require('chalk')
const webpack = require('webpack')
const config = require('../config')
const webpackConfig = require('./webpack.prod.conf')
const spinner = ora('building for production...')
spinner.start()
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
if (err) throw err
webpack(webpackConfig, (err, stats) => {
spinner.stop()
if (err) throw err
process.stdout.write(stats.toString({
colors: true,
modules: false,
children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
chunks: false,
chunkModules: false
}) + '\n\n')
if (stats.hasErrors()) {
console.log(chalk.red(' Build failed with errors.\n'))
process.exit(1)
}
console.log(chalk.cyan(' Build complete.\n'))
console.log(chalk.yellow(
' Tip: built files are meant to be served over an HTTP server.\n' +
' Opening index.html over file:// won\'t work.\n'
))
})
})

View File

@@ -1,54 +0,0 @@
'use strict'
const chalk = require('chalk')
const semver = require('semver')
const packageConfig = require('../package.json')
const shell = require('shelljs')
function exec (cmd) {
return require('child_process').execSync(cmd).toString().trim()
}
const versionRequirements = [
{
name: 'node',
currentVersion: semver.clean(process.version),
versionRequirement: packageConfig.engines.node
}
]
if (shell.which('npm')) {
versionRequirements.push({
name: 'npm',
currentVersion: exec('npm --version'),
versionRequirement: packageConfig.engines.npm
})
}
module.exports = function () {
const warnings = []
for (let i = 0; i < versionRequirements.length; i++) {
const mod = versionRequirements[i]
if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
warnings.push(mod.name + ': ' +
chalk.red(mod.currentVersion) + ' should be ' +
chalk.green(mod.versionRequirement)
)
}
}
if (warnings.length) {
console.log('')
console.log(chalk.yellow('To use this template, you must update following to modules:'))
console.log()
for (let i = 0; i < warnings.length; i++) {
const warning = warnings[i]
console.log(' ' + warning)
}
console.log()
process.exit(1)
}
}

View File

@@ -1,110 +0,0 @@
'use strict'
const path = require('path')
const config = require('../config')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const packageConfig = require('../package.json')
exports.assetsPath = function (_path) {
const assetsSubDirectory = process.env.NODE_ENV === 'production'
? config.build.assetsSubDirectory
: config.dev.assetsSubDirectory
return path.posix.join(assetsSubDirectory, _path)
}
exports.cssLoaders = function (options) {
options = options || {}
const cssLoader = {
loader: 'css-loader',
options: {
sourceMap: options.sourceMap
}
}
const postcssLoader = {
loader: 'postcss-loader',
options: {
sourceMap: options.sourceMap
}
}
// generate loader string to be used with extract text plugin
function generateLoaders (loader, loaderOptions) {
const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.sourceMap
})
})
}
// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader',
publicPath: '../../'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
// https://vue-loader.vuejs.org/en/configurations/extract-css.html
return {
css: generateLoaders(),
postcss: generateLoaders(),
less: generateLoaders('less' , { javascriptEnabled : true }),
sass: generateLoaders('sass', { indentedSyntax: true }),
scss: generateLoaders('sass').concat(
{
loader: 'sass-resources-loader',
options: {
//你自己的scss全局文件的路径
resources: path.resolve(__dirname, '../src/assets/styles/global.scss')
}
}
),
stylus: generateLoaders('stylus'),
styl: generateLoaders('stylus')
}
}
// Generate loaders for standalone style files (outside of .vue)
exports.styleLoaders = function (options) {
const output = []
const loaders = exports.cssLoaders(options)
for (const extension in loaders) {
const loader = loaders[extension]
output.push({
test: new RegExp('\\.' + extension + '$'),
use: loader
})
}
return output
}
exports.createNotifierCallback = () => {
const notifier = require('node-notifier')
return (severity, errors) => {
if (severity !== 'error') return
const error = errors[0]
const filename = error.file && error.file.split('!').pop()
notifier.notify({
title: packageConfig.name,
message: severity + ': ' + error.name,
subtitle: filename || '',
icon: path.join(__dirname, 'logo.png')
})
}
}

View File

@@ -1,22 +0,0 @@
'use strict'
const utils = require('./utils')
const config = require('../config')
const isProduction = process.env.NODE_ENV === 'production'
const sourceMapEnabled = isProduction
? config.build.productionSourceMap
: config.dev.cssSourceMap
module.exports = {
loaders: utils.cssLoaders({
sourceMap: sourceMapEnabled,
extract: isProduction
}),
cssSourceMap: sourceMapEnabled,
cacheBusting: config.dev.cacheBusting,
transformToRequire: {
video: ['src', 'poster'],
source: 'src',
img: 'src',
image: 'xlink:href'
}
}

View File

@@ -1,111 +0,0 @@
'use strict'
const path = require('path')
const utils = require('./utils')
const config = require('../config')
const vueLoaderConfig = require('./vue-loader.conf')
function resolve (dir) {
return path.join(__dirname, '..', dir)
}
const createLintingRule = () => ({
test: /\.(js|vue)$/,
loader: 'eslint-loader',
enforce: 'pre',
include: [resolve('src'), resolve('test')],
options: {
formatter: require('eslint-friendly-formatter'),
emitWarning: !config.dev.showEslintErrorsInOverlay
}
})
module.exports = {
context: path.resolve(__dirname, '../'),
entry: {
app: './src/main.js'
},
output: {
path: config.build.assetsRoot,
filename: '[name].js',
publicPath: process.env.NODE_ENV === 'production'
? config.build.assetsPublicPath
: config.dev.assetsPublicPath
},
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
}
},
module: {
rules: [
// ...(config.dev.useEslint ? [createLintingRule()] : []),
{
test: /\.vue$/,
loader: 'vue-loader',
options: vueLoaderConfig
},
{
test: /\.scss$/,
loaders: ['style', 'css', 'sass']
},
// {
// test: /\.less$/,
// loader: "style-loader!css-loader!less-loader",
// },
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
},
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('img/[name].[hash:7].[ext]')
}
},
{
test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('media/[name].[hash:7].[ext]')
}
},
{
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
}
},
{
test: /\.(cur)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('cur/[name].[hash:7].[ext]')
}
}
]
},
node: {
// prevent webpack from injecting useless setImmediate polyfill because Vue
// source contains it (although only uses it if it's native).
setImmediate: false,
// prevent webpack from injecting mocks to Node native modules
// that does not make sense for the client
dgram: 'empty',
fs: 'empty',
net: 'empty',
tls: 'empty',
child_process: 'empty'
}
}

View File

@@ -1,95 +0,0 @@
'use strict'
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const path = require('path')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
const portfinder = require('portfinder')
const HOST = process.env.HOST
const PORT = process.env.PORT && Number(process.env.PORT)
const devWebpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
},
// cheap-module-eval-source-map is faster for development
devtool: config.dev.devtool,
// these devServer options should be customized in /config/index.js
devServer: {
clientLogLevel: 'warning',
historyApiFallback: {
rewrites: [
{ from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
],
},
hot: true,
contentBase: false, // since we use CopyWebpackPlugin.
compress: true,
host: HOST || config.dev.host,
port: PORT || config.dev.port,
open: config.dev.autoOpenBrowser,
overlay: config.dev.errorOverlay
? { warnings: false, errors: true }
: false,
publicPath: config.dev.assetsPublicPath,
proxy: config.dev.proxyTable,
quiet: true, // necessary for FriendlyErrorsPlugin
watchOptions: {
poll: config.dev.poll,
}
},
plugins: [
new webpack.DefinePlugin({
'process.env': require('../config/dev.env')
}),
new webpack.HotModuleReplacementPlugin(),
new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
new webpack.NoEmitOnErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.dev.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
module.exports = new Promise((resolve, reject) => {
portfinder.basePort = process.env.PORT || config.dev.port
portfinder.getPort((err, port) => {
if (err) {
reject(err)
} else {
// publish the new Port, necessary for e2e tests
process.env.PORT = port
// add port to devServer config
devWebpackConfig.devServer.port = port
// Add FriendlyErrorsPlugin
devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
compilationSuccessInfo: {
messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
},
onErrors: config.dev.notifyOnErrors
? utils.createNotifierCallback()
: undefined
}))
resolve(devWebpackConfig)
}
})
})

View File

@@ -1,145 +0,0 @@
'use strict'
const path = require('path')
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const env = require('../config/prod.env')
const webpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({
sourceMap: config.build.productionSourceMap,
extract: false,
usePostCSS: true
})
},
devtool: config.build.productionSourceMap ? config.build.devtool : false,
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
},
plugins: [
// http://vuejs.github.io/vue-loader/en/workflow/production.html
new webpack.DefinePlugin({
'process.env': env
}),
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false
}
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),
// extract css into its own file
new ExtractTextPlugin({
filename: utils.assetsPath('css/[name].[contenthash].css'),
// Setting the following option to `false` will not extract CSS from codesplit chunks.
// Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
// It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
// increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
allChunks: true,
}),
// Compress extracted CSS. We are using this plugin so that possible
// duplicated CSS from different components can be deduped.
new OptimizeCSSPlugin({
cssProcessorOptions: config.build.productionSourceMap
? { safe: true, map: { inline: false } }
: { safe: true }
}),
// generate dist index.html with correct asset hash for caching.
// you can customize output by editing /index.html
// see https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: config.build.index,
template: 'index.html',
inject: true,
minify: {
removeComments: true,
collapseWhitespace: true,
removeAttributeQuotes: true
// more options:
// https://github.com/kangax/html-minifier#options-quick-reference
},
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
chunksSortMode: 'dependency'
}),
// keep module.id stable when vendor modules does not change
new webpack.HashedModuleIdsPlugin(),
// enable scope hoisting
new webpack.optimize.ModuleConcatenationPlugin(),
// split vendor js into its own file
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks (module) {
// any required modules inside node_modules are extracted to vendor
return (
module.resource &&
/\.js$/.test(module.resource) &&
module.resource.indexOf(
path.join(__dirname, '../node_modules')
) === 0
)
}
}),
// extract webpack runtime and module manifest to its own file in order to
// prevent vendor hash from being updated whenever app bundle is updated
new webpack.optimize.CommonsChunkPlugin({
name: 'manifest',
minChunks: Infinity
}),
// This instance extracts shared chunks from code splitted chunks and bundles them
// in a separate chunk, similar to the vendor chunk
// see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
new webpack.optimize.CommonsChunkPlugin({
name: 'app',
async: 'vendor-async',
children: true,
minChunks: 3
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.build.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
if (config.build.productionGzip) {
const CompressionWebpackPlugin = require('compression-webpack-plugin')
webpackConfig.plugins.push(
new CompressionWebpackPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: new RegExp(
'\\.(' +
config.build.productionGzipExtensions.join('|') +
')$'
),
threshold: 10240,
minRatio: 0.8
})
)
}
if (config.build.bundleAnalyzerReport) {
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
webpackConfig.plugins.push(new BundleAnalyzerPlugin())
}
module.exports = webpackConfig

View File

@@ -1,8 +0,0 @@
'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
BASE_URL:''
})

View File

@@ -1,84 +0,0 @@
'use strict'
// Template version: 1.3.1
// see http://vuejs-templates.github.io/webpack for documentation.
const path = require('path')
// const api = 'http://www.baidu.com'
module.exports = {
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
// '/api': {
// target:api,
// changeOrigin:true,
// pathRewrite:{
// '^/api':''
// }
// }
},
// Various Dev Server settings
host: '0.0.0.0', // can be overwritten by process.env.HOST
port: 10000, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: false,
errorOverlay: true,
notifyOnErrors: true,
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
// Use Eslint Loader?
// If true, your code will be linted during bundling and
// linting errors and warnings will be shown in the console.
useEslint: false,
// If true, eslint errors and warnings will also be shown in the error overlay
// in the browser.
showEslintErrorsInOverlay: false,
/**
* Source Maps
*/
// https://webpack.js.org/configuration/devtool/#development
devtool: 'cheap-module-eval-source-map',
// If you have problems debugging vue-files in devtools,
// set this to false - it *may* help
// https://vue-loader.vuejs.org/en/options.html#cachebusting
cacheBusting: true,
cssSourceMap: true
},
build: {
// Template for index.html
index: path.resolve(__dirname, '../dist/index.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: '/',
/**
* Source Maps
*/
productionSourceMap: true,
// https://webpack.js.org/configuration/devtool/#production
devtool: '#source-map',
// Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you.
// Before setting to `true`, make sure to:
// npm install --save-dev compression-webpack-plugin
productionGzip: false,
productionGzipExtensions: ['js', 'css'],
// Run the build command with an extra argument to
// View the bundle analyzer report after build finishes:
// `npm run build --report`
// Set to `true` or `false` to always turn it on or off
bundleAnalyzerReport: process.env.npm_config_report
}
}

View File

@@ -1,5 +0,0 @@
'use strict'
module.exports = {
NODE_ENV: '"production"',
BASE_URL:'http://www.baidu.com'
}

View File

@@ -1 +1 @@
docker build -t registry.cn-beijing.aliyuncs.com/lili-images/buyer-ui-1.0.1:0.0.4 .
docker build -t registry.cn-beijing.aliyuncs.com/lili-images/buyer-ui:4.2.4.1 .

View File

@@ -1,14 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="./static/logo.ico" type="image/x-icon">
<script src="https://yzf.qq.com/xv/web/static/chat_sdk/yzf_chat.min.js"></script>
<title>LILI</title>
</head>
<body>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,51 +1,46 @@
#这个文件给docker用的
#user nobody;
worker_processes 1;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
keepalive_timeout 65;
client_max_body_size 10m;
gzip on;
gzip_min_length 5k;
gzip_buffers 4 16k;
gzip_min_length 5k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 4;
gzip_types text/plain application/x-javascript application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_types text/plain application/x-javascript application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
server {
listen 10000;
server_name localhost;
listen 10000;
location / {
root /app;
try_files $uri $uri/ /index.html $uri/ =404;
index index.html index.htm;
index index.html index.htm;
}
}
}

View File

@@ -1,91 +1,51 @@
{
"name": "lilishop-vue",
"name": "lilishop",
"version": "1.0.0",
"private": true,
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"lint": "eslint --ext .js,.vue src",
"build": "node build/build.js"
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"dev": "vue-cli-service serve"
},
"engines": {
"node": ">=14"
},
"dependencies": {
"@amap/amap-jsapi-loader": "0.0.7",
"axios": "^0.19.2",
"dplayer": "^1.27.1",
"js-cookie": "^2.2.1",
"less": "^3.12.2",
"less": "^2.7.0",
"less-loader": "^5.0.0",
"mv-count-down": "^0.1.15",
"sass": "^1.63.6",
"postcss-loader": "^4.3.0",
"psl": "^1.8.0",
"qs": "^6.9.4",
"swiper": "^5.2.0",
"uuid": "^8.3.2",
"v-distpicker": "^1.0.17",
"view-design": "^4.3.2",
"vue": "^2.5.2",
"vue-awesome": "^4.0.2",
"vue-awesome-swiper": "^4.1.1",
"vue": "^2.6.11",
"vue-awesome-swiper": "^3.1.3",
"vue-piczoom": "^1.0.6",
"vue-qr": "^2.3.0",
"vue-router": "^3.0.1",
"vuex": "^3.0.1"
},
"devDependencies": {
"autoprefixer": "^7.1.2",
"babel-core": "^6.22.1",
"babel-eslint": "^8.2.1",
"babel-helper-vue-jsx-merge-props": "^2.0.3",
"babel-loader": "^7.1.1",
"babel-plugin-syntax-jsx": "^6.18.0",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-plugin-transform-vue-jsx": "^3.5.0",
"babel-preset-env": "^1.3.2",
"babel-preset-stage-2": "^6.22.0",
"chalk": "^2.0.1",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.0",
"eslint": "^4.15.0",
"eslint-config-standard": "^10.2.1",
"eslint-friendly-formatter": "^3.0.0",
"eslint-loader": "^1.7.1",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-node": "^5.2.0",
"eslint-plugin-promise": "^3.4.0",
"eslint-plugin-standard": "^3.0.1",
"eslint-plugin-vue": "^4.0.0",
"extract-text-webpack-plugin": "^3.0.0",
"file-loader": "^1.1.4",
"friendly-errors-webpack-plugin": "^1.6.1",
"html-webpack-plugin": "^2.30.1",
"node-notifier": "^5.1.2",
"node-sass": "^4.14.1",
"optimize-css-assets-webpack-plugin": "^3.2.0",
"ora": "^1.2.0",
"portfinder": "^1.0.13",
"postcss-import": "^11.0.0",
"postcss-loader": "^2.0.8",
"postcss-url": "^7.2.1",
"rimraf": "^2.6.0",
"sass-loader": "^7.3.1",
"sass-resources-loader": "^2.0.3",
"semver": "^5.3.0",
"shelljs": "^0.7.6",
"uglifyjs-webpack-plugin": "^1.1.1",
"url-loader": "^0.5.8",
"vue-loader": "^13.3.0",
"vue-style-loader": "^3.0.1",
"vue-template-compiler": "^2.5.2",
"webpack": "^3.6.0",
"webpack-bundle-analyzer": "^2.9.0",
"webpack-dev-server": "^2.9.1",
"webpack-merge": "^4.1.0"
},
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
"@vue/cli-service": "~4.5.0",
"compression-webpack-plugin": "^5.0.0",
"sass-loader": "^10.4.1",
"uglifyjs-webpack-plugin": "^2.2.0",
"vue-template-compiler": "^2.6.11"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
"not dead"
],
"resolutions": {
"minimatch": "^3.1.2",
"node-sass": "npm:sass@^1.63.6",
"@achrinza/node-ipc": "9.2.2"
}
}

17
buyer/public/config.js Normal file
View File

@@ -0,0 +1,17 @@
var BASE = {
/**
* @description api请求基础路径
*/
API_DEV: {
common: "https://common-api.pickmall.cn",
buyer: "https://buyer-api.pickmall.cn",
seller: "https://store-api.pickmall.cn",
manager: "https://admin-api.pickmall.cn"
},
API_PROD: {
common: "https://common-api.pickmall.cn",
buyer: "https://buyer-api.pickmall.cn",
seller: "https://store-api.pickmall.cn",
manager: "https://admin-api.pickmall.cn"
},
};

26
buyer/public/index.html Normal file
View File

@@ -0,0 +1,26 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name='description' content='在线购物平台'>
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>logo.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
<% for(var css of htmlWebpackPlugin.options.cdn.css) { %>
<link rel="stylesheet" href="<%=css%>" />
<% } %>
</head>
<body>
<% for(var js of htmlWebpackPlugin.options.cdn.js) { %>
<script src="<%=js%>"></script>
<% } %>
<script src="/config.js"></script>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

BIN
buyer/public/logo.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,37 +1,66 @@
<template>
<div id="app">
<router-view/>
<router-view />
</div>
</template>
<script>
import {v4 as uuidv4} from 'uuid';
import storage from '@/plugins/storage';
import {getLogo} from '@/api/common.js';
import storage from "@/plugins/storage";
import { getBaseSite } from "@/api/common.js";
export default {
name: 'App',
mounted () {
let uuid = storage.getItem('uuid');
if (!uuid) {
uuid = uuidv4();
storage.setItem('uuid', uuid);
}
if (!this.Cookies.getItem('logo')) {
setTimeout(() => {
getLogo().then(res => {
if (res.success) {
let logoObj = JSON.parse(res.result.settingValue)
this.Cookies.setItem('logo', logoObj.buyerSideLogo)
}
})
}, 1000)
name: "App",
mounted() {
this.init();
},
methods:{
init(){
if(!storage.getItem("siteName")||!storage.getItem("logoImg")||!storage.getItem("sitelogo_expiration_time")) {
this.getSite();
}else{
// 如果缓存过期,则获取最新的信息
if (new Date() > storage.getItem("sitelogo_expiration_time")) {
this.getSite();
return;
}else{
window.document.title = storage.getItem("siteName");
//动态获取icon
let link =document.querySelector("link[rel*='icon']") ||document.createElement("link");
link.type = "image/x-icon";
link.href = storage.getItem("siteIcon");
link.rel = "shortcut icon";
document.getElementsByTagName("head")[0].appendChild(link);
}
}
},
getSite(){
//获取基本站点信息
getBaseSite().then((res) => {
if (res.success && res.result.settingValue) {
let data = JSON.parse(res.result.settingValue);
// 过期时间
var expirationTime = new Date().setHours(new Date().getHours() + 1);
// 存放过期时间
storage.setItem("sitelogo_expiration_time", expirationTime);
// 存放信息
storage.setItem('siteName', data.siteName);
storage.setItem('logoImg', data.buyerSideLogo);
storage.setItem("siteIcon",data.buyerSideIcon);
window.document.title = data.siteName;
//动态获取icon
let link =document.querySelector("link[rel*='icon']") ||document.createElement("link");
link.type = "image/x-icon";
link.href = data.buyerSideIcon;
link.rel = "shortcut icon";
document.getElementsByTagName("head")[0].appendChild(link);
}
});
}
}
};
</script>
<style lang="scss">
#app{
min-height: 100%;
#app {
@include background_color($light_background_color);
}
</style>

View File

@@ -11,7 +11,7 @@ import request, {Method} from '@/plugins/request.js'
// 获取密码状态
export function getPwdStatus (params) {
return request({
url: '/buyer/members/wallet/check',
url: '/buyer/passport/member/wallet/check',
method: Method.GET,
needToken: true,
params
@@ -21,7 +21,7 @@ export function getPwdStatus (params) {
// 设置密码
export function setPwd (params) {
return request({
url: '/buyer/members/wallet/set-password',
url: '/buyer/passport/member/wallet/set-password',
method: Method.POST,
needToken: true,
data: params
@@ -31,7 +31,7 @@ export function setPwd (params) {
// 设置支付密码
export function setUpdatePwdOrdinary (params) {
return request({
url: '/buyer/members/wallet/update-password/ordinary',
url: '/buyer/passport/member/wallet/update-password/ordinary',
method: Method.GET,
needToken: true,
data: params
@@ -41,7 +41,7 @@ export function setUpdatePwdOrdinary (params) {
// 修改会员资料
export function editMemberInfo (params) {
return request({
url: '/buyer/members/editOwn',
url: '/buyer/passport/member/editOwn',
method: Method.PUT,
needToken: true,
data: params
@@ -51,9 +51,18 @@ export function editMemberInfo (params) {
// 修改密码
export function editPwd (params) {
return request({
url: `/buyer/members/modifyPass`,
url: `/buyer/passport/member/modifyPass`,
method: Method.PUT,
needToken: true,
data: params
})
}
// 获取密码状态
export function logout () {
return request({
url: '/buyer/passport/member/logout',
method: Method.POST,
needToken: true
})
}

View File

@@ -5,7 +5,7 @@ import request, {
// 会员收货地址列表
export function memberAddress () {
return request({
url: '/buyer/memberAddress',
url: '/buyer/member/address',
needToken: true,
method: Method.GET
});
@@ -14,7 +14,7 @@ export function memberAddress () {
// 添加收货地址
export function newMemberAddress (params) {
return request({
url: '/buyer/memberAddress',
url: '/buyer/member/address',
needToken: true,
method: Method.POST,
data: params
@@ -24,7 +24,7 @@ export function newMemberAddress (params) {
// 编辑收货地址
export function editMemberAddress (params) {
return request({
url: '/buyer/memberAddress',
url: '/buyer/member/address',
needToken: true,
method: Method.PUT,
params
@@ -34,7 +34,7 @@ export function editMemberAddress (params) {
// 删除收货地址
export function delMemberAddress (id) {
return request({
url: `/buyer/memberAddress/delById/${id}`,
url: `/buyer/member/address/delById/${id}`,
needToken: true,
method: Method.DELETE
});
@@ -43,7 +43,7 @@ export function delMemberAddress (id) {
// 根据id获取会员地址详情
export function getAddrDetail (id) {
return request({
url: `/buyer/memberAddress/get/${id}`,
url: `/buyer/member/address/get/${id}`,
needToken: true,
method: Method.GET
});
@@ -52,7 +52,7 @@ export function getAddrDetail (id) {
// 传给后台citycode 获取城市街道等id
export function handleRegion (params) {
return request({
url: `${commonUrl}/common/region/region`,
url: `${commonUrl}/common/common/region/region`,
needToken: true,
method: Method.GET,
params

View File

@@ -212,3 +212,52 @@ export function receiptSelect (params) {
params
});
}
/**
* 获取全部配送方式
*/
export function shippingMethodList(params) {
return request({
url: `/buyer/trade/carts/shippingMethodList`,
method: Method.GET,
needToken: true,
params: params,
});
}
/**
* 获取全部配送方式
*/
export function storeAddressList(params) {
return request({
url: `/buyer/store/address/shippingMethodList`,
method: Method.GET,
needToken: true,
params: params,
});
}
/**
* 设置自提地址ID
* @param addressId
*/
export function setStoreAddressId(storeAddressId,way) {
return request({
url: `/buyer/trade/carts/storeAddress?storeAddressId=${storeAddressId}&way=${way}`,
method: Method.GET,
needToken: true,
});
}
/**
* 提交配送方式
* @param params
*/
export function setShipMethod(params) {
return request({
url: "/buyer/trade/carts/shippingMethod",
method: Method.PUT,
needToken: true,
params,
});
}

View File

@@ -5,7 +5,7 @@ import request, {Method, commonUrl} from '@/plugins/request.js';
*/
export function getVerifyImg (verificationEnums) {
return request({
url: `${commonUrl}/common/slider/${verificationEnums}`,
url: `${commonUrl}/common/common/slider/${verificationEnums}`,
method: Method.GET,
needToken: false
});
@@ -15,7 +15,7 @@ export function getVerifyImg (verificationEnums) {
*/
export function postVerifyImg (params) {
return request({
url: `${commonUrl}/common/slider/${params.verificationEnums}`,
url: `${commonUrl}/common/common/slider/${params.verificationEnums}`,
method: Method.POST,
needToken: false,
params
@@ -26,26 +26,17 @@ export function postVerifyImg (params) {
*/
export function sendSms (params) {
return request({
url: `${commonUrl}/common/sms/${params.verificationEnums}/${params.mobile}`,
url: `${commonUrl}/common/common/sms/${params.verificationEnums}/${params.mobile}`,
method: Method.GET,
needToken: false,
params
});
}
/**
* 发送短信验证码
*/
export function getLogo () {
return request({
url: `${commonUrl}/common/logo`,
method: Method.GET,
needToken: false
});
}
// 地区数据,用于三级联动
export function getRegion (id) {
return request({
url: `${commonUrl}/common/region/item/${id}`,
url: `${commonUrl}/common/common/region/item/${id}`,
needToken: true,
method: Method.GET
});
@@ -57,7 +48,7 @@ export function getRegion (id) {
*/
export function articleList (params) {
return request({
url: `/buyer/article`,
url: `/buyer/other/article`,
method: Method.GET,
params
});
@@ -69,7 +60,7 @@ export function articleList (params) {
*/
export function articleCateList () {
return request({
url: `/buyer/article/articleCategory/list`,
url: `/buyer/other/article/articleCategory/list`,
method: Method.GET
});
}
@@ -77,7 +68,28 @@ export function articleCateList () {
// 通过id获取文章
export function articleDetail (id) {
return request({
url: `/buyer/article/get/${id}`,
url: `/buyer/other/article/get/${id}`,
method: Method.GET
});
}
// 获取IM接口前缀
export function getIMDetail () {
return request({
url: `${commonUrl}/common/common/IM`,
method: Method.GET
});
}
//获取图片logo
export function getBaseSite(){
return request ({
url:`${commonUrl}/common/common/site`,
method: Method.GET,
needToken: false
})
}

View File

@@ -5,7 +5,7 @@ import request, {
// 商品列表
export function goodsList (params) {
return request({
url: '/buyer/goods/es',
url: '/buyer/goods/goods/es',
method: Method.GET,
needToken: false,
params
@@ -15,7 +15,7 @@ export function goodsList (params) {
// 商品分类 筛选条件 品牌, 尺寸等
export function filterList (params) {
return request({
url: '/buyer/goods/es/related',
url: '/buyer/goods/goods/es/related',
method: Method.GET,
needToken: false,
params
@@ -25,7 +25,7 @@ export function filterList (params) {
// id获取商品详情
export function goodsDetail (goodsId) {
return request({
url: `/buyer/goods/get/${goodsId}`,
url: `/buyer/goods/goods/get/${goodsId}`,
method: Method.GET,
needToken: false
});
@@ -34,7 +34,7 @@ export function goodsDetail (goodsId) {
// id获取商品Sku详情
export function goodsSkuDetail (params) {
return request({
url: `/buyer/goods/sku/${params.goodsId}/${params.skuId}`,
url: `/buyer/goods/goods/sku/${params.goodsId}/${params.skuId}`,
method: Method.GET,
needToken: true,
params
@@ -44,7 +44,7 @@ export function goodsSkuDetail (params) {
// 获取所有商品分类
export function getCategory (parentId) {
return request({
url: `/buyer/category/get/${parentId}`,
url: `/buyer/goods/category/get/${parentId}`,
method: Method.GET,
needToken: false
});
@@ -60,12 +60,12 @@ export function pintuanMembers (pintuanId) {
}
/**
* @param {Number} start 搜索起始下标
* @param {Number} end 搜索结束下标
* 获取搜索热词
* @param {Number} count 获取搜索热词数量
*/
export function hotWords (params) {
return request({
url: `/buyer/goods/hot-words`,
url: `/buyer/goods/goods/hot-words`,
method: Method.GET,
needToken: false,
params

View File

@@ -1,13 +1,44 @@
import request, {Method} from '@/plugins/request.js'
import request, { Method } from "@/plugins/request.js";
/**
* 获取首页专题数据
*/
export function getTopicData(id) {
return request({
url: `/buyer/other/pageData/get/${id}`,
method: Method.GET,
});
}
// 获取首页楼层装修数据
export function indexData (params) {
export function indexData(params) {
return request({
url: '/buyer/pageData/getIndex',
url: "/buyer/other/pageData/getIndex",
method: Method.GET,
needToken: false,
params
})
params,
});
}
// 获取自动发券
export function getAutoCoup(){
return request({
url: "/buyer/promotion/coupon/activity",
method: Method.GET,
needToken: true,
});
}
/**
* 获取店铺楼层数据
*/
export function getFloorStoreData(params) {
return request({
url: `/buyer/other/pageData?pageClientType=PC`,
method: "get",
params,
});
}
/**
@@ -15,21 +46,33 @@ export function indexData (params) {
* @param pageClientType 客户端类型,可用值:PC,H5,WECHAT_MP,APP
* @param pageType 页面类型,可用值:INDEX,STORE,SPECIAL
*/
export function pageData (params) {
export function pageData(params) {
return request({
url: `/buyer/pageData`,
url: `/buyer/other/pageData`,
method: Method.GET,
needToken: false,
params
})
params,
});
}
/**
* 刷新token
*/
export function handleRefreshToken (token) {
export function handleRefreshToken(token) {
return request({
url: `/buyer/members/refresh/${token}`,
url: `/buyer/passport/member/refresh/${token}`,
method: Method.GET,
needToken: false
})
needToken: false,
});
}
// /**
// * 获取店铺楼层数据
// */
// export function getFloorStoreData(params) {
// return request({
// url: `/buyer/other/pageData?pageClientType=PC`,
// method: "get",
// params,
// });
// }

View File

@@ -6,7 +6,7 @@ import request, {Method, buyerUrl} from '@/plugins/request.js';
*/
export function regist (params) {
return request({
url: '/buyer/members/register',
url: '/buyer/passport/member/register',
method: Method.POST,
needToken: false,
data: params
@@ -18,7 +18,7 @@ export function regist (params) {
*/
export function login (params) {
return request({
url: '/buyer/members/userLogin',
url: '/buyer/passport/member/userLogin',
method: Method.POST,
needToken: false,
data: params,
@@ -31,7 +31,7 @@ export function login (params) {
*/
export function smsLogin (params) {
return request({
url: '/buyer/members/smsLogin',
url: '/buyer/passport/member/smsLogin',
method: Method.POST,
needToken: false,
data: params,
@@ -44,7 +44,7 @@ export function smsLogin (params) {
*/
export function getMemberMsg (params) {
return request({
url: '/buyer/members',
url: '/buyer/passport/member',
method: Method.GET,
needToken: true,
params
@@ -55,7 +55,7 @@ export function getMemberMsg (params) {
* 第三方登录 支付宝微博qq,微信
*/
export function webLogin (type) {
window.open(`${buyerUrl}/buyer/connect/login/web/${type}`, 'blank');
window.open(`${buyerUrl}/buyer/passport/connect/connect/login/web/${type}`, 'blank');
}
/**
@@ -63,7 +63,7 @@ export function webLogin (type) {
*/
export function loginCallback (uuid) {
return request({
url: `/buyer/connect/result?state=${uuid}`,
url: `/buyer/passport/connect/connect/result?state=${uuid}`,
method: Method.GET,
needToken: false
});
@@ -74,7 +74,7 @@ export function loginCallback (uuid) {
*/
export function validateCode (params) {
return request({
url: `/buyer/members/resetByMobile`,
url: `/buyer/passport/member/resetByMobile`,
method: Method.POST,
needToken: false,
params
@@ -86,7 +86,24 @@ export function validateCode (params) {
*/
export function resetPassword (params) {
return request({
url: `/buyer/members/resetPassword`,
url: `/buyer/passport/member/resetPassword`,
method: Method.POST,
needToken: false,
params
});
}
export function getSCLoginCode(params) {
return request({
url: `/buyer/passport/member/pc_session`,
method: Method.POST,
needToken: false,
params
});
}
export function sCLogin(token,params) {
return request({
url: `/buyer/passport/member/session_login/`+token,
method: Method.POST,
needToken: false,
params

View File

@@ -3,7 +3,7 @@ import request, {Method} from '@/plugins/request.js';
// 查询账户余额
export function getMembersWallet () {
return request({
url: '/buyer/members/wallet',
url: '/buyer/wallet/wallet',
method: Method.GET,
needToken: true
});
@@ -22,7 +22,7 @@ export function getDepositLog (params) {
// 查询充值记录
export function getRecharge (params) {
return request({
url: '/buyer/member/recharge',
url: '/buyer/wallet/recharge',
method: Method.GET,
needToken: true,
params
@@ -52,14 +52,14 @@ export function recharge (params) {
// 提现
export function withdrawalApply (params) {
return request({
url: '/buyer/members/wallet/withdrawal',
url: '/buyer/wallet/wallet/withdrawal',
method: Method.POST,
needToken: true,
data: params
});
}
// 收藏商品、店铺
// 收藏商品
export function collectGoods (type, id) {
return request({
url: `/buyer/member/collection/add/${type}/${id}`,
@@ -68,7 +68,16 @@ export function collectGoods (type, id) {
});
}
// 取消 收藏商品、店铺
// 收藏店铺
export function collectStore (type, id) {
return request({
url: `/buyer/member/storeCollection/add/${type}/${id}`,
method: Method.POST,
needToken: true
});
}
// 取消 收藏商品
export function cancelCollect (type, id) {
return request({
url: `/buyer/member/collection/delete/${type}/${id}`,
@@ -77,7 +86,16 @@ export function cancelCollect (type, id) {
});
}
// 查看是否收藏
// 取消 收藏店铺
export function cancelStoreCollect (type, id) {
return request({
url: `/buyer/member/storeCollection/delete/${type}/${id}`,
method: Method.DELETE,
needToken: true
});
}
// 查看是否收藏商品
export function isCollection (type, goodsId) {
return request({
url: `/buyer/member/collection/isCollection/${type}/${goodsId}`,
@@ -86,7 +104,16 @@ export function isCollection (type, goodsId) {
});
}
// 会员收藏列表
// 查看是否收藏店铺
export function isStoreCollection (type, goodsId) {
return request({
url: `/buyer/member/storeCollection/isCollection/${type}/${goodsId}`,
method: Method.GET,
needToken: true
});
}
// 会员收藏商品列表
export function collectList (params) {
return request({
url: `/buyer/member/collection/${params.type}`,
@@ -96,10 +123,20 @@ export function collectList (params) {
});
}
// 会员收藏店铺列表
export function storeCollectList (params) {
return request({
url: `/buyer/member/storeCollection/${params.type}`,
method: Method.GET,
needToken: true,
params
});
}
// 单个商品评价
export function goodsComment (params) {
return request({
url: `/buyer/memberEvaluation/${params.goodsId}/goodsEvaluation`,
url: `/buyer/member/evaluation/${params.goodsId}/goodsEvaluation`,
method: Method.GET,
needToken: false,
params
@@ -109,7 +146,7 @@ export function goodsComment (params) {
// 商品各评价类别数量
export function goodsCommentNum (goodsId) {
return request({
url: `/buyer/memberEvaluation/${goodsId}/evaluationNumber`,
url: `/buyer/member/evaluation/${goodsId}/evaluationNumber`,
method: Method.GET,
needToken: false
});
@@ -118,7 +155,7 @@ export function goodsCommentNum (goodsId) {
// 添加会员评价
export function addEvaluation (params) {
return request({
url: `/buyer/memberEvaluation`,
url: `/buyer/member/evaluation`,
method: Method.POST,
needToken: true,
params
@@ -128,7 +165,7 @@ export function addEvaluation (params) {
// 会员评价详情
export function evaluationDetail (id) {
return request({
url: `/buyer/memberEvaluation/get/${id}`,
url: `/buyer/member/evaluation/get/${id}`,
method: Method.GET,
needToken: true
});
@@ -195,7 +232,7 @@ export function receiveCoupon (couponId) {
// 获取申请售后列表
export function afterSaleList (params) {
return request({
url: `/buyer/afterSale/page`,
url: `/buyer/order/afterSale/page`,
method: Method.GET,
needToken: true,
params
@@ -205,7 +242,7 @@ export function afterSaleList (params) {
// 获取申请售后页面信息
export function afterSaleInfo (sn) {
return request({
url: `/buyer/afterSale/applyAfterSaleInfo/${sn}`,
url: `/buyer/order/afterSale/applyAfterSaleInfo/${sn}`,
method: Method.GET,
needToken: true
});
@@ -214,7 +251,7 @@ export function afterSaleInfo (sn) {
// 获取申请售后、投诉原因
export function afterSaleReason (serviceType) {
return request({
url: `/buyer/afterSale/get/afterSaleReason/${serviceType}`,
url: `/buyer/order/afterSale/get/afterSaleReason/${serviceType}`,
method: Method.GET,
needToken: true
});
@@ -222,7 +259,7 @@ export function afterSaleReason (serviceType) {
// 获取申请售后详情
export function afterSaleDetail (sn) {
return request({
url: `/buyer/afterSale/get/${sn}`,
url: `/buyer/order/afterSale/get/${sn}`,
method: Method.GET,
needToken: true
});
@@ -230,7 +267,7 @@ export function afterSaleDetail (sn) {
// 售后日志
export function afterSaleLog (sn) {
return request({
url: `/buyer/afterSale/get/getAfterSaleLog/${sn}`,
url: `/buyer/order/afterSale/get/getAfterSaleLog/${sn}`,
method: Method.GET,
needToken: true
});
@@ -239,7 +276,7 @@ export function afterSaleLog (sn) {
// 申请售后
export function applyAfterSale (params) {
return request({
url: `/buyer/afterSale/save/${params.orderItemSn}`,
url: `/buyer/order/afterSale/save/${params.orderItemSn}`,
method: Method.POST,
needToken: true,
params
@@ -249,7 +286,7 @@ export function applyAfterSale (params) {
// 取消售后申请
export function cancelAfterSale (afterSaleSn) {
return request({
url: `/buyer/afterSale/cancel/${afterSaleSn}`,
url: `/buyer/order/afterSale/cancel/${afterSaleSn}`,
method: Method.POST,
needToken: true
});
@@ -258,7 +295,7 @@ export function cancelAfterSale (afterSaleSn) {
// 投诉商品
export function handleComplain (data) {
return request({
url: `/buyer/complain`,
url: `/buyer/order/complain`,
method: Method.POST,
needToken: true,
data
@@ -267,7 +304,7 @@ export function handleComplain (data) {
// 分页获取我的投诉列表
export function complainList (params) {
return request({
url: `/buyer/complain`,
url: `/buyer/order/complain`,
method: Method.GET,
needToken: true,
params
@@ -279,7 +316,7 @@ export function complainList (params) {
*/
export function getComplainDetail (id) {
return request({
url: `/buyer/complain/${id}`,
url: `/buyer/order/complain/${id}`,
method: Method.GET,
needToken: true
});
@@ -290,7 +327,7 @@ export function getComplainDetail (id) {
*/
export function clearComplain (id) {
return request({
url: `/buyer/complain/status/${id}`,
url: `/buyer/order/complain/status/${id}`,
method: Method.PUT,
needToken: true
});
@@ -301,7 +338,7 @@ export function clearComplain (id) {
*/
export function distribution () {
return request({
url: `/buyer/distribution`,
url: `/buyer/distribution/distribution`,
method: Method.GET,
needToken: true
});
@@ -314,7 +351,7 @@ export function distribution () {
*/
export function applyDistribution (params) {
return request({
url: `/buyer/distribution`,
url: `/buyer/distribution/distribution`,
method: Method.POST,
needToken: true,
params
@@ -326,7 +363,7 @@ export function applyDistribution (params) {
*/
export function getDistOrderList (params) {
return request({
url: `/buyer/distribution/distributionOrder`,
url: `/buyer/distribution/order`,
method: Method.GET,
needToken: true,
params
@@ -338,7 +375,7 @@ export function getDistOrderList (params) {
*/
export function getDistGoodsList (params) {
return request({
url: `/buyer/distributionGoods`,
url: `/buyer/distribution/goods`,
method: Method.GET,
needToken: true,
params
@@ -346,14 +383,16 @@ export function getDistGoodsList (params) {
}
/**
* 选择分销商品
* 绑定、解绑分销商品
* @param distributionGoodsId 分销商品id
* @param checked 分销商品id,true为绑定false为解绑
*/
export function selectDistGoods (distributionGoodsId) {
export function selectDistGoods (params) {
return request({
url: `/buyer/distributionGoods/checked/${distributionGoodsId}`,
url: `/buyer/distribution/goods/checked/${params.distributionGoodsId}`,
method: Method.GET,
needToken: true
needToken: true,
params
});
}
@@ -388,7 +427,7 @@ export function distCash (params) {
*/
export function tracksList (params) {
return request({
url: `/buyer/footprint`,
url: `/buyer/member/footprint`,
method: Method.GET,
needToken: true,
params
@@ -400,7 +439,7 @@ export function tracksList (params) {
*/
export function clearTracks () {
return request({
url: `/buyer/footprint`,
url: `/buyer/member/footprint`,
method: Method.DELETE,
needToken: true
});
@@ -412,7 +451,7 @@ export function clearTracks () {
*/
export function clearTracksById (ids) {
return request({
url: `/buyer/footprint/delByIds/${ids}`,
url: `/buyer/member/footprint/delByIds/${ids}`,
method: Method.DELETE,
needToken: true
});
@@ -447,7 +486,7 @@ export function memberPointHistory (params) {
*/
export function memberMsgList (params) {
return request({
url: `/buyer/member/message`,
url: `/buyer/message/member`,
method: Method.GET,
needToken: true,
params
@@ -457,9 +496,10 @@ export function memberMsgList (params) {
* 设置消息为已读
* @param {String} messageId 消息id
*/
export function readMemberMsg (id) {
export function readMemberMsg (id) {
return request({
url: `/buyer/member/message/${id}`,
url: `/buyer/message/member/${id}`,
method: Method.PUT,
needToken: true
});
@@ -468,10 +508,22 @@ export function memberMsgList (params) {
* 删除会员消息
* @param {String} messageId 消息id
*/
export function delMemberMsg (id) {
export function delMemberMsg (id) {
return request({
url: `/buyer/member/message/${id}`,
url: `/buyer/message/member/${id}`,
method: Method.DELETE,
needToken: true
});
}
/**
* 绑定分销
* @param distributionId 商品分销ID
*/
export function getGoodsDistribution (distributionId) {
return request({
url: `/buyer/distribution/distribution/bindingDistribution/${distributionId}`,
method: Method.GET,
needToken: true
});
}

View File

@@ -5,7 +5,7 @@ import request, {
// 查询会员订单列表
export function getOrderList (params) {
return request({
url: `/buyer/orders`,
url: `/buyer/order/order`,
method: Method.GET,
needToken: true,
params
@@ -18,7 +18,7 @@ export function getOrderList (params) {
*/
export function orderDetail (orderSn) {
return request({
url: `/buyer/orders/${orderSn}`,
url: `/buyer/order/order/${orderSn}`,
method: Method.GET,
needToken: true
});
@@ -31,7 +31,7 @@ export function orderDetail (orderSn) {
*/
export function cancelOrder (params) {
return request({
url: `/buyer/orders/${params.orderSn}/cancel`,
url: `/buyer/order/order/${params.orderSn}/cancel`,
method: Method.POST,
needToken: true,
params
@@ -44,7 +44,7 @@ export function cancelOrder (params) {
*/
export function delOrder (orderSn) {
return request({
url: `/buyer/orders/${orderSn}`,
url: `/buyer/order/order/${orderSn}`,
method: Method.DELETE,
needToken: true
});
@@ -56,7 +56,7 @@ export function delOrder (orderSn) {
*/
export function sureReceived (orderSn) {
return request({
url: `/buyer/orders/${orderSn}/receiving`,
url: `/buyer/order/order/${orderSn}/receiving`,
method: Method.POST,
needToken: true
});
@@ -68,7 +68,7 @@ export function sureReceived (orderSn) {
*/
export function getTraces (orderSn) {
return request({
url: `/buyer/orders/getTraces/${orderSn}`,
url: `/buyer/order/order/getTraces/${orderSn}`,
method: Method.POST,
needToken: true
});
@@ -80,7 +80,7 @@ export function getTraces (orderSn) {
*/
export function evolutionList (params) {
return request({
url: `/buyer/memberEvaluation`,
url: `/buyer/member/evaluation`,
method: Method.GET,
needToken: true,
params
@@ -90,9 +90,46 @@ export function evolutionList (params) {
// 添加交易投诉对话
export function communication (params) {
return request({
url: `/buyer/complain/communication`,
url: `/buyer/order/complain/communication`,
method: Method.POST,
needToken: true,
params
});
}
// 退换货服务 提交物流
export function afterSaleDelivery (params) {
return request({
url: `/buyer/order/afterSale/delivery/${params.afterSaleSn}`,
method: Method.POST,
needToken: true,
params
});
}
// 获取退货可选物流公司
export function getLogisticsCompany () {
return request({
url: `/buyer/other/logistics`,
method: Method.GET,
needToken: true,
params: { pageNumber: 1, pageSize: 200, disabled: 'OPEN' }
});
}
//查询包裹列表
export const getPackage = (sn) => {
return request({
url: `/buyer/order/order/getPackage/${sn}`,
method: Method.GET,
needToken: true,
})
}
//查询物流
export const getTracesList = (sn, params) => {
return request({
url: `/buyer/order/order/getTracesList/${sn}`,
method: Method.GET,
needToken: true,
})
};

View File

@@ -10,7 +10,7 @@ import request, {
*/
export function tradeDetail (params) {
return request({
url: '/buyer/cashier/tradeDetail',
url: '/buyer/payment/cashier/tradeDetail',
needToken: true,
method: Method.GET,
params
@@ -26,7 +26,7 @@ export function tradeDetail (params) {
*/
export function pay (params) {
return request({
url: `/buyer/cashier/pay/${params.paymentMethod}/${params.paymentClient}`,
url: `/buyer/payment/cashier/pay/${params.paymentMethod}/${params.paymentClient}`,
needToken: true,
method: Method.GET,
params
@@ -40,7 +40,21 @@ export function pay (params) {
*/
export function payCallback (params) {
return request({
url: `/buyer/cashier/result`,
url: `/buyer/payment/cashier/result`,
needToken: true,
method: Method.GET,
params
});
}
/**
* 支付结果查询
* @param orderType 交易类型,可用值:TRADE,ORDER,RECHARGE
* @param sn 订单编号
*/
export function withdrawalSettingVO (params) {
return request({
url: `/buyer/wallet/wallet/withdrawalSettingVO`,
needToken: true,
method: Method.GET,
params

View File

@@ -46,3 +46,14 @@ export function pointGoods (params) {
params
});
}
/**
* 获取积分商品详情
*/
export function pointGoodsDetail (id) {
return request({
url: `/buyer/promotion/pointsGoods/${id}`,
method: Method.GET,
needToken: true,
id
});
}

View File

@@ -5,7 +5,7 @@ import request, {
// 店铺分页列表
export function shopList (params) {
return request({
url: '/buyer/store',
url: '/buyer/store/store',
needToken: true,
method: Method.GET,
params
@@ -15,7 +15,7 @@ export function shopList (params) {
// 申请店铺第一步-填写企业信息
export function applyFirst (params) {
return request({
url: '/buyer/store/apply/first',
url: '/buyer/store/store/apply/first',
needToken: true,
method: Method.PUT,
params
@@ -25,7 +25,7 @@ export function applyFirst (params) {
// 申请店铺第一步-填写企业信息
export function applySecond (params) {
return request({
url: '/buyer/store/apply/second',
url: '/buyer/store/store/apply/second',
needToken: true,
method: Method.PUT,
params
@@ -35,7 +35,7 @@ export function applySecond (params) {
// 申请店铺第一步-填写企业信息
export function applyThird (params) {
return request({
url: '/buyer/store/apply/third',
url: '/buyer/store/store/apply/third',
needToken: true,
method: Method.PUT,
params
@@ -45,7 +45,7 @@ export function applyThird (params) {
// 店铺详情
export function getDetailById (id) {
return request({
url: `/buyer/store/get/detail/${id}`,
url: `/buyer/store/store/get/detail/${id}`,
needToken: true,
method: Method.GET
})
@@ -53,7 +53,7 @@ export function getDetailById (id) {
// 店铺分类
export function getCateById (id) {
return request({
url: `/buyer/store/label/get/${id}`,
url: `/buyer/store/store/label/get/${id}`,
needToken: true,
method: Method.GET
})
@@ -61,7 +61,7 @@ export function getCateById (id) {
// 店铺入驻协议
export function agreement () {
return request({
url: `/buyer/article/type/STORE_REGISTER`,
url: `/buyer/other/article/type/STORE_REGISTER`,
needToken: true,
method: Method.GET
})
@@ -70,8 +70,20 @@ export function agreement () {
// 获取当前登录会员的店铺信息
export function applyStatus () {
return request({
url: `/buyer/store/apply`,
url: `/buyer/store/store/apply`,
needToken: true,
method: Method.GET
})
}
/**
* 获取自提点信息
* @param storeId
*/
export function getStoreAddress(storeId,params) {
return request({
url: `/buyer/store/address/page/${storeId}`,
method: Method.GET,
params
});
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 682 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z" fill="none" stroke="#333" stroke-width="4" stroke-linejoin="round"/><path d="M20 24V17.0718L26 20.5359L32 24L26 27.4641L20 30.9282V24Z" fill="none" stroke="#333" stroke-width="4" stroke-linejoin="round"/></svg>

After

Width:  |  Height:  |  Size: 468 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

View File

@@ -1,92 +1,91 @@
// coupon
.coupon-list {
display: flex;
flex-wrap: wrap;
display: flex;
flex-wrap: wrap;
}
.coupon-item {
width: 380px;
height: 145px;
margin-bottom: 20px;
margin-right: 10px;
margin-left: 10px;
position: relative;
border: 1px solid #eee;
.c-left {
width: 100%;
padding: 20px;
>div, > p {
margin-bottom: 10px;
}
>div {
.price{
color: $theme_color;
font-size: 20px;
}
.describe{
background-color: #fff4ec;
color: $theme_color;
padding: 0 5px;
margin-left: 10px;
font-size: 13px;
}
}
p:nth-of-type(1){
font-weight: bold;
}
p:nth-of-type(2){
color: #999;
}
}
b{
position: absolute;
z-index: 2;
top: 0;
right: 50px;
display: block;
width: 3px;
height: 100%;
}
.c-right {
position: absolute;
right: 0;
top: 0;
width: 52px;
height: 100%;
background-color: $theme_color;
color: #fff;
font-size: 16px;
padding: 20px;
&:hover{
font-weight: bold;
}
}
i{
position: absolute;
width: 20px;
height: 20px;
right: 42px;
width: 380px;
height: 145px;
margin-bottom: 20px;
margin-right: 10px;
margin-left: 10px;
position: relative;
border: 1px solid #eee;
background-color: #fff;
border-radius: 20px;
&:after{
content: '';
position: absolute;
width: 25px;
height: 20px;
left: -2px;
background-color: #fff;
.c-left {
width: 100%;
padding: 20px;
> div,
> p {
margin-bottom: 10px;
}
> div {
.price {
color: $theme_color;
font-size: 20px;
}
.describe {
background-color: #fff4ec;
color: $theme_color;
padding: 0 5px;
margin-left: 10px;
font-size: 13px;
}
}
p:nth-of-type(1) {
font-weight: bold;
}
p:nth-of-type(2) {
color: #999;
}
}
}
i.circle-top{
top: -10px;
&::after{
top: -11px;
b {
position: absolute;
z-index: 2;
top: 0;
right: 50px;
display: block;
width: 3px;
height: 100%;
}
}
i.circle-bottom{
bottom: -10px;
&::after{
bottom: -11px;
.c-right {
position: absolute;
right: 0;
top: 0;
width: 52px;
height: 100%;
background-color: $theme_color;
color: #fff;
font-size: 16px;
padding: 20px;
}
}
}
i {
position: absolute;
width: 20px;
height: 20px;
right: 42px;
border: 1px solid #eee;
background-color: #fff;
border-radius: 20px;
&:after {
content: "";
position: absolute;
width: 25px;
height: 20px;
left: -2px;
background-color: #fff;
}
}
i.circle-top {
top: -10px;
&::after {
top: -11px;
}
}
i.circle-bottom {
bottom: -10px;
&::after {
bottom: -11px;
}
}
}

View File

@@ -1,18 +1,120 @@
/*
* @Author: LMR
* @Date: 2020-08-11 10:12:34
* @Last Modified by: LMR
* @Last Modified time: 2020-08-18 16:00:10
*/
//引入主题色
@import "./theme.scss";
.global_color{
color: $theme_color;
// 明亮主题颜色
$primary_color: #2d8cf0;
$primary_light_color: #0f1011;
$primary_dark_color: #2b85e4;
$success_color: #19be6b;
$warning_color: #ff9900;
$error_color: #ed3f14;
$handle-btn-color: #438cde;
$theme_color: #F31947;
$border_color: #dddee1;
$title_color: #8c8c8c;
$light_title_color: #1c2438;
$light_content_color: #495060;
$light_sub_color: #80848f;
$light_background_color: #F5F5F7;
$light_white_background_color: #fff;
// 暗黑主题颜色
$dark_background_color: #141414;
$dark_sub_background_color: #1d1d1d; //稍微浅一点的
$dark_content_color: #d5d5d5;
.wes-2 {
/* 适用于webkit内核和移动端 */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.global_background_color{
background-color: $theme_color;
/***** 封装一些方法可用于 黑暗主题 ,明亮主题 *****/
// 背景颜色
@mixin background_color($color) {
/*通过该函数设置字体颜色,后期方便统一管理;*/
background-color: $color;
transition: 0.35s;
[data-theme="dark"] & {
background-color: $dark_background_color;
}
[data-theme="light"] & {
background-color: $light_background_color;
}
}
// 辅助背景颜色
@mixin sub_background_color($color) {
/*通过该函数设置字体颜色,后期方便统一管理;*/
background-color: $color;
transition: 0.35s;
[data-theme="dark"] & {
background-color: $dark_sub_background_color;
}
[data-theme="light"] & {
background-color: $light_background_color;
}
}
@mixin white_background_color() {
/*通过该函数设置字体颜色,后期方便统一管理;*/
background-color: $light_white_background_color;
transition: 0.35s;
[data-theme="dark"] & {
background-color: $dark_sub_background_color;
}
[data-theme="light"] & {
background-color: $light_white_background_color;
}
}
// 正文颜色
@mixin content_color($color) {
/*通过该函数设置字体颜色,后期方便统一管理;*/
color: $color;
[data-theme="dark"] & {
color: $dark_content_color;
}
[data-theme="light"] & {
color: $light_content_color;
}
}
// 辅助颜色
@mixin sub_color($color) {
/*通过该函数设置字体颜色,后期方便统一管理;*/
color: $color;
[data-theme="dark"] & {
color: $dark_content_color;
}
[data-theme="light"] & {
color: $light_sub_color;
}
}
// 标题颜色
@mixin title_color($color) {
/*通过该函数设置字体颜色,后期方便统一管理;*/
color: $color;
[data-theme="dark"] & {
color: $dark_content_color;
}
[data-theme="light"] & {
color: $light_title_color;
}
}
// 全局变量
.global_color {
color: $theme_color;
}
.global_background_color {
background-color: $theme_color;
}
.global_text_left {
text-align: left;
@@ -26,44 +128,109 @@
.global_float_right {
float: right;
}
.clearfix::after{
content: '';
.clearfix::after {
content: "";
display: block;
clear: both;
}
.width_1200{width: 1200px;}
.width_800{width: 800px;}
.width_400{width: 400px;}
.width_300{width: 300px;}
.width_200{width: 200px;}
.width_100{width: 100px;}
.width_1200 {
width: 1200px;
}
.width_800 {
width: 800px;
}
.width_400 {
width: 400px;
}
.width_300 {
width: 300px;
}
.width_200 {
width: 200px;
}
.width_100 {
width: 100px;
}
.fontsize_12{font-size: 12px;}
.fontsize_14{font-size: 14px;}
.fontsize_16{font-size: 16px;}
.fontsize_18{font-size: 18px;}
.fontsize_12 {
font-size: 12px;
}
.fontsize_14 {
font-size: 14px;
}
.fontsize_16 {
font-size: 16px;
}
.fontsize_18 {
font-size: 18px;
}
.mb_20{margin-bottom: 20px;}
.mt_20{margin-top: 20px;}
.ml_20{margin-left: 20px;}
.mr_20{margin-right: 20px;}
.mb_20 {
margin-bottom: 20px;
}
.mt_20 {
margin-top: 20px;
}
.ml_20 {
margin-left: 20px;
}
.mr_20 {
margin-right: 20px;
}
.mb_10{margin-bottom: 10px;}
.mt_10{margin-top: 10px;}
.ml_10{margin-left: 10px;}
.mr_10{margin-right: 10px;}
.mb_24 {
margin-bottom: 24px;
}
.mt_24 {
margin-top: 24px;
}
.ml_24 {
margin-left: 24px;
}
.mr_24 {
margin-right: 24px;
}
.pb_20{padding-bottom: 20px;}
.pt_20{padding-top: 20px;}
.pl_20{padding-left: 20px;}
.pr_20{padding-right: 20px;}
.mb_10 {
margin-bottom: 10px;
}
.mt_10 {
margin-top: 10px;
}
.ml_10 {
margin-left: 10px;
}
.mr_10 {
margin-right: 10px;
}
.pb_10{padding-bottom: 10px;}
.pt_10{padding-top: 10px;}
.pl_10{padding-left: 10px;}
.pr_10{padding-right: 10px;}
.pb_20 {
padding-bottom: 20px;
}
.pt_20 {
padding-top: 20px;
}
.pl_20 {
padding-left: 20px;
}
.pr_20 {
padding-right: 20px;
}
.color999{
.pb_10 {
padding-bottom: 10px;
}
.pt_10 {
padding-top: 10px;
}
.pl_10 {
padding-left: 10px;
}
.pr_10 {
padding-right: 10px;
}
.color999 {
color: #999;
}
@@ -71,55 +238,137 @@ html,
body {
height: 100%;
width: 100%;
font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial,
sans-serif;
// overflow: hidden;
margin: 0;
padding: 0;
}
li{
li {
list-style: none;
}
.hover-color:hover{
color: $theme_color!important;
.hover-color:hover {
color: $theme_color !important;
cursor: pointer;
}
.hover-pointer{
.hover-pointer {
cursor: pointer;
}
.center{
.center {
margin: 0 auto;
}
.relative{
.relative {
position: relative;
}
.ellipsis{
.ellipsis {
overflow: hidden;
text-overflow:ellipsis;
text-overflow: ellipsis;
white-space: nowrap;
}
.promotion-decorate{
.promotion-decorate {
width: 200px;
text-align: center;
font-size: 25px;
position: relative;
font-weight: bold;
margin: 30px auto 30px;
&::before,&::after{
content: '';
display: inline-block;
width: 25px;
height: 20px;
background-size: 50px 20px;
background-repeat: no-repeat;
background-position: 0 0;
position: absolute;
top: 10px;
left: -3px;
&::before,
&::after {
content: "";
display: inline-block;
width: 25px;
height: 20px;
background-size: 50px 20px;
background-repeat: no-repeat;
background-position: 0 0;
position: absolute;
top: 10px;
left: -3px;
}
&::after{
background-position: -24px 0;
right: -3px;
left: auto;
&::after {
background-position: -24px 0;
right: -3px;
left: auto;
}
}
}
.flex{
display: flex;
}
.flex-a-c{
align-items: center;
}
.flex-j-sb{
justify-content: space-between;
}
.flex-j-c{
justify-content: center;
}
.width_1200_auto {
width: 1184px;
margin: 0 auto;
}
// goodsList
.text-danger {
color: $theme_color;
}
.seckill-price{
margin-right: 5px;
font-size: 25px;
font-weight: bold;
}
.goods-list {
display: flex;
flex-wrap: wrap;
width: 1200px;
margin: 0 auto;
}
.goods-show-info {
width: 235px;
padding: 6px;
margin: 10px 0px;
margin-left: 5px;
position: relative;
border: 1px solid #fff;
cursor: pointer;
background-color: #fff;
}
.goods-show-info:hover {
border: 1px solid #ccc;
box-shadow: 0px 0px 15px #ccc;
}
.goods-show-price {
margin-top: 6px;
}
.goods-show-detail {
font-size: 12px;
margin: 6px 0px;
}
.goods-show-num {
font-size: 12px;
margin-bottom: 6px;
color: #666;
}
.goods-show-num {
font-size: 12px;
margin-bottom: 6px;
color: #009688;
}
.goods-show-num span {
color: #005aa0;
font-weight: bold;
}
.goods-show-seller {
font-size: 12px;
color: $theme_color;
}
.goods-page {
margin:10px auto ;
text-align: right;
width: 1200px;
}

View File

@@ -30,8 +30,18 @@
margin-top: 6px;
}
.goods-show-detail {
height: 36px;
font-size: 12px;
margin: 6px 0px;
overflow:hidden;
text-overflow: ellipsis;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
color:#808080;
}
.goods-show-detail :hover{
color:#E23A3A;
}
.goods-show-num {
font-size: 12px;

View File

@@ -1,84 +1,19 @@
@import '~view-design/src/styles/index.less';
@import "~view-design/src/styles/index.less";
// iview 自定义样式
@primary-color: #ed3f14;
@primary-color: #ff5c58;
@info-color: #fa6419;
@success-color: #68cabe;
@error-color: #ff3c2a;
@table-thead-bg: #f8f8f9;
@table-td-stripe-bg: #f8f8f9;
@table-td-hover-bg: #ededed;
@table-td-highlight-bg: #ededed;
@font-size-base: 12px;
.ivu-drawer,
.drawer,
.ivu-drawer-wrap {
z-index: 2600 !important;
}
@table-thead-bg : #f8f8f9;
@table-td-stripe-bg : #f8f8f9;
@table-td-hover-bg : #ededed;
@table-td-highlight-bg : #ededed;
//
//.colorPaletteMixin() {
// @functions: ~`(function() {
// var hueStep = 2;
// var saturationStep = 0.16;
// var saturationStep2 = 0.05;
// var brightnessStep1 = 0.05;
// var brightnessStep2 = 0.15;
// var lightColorCount = 5;
// var darkColorCount = 4;
//
// var getHue = function(hsv, i, isLight) {
// var hue;
// if (hsv.h >= 60 && hsv.h <= 240) {
// hue = isLight ? hsv.h - hueStep * i : hsv.h + hueStep * i;
// } else {
// hue = isLight ? hsv.h + hueStep * i : hsv.h - hueStep * i;
// }
// if (hue < 0) {
// hue += 360;
// } else if (hue >= 360) {
// hue -= 360;
// }
// return Math.round(hue);
// };
// var getSaturation = function(hsv, i, isLight) {
// var saturation;
// if (isLight) {
// saturation = hsv.s - saturationStep * i;
// } else if (i === darkColorCount) {
// saturation = hsv.s + saturationStep;
// } else {
// saturation = hsv.s + saturationStep2 * i;
// }
// if (saturation > 1) {
// saturation = 1;
// }
// if (isLight && i === lightColorCount && saturation > 0.1) {
// saturation = 0.1;
// }
// if (saturation < 0.06) {
// saturation = 0.06;
// }
// return Number(saturation.toFixed(2));
// };
// var getValue = function(hsv, i, isLight) {
// var value;
// if (isLight) {
// value = hsv.v + brightnessStep1 * i;
// }else{
// value = hsv.v - brightnessStep2 * i
// }
// if (value > 1) {
// value = 1;
// }
// return Number(value.toFixed(2))
// };
//
// this.colorPalette = function(color, index) {
// var isLight = index <= 6;
// var hsv = tinycolor(color).toHsv();
// var i = isLight ? lightColorCount + 1 - index : index - lightColorCount - 1;
// return tinycolor({
// h: getHue(hsv, i, isLight),
// s: getSaturation(hsv, i, isLight),
// v: getValue(hsv, i, isLight),
// }).toHexString();
// };
//})()`;
//}
//.colorPaletteMixin();

View File

@@ -1,114 +0,0 @@
/*
* @Author: LMR
* @Date: 2020-08-14 11:04:12
* @Last Modified by: LMR
* @Last Modified time: 2020-08-18 14:21:41
*/
// 主题颜色
// 明亮主题颜色
$primary_color: #2d8cf0;
$primary_light_color: #0f1011;
$primary_dark_color: #2b85e4;
$success_color: #19be6b;
$warning_color: #ff9900;
$error_color: #ed3f14;
$handle-btn-color: #438cde;
$theme_color: #ed3f14;
$border_color: #dddee1;
$title_color: #8c8c8c;
$light_title_color: #1c2438;
$light_content_color: #495060;
$light_sub_color: #80848f;
$light_background_color: #f8f8f9;
$light_white_background_color :#fff;
// 暗黑主题颜色
$dark_background_color: #141414;
$dark_sub_background_color: #1d1d1d; //稍微浅一点的
$dark_content_color: #d5d5d5;
/***** 封装一些方法可用于 黑暗主题 ,明亮主题 *****/
// 背景颜色
@mixin background_color($color) {
/*通过该函数设置字体颜色,后期方便统一管理;*/
background-color: $color;
transition: 0.35s;
[data-theme="dark"] & {
background-color: $dark_background_color;
}
[data-theme="light"] & {
background-color: $light_background_color;
}
}
// 辅助背景颜色
@mixin sub_background_color($color) {
/*通过该函数设置字体颜色,后期方便统一管理;*/
background-color: $color;
transition: 0.35s;
[data-theme="dark"] & {
background-color: $dark_sub_background_color;
}
[data-theme="light"] & {
background-color: $light_background_color;
}
}
@mixin white_background_color() {
/*通过该函数设置字体颜色,后期方便统一管理;*/
background-color: $light_white_background_color;
transition: 0.35s;
[data-theme="dark"] & {
background-color: $dark_sub_background_color;
}
[data-theme="light"] & {
background-color: $light_white_background_color;
}
}
// 正文颜色
@mixin content_color($color) {
/*通过该函数设置字体颜色,后期方便统一管理;*/
color: $color;
[data-theme="dark"] & {
color: $dark_content_color;
}
[data-theme="light"] & {
color: $light_content_color;
}
}
// 辅助颜色
@mixin sub_color($color) {
/*通过该函数设置字体颜色,后期方便统一管理;*/
color: $color;
[data-theme="dark"] & {
color: $dark_content_color;
}
[data-theme="light"] & {
color: $light_sub_color;
}
}
// 标题颜色
@mixin title_color($color) {
/*通过该函数设置字体颜色,后期方便统一管理;*/
color: $color;
[data-theme="dark"] & {
color: $dark_content_color;
}
[data-theme="light"] & {
color: $light_title_color;
}
}

View File

@@ -1,44 +1,52 @@
<template>
<div>
<div class="container">
<div class="navbar" :class="{'small-search-box':useClass == 'fixed-show'}">
<div class="container width_1200_auto flex flex-a-c">
<img
:src="logoImg"
:src="$store.state.logoImg"
v-if="showLogo"
class="logo-img"
alt=""
@click="$router.push('/')"
/>
<i-input
v-model="searchData"
size="large"
class="search"
placeholder="输入你想查找的商品"
@keyup.enter.native="search"
>
<Button v-if="!store" slot="append" @click="search">搜索</Button>
</i-input>
<div v-if="store" class="btn-div">
<Button class="store-search" type="warning" @click="searchStore">搜本店</Button>
<Button class="store-search" type="primary" @click="search">搜全站</Button>
<div :class="{'small-search-box':useClass == 'fixed-show'}" class="search-box">
<i-input
v-model="searchData"
size="large"
class="search "
placeholder="输入你想查找的商品"
@keyup.enter.native="search"
>
<div class="search-icon" slot="append" @click="search">
<Icon type="ios-search" size="21"/>
</div>
</i-input>
<template v-if="showTag">
<div class="only-store" v-if="storeId" @click="research()">
切换为{{!onlyStore ? '店铺内' : '平台'}}搜索
</div>
<div v-if="promotionTags.length === 0"></div>
<div v-else class="history-list flex">
<div
v-for="(item, index) in promotionTags"
:key="index"
class="mr_10"
>
<span class="history-item" @click="selectTags(item)">{{ item }}</span>
</div>
</div>
</template>
</div>
<template v-if="showTag">
<div style="height:12px" v-if="promotionTags.length === 0"></div>
<div v-else>
<Tag
v-for="(item, index) in promotionTags"
:key="index"
>
<span class="hover-color" @click="selectTags(item)">{{ item }}</span>
</Tag>
</div>
</template>
</div>
</div>
</template>
<script>
import {getLogo} from '@/api/common.js'
import storage from '@/plugins/storage.js'
import {hotWords} from '@/api/goods.js'
export default {
name: 'search',
props: {
@@ -50,75 +58,153 @@ export default {
type: Boolean,
default: true
},
store: { // 是否为店铺页面
storeId: { // 是否为店铺页面
type: String,
default: ""
},
hover: {
type: Boolean,
default: false
},
useClass:{
type:null,
default:''
}
},
data () {
watch:{
storeId(val){
this.onlyStore = val ? true : false
}
},
data() {
return {
searchData: '', // 搜索内容
logoImg: '', // pc端展示logo
promotionTags: [] // 热门搜索列表
onlyStore:false,
};
},
methods: {
selectTags (item) { // 选择热门标签
selectTags(item) { // 选择热门标签
this.searchData = item;
this.search();
},
search () { // 全平台搜索商品
this.$router.push({
path: '/goodsList',
query: { keyword: this.searchData }
});
research(){
this.onlyStore = !this.onlyStore
},
searchStore () { // 店铺搜索商品
search () { // 全平台搜索商品
const url = this.$route.path;
if(url == '/goodsList'){
this.$emit('search', this.searchData)
}else{
const pushData = {
path:'/goodsList',
query: { keyword: this.searchData },
}
if(this.storeId && this.onlyStore) pushData.query.storeId = this.storeId
this.$router.push(pushData);
}
},
searchStore() { // 店铺搜索商品
this.$emit('search', this.searchData)
}
},
mounted () {
if (!this.Cookies.getItem('logo')) {
getLogo().then(res => {
if (res.success) {
let logoObj = JSON.parse(res.result.settingValue)
this.Cookies.setItem('logo', logoObj.buyerSideLogo)
this.logoImg = logoObj.buyerSideLogo
}
})
} else {
this.logoImg = this.Cookies.getItem('logo')
computed: {
promotionTags() {
if (this.$store.state.hotWordsList) {
return JSON.parse(this.$store.state.hotWordsList)
} else {
return []
}
}
},
created() {
this.searchData = this.$route.query.keyword
hotWords({start: 1, end: 5}).then(res => {
if (res.success) this.promotionTags = res.result
})
if (!this.hover) { // 首页顶部固定搜索栏不调用热词接口
// 搜索热词每5分钟请求一次
const reloadTime = storage.getItem('hotWordsReloadTime')
const time = new Date().getTime() - 5 * 60 * 1000
if (!reloadTime) {
hotWords({count: 5}).then(res => {
if (res.success && res.result) storage.setItem('hotWordsList', res.result)
})
storage.setItem('hotWordsReloadTime', new Date().getTime())
} else if (reloadTime && time > reloadTime) {
hotWords({count: 5}).then(res => {
if (res.success && res.result) storage.setItem('hotWordsList', res.result)
})
storage.setItem('hotWordsReloadTime', new Date().getTime())
}
}
}
};
</script>
<style scoped lang="scss">
.container {
margin: 30px auto;
width: 460px;
position: relative;
.only-store{
text-align: right;
color:$theme_color;
cursor: pointer;
}
.navbar {
height: 113px;
background: #fff;
}
.search-icon{
width: 100%;
height: 100%;
}
.small-search-box{
height: 60px;
margin: 0 !important;
}
.container {
position: relative;
height: 100%;
}
.search {
width: 778.4px;
margin: 10px 0px 5px 0;
/deep/ .ivu-input.ivu-input-large {
border: 2px solid $theme_color;
font-size: 12px;
height: 34px;
border-radius: 18.9px;
::v-deep .ivu-input.ivu-input-large {
border: 1.4px solid $theme_color;
box-sizing: border-box;
border-radius: 19.6px;
position: relative;
padding-left: 26px;
font-size: 14px;
font-weight: normal;
height: 37.8px;
color: #999;
&:focus {
box-shadow: none;
}
}
/deep/ .ivu-input-group-append {
border: 1px solid $theme_color;
border-left: none;
height: 30px;
::v-deep .ivu-input-group-append {
border-radius: 19.6px !important;
cursor: pointer;
box-sizing: border-box;
border: 1.4px solid $theme_color;
width: 67.2px;
height: 37.8px;
position: absolute;
right: 0;
display: flex;
align-items: center;
justify-content: center;
top: 0;
z-index: 99;
background-color: $theme_color;
color: #ffffff;
button {
font-size: 14px;
font-weight: 600;
@@ -126,24 +212,46 @@ export default {
}
}
}
.search-box{
margin-left: 28px;
}
.logo-img {
position: absolute;
left: -360px;
top: -9px;
width: 150px;
max-width: 150px;
cursor: pointer;
}
.store-search{
.store-search {
width: 55.6px;
padding: 0 9px;
border-radius: 0;
&:nth-child(2){
margin-left: -5px;
border-radius: 3px;
&:nth-child(2) {
width: 55px;
margin-left: -2px;
border-radius: 3px;
}
}
.btn-div{
.btn-div {
position: relative;
height: 0px;
top: -38px;
left: 336px;
left: 352px;
}
.history-list {
margin-left: 28px;
}
.history-item {
font-size: 13px;
font-weight: normal;
line-height: 16px;
letter-spacing: 0px;
margin-right: 17px;
color: #666666;
cursor: pointer;
}
</style>

View File

@@ -12,12 +12,8 @@
<i-input v-model="formData.name" style="width: 600px"></i-input>
</FormItem>
<FormItem label="收件地区" prop="address">
<i-input
v-model="formData.address"
disabled
style="width: 600px"
></i-input>
<Button type="primary" size="small" @click="$refs.map.showMap = true">选择</Button>
{{ formData.address || '暂无地址' }}
<Button type="primary" style="margin-left: 10px;" size="small" @click="$refs.map.open()">选择</Button>
</FormItem>
<FormItem label="详细地址" prop="detail">
<i-input v-model="formData.detail" style="width: 600px"></i-input>
@@ -43,12 +39,12 @@
<Button type="primary" class="mr_10" :loading="loading" @click="save">保存收货地址</Button>
</div>
</Modal>
<lili-map ref="map" @getAddress="getAddress"></lili-map>
<multipleMap ref="map" @callback="getAddress"></multipleMap>
</div>
</template>
<script>
import liliMap from '@/components/map';
import multipleMap from "@/components/map/multiple-map";
import {
newMemberAddress,
editMemberAddress,
@@ -129,14 +125,24 @@ export default {
}
});
},
getAddress (item) {
// 获取地图选择信息
this.mapMsg = item;
this.$set(this.formData, 'address', item.addr);
this.$set(this.formData, 'consigneeAddressIdPath', item.addrId);
this.$set(this.formData, 'detail', item.detail);
this.formData.lat = item.position.lat;
this.formData.lon = item.position.lng;
getAddress (val) {
// 获取地图选择信息
if(val.type === 'select'){
const paths = val.data.map(item => item.name).join(',')
const ids = val.data.map(item => item.id).join(',')
this.$set(this.formData,'address',paths)
this.$set(this.formData,'consigneeAddressIdPath',ids)
const coord = val.data[val.data.length - 1].center.split(',')
this.formData.lat = coord[1]
this.formData.lon = coord[0]
}else{
this.$set(this.formData, "address", val.data.addr);
this.$set(this.formData, "consigneeAddressIdPath", val.data.addrId);
this.$set(this.formData, "detail", val.data.address);
this.formData.lat = val.data.position.lat;
this.formData.lon = val.data.position.lng;
}
},
show () { // 地址模态框显示
this.showAddr = true;
@@ -158,7 +164,7 @@ export default {
}
},
components: {
liliMap
multipleMap
}
};
</script>

View File

@@ -24,7 +24,7 @@ export default {
.advertising {
height: 80px;
width: 100%;
background-color: $theme_color;
text-align: center;
overflow: hidden;
position: relative;

View File

@@ -113,12 +113,12 @@ export default {
}
}
/deep/ .ivu-card, .ivu-card-head, ._Card {
::v-deep .ivu-card, .ivu-card-head, ._Card {
margin-bottom: 20px;
@include white_background_color();
}
/deep/ .ivu-card-head {
::v-deep .ivu-card-head {
position: relative;
padding: 0 14px;
height: 50px;
@@ -140,7 +140,7 @@ export default {
cursor: pointer;
}
/deep/ .ivu-card-body {
::v-deep .ivu-card-body {
padding: 0 !important;
display: none;
}

View File

@@ -1,110 +0,0 @@
<template>
<div class="wrapper">
<empty v-if="list.length==0" />
<ul class="coupon-list" v-else>
<li v-for="(item, index) in list" class="coupon-item" :key="index">
<div class="c-left">
<div>
<span v-if="item.couponType === 'PRICE'" class="fontsize_12 global_color">¥<span class="price">{{item.price | unitPrice}}</span></span>
<span v-if="item.couponType === 'DISCOUNT'" class="fontsize_12 global_color"><span class="price">{{item.couponDiscount}}</span></span>
<span class="describe">{{item.consumeThreshold}}元可用</span>
</div>
<p>使用范围{{useScope(item.scopeType, item.storeName)}}</p>
<p>有效期{{item.endTime}}</p>
</div>
<b></b>
<a class="c-right" @click="go(item)">立即使用</a>
<i class="circle-top"></i>
<i class="circle-bottom"></i>
</li>
</ul>
<Page :total="total" @on-change="changePageNum"
v-if="list.length && total > params.pageNumber"
class="pageration"
@on-page-size-change="changePageSize"
:page-size="params.pageSize"
show-sizer>
</Page>
<Spin v-if="loading" fix></Spin>
</div>
</template>
<script>
import { memberCouponList } from '@/api/member.js';
export default {
data () {
return {
loading: false, // 列表加载状态
params: { // 请求参数
pageNumber: 1,
pageSize: 10
},
total: 0, // 优惠券总数
list: [] // 优惠券列表
};
},
methods: {
getList () { // 获取优惠券列表
this.loading = true
memberCouponList(this.params).then(res => {
this.loading = false
if (res.success) {
this.list = res.result.records
this.total = res.result.total
}
})
},
go (item) { // 根据使用条件跳转商品列表页面
if (item.storeId !== 'platform') {
this.$router.push({path: '/merchant', query: {id: item.storeId}})
} else {
if (item.scopeType === 'PORTION_GOODS_CATEGORY') {
this.$router.push({path: '/goodsList', query: {categoryId: item.scopeId}})
} else {
this.$router.push({path: '/goodsList'})
}
}
},
changePageNum (val) { // 分页改变页码
this.params.pageNumber = val;
this.getList()
},
changePageSize (val) { // 分页改变页数
this.pageNumber = 1;
this.params.pageSize = val;
this.getList()
},
useScope (type, storeName) { // 根据字段返回 优惠券适用范围
let shop = '平台';
let goods = '全部商品'
if (storeName !== 'platform') shop = storeName
switch (type) {
case 'ALL':
goods = '全部商品'
break;
case 'PORTION_GOODS':
goods = '部分商品'
break;
case 'PORTION_GOODS_CATEGORY':
goods = '部分分类商品'
break;
}
return `${shop}${goods}可用`
}
},
mounted () {
this.getList()
}
};
</script>
<style scoped lang="scss">
@import '../../assets/styles/coupon.scss';
.pageration {
text-align: right;
}
</style>

View File

@@ -190,7 +190,7 @@ export default {
this.$router.push('/home/Coupons')
},
onCancel: () => {
if (item.storeId !== 'platform') {
if (item.storeId !== '0') {
this.$router.push({path: '/merchant', query: {id: item.storeId}})
} else {
if (item.scopeType === 'PORTION_GOODS_CATEGORY') {
@@ -290,7 +290,7 @@ export default {
}
this.loading = true
tracksList(params).then(res => {
this.tracksList = res.result
this.tracksList = res.result.records
this.loading = false
}).catch(() => { this.loading = false })
}

View File

@@ -36,9 +36,11 @@ export default {
},
components: {drawerPage},
computed: {
// 用户信息
userInfo () {
return Storage.getItem('userInfo');
},
// 购物车商品数量
cartNum () {
return this.$store.state.cartNum
}
@@ -145,11 +147,11 @@ export default {
justify-content: center;
flex-direction: column;
}
/deep/.popup .ivu-drawer-body{
::v-deep.popup .ivu-drawer-body{
padding: 0!important;
background-color: #eee;
}
/deep/.popup .ivu-drawer-wrap{
::v-deep.popup .ivu-drawer-wrap{
z-index: 3001;
}
</style>

View File

@@ -7,6 +7,7 @@
alt=""
/>
<p v-if="_Title">{{ _Title }}</p>
<slot></slot>
</div>
</template>
@@ -35,6 +36,6 @@ export default {
}
p {
cursor: pointer;
@include sub_color($light_sub_color);
}
</style>

View File

@@ -0,0 +1,119 @@
<template>
<div class="shadow-box">
<div class="shadow-item flex flex-a-c flex-j-c" v-for="(item,index) in iconList" @click="handleClickIcon(item)" :key="index">
<img class="icon" :src="require(`@/assets/iconfont/${item.icon}.png`)">
<div class="shadow-label">{{item.label}}</div>
<div class="line" v-if="iconList.length-1 !=index"></div>
</div>
</div>
</template>
<script>
export default {
name: "fixed-index",
data(){
return{
iconList:[
{
icon:"user",
label:"会员中心",
path:"/home"
},
{
icon:"carts",
label:"购物车",
path:"/cart"
},
{
icon:"notification",
label:"消息",
path:"/home/MsgList"
},
{
icon:"collage",
label:"收藏",
path:"/home/Favorites"
},
{
icon:"back",
label:"顶部",
path:"back"
},
],
isScrolling:false,
timeoutId:"",
}
},
mounted() {
const vm = this
// 添加滚轮事件监听器
window.addEventListener('wheel', function() {
if (vm.isScrolling) {
// 如果页面正在滚动,则取消定时器并设置 isScrolling 为 false
window.cancelAnimationFrame(vm.timeoutId);
vm.isScrolling = false;
}
});
},
methods:{
scrollToTop() {
const c = document.documentElement.scrollTop || document.body.scrollTop;
if (c > 0) {
this.timeoutId = window.requestAnimationFrame(this.scrollToTop);
window.scrollTo(0, c - c / 4);
this.isScrolling = true;
}else {
this.isScrolling = false;
}
},
handleClickIcon(val){
if(val.path === 'back'){
this.scrollToTop()
}else{
this.$router.push(val.path)
}
}
}
}
</script>
<style scoped lang="scss">
.shadow-box{
width: 64px;
height: 354px;
border-radius: 10px;
opacity: 1;
background: #FFFFFF;
box-shadow: 0px 1px 10px 0px rgba(154, 154, 154, 0.5);
}
.shadow-label{
font-size: 13px;
font-weight: normal;
line-height: 16px;
text-align: center;
letter-spacing: 0px;
color: #666666;
}
.icon{
margin-top: 15px;
width: 20px;
height: 20px;
margin-bottom: 5px;
}
.shadow-item{
cursor: pointer;
flex-direction: column;
height: 70px;
>.line{
width: 34px;
height: 1px;
opacity: 1;
margin-top: 17px;
border: 0.7px solid #EAEAEA;
}
}
</style>

View File

@@ -3,20 +3,20 @@
<footer class="footer">
<div class="clearfix"></div>
<div class="icon-row">
<div class="footer-icon">
<h5 class="footer-icon-child"></h5>
<div class="footer-icon flex flex-a-c">
<h5 class="footer-icon-child"></h5>
<span class="footer-icon-text">品类齐全轻松购物</span>
</div>
<div class="footer-icon">
<h5 class="footer-icon-child footer-icon-child-2"></h5>
<div class="footer-icon flex flex-a-c">
<h5 class="footer-icon-child footer-icon-child-2"></h5>
<span class="footer-icon-text">多仓直发极速配送</span>
</div>
<div class="footer-icon">
<h5 class="footer-icon-child footer-icon-child-3"></h5>
<div class="footer-icon flex flex-a-c">
<h5 class="footer-icon-child footer-icon-child-3"></h5>
<span class="footer-icon-text">正品行货精致服务</span>
</div>
<div class="footer-icon">
<h5 class="footer-icon-child footer-icon-child-4"></h5>
<div class="footer-icon flex flex-a-c">
<h5 class="footer-icon-child footer-icon-child-4"></h5>
<span class="footer-icon-text">天天低价畅选无忧</span>
</div>
</div>
@@ -29,18 +29,39 @@
</div>
</div>
<div class="clearfix"></div>
<div class="friend-link">
<div class="friend-link flex">
<div class="friend-link-item">
<ul>
<li v-for="(link, index) in moreLink" :key="index" @click="goArticle">
<span class="link-item" :class="{'link-last-item': index === 4}">{{link}}</span>
</li>
</ul>
</div>
</div>
<div class="information footer-bottmom">
<div class="icp">
<li v-if="config.icpCard">
<a :href='"https://tsm.miit.gov.cn/dxxzsp/xkz/xkzgl/resource/qiyesearch.jsp?num="+config.icpCard+"&type=xuke"' target="_blank">
{{config.icpCard}}
</a>
</li>
<li v-if="config.icpMessage" class="footer-bottmom">
<a href="https://beian.miit.gov.cn/" target="_blank">
{{config.icpMessage}}
</a>
</li>
</div>
<a class="flex " :href="config.company.href">
<img class="zhizhao" src="@/assets/images/zhizhao.jpg" mode="" />{{config.company.name}}
</a>
</div>
<div class="clearfix"></div>
<div class="copyright">
<p>Copyright © LILI</p>
<p>Copyright © {{year}} {{config.title}}</p>
</div>
</div>
</footer>
@@ -48,27 +69,32 @@
</template>
<script>
export default {
name: 'Footer',
data () {
name: "Footer",
data() {
return {
guideArr: [ // 导航链接
[ '购物指南', '购物流程', '会员介绍', '生活旅行', '常见问题', '大家电', '联系客服' ],
[ '配送方式', '上门自提', '211限时达', '配送服务查询', '收取标准', '海外配送' ],
[ '支付方式', '货到付款', '在线支付', '分期付款', '邮局汇款', '公司转账' ],
[ '售后服务', '售后政策', '价格保护', '退款说明', '返修/退换货', '取消订单' ]
config:require('@/config'),
guideArr: [
// 导航链接
["购物指南", "购物流程", "会员介绍", "生活旅行", "常见问题"],
["配送方式", "上门自提", "配送查询", "收取标准", "物流规则"],
["支付方式", "在线支付", "公司转账", "余额支付", "积分支付"],
["售后服务", "售后政策", "退款说明", "返修/退货", "取消订单"],
],
moreLink: ['关于我们', '联系我们', '联系客服', '商家帮助', '隐私政策'] // 更多链接
moreLink: ["关于我们", "联系我们", "联系客服", "商家帮助", "隐私政策"], // 更多链接
year: new Date().getFullYear(), // 当前年份
};
},
methods: {
goArticle () { // 跳转文章页
goArticle() {
// 跳转文章页
let routeUrl = this.$router.resolve({
path: '/article'
})
window.open(routeUrl.href, '_blank')
}
}
path: "/article",
});
window.open(routeUrl.href, "_blank");
},
},
};
</script>
@@ -76,84 +102,117 @@ export default {
/*****************************底 部 开 始*****************************/
.footer {
width: 100%;
height: 450px;
padding-top: 30px;
@include background_color($light_background_color);
height: 370px;
background: #FFFFFF;
}
.icon-row {
margin: 15px auto;
padding-top: 8px;
width: 1000px;
height: 64px;
display: flex;
align-items: center;
justify-content: space-between;
width: 1056px;
height: 71px;
margin: 0 auto;
}
.footer-icon {
margin-left: 17px;
margin-right: 17px;
float: left;
}
.footer-icon-child {
margin-top: 10px;
overflow: hidden;
position: absolute;
width: 36px;
height: 42px;
background-image: url("../../assets/images/footer/ico_service.png");
text-indent: -999px;
width: 36.4px;
display: flex;
align-items: center;
justify-content: center;
font-size: 18.2px;
font-weight: normal;
color: #333;
height: 36.4px;
border: 1.4px solid #CECECE;
border-radius: 50%;
}
.footer-icon-child-2 {
background-position: 0 -43px;
.icp {
margin-right: 30px !important;
>*{
margin: 0 4px;
}
flex-direction: column;
}
.footer-icon-child-3 {
background-position: 0 -86px;
.flex{
display: flex;
align-items: center;
>img{
margin-right: 4px;
}
}
.footer-icon-child-4 {
background-position: 0 -129px;
}
.footer-icon-text{
margin-left: 45px;
font-size: 18px;
font-weight: bold;
line-height: 64px;
.footer-icon-text {
margin-left: 11px;
font-size: 16px;
font-weight: normal;
text-align: center;
}
.service-intro {
width: 100%;
border-top: 1px solid $border_color;
}
.servece-type {
margin: 15px auto;
height: 200px;
width: 800px;
width: 952px;
margin: 22px auto 10px auto;
display: flex;
flex-direction: row;
justify-content: space-between;
}
}
.servece-type-info{
}
.servece-type-info ul {
list-style: none;
}
.servece-type-info li {
font-size: 14px;
font-size: 12px;
cursor: pointer;
line-height: 26px;
font-weight: normal;
line-height: 15px;
text-align: center;
margin-bottom: 13px;
color: #333;
}
.servece-type-info li:first-child {
font-size: 16px;
line-height: 28px;
font-weight: bold;
font-size: 14.82px;
font-weight: normal;
line-height: 18px;
letter-spacing: 0px;
margin-bottom: 17px;
color: #333333;
}
.friend-link {
display: flex;
align-items: center;
align-items: flex-start;
justify-content: center;
width: 908px;
height: 30px;
padding: 10px 0;
margin: 0px auto;
border-top: 1px solid $border_color;
}
.friend-link-item {
margin: 0px auto;
.information {
margin-top: 23px;
margin-bottom: 21px;
display: flex;
justify-content: center;
}
a{
color: #3457FF;
}
.zhizhao {
width: 20px;
height: 20px;
border-radius: 50%;
}
.friend-link-item ul {
list-style: none;
@@ -161,29 +220,45 @@ export default {
.friend-link-item li {
padding: 5px 0px;
float: left;
margin-right: 59px;
font-weight: normal;
line-height: 13px;
color: #333333;
}
.link-item {
padding: 0px 8px;
cursor: pointer;
border-right: 1px solid $border_color;
}
.link-last-item {
border: none;
}
.copyright {
width: 100%;
line-height: 30px;
cursor: pointer;
text-align: center;
height:25px;
opacity: 1;
margin-bottom: 12px;
font-size: 12px;
font-weight: normal;
line-height: 13px;
letter-spacing: 0px;
color: #959595;
}
.copyright a{
color: #232323;
font-size: 20px;
.footer-icon-text {
@include title_color($light_title_color);
}
.footer-icon-text{
@include title_color($light_title_color)
}
.copyright,.friend-link,.servece-type-info {
@include sub_color($light_sub_color)
.copyright,
.friend-link,
.servece-type-info {
@include sub_color($light_sub_color);
}
/*****************************底 部 结 束*****************************/
</style>

View File

@@ -7,7 +7,7 @@ import FixedTopPage from '@/components/advertising/FixedTop'; // 顶部广告
import Footer from '@/components/footer/Footer'; // 底部栏
import Search from '@/components/Search' // 搜索框
import card from '@/components/card' // 个人中心 卡片
import cateNav from '@/components/nav/cateNav' // 个人中心 卡片
import cateNav from '@/components/nav/CateNav' // 个人中心 卡片
empty.install = function (Vue) {
Vue.component('empty', empty);

View File

@@ -8,7 +8,7 @@
<div v-else>{{end}}</div>
</div>
<span v-else class="cart-promotion">
<span v-if="end === ''">活动结束<span>{{ hours }}</span> : <span>{{ minutes }}</span> : <span>{{ seconds }}</span></span>
<span v-if="end === ''">活动结束<span>{{ hours }}</span> : <span>{{ minutes }}</span> : <span>{{ seconds }}</span></span>
<span v-else>活动已结束</span>
</span>
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -1,29 +1,12 @@
<template>
<div>
<div style="height:auto;">
<div class="item-intro-show">
<!-- <div class="item-intro-recommend">
<div class="item-recommend-title">
<p>店铺热销</p>
</div>
<div class="item-intro-recommend-column">
<div class="item-recommend-column" v-for="(item, index) in hotList" :key="index">
<div class="item-recommend-img">
<img :src="item.img" alt="">
</div>
<div class="item-recommend-intro">
<span>
<span class="item-recommend-top-num">{{index + 1}}</span> 热销{{item.sale}}</span>
<span class="item-recommend-price">{{item.price | unitPrice}}</span>
</div>
</div>
</div>
</div> -->
<div class="item-intro-detail" ref="itemIntroDetail">
<div class="item-intro-nav item-tabs">
<Tabs :animated="false" @on-click="tabClick">
<TabPane label="商品介绍">
<div class="item-intro-img" ref="itemIntroGoods">
<div v-html="skuDetail.intro" v-if="skuDetail.intro"></div>
<div class="item-intro" v-html="skuDetail.intro" v-if="skuDetail.intro"></div>
<div v-else style="margin:20px;">暂无商品介绍</div>
</div>
</TabPane>
@@ -31,8 +14,8 @@
<div class="remarks-container" ref="itemGoodsComment">
<div class="remarks-analyse-box">
<div class="remarks-analyse-goods">
<i-circle :percent="skuDetail.grade || 100" stroke-color="#5cb85c">
<span class="remarks-analyse-num">{{skuDetail.grade || 100}}%</span>
<i-circle :percent="skuDetail.grade" stroke-color="#5cb85c">
<span class="remarks-analyse-num">{{skuDetail.grade}}%</span>
<p class="remarks-analyse-title">好评率</p>
</i-circle>
</div>
@@ -64,6 +47,7 @@
<img :src="img" alt="">
</div>
</div>
<div class="preview-img" v-if="item.previewImg" @click.prevent="hidePreviewImg(item)">
<div>
<span @click.stop="rotatePreviewImg(0, item)"><Icon type="md-refresh" />左转</span>
@@ -75,6 +59,22 @@
<span class="remarks-item">{{item.goodsName}}</span>
<span class="remarks-time">{{item.createTime}}</span>
</p>
<!-- 商家回复 -->
<div class="reply" v-if="item.reply">
<p>商家回复</p>
<div>
<p class="remarks-content">{{ item.reply }}</p>
<div>
<div class="comment-img" v-if="item.replyImage">
<div v-for="(img, imgIndex) in item.replyImage.split(',')" @click="$previewImage(img)" :key="imgIndex">
<img :src="img" alt="">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="remarks-page">
@@ -87,12 +87,17 @@
</div>
</TabPane>
<TabPane label="商品参数">
<table class="mt_10" border="1" cellpadding='0' cellspacing="0" v-if="skuDetail.goodsParamsList && skuDetail.length">
<tr v-for="param in skuDetail.goodsParamsList" :key="param">
<td>{{param.paramName}}</td><td>{{param.paramValue}}</td>
</tr>
</table>
<!-- <div v-else>暂无商品参数</div> -->
<template v-if="detail.goodsParamsDTOList && detail.goodsParamsDTOList.length">
<div class="goods-params" style="height:inherit;" v-for="item in detail.goodsParamsDTOList" :key="item.groupId">
<span class="ml_10">{{item.groupName}}</span>
<table class="mb_10" cellpadding='0' cellspacing="0" >
<tr v-for="param in item.goodsParamsItemDTOList" :key="param.paramId">
<td style="text-align: center">{{param.paramName}}</td><td>{{param.paramValue}}</td>
</tr>
</table>
</div>
</template>
<div v-else>暂无商品参数</div>
</TabPane>
</Tabs>
</div>
@@ -126,12 +131,13 @@ export default {
};
},
computed: {
skuDetail () { // skuId
// 商品详情
skuDetail () {
return this.detail.data;
}
},
methods: {
changeHeight (name) { // 设置商品详情高度
changeHeight (name) { // 设置商品详情高度
let heightCss = window.getComputedStyle(this.$refs[name]).height;
heightCss = parseInt(heightCss.substr(0, heightCss.length - 2)) + 89;
this.$refs.itemIntroDetail.style.height = heightCss + 'px';
@@ -217,17 +223,26 @@ export default {
});
window.addEventListener('scroll', this.handleScroll)
this.getList();
},
if (this.skuDetail.grade === null || this.skuDetail.grade === undefined) {
this.skuDetail.grade = 100
}
}
};
</script>
<style scoped lang="scss">
.item-intro{
>img{
display:block;
}
}
/***************商品详情介绍和推荐侧边栏开始***************/
.item-intro-show{
width: 1200px;
margin: 15px auto;
display: flex;
overflow-x: hidden;
flex-direction: row;
}
@@ -311,6 +326,9 @@ export default {
.item-intro-img {
width: 100%;
min-height: 300px;
::v-deep img{
margin:0 auto;
}
}
.item-intro-img img{
max-width: 1000px;
@@ -401,7 +419,8 @@ export default {
margin-right: 5px;
width: 50px;
height: 50px;
img{width: 100%;}
overflow: hidden;
img{width: 100%;height: 100%;}
}
}
.preview-img{
@@ -428,9 +447,6 @@ export default {
}
}
img:hover{
cursor: url(require('../../../static/small.cur')),auto;
}
}
}
@@ -456,7 +472,7 @@ export default {
.ivu-tabs-ink-bar {
background-color: $theme_color !important;
}
/deep/.ivu-tabs-bar{
::v-deep.ivu-tabs-bar{
border: none;
}
.item-tabs > .ivu-tabs > .ivu-tabs-bar .ivu-tabs-tab{
@@ -484,17 +500,33 @@ export default {
color: $theme_color;
}
table{
border-color: #eee;
border-color:#efefef;
color: #999;
width: 70%;
margin-left: 10px;
min-width: 30%;
margin-left: 30px;
font-size: 12px;
tr{
td:nth-child(1){
width: 200px;
width: 100px;
}
td:nth-child(2){
padding-left: 20px;
}
}
td{
padding: 5px;
padding: 6px;
}
}
.goods-params {
display: flex;
border-bottom: 1px solid #eee;
margin-left: 30px;
span{color:#999}
}
.reply{
>*{
margin: 4px;
}
}
</style>

View File

@@ -1,56 +1,54 @@
<template>
<div class="box">
<div class="nav">
<ul class="location">
<li>
<router-link to="/" v-if="$route.path !== '/'" class="home-page">
<Icon type="md-home" />首页
</router-link>
<div class="nav width_1200_auto">
<ul class="location flex">
<li v-if="$route.path.includes('home')" style="margin-left:10px">
<router-link to="/">首页</router-link>
</li>
<ul class="flex">
<li>Hi欢迎来到{{ config.title }}</li>
<li class="first" v-show="!userInfo.username">
<router-link :to="`/signUp`" class="nav-item">
<span>立即注册</span>
</router-link>
</li>
<li v-show="!userInfo.username">
<router-link class="nav-item" :to="`/login?rePath=${$route.path}&query=${JSON.stringify($route.query)}`">
<span>请登录</span>
</router-link>
</li>
</ul>
</ul>
<ul class="detail">
<li class="first" v-show="!userInfo.username">
<router-link :to="`/login?rePath=${$route.path}&query=${JSON.stringify($route.query)}`">
<span style="border:none" class="tipsLogin">请登录</span>
</router-link>
</li>
<ul class="detail flex">
<li v-show="!!userInfo.username">
<Dropdown>
<p class="username-p">
<Avatar class="person-icon" :src="userInfo.face" icon="person" size="small" />
<span class="username">{{ userInfo.nickName? userInfo.nickName : userInfo.username | secrecyMobile }}</span>
</p>
<DropdownMenu slot="list">
<div class="my-page">
<div class="my-info" @click="myInfo">
<Icon type="md-home"></Icon>
<p>我的主页</p>
</div>
<div class="sign-out" @click="signOutFun">
<Icon type="md-exit"></Icon>
<p>退出登录</p>
</div>
</div>
</DropdownMenu>
</Dropdown>
<div class="username-p">
<div>
<Avatar class="person-icon" :src="userInfo.face" icon="person" size="small"/>
<span class="username">{{
userInfo.nickName ? userInfo.nickName : userInfo.username | secrecyMobile
}}</span>
</div>
<transition name='fade'>
<ul class="drop-items">
<li @click="goUserCenter('/home')">我的主页</li>
<li @click="goUserCenter('/home/Coupons')">优惠券</li>
<li @click="goUserCenter('/home/Favorites')">我的收藏</li>
<li @click="signOutFun">退出登录</li>
</ul>
</transition>
</div>
</li>
<li @click="goUserCenter('/home/MyOrder')"><span class="nav-item hover-color">我的订单</span></li>
<li @click="goUserCenter('/home/MyTracks')"><span class="nav-item hover-color">我的足迹</span></li>
<li @click="goUserCenter('/home/MsgList')"><span class="nav-item hover-color">我的消息</span></li>
<li @click="goUserCenter('/home/MyOrder')"><span class="nav-item">我的订单</span></li>
<li @click="goUserCenter('/home/MyTracks')"><span class="nav-item">我的足迹</span></li>
<li @click="goUserCenter('/home/MsgList')"><span class="nav-item">我的消息</span></li>
<li v-if="$route.name !== 'Cart'" style="position:relative;">
<i class="cart-badge" v-show="Number(cartNum)">{{cartNum < 100 ? cartNum : '99'}}</i>
<Dropdown placement="bottom-start">
<router-link to="/cart" target="_blank">
<span @mouseenter="getCartList">
<Icon
size="18"
type="ios-cart-outline"
></Icon>
购物车
<span class="nav-item" @mouseenter="getCartList">
<Icon size="18" type="ios-cart-outline"></Icon>
购物车{{ cartNum < 100 ? cartNum : '99' }}
</span>
</router-link>
<DropdownMenu slot="list">
<div class="shopping-cart-null" style="width:200px" v-show="shoppingCart.length <= 0">
<Icon type="ios-cart-outline" class="cart-null-icon"></Icon>
@@ -60,25 +58,25 @@
<div class="shopping-cart-list" v-show="shoppingCart.length > 0">
<div class="shopping-cart-box" v-for="(item, index) in shoppingCart" @click="goToPay" :key="index">
<div class="shopping-cart-img">
<img :src="item.goodsSku.thumbnail" class="hover-pointer" />
<img :src="item.goodsSku.thumbnail" class="hover-pointer"/>
</div>
<div class="shopping-cart-info">
<div class="shopping-cart-title ">
<p class="hover-pointer goods-title ellipsis">{{ item.goodsSku.goodsName }}</p>
</div>
<div class="shopping-cart-detail">
<p>
<div>
数量:
<span class="shopping-cart-text">{{ item.num }}</span>
价钱:
<span class="shopping-cart-text">{{ item.purchasePrice | unitPrice('¥') }}</span>
</p>
</div>
<div class="shopping-price">
{{ item.purchasePrice | unitPrice('¥') }}
</div>
</div>
</div>
</div>
<div class="go-to-buy">
<Button type="error" size="small" @click="goToPay">去结账</Button>
</div>
</div>
</DropdownMenu>
</Dropdown>
@@ -86,94 +84,94 @@
<li>
<span class="nav-item" @click="shopEntry">店铺入驻</span>
</li>
<!-- <li>
<router-link to="/feedback">意见反馈</router-link>
</li>-->
</ul>
</div>
</div>
</template>
<script>
import storage from "@/plugins/storage.js";
import { cartGoodsAll } from "@/api/cart.js";
import storage from '@/plugins/storage.js';
import {cartGoodsAll} from '@/api/cart.js';
import {logout} from '@/api/account.js';
export default {
name: "M-Header",
name: 'M-Header',
created() {
if (storage.getItem("userInfo")) {
this.userInfo = JSON.parse(storage.getItem("userInfo"));
if (storage.getItem('userInfo')) {
this.userInfo = JSON.parse(storage.getItem('userInfo'));
}
},
data() {
return {
// 主题颜色切换
themeType: "light",
config: require('@/config'),
userInfo: {}, // 用户信息
shoppingCart: [], // 购物车
shoppingCart: [] // 购物车
};
},
computed: {
// 购物车商品数量
cartNum() {
return this.$store.state.cartNum;
},
}
},
methods: {
changeCity (city) { // 选择所在城市
this.city = city;
},
goToPay () { // 跳转购物车
goToPay() { // 跳转购物车
let url = this.$router.resolve({
path: "/cart",
path: '/cart'
});
window.open(url.href, "_blank");
window.open(url.href, '_blank');
},
myInfo () { // 跳转会员中心
myInfo() { // 跳转会员中心
let url = this.$router.resolve({
path: "/home",
path: '/home'
});
window.open(url.href, "_blank");
window.open(url.href, '_blank');
},
signOutFun () { // 退出登录
storage.removeItem('accessToken');
storage.removeItem('refreshToken');
storage.removeItem('userInfo');
storage.removeItem('cartNum');
this.$store.commit('SET_CARTNUM', 0)
this.$router.push('/login');
signOutFun() { // 退出登录
logout().then(res => {
storage.removeItem('accessToken');
storage.removeItem('refreshToken');
storage.removeItem('userInfo');
storage.removeItem('cartNum');
this.$store.commit('SET_CARTNUM', 0)
this.$router.push('/login');
});
},
goUserCenter(path) {
// 跳转我的订单,我的足迹
// 跳转我的订单,我的足迹、收藏等
if (this.userInfo.username) {
this.$router.push({ path: path });
this.$router.push({path: path});
} else {
this.$Modal.confirm({
title: "请登录",
content: "<p>请登录后执行此操作</p>",
okText: "立即登录",
cancelText: "继续浏览",
title: '请登录',
content: '<p>请登录后执行此操作</p>',
okText: '立即登录',
cancelText: '继续浏览',
onOk: () => {
this.$router.push({
path: "/login",
path: '/login',
query: {
rePath: this.$router.history.current.path,
query: JSON.stringify(this.$router.history.current.query),
},
query: JSON.stringify(this.$router.history.current.query)
}
});
},
}
});
}
},
shopEntry() {
// 店铺入驻
if (storage.getItem("accessToken")) {
if (storage.getItem('accessToken')) {
let routeUrl = this.$router.resolve({
path: "/shopEntry",
query: { id: 1 },
path: '/shopEntry',
query: {id: 1}
});
window.open(routeUrl.href, "_blank");
window.open(routeUrl.href, '_blank');
} else {
this.$router.push("login");
this.$router.push('login');
}
},
getCartList() {
@@ -181,118 +179,98 @@ export default {
if (this.userInfo.username) {
cartGoodsAll().then((res) => {
this.shoppingCart = res.result.skuList;
this.$store.commit("SET_CARTNUM", this.shoppingCart.length);
this.Cookies.setItem("cartNum", this.shoppingCart.length);
this.$store.commit('SET_CARTNUM', this.shoppingCart.length);
this.Cookies.setItem('cartNum', this.shoppingCart.length);
});
}
},
},
}
}
};
</script>
<style scoped lang="scss">
.shopping-cart-detail,
.shopping-cart-text,
.shopping-cart-info,
.nav a,
.location,
.first,
.username,
.shopping-cart-null span {
@include sub_color($light_sub_color);
}
.tipsLogin {
color: $theme_color;
}
.box {
width: 100%;
// height: 35px;
@include background_color($light_white_background_color);
font-size: 12px !important;
height: 36px;
background: #333;
color: #fff;
}
.nav {
margin: 0 auto;
width: 1200px;
display: flex;
flex-direction: row;
justify-content: space-between;
}
.nav ul {
list-style: none;
}
.nav li {
cursor: pointer;
float: left;
font-size: 14px;
line-height: 35px;
margin-right: 10px;
font-weight: bold;
line-height: 36px;
margin-right: 15px;
}
.nav a,
.nav-item {
font-size: 13px;
font-weight: normal;
text-decoration: none;
padding-left: 10px;
border-left: 1px solid #ccc;
color: #999;
cursor: pointer;
color: #fff;
}
.nav-item {
padding-left: 20px;
}
.location a {
border-left: none;
}
.nav a:hover {
color: $theme_color;
}
.icon {
color: gray;
vertical-align: middle;
}
.first a:first-child {
padding-left: 3px;
border-left: none;
}
.city {
padding: 10px 15px;
}
.city-item {
font-weight: bold;
cursor: pointer;
padding: 5px;
}
.city-item:hover {
color: $theme_color;
}
.person-icon {
color: $theme_color;
background-color: #f0cdb2;
}
.shopping-cart-list {
padding: 10px 15px;
box-sizing: border-box;
max-height: 300px;
overflow: scroll;
}
.shopping-cart-box {
margin: 8px 0px;
margin-top: 15px;
padding-bottom: 15px;
height: 40px;
display: flex;
align-items: center;
border-bottom: 1px #ccc dotted;
}
.shopping-cart-box:first-child {
margin-top: 8px;
}
.shopping-cart-img {
margin-right: 15px;
width: 40px;
height: 40px;
}
.shopping-cart-img img {
width: 100%;
}
.shopping-cart-info {
display: flex;
flex-direction: column;
@@ -304,10 +282,7 @@ export default {
line-height: 20px;
}
.go-to-buy {
display: flex;
justify-content: flex-end;
}
.shopping-cart-null {
padding: 15px;
display: flex;
@@ -315,17 +290,88 @@ export default {
align-items: center;
justify-content: center;
}
.cart-null-icon {
font-size: 38px;
margin-bottom: 15px;
}
.shopping-cart-null span {
font-size: 12px;
line-height: 16px;
}
.username-p {
cursor: pointer;
position: relative;
div {
cursor: pointer;
> span {
margin-left: 5px;
}
}
.drop-items {
position: absolute;
display: none;
top: 45px;
left: 0;
right: 0;
margin: 0 auto;
padding: 5px 10px;
z-index: 20;
height: 150px;
background-color: #fff;
width: 80px;
border: 1px solid #eee;
box-shadow: 2px 2px 7px #999;
li {
color: rgb(107, 106, 106);
width: 100%;
border-bottom: 1px solid rgb(207, 206, 206);
font-weight: normal;
text-align: center;
&:last-child {
border: none;
}
&:hover {
cursor: pointer;
color: $theme_color;
}
}
&::before {
position: absolute;
top: -20px;
left: 30px;
content: '';
width: 0;
height: 0;
border: 10px solid #999;
border-color: transparent transparent #fff transparent;
}
&::after {
content: '';
position: absolute;
width: 80px;
height: 20px;
top: -20px;
left: 0;
}
}
&:hover {
.drop-items {
display: block;
}
}
}
.my-page {
padding: 3px 5px;
width: 180px;
@@ -334,11 +380,13 @@ export default {
justify-content: center;
align-items: center;
}
.my-page a {
margin: 0px;
padding: 0px;
border: none;
}
.my-info {
padding: 5px;
width: 50%;
@@ -346,15 +394,19 @@ export default {
text-align: center;
cursor: pointer;
}
.my-info:hover {
box-shadow: 0px 0px 5px #ccc;
}
.my-info i {
font-size: 28px;
}
.my-info p {
font-size: 12px;
}
.sign-out {
padding: 5px;
width: 50%;
@@ -362,18 +414,23 @@ export default {
text-align: center;
cursor: pointer;
}
.sign-out:hover {
box-shadow: 0px 0px 5px $border_color;
}
.sign-out i {
font-size: 28px;
}
.sign-out p {
font-size: 12px;
}
.goods-title:hover {
color: $theme_color;
}
.cart-badge {
position: absolute;
right: -8px;
@@ -389,4 +446,34 @@ export default {
z-index: 3;
top: 3px;
}
.shopping-cart-box {
padding: 8px 0;
cursor: pointer;
display: flex;
align-items: center;
border-bottom: 1px #ccc dotted;
}
.shopping-cart-list {
padding: 10px 10px;
box-sizing: border-box;
max-height: 300px;
overflow-y: scroll;
color: #333;
}
.shopping-cart-detail {
color: #999;
font-size: 12px;
}
.shopping-price {
color: $theme_color;
font-size: 14px;
font-weight: bold;
}
</style>

View File

@@ -1,62 +0,0 @@
<template>
<div class="shop-box">
<div class="shop-container">
<div class="shop-title-content">
<img class="hover-pointer" @click="linkTo(`/merchant?id=${storeDetail.storeId}`)" :src="storeDetail.storeLogo" height="40" alt="">
<p><router-link :to="`/merchant?id=${storeDetail.storeId}`">{{ storeDetail.storeName }}</router-link></p>
<div class="ml_20" v-html="storeDetail.storeDesc"></div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'ShopHeader',
props: {
detail: {
type: Object,
default: null
}
},
computed: {
storeDetail () { // 店铺详情
return this.detail;
}
}
};
</script>
<style scoped>
/* 店铺介绍 */
.shop-box {
width: 100%;
height: 50px;
background-color: #484848;
}
.shop-container {
width: 1200px;
height: 100%;
margin: 0px auto;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
color: #fff;
}
.shop-title-content {
display: flex;
align-items: center;
}
.shop-title-content p {
font-size: 20px;
margin-left: 20px;
}
.shop-title-content a {
color: #fff;
}
</style>

View File

@@ -1,93 +1,117 @@
<template>
<div class="scroll-show">
<div class="content clearfix">
<cateNav class="cate" :showNavBar="false"></cateNav>
<Search class="search-con" :showLogo="false" :showTag="false"></Search>
<Icon type="ios-cart-outline" @click="goCartList" class="cart-icon" @mouseenter.native="getCartList" />
<i class="cart-badge">{{cartNum < 100 ? cartNum : '99'}}</i>
<cateNav class="cate" :hover="true" :showNavBar="false"
useClass="fixed-show"></cateNav>
<Search
class="search-con"
:hover="true"
ref="search"
:showLogo="false"
:showTag="false"
useClass="fixed-show"
></Search>
<div class="flex flex-a-c cart">
<Icon
type="ios-cart-outline"
@click="goCartList"
class="cart-icon"
@mouseenter.native="getCartList"
/>
<i class="cart-badge">{{ cartNum < 100 ? cartNum : "99" }}</i>
</div>
</div>
</div>
</template>
<script>
import {cartCount} from '@/api/cart.js'
import storage from '@/plugins/storage.js';
import { cartCount } from "@/api/cart.js";
import storage from "@/plugins/storage.js";
export default {
data () {
data() {
return {
userInfo: {} // 用户信息
}
userInfo: {}, // 用户信息
};
},
computed: {
cartNum () { // 购物车数量
return this.$store.state.cartNum
}
cartNum() {
// 购物车商品数量
return this.$store.state.cartNum;
},
},
methods: {
goCartList () { // 跳转购物车页面
goCartList() {
// 跳转购物车页面
let routerUrl = this.$router.resolve({
path: '/cart'
})
window.open(routerUrl.href, '_blank')
path: "/cart",
});
window.open(routerUrl.href, "_blank");
},
getCartList () { // 获取购物车列表
if (storage.getItem('userInfo')) {
cartCount().then(res => {
this.$store.commit('SET_CARTNUM', res.result)
this.Cookies.setItem('cartNum', res.result)
})
getCartList() {
// 获取购物车列表
if (storage.getItem("userInfo")) {
cartCount().then((res) => {
this.$store.commit("SET_CARTNUM", res.result);
this.Cookies.setItem("cartNum", res.result);
});
}
},
},
mounted() {
if (storage.getItem("userInfo")) {
this.userInfo = JSON.parse(storage.getItem("userInfo"));
}
},
mounted () {
if (storage.getItem('userInfo')) {
this.userInfo = JSON.parse(storage.getItem('userInfo'));
}
}
}
};
</script>
<style lang="scss" scoped>
.content{
width: 1200px;
height: 40px;
margin: 10px auto;
position: relative;
}
.cate {
float: left;
width: 200px!important;
}
.search-con{
float: left;
width: 800px;
overflow: hidden;
margin-top: -27px;
}
.cart-icon {
width: 30px;
float: left;
font-size: 25px;
margin-top: 8px;
color: $theme_color;
z-index: 1;
position: relative;
&:hover{
cursor: pointer;
}
}
.cart-badge {
position: absolute;
font-style: normal;
right: 165px;
display: block;
background-color: $theme_color;
color: #fff;
font-size: 12px;
width: 17px;
height: 17px;
border-radius: 10px;
line-height: 17px;
text-align: center;
z-index: 5;
top: 3px;
.content {
width: 1200px;
height: 40px;
margin: 0 auto;
position: relative;
}
.cate {
float: left;
width: 200px !important;
}
.search-con {
float: left;
width: 800px;
overflow: hidden;
margin-top: -27px;
}
.cart{
height: 60px;
}
.cart-icon {
width: 30px;
float: left;
font-size: 25px;
color: $theme_color;
z-index: 1;
position: relative;
&:hover {
cursor: pointer;
}
}
.cart-badge {
position: absolute;
font-style: normal;
right: 165px;
display: block;
background-color: $theme_color;
color: #fff;
font-size: 12px;
width: 17px;
height: 17px;
border-radius: 10px;
line-height: 17px;
text-align: center;
z-index: 5;
top: 10px;
}
</style>

View File

@@ -14,7 +14,7 @@
</div>
</template>
<script>
import ModelFormItem from './modelFormItem.vue';
import ModelFormItem from './ModelFormItem.vue';
export default {
name: 'modelForm',
components: {
@@ -25,9 +25,7 @@ export default {
</script>
<style lang="scss" scoped>
.model-content {
width: 1200px;
margin: 0 auto;
background: #fff;
width: 100%;
min-height: 1200px;
}
</style>

View File

@@ -0,0 +1,237 @@
<template>
<div class="model-item" v-if="element && element.key">
<!-- 轮播图模块包括个人信息快捷导航模块 -->
<template v-if="element.type == 'carousel'">
<model-carousel
:data="element"
class="mb_20 width_1200_auto"
></model-carousel>
</template>
<template v-if="element.type == 'carousel1'">
<model-carousel1 :data="element" class="mb_20"></model-carousel1>
</template>
<template v-if="element.type == 'carousel2'">
<model-carousel2
:data="element"
class="mb_20 width_1200_auto"
></model-carousel2>
</template>
<!-- 热门广告 -->
<template v-if="element.type == 'hotAdvert'">
<div class="mb_20 width_1200_auto">
<img
style="display: block"
class="hover-pointer"
:src="element.options.list[0].img"
@click="linkTo(element.options.list[0].url)"
width="1200"
alt=""
/>
</div>
<ul class="advert-list width_1200_auto">
<template v-for="(item, index) in element.options.list">
<li
v-if="index !== 0"
@click="linkTo(item.url)"
class="hover-pointer"
:key="index"
>
<img :src="item.img" width="230" height="190" alt="" />
</li>
</template>
</ul>
</template>
<!-- 限时秒杀 待完善 -->
<template v-if="element.type == 'seckill' && element.options.list.length">
<seckill :data="element" class="mb_20 width_1200_auto"></seckill>
</template>
<!-- 折扣广告 -->
<template v-if="element.type == 'discountAdvert'">
<div
class="discountAdvert"
:style="{
backgroundImage:
'url(' + require('@/assets/images/decorate.png') + ')',
}"
>
<img
@click="linkTo(item.url)"
class="hover-pointer"
v-for="(item, index) in element.options.classification"
:key="index"
:src="item.img"
width="190"
height="210"
alt=""
/>
<img
@click="linkTo(item.url)"
class="hover-pointer"
v-for="(item, index) in element.options.brandList"
:key="'discount' + index"
:src="item.img"
width="240"
height="105"
alt=""
/>
</div>
</template>
<!-- 好货推荐 -->
<template v-if="element.type == 'recommend'">
<recommend :data="element" class="mb_20 width_1200_auto"></recommend>
</template>
<!-- 一行三列 -->
<template v-if="element.type == 'oneRowThreeColumns'">
<oneRowThreeColumns :data="element" class="mb_20 width_1200_auto"></oneRowThreeColumns>
</template>
<!-- 商品模块 -->
<template v-if="element.type == 'goodsType'">
<goodsAndType :paramData="element" class="mb_20 width_1200_auto"></goodsAndType>
</template>
<!-- 商品模块 -->
<template v-if="element.type == 'onlyGoodsModel'">
<onlyGoodsModel :data="element" class="mb_20 width_1200_auto"></onlyGoodsModel>
</template>
<!-- 混合模块 -->
<template v-if="element.type == 'mixModel'">
<mixModel :data="element" class="mb_20 width_1200_auto"></mixModel>
</template>
<!-- 混合模块 -->
<template v-if="element.type == 'forYour'">
<forYour :data="element" class="mb_20 width_1200_auto"></forYour>
</template>
<!-- 新品排行 -->
<template v-if="element.type == 'newGoodsSort'">
<new-goods-sort
:data="element"
class="mb_20 width_1200_auto"
></new-goods-sort>
</template>
<!-- 首页广告 -->
<template v-if="element.type == 'firstAdvert'">
<first-page-advert
:data="element"
class="mb_20 width_1200_auto"
></first-page-advert>
</template>
<!-- 横幅广告 -->
<template v-if="element.type == 'bannerAdvert'">
<div style="width: 100%; text-align: center">
<img
width="1200"
class="hover-pointer mb_20 bannerAd"
@click="linkTo(element.options.url)"
:src="element.options.img"
alt=""
/>
</div>
</template>
<template v-if="element.type == 'notEnough'"
>
<not-enough
:data="element"
class="mb_20 width_1200_auto"
></not-enough>
</template>
</div>
</template>
<script>
import ModelCarousel from "./modelList/Carousel.vue";
import ModelCarousel1 from "./modelList/Carousel1.vue";
import ModelCarousel2 from "./modelList/Carousel2.vue";
import FirstPageAdvert from "./modelList/FirstPageAdvert.vue";
import NewGoodsSort from "./modelList/NewGoodsSort.vue";
import Recommend from "./modelList/Recommend.vue";
import NotEnough from "./modelList/NotEnough.vue";
import Seckill from "./modelList/Seckill.vue";
import oneRowThreeColumns from "./modelList/oneRowThreeColumns.vue";
import goodsAndType from "./modelList/goodsAndType.vue";
import onlyGoodsModel from "./modelList/onlyGoodsModel.vue";
import mixModel from "./modelList/mixModel.vue";
import forYour from "./modelList/forYour.vue";
export default {
name: "modelFormItem",
props: ["element", "select", "index", "data"],
components: {
ModelCarousel,
ModelCarousel1,
ModelCarousel2,
Recommend,
NewGoodsSort,
FirstPageAdvert,
NotEnough,
Seckill,
oneRowThreeColumns,
goodsAndType,
onlyGoodsModel,
mixModel,
forYour
},
data() {
return {
showModal: false, // 控制模态框显隐
selected: {}, // 已选数据
};
},
};
</script>
<style lang="scss" scoped>
.model-item {
position: relative;
margin-bottom: 10px;
}
.bannerAd{
width: 1183px;
height: 166.6px;
border-radius: 10px;
}
/** 热门广告 */
.advert-list {
background: $theme_color;
height: 200px;
display: flex;
justify-content: space-around;
padding: 3px 10px;
> li {
img {
cursor: pointer;
border-radius: 10px;
transition: all 150ms ease-in-out;
&:hover {
transform: translateY(-3px);
box-shadow: rgba(0, 0, 0, 0.4) 0px 5px 20px 0px;
}
}
}
}
/** 折扣广告 */
.discountAdvert {
width: 1300px;
height: 566px;
margin: 0 auto;
margin-bottom: 20px;
background-repeat: no-repeat;
position: relative;
left: -47px;
padding-left: 295px;
display: flex;
flex-wrap: wrap;
align-items: flex-start;
img {
margin-top: 10px;
margin-right: 10px;
transition: all 150ms ease-in-out;
&:hover {
box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.4);
transform: translateY(-2px);
}
}
}
</style>

View File

@@ -1,302 +0,0 @@
<template>
<div class="model-item" v-if="element && element.key">
<!-- 轮播图模块包括个人信息快捷导航模块 -->
<template v-if="element.type == 'carousel'">
<model-carousel :data="element"></model-carousel>
</template>
<!-- 热门广告 -->
<template v-if="element.type == 'hotAdvert'">
<div>
<img
style="display: block"
class="hover-pointer"
:src="element.options.list[0].img"
@click="linkTo(element.options.list[0].url)"
width="1200"
alt=""
/>
</div>
<ul class="advert-list">
<template v-for="(item, index) in element.options.list">
<li
v-if="index !== 0"
@click="linkTo(item.url)"
class="hover-pointer"
:key="index"
>
<img :src="item.img" width="230" height="190" alt="" />
</li>
</template>
</ul>
</template>
<!-- 限时秒杀 待完善 -->
<!-- <template v-if="element.type == 'seckill'">
<seckill :data="element"></seckill>
</template> -->
<!-- 折扣广告 -->
<template v-if="element.type == 'discountAdvert'">
<div
class="discountAdvert"
:style="{
'background-image': 'url(' + element.options.bgImg.img + ')',
}"
>
<img
@click="linkTo(item.url)"
class="hover-pointer"
v-for="(item, index) in element.options.classification"
:key="index"
:src="item.img"
width="190"
height="210"
alt=""
/>
<img
@click="linkTo(item.url)"
class="hover-pointer"
v-for="(item, index) in element.options.brandList"
:key="'discount' + index"
:src="item.img"
width="240"
height="105"
alt=""
/>
</div>
</template>
<!-- 好货推荐 -->
<template v-if="element.type == 'recommend'">
<recommend :data="element"></recommend>
</template>
<!-- 新品排行 -->
<template v-if="element.type == 'newGoodsSort'">
<new-goods-sort :data="element"></new-goods-sort>
</template>
<!-- 首页广告 -->
<template v-if="element.type == 'firstAdvert'">
<first-page-advert :data="element"></first-page-advert>
</template>
<!-- 横幅广告 -->
<template v-if="element.type == 'bannerAdvert'">
<img
width="1200"
class="hover-pointer"
@click="linkTo(element.options.url)"
:src="element.options.img"
alt=""
/>
</template>
<template v-if="element.type == 'notEnough'">
<not-enough :data="element"></not-enough>
</template>
</div>
</template>
<script>
import ModelCarousel from './modelList/carousel.vue';
import FirstPageAdvert from './modelList/firstPageAdvert.vue';
import NewGoodsSort from './modelList/newGoodsSort.vue';
import Recommend from './modelList/recommend.vue';
import NotEnough from './modelList/notEnough.vue';
import Seckill from './modelList/seckill.vue';
export default {
name: 'modelFormItem',
props: ['element', 'select', 'index', 'data'],
components: {
ModelCarousel,
Recommend,
NewGoodsSort,
FirstPageAdvert,
NotEnough,
Seckill
},
data () {
return {
showModal: false, // 控制模态框显隐
selected: {} // 已选数据
};
}
};
</script>
<style lang="scss" scoped>
.model-item {
position: relative;
margin-bottom: 20px;
&:hover {
.del-btn {
display: block;
}
}
}
.del-btn {
width: 100px;
height: 100px;
display: none;
position: absolute;
right: -100px;
top: 0;
&:hover {
display: block;
}
}
/** 热门广告 */
.advert-list {
background: $theme_color;
height: 200px;
display: flex;
justify-content: space-around;
padding: 3px 10px;
> li {
img {
cursor: pointer;
border-radius: 10px;
transition: all 150ms ease-in-out;
&:hover {
transform: translateY(-3px);
box-shadow: rgba(0, 0, 0, 0.4) 0px 5px 20px 0px;
}
}
}
}
/** 限时秒杀 */
.limit-img {
display: flex;
flex-direction: row;
img {
width: 300px;
height: 100px;
}
}
/** 折扣广告 */
.discountAdvert {
height: 566px;
background-repeat: no-repeat;
margin-left: -97px;
position: relative;
padding-left: 295px;
display: flex;
flex-wrap: wrap;
align-items: start;
img {
margin-top: 10px;
margin-right: 10px;
transition: all 150ms ease-in-out;
&:hover {
box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.4);
transform: translateY(-2px);
}
}
}
/** 首页品牌 */
.brand {
.brand-view {
display: flex;
margin-top: 10px;
.brand-view-content {
width: 470px;
margin-left: 10px;
img {
width: 100%;
height: 316px;
}
.brand-view-title {
height: 50px;
padding: 0 5px;
display: flex;
align-items: center;
justify-content: space-between;
}
}
.brand-view-content:first-child {
width: 240px;
margin-left: 0;
}
}
.brand-list {
margin-top: 10px;
display: flex;
align-items: center;
flex-wrap: wrap;
li {
width: 121px;
height: 112px;
position: relative;
overflow: hidden;
border: 1px solid #f5f5f5;
margin: -1px -1px 0 0;
&:hover {
.brand-mash {
display: flex;
}
}
.brand-img {
text-align: center;
margin-top: 30px;
img {
width: 100px;
height: auto;
}
}
.brand-mash {
display: none;
position: absolute;
top: 0;
left: 0;
background: rgba(0, 0, 0, 0.5);
width: inherit;
height: inherit;
font-size: 12px;
font-weight: bold;
.ivu-icon {
position: absolute;
right: 10px;
top: 10px;
font-size: 15px;
}
align-items: center;
justify-content: center;
flex-direction: column;
color: #fff;
cursor: pointer;
div:last-child {
background-color: $theme_color;
border-radius: 9px;
padding: 0 10px;
margin-top: 5px;
}
}
}
.refresh {
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
.ivu-icon {
font-size: 18px;
transition: all 0.3s ease-out;
}
&:hover {
background-color: $theme_color;
color: #fff;
.ivu-icon {
transform: rotateZ(360deg);
}
}
}
}
}
/** 装修模态框 内部样式start */
.modal-top-advert {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
> * {
margin-bottom: 10px;
}
}
</style>

View File

@@ -0,0 +1,434 @@
<template>
<div class="model-carousel">
<div class="nav-body clearfix">
<!-- 侧边导航占位 -->
<div class="nav-side"></div>
<div class="nav-content">
<!-- 轮播图 -->
<!-- autoplay autoplay-speed="10000"-->
<Carousel :height="333.9" autoplay :autoplay-speed="5000">
<CarouselItem v-for="(item, index) in data.options.list" :key="index">
<div class="swiper-img" >
<img
:src="item.img"
@click="linkTo(item.url)"
class="hover-pointer"
/>
</div>
</CarouselItem>
</Carousel>
</div>
<div class="nav-right">
<div class="person-msg">
<div class="user-box" @click="entryControl({ path: 'home' })">
<img class="user-face" :src="userInfo.face || defaultAvatar" alt />
<div class="welcome">
Hi, {{
userInfo.nickName || `欢迎来到${config.title}` | secrecyMobile
}}
</div>
</div>
<div v-if="userInfo.id">
<div class="icon-list"></div>
<!-- #TODO 后续增加 -->
<!-- <div class="icon-list flex flex-j-sb" >
<div class="icon-item" :key="index" @click="entryControl(item)" v-for="(item,index) in recentList">
<div class="value">
{{ item.value}}
</div>
<div class="label">
{{ item.label}}
</div>
</div>
</div> -->
</div>
<div v-else class="flex flex-a-c ">
<div class="btns" @click="$router.push('login')" shape="circle"
>登录</div
>
<div class="btns sign-up" @click="$router.push('signUp')" shape="circle"
>注册</div
>
</div>
<div class="gray-line"></div>
<div class="icon-list flex flex-j-sb" >
<div class="icon-item" @click="entryControl(item)" :key="index" v-for="(item, index) in entranceList">
<img class="icon" :src="require(`@/assets/iconfont/${item.icon}.png`)">
<div>
{{ item.label }}
</div>
</div>
</div>
<div class="icon-list flex flex-j-sb" >
<div class="icon-item" :key="index" @click="entryControl(item)" v-for="(item, index) in appendList">
<img class="icon" :src="require(`@/assets/iconfont/${item.icon}.png`)">
<div>
{{ item.label }}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import storage from "@/plugins/storage";
export default {
name: "modelCarousel",
props: ["data"],
data() {
return {
config: require("@/config"),
defaultAvatar: require("@/assets/images/default.png"),
userInfo: {}, // 用户信息
entranceList: [
{
icon: "collage",
label: "宝贝收藏",
path: "/home/Favorites"
},
{
icon: "shop",
label: "收藏店铺",
path: "/home/Favorites?type=STORE"
},
{
icon: "carts",
label: "购物车",
path: "/cart"
},
{
icon: "story",
label: "我的足迹",
path: "/home/MyTracks"
},
],
appendList: [
{
icon: "support",
label: "帮助中心",
path: "/article"
},
{
icon: "feedback",
label: "我的评论",
path: "/home/CommentList"
},
{
icon: "notice",
label: "收货地址",
path: "/home/MyAddress"
},
{
icon: "notification",
label: "我的消息",
path: "/home/MsgList"
},
],
recentList: [
{
value: "0",
label: "购物车"
},
{
value: "0",
label: "待收货"
},
{
value: "0",
label: "待发货"
},
{
value: "0",
label: "代付款"
},
],
};
},
methods: {
// 快捷跳转中心
entryControl(val) {
console.log("val",val)
let url = this.$router.resolve(val.path);
window.open(url.href, '_blank');
},
},
mounted() {
if (storage.getItem("userInfo"))
this.userInfo = JSON.parse(storage.getItem("userInfo"));
},
};
</script>
<style scoped lang="scss">
.label {
font-size: 12px;
font-weight: normal;
line-height: 14px;
text-align: center;
letter-spacing: 0px;
color: #666666;
}
.swiper-img {
overflow: hidden;
width: 637px;
height: 329.9px;
}
.icon-list {
width: 216px
}
.icon-list:nth-last-of-type(1) {
margin-top: 20px;
}
.hot-box {
margin-top: 35px;
width: 216px;
}
.hot-tag {
margin-right: 6px;
width: 36px;
height: 18px;
border-radius: 4px;
opacity: 1;
font-size: 12px;
border: 1px solid $theme_color;
color: $theme_color;
text-align: center;
line-height: 18px;
}
.gray-line {
width: 216px;
height: 1px;
border: 1px solid #E5E5E5;
margin-bottom: 13px;
}
.icon {
width: 20px !important;
height: 20px !important;
margin-bottom: 7px;
}
.icon-item {
cursor: pointer;
text-align: center;
>div {
font-size: 11px;
font-weight: normal;
line-height: 13px;
text-align: center;
letter-spacing: 0px;
color: #666666;
}
>.value {
font-size: 14px;
line-height: 17px;
text-align: center;
font-weight: 400;
letter-spacing: 0px;
margin-bottom: 3px;
color: $theme_color;
}
>.label {
font-weight: 400;
font-size: 12px;
line-height: 14px;
text-align: center;
letter-spacing: 0px;
color: #666666;
margin-bottom: 13px;
}
}
.model-carousel {
width: 1200px;
height: 340px;
overflow: hidden;
}
.hover-pointer {
//display: block;
//width: 100%;
//height: 100%;
width: 637px;
height: 329.9px;
object-fit: cover;
border-radius: 10px;
}
.welcome {
font-size: 14px;
font-weight: normal;
line-height: 17px;
text-align: center;
letter-spacing: 0px;
color: #333333;
}
.hr {
width: 216px;
height: 1px;
border: 1px solid #E5E5E5;
}
.btns {
margin-top: 21px;
margin-bottom: 13px;
width: 77px;
height: 28px;
border-radius: 14px;
opacity: 1;
font-size: 13px;
font-weight: normal;
line-height: 28px;
text-align: center;
cursor: pointer;
letter-spacing: 0px;
color: #FFFFFF;
background: $theme_color;
}
.sign-up {
background: #F39519;
margin-left: 10px;
}
.avatar {
margin-bottom: 13px;
}
.user-face {
margin-bottom: 12px;
width: 70px;
height: 70px;
border-radius: 50%;
}
/* 导航主体 */
.nav-body {
width: 1200px;
height: 340px;
margin: 0px auto;
}
.nav-side {
height: 334px;
width: 263.2px;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
float: left;
padding: 0px;
color: #fff;
// background-color: #6e6568;
}
/*导航内容*/
.nav-content {
width: 637px;
margin-left: 10.8px;
margin-top: 10px;
height: 333.9px;
float: left;
position: relative;
}
.nav-right {
float: left;
margin-top: 10px;
width: 263.2px;
margin-left: 10px;
border-radius: 10px;
background: #FFFFFF;
.person-msg {
cursor: pointer;
height: 333px;
display: flex;
align-items: center;
flex-direction: column;
padding-top: 28px;
padding-bottom: 25px;
>.user-box{
text-align: center;
}
}
.shop-msg {
div {
width: 100%;
margin: 10px 27px;
span {
cursor: pointer;
text-align: center;
font-weight: bold;
margin-left: 5px;
}
span:nth-child(1) {
@include content_color($theme_color);
margin-left: 0;
}
span:nth-child(2) {
font-weight: normal;
}
span:nth-child(3):hover {
color: $theme_color;
}
}
ul {
li {
cursor: pointer;
margin: 5px 0;
color: #999395;
width: 150px;
font-size: 12px;
&:hover {
color: $theme_color;
}
}
}
}
}
</style>

View File

@@ -0,0 +1,76 @@
<template>
<div class="model-carousel1" :style="{background: bgColor}">
<div class="nav-body clearfix">
<!-- 侧边导航 -->
<div class="nav-side"></div>
<div class="nav-content">
<!-- 轮播图 -->
<Carousel autoplay @on-change="autoChange">
<CarouselItem v-for="(item, index) in data.options.list" :key="index" >
<div style="overflow: hidden">
<img :src="item.img" width="1200" height="470" />
</div>
</CarouselItem>
</Carousel>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'modelCarousel1',
props: ['data'],
data () {
return {
showModal: false, // modal显隐
selected: null, // 已选数据
picModelFlag: false, // 选择图片modal
bgColor: '#fff' // 轮播背景色
};
},
mounted () {
this.bgColor = this.data.options.list[0].bgColor
},
methods: {
// 自动切换时改变背景色
autoChange (oVal, val) {
this.bgColor = this.data.options.list[val].bgColor
}
}
};
</script>
<style scoped lang="scss">
.model-carousel1 {
width: 100%;
height: 470px;
background: #fff;
}
/*大的导航信息,包含导航,幻灯片等*/
.nav-body {
width: 1200px;
height: 470px;
margin: 0px auto;
}
.nav-side {
height: 470px;
width: 200px;
padding: 0px;
color: #fff;
line-height: 470px;
text-align: center;
position: absolute;
z-index: 1;
}
/*导航内容*/
.nav-content {
width: 1200px;
height: 470px;
overflow: hidden;
float: left;
position: relative;
}
</style>

View File

@@ -1,20 +1,30 @@
<template>
<div class="model-carousel">
<div class="model-carousel2">
<div class="nav-body clearfix">
<!-- 侧边导航占位 -->
<!-- 侧边导航 -->
<div class="nav-side"></div>
<div class="nav-content">
<!-- 轮播图 -->
<Carousel autoplay>
<CarouselItem v-for="(item, index) in data.options.list" :key="index">
<div style="overflow: hidden">
<img
:src="item.img"
width="790"
@click="linkTo(item.url)"
height="340"
class="hover-pointer"
/>
<img :src="item.img" width="590" height="470" />
</div>
</CarouselItem>
</Carousel>
</div>
<div class="nav-content1">
<!-- 轮播图 -->
<Carousel autoplay :autoplay-speed="5000">
<CarouselItem v-for="(item, index) in data.options.listRight" :key="index">
<div class="mb_10">
<img :src="item[0].img" width="190" height="150" />
</div>
<div class="mb_10">
<img :src="item[1].img" width="190" height="150" />
</div>
<div>
<img :src="item[2].img" width="190" height="150" />
</div>
</CarouselItem>
</Carousel>
@@ -23,14 +33,12 @@
<div class="person-msg">
<img :src="userInfo.face" v-if="userInfo.face" alt />
<Avatar icon="ios-person" class="mb_10" v-else size="80" />
<div>Hi{{ userInfo.nickName || "欢迎来到LiLi Shop" | secrecyMobile }}</div>
<div>Hi{{ userInfo.nickName || `欢迎来到${config.title}` | secrecyMobile }}</div>
<div v-if="userInfo.id">
<Button type="error" shape="circle" @click="$router.push('home')">会员中心</Button>
<Button type="error" shape="circle">会员中心</Button>
</div>
<div v-else>
<Button type="error" @click="$router.push('login')" shape="circle"
>请登录</Button
>
<Button type="error" shape="circle">请登录</Button>
</div>
</div>
<div class="shop-msg">
@@ -49,18 +57,20 @@
</template>
<script>
import {articleList} from '@/api/common.js'
import storage from '@/plugins/storage';
export default {
name: 'modelCarousel',
name: 'modelCarousel2',
props: ['data'],
data () {
return {
config:require('@/config'),
userInfo: {}, //
articleList: [], //
params: { //
pageNumber: 1,
pageSize: 5,
pageSize: 10,
type: 'ANNOUNCEMENT',
sort: 'sort'
}
@@ -90,51 +100,74 @@ export default {
</script>
<style scoped lang="scss">
.model-carousel {
.model-carousel2 {
width: 1200px;
height: 340px;
height: 470px;
overflow: hidden;
}
/* 导航主体 */
.nav-item li {
float: left;
font-size: 16px;
font-weight: bold;
margin-left: 30px;
}
.nav-item a {
text-decoration: none;
color: #555555;
}
.nav-item a:hover {
color: $theme_color;
}
/*大的导航信息,包含导航,幻灯片等*/
.nav-body {
width: 1200px;
height: 340px;
height: 470px;
margin: 0px auto;
}
.nav-side {
height: 100%;
width: 200px;
float: left;
padding: 0px;
color: #fff;
float: left;
background-color: #6e6568;
line-height: 470px;
text-align: center;
}
/*导航内容*/
.nav-content {
width: 790px;
.nav-content,.nav-content1 {
width: 590px;
height: 470px;
overflow: hidden;
float: left;
position: relative;
margin-left: 10px;
}
.nav-content1{
width: 190px;
}
.nav-right {
float: left;
width: 210px;
width: 190px;
margin-left: 10px;
.person-msg {
display: flex;
align-items: center;
flex-direction: column;
margin: 20px auto;
button {
height: 25px !important;
margin-top: 10px;
}
.ivu-btn-default {
color: $theme_color;
border-color: $theme_color;
}
img {
margin-bottom: 10px;
width: 80px;

View File

@@ -31,7 +31,7 @@ export default {
return {
options: this.data.options //
};
},
}
};
</script>
<style lang="scss" scoped>

Some files were not shown because too many files have changed in this diff Show More