diff --git a/admin/.env.development b/admin/.env.development index 11208df1..a09a403f 100644 --- a/admin/.env.development +++ b/admin/.env.development @@ -3,7 +3,6 @@ ENV = 'development' # base api # VUE_APP_BASE_API = '/dev-api' -# VUE_APP_BASE_API = 'https://api.java.crmeb.net' VUE_APP_BASE_API = 'http://127.0.0.1:8080' # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable, diff --git a/admin/.env.production b/admin/.env.production index 2242ce1c..42dd7d2c 100644 --- a/admin/.env.production +++ b/admin/.env.production @@ -3,5 +3,5 @@ ENV = 'production' # base api # VUE_APP_BASE_API = '/prod-api' -VUE_APP_BASE_API = 'https://api.java.crmeb.net' +VUE_APP_BASE_API = 'http://127.0.0.1' diff --git a/admin/README.ZBKJ.md b/admin/README.ZBKJ.md index ec00c3c2..ec1a6599 100644 --- a/admin/README.ZBKJ.md +++ b/admin/README.ZBKJ.md @@ -1,38 +1,3 @@ - -~~~ -## 开发 - -```bash -# 克隆项目 -git clone https://gitee.com/ZhongBangKeJi/crmeb_java/ - -# 进入项目目录 -cd ## - -# 安装依赖 -npm install - -# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 -npm install --registry=https://registry.npm.taobao.org - -# 启动服务 -npm run dev -``` - -浏览器访问 http://localhost:9527 - -## 发布 - -```bash -# 构建测试环境 -npm run build:stage - -# 构建生产环境 -npm run build:prod -``` - - - 公用组件 无限极分类组件 src/components/Category 使用范围:菜单,文章等各种分类配置数据 diff --git a/admin/README.md b/admin/README.md new file mode 100644 index 00000000..1d0cf47b --- /dev/null +++ b/admin/README.md @@ -0,0 +1,258 @@ +# CRMEB Admin +## 开发规范 +统一使用ES6 语法 +方法注释 +/* +* th => 表头 +* data => 数据 +* fileName => 文件名 +* fileType => 文件类型 +* sheetName => sheet页名 +*/ +export default function toExcel ({ th, data, fileName, fileType, sheetName }) +行注释 // + +### 命名 + +页面目录 文件夹命名格式骆驼式命名法,例如:用户列表 userList +例如:商品模块 +store 商品 + ├─ store 商品管理 + ├─index.vue 首页 + ├─ creatStore 新建商品 + ├─ index.vue + ├─ sort 商品分类 + ├─ index.vue + ├─storeAttr 商品规格 + ├─ index.vue + ├─storeComment 商品评论 + ├─ index.vue + +页面命名、组建、文件夹 命名格式小驼峰命名法,例如:用户列表 userList + +类名函数命名 大驼峰式 例如:addUser +变量命名 小驼峰式 例如:user 或者 userInfo +常量 采用全大些下划线命名 例如:VUE_APP_API_URl + +### 文件管理规范 +views 页面模块必须件文件夹区分 +api 接口一个模块一个文件 +组建 一个组建一个文件夹 +plugins 插件一个插件一个文件夹 +vuex 路由状态管理,一个模块在modules 中建一个文件夹 +router 一个模块一个模块在modules 中建一个文件夹 +style 样式尽量采用iView自带组建,common.less 系统通用样式不要轻易动 +自定义通用样式 style.less,每次添加必须加注释,页面独立样式在在页面内写,后缀less 格式 +组建样式 styles 中添加文件夹 composents 对应components 目录新建样式文件 +utils 自定义工具js 独立命名,一般不用新建文件夹 + +## 模块命名 +~~~ +├─ login 登录 +├─ dashboard 首页 +├─ store 商品管理 +├─ order 系统订单管理 +├─ distribution 分销 +├─ user 用户管理 +├─ content 内容管理 +├─ appSetting 各个应用模块功能管理公众号、小程序、支付宝、百度小程序、今日头条小程序 +├─ marketing 营销管理 优惠劵 积分 秒杀 +├─ sms 设置 短信设置 +├─ systemSetting 设置 管理员权限 系统设置 物流设置 +├─ maintain 维护 配置分类 组合数据 表单配置 +├─ error-page 错误页 + +~~~ +## 目录结构 +主要目录结构及说明: +~~~ +├── public # 静态资源 +│ ├── favicon.ico # favicon图标 +│ └── index.html # html 模板 +│ └── UEditor # 富文本编辑器插件 +├── src # 源代码 +│ ├── api # 所有请求 +│ │ └──user.js # 有关登录/用户的接口 +│ │ └──article.js # 有关内容的接口 +│ │ └──categoryApi.js # 有关配置的接口 +│ │ └──configTabApi.js # 有关配置分类的接口 +│ │ └──dashboard.js # 有关统计的接口 +│ │ └──distribution.js # 有关分销的接口 +│ │ └──logistics.js # 有关城市数据、物流配置的接口 +│ │ └──marketing.js # 有关优惠券、秒杀的接口 +│ │ └──order.js # 有关订单的接口 +│ │ └──role.js # 有关权限的接口 +│ │ └──roleApi.js # 有关菜单的接口 +│ │ └──sms.js # 有关短信的接口 +│ │ └──store.js # 有关商品的接口 +│ │ └──storePoint.js # 有关提货点的接口 +│ │ └──productCreateApi.js # 有关附件上传的接口 +│ │ └──systemadmin.js # 有关管理员的接口 +│ │ └──systemConfig.js # 有关系统配置的接口 +│ │ └──systemFormConfig.js # 有关表单配置的接口 +│ │ └──systemGroup.js # 有关组合数据的接口 +│ │ └──systemSetting.js # 有关上传文件的接口 +│ │ └──user.js # 有关用户的接口 +│ │ └──wxApi.js # 有关微信的接口 +│ ├── assets # 图片、svg 等静态资源 +│ ├── components # 公共组件 +│ │ └──articleList # 文章列表 +│ │ └──attrFrom # 商品规格 +│ │ └──Breadcrumb # 头部标题标签 +│ │ └──cards # 统计小方块 +│ │ └──echarts # 统计图 +│ │ └──Category # 分类 +│ │ └──customerInfo # 用户列表 +│ │ └──FormGenerator # 表单配置 +│ │ └──couponList # 优惠劵列表 +│ │ └──goodsList # 商品列表 +│ │ └──Hamburger # 导航收缩组件 +│ │ └──HeaderSearch # 导航搜索组件 +│ │ └──iconFrom # 导航添加图标 +│ │ └──RightPanel # 右侧设置按钮,设置导航相关 +│ │ └──Screenfull # 全屏 +│ │ └──SvgIcon # svg图标 +│ │ └──Tinymce # 颜色选择 +│ │ └──ThemePicker # 右侧设置按钮,设置组题颜色 +│ │ └──templatesFrom # 运费模板 +│ │ └──ueditorFrom # 富文本编辑器 +│ │ └──uploadPicture # 上传图片组件 +│ │ └──Upload # 上传文件组件 +│ │ └──UploadExcel # 下载Excel +│ │ └──userList # 用户列表 +│ │ └──TimeSelect # 时间段选择 +│ ├── layouts # 导航布局 +│ │ ├──index # 主页面 +│ │ ├──components # 导航组件 +│ │ └──Settings # 右边小按钮,设置导航等 +│ │ └──Sidebar # 侧边导航 +│ │ └──TagsView # tab标签页导航 +│ │ └──Navbar # 头部导航 +│ │ └──AppMain # 导航路由 +│ │ └──index.js # 组件引用 +│ │ └──mixins # 自适应大小 +│ ├── libs # 公共js方法 +│ │ └──settingMer # 配置请求地址 +│ ├── views # 所有页面 +│ │ └──login # 登录 +│ │ └──index # 登录 +│ │ └──dashboard # 首页 +│ │ └──store # 商品 +│ │ └──creatStore # 添加商品 +│ │ └──storeAttr # 商品规格 +│ │ └──sort # 商品分类 +│ │ └──taoBao # 复制商品 +│ │ └──storeComment # 商品评论 +│ │ └──order # 订单管理 +│ │ └──marketing # 营销 +│ │ └──coupon # 优惠劵 +│ │ └──systemSetting # 设置 +│ │ └──administratorAuthority # 管理权限 +│ │ └──adminList # 管理员列表 +│ │ └──identityManager# 身份管理 +│ │ └──permissionRules# 权限规则 +│ │ └──logistics # 物流设置 +│ │ └──cityList # 城市数据 +│ │ └──companyList # 物流公司 +│ │ └──config # 物流配置 +│ │ └──shippingTemplates # 运费模板 +│ │ └──setting # 系统设置 +│ │ └──systemStore # 提货点设置 +│ │ └──appSetting # 应用 小程序 公众号设置 +│ │ └──content # 内容 +│ │ └──article # 文章管理 +│ │ └──articleclass # 文章分类 +│ │ └──datas # 统计数据 +│ │ └──user # 用户 +│ │ └──list # 用户管理 +│ │ └──grade # 用户等级/标签 +│ │ └──group # 用户分组 +│ │ └──distribution # 分销设置 +│ │ └──maintain # 维护 +│ │ └──devconfig # 组合数据 +│ │ └──formConfig # 表单配置 +│ │ └──financial # 财务 +│ │ └──error-page # 错误页 +│ │ └──404 # 错误页404 +│ │ └──403 # 错误页403 +│ ├── filters # 过滤器 +│ ├── router # 路由配置 +│ │ └──modules # 页面路由模块 +│ │ └──content.js # 有关内容 文章 +│ │ └──user.js # 有关用户 +│ │ └──appSetting.js # 有关应用 +│ │ └──marketing.js # 有关优惠券、秒杀 +│ │ └──distribution.js # 有关分销 +│ │ └──order.js # 有关订单 +│ │ └──financial.js # 有关财务 +│ │ └──store.js # 有关商品 +│ │ └──maintain.js # 有关维护 +│ │ └──operation.js # 有关设置 +│ │ └──index.js # 路由的汇总 +│ ├── store # Vuex 状态管理 +│ ├── utils # 全局公用方法 +│ │ └──request.js # 请求封装 +│ │ └──settingMer.js # 请求地址配置 +│ ├── styles # 样式管理 +│ ├── permission.js # 路由拦截 +│ ├── main.js # 入口文件 加载组件 初始化等 +│ └── App.vue # 入口页面 +├── tests # 测试 +├── .env.xxx # 环境变量配置 +├── .eslintrc.js # eslint 配置项 +├── .babelrc # babel-loader 配置 +├── .travis.yml # 自动化CI配置 +├── vue.config.js # vue-cli 配置 +├── postcss.config.js # postcss 配置 +└── package.json # package.json + + +~~~ +## 开发 + +```bash +# 克隆项目 +git clone https://gitee.com/ZhongBangKeJi/crmeb_java/ + +# 进入项目目录 +cd ## + +# 安装依赖 +npm install + +# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 +npm install --registry=https://registry.npm.taobao.org + +# 启动服务 +npm run dev +``` + +浏览器访问 http://localhost:9527 + +## 发布 + +```bash +# 构建测试环境 +npm run build:stage + +# 构建生产环境 +npm run build:prod +``` + +## 其它 + +```bash +# 预览发布环境效果 +npm run preview + +# 预览发布环境效果 + 静态资源分析 +npm run preview -- --report + +# 代码格式检查 +npm run lint + +# 代码格式检查并自动修复 +npm run lint -- --fix +``` + + diff --git a/admin/README.zh-CN.md b/admin/README.zh-CN.md new file mode 100644 index 00000000..1d0cf47b --- /dev/null +++ b/admin/README.zh-CN.md @@ -0,0 +1,258 @@ +# CRMEB Admin +## 开发规范 +统一使用ES6 语法 +方法注释 +/* +* th => 表头 +* data => 数据 +* fileName => 文件名 +* fileType => 文件类型 +* sheetName => sheet页名 +*/ +export default function toExcel ({ th, data, fileName, fileType, sheetName }) +行注释 // + +### 命名 + +页面目录 文件夹命名格式骆驼式命名法,例如:用户列表 userList +例如:商品模块 +store 商品 + ├─ store 商品管理 + ├─index.vue 首页 + ├─ creatStore 新建商品 + ├─ index.vue + ├─ sort 商品分类 + ├─ index.vue + ├─storeAttr 商品规格 + ├─ index.vue + ├─storeComment 商品评论 + ├─ index.vue + +页面命名、组建、文件夹 命名格式小驼峰命名法,例如:用户列表 userList + +类名函数命名 大驼峰式 例如:addUser +变量命名 小驼峰式 例如:user 或者 userInfo +常量 采用全大些下划线命名 例如:VUE_APP_API_URl + +### 文件管理规范 +views 页面模块必须件文件夹区分 +api 接口一个模块一个文件 +组建 一个组建一个文件夹 +plugins 插件一个插件一个文件夹 +vuex 路由状态管理,一个模块在modules 中建一个文件夹 +router 一个模块一个模块在modules 中建一个文件夹 +style 样式尽量采用iView自带组建,common.less 系统通用样式不要轻易动 +自定义通用样式 style.less,每次添加必须加注释,页面独立样式在在页面内写,后缀less 格式 +组建样式 styles 中添加文件夹 composents 对应components 目录新建样式文件 +utils 自定义工具js 独立命名,一般不用新建文件夹 + +## 模块命名 +~~~ +├─ login 登录 +├─ dashboard 首页 +├─ store 商品管理 +├─ order 系统订单管理 +├─ distribution 分销 +├─ user 用户管理 +├─ content 内容管理 +├─ appSetting 各个应用模块功能管理公众号、小程序、支付宝、百度小程序、今日头条小程序 +├─ marketing 营销管理 优惠劵 积分 秒杀 +├─ sms 设置 短信设置 +├─ systemSetting 设置 管理员权限 系统设置 物流设置 +├─ maintain 维护 配置分类 组合数据 表单配置 +├─ error-page 错误页 + +~~~ +## 目录结构 +主要目录结构及说明: +~~~ +├── public # 静态资源 +│ ├── favicon.ico # favicon图标 +│ └── index.html # html 模板 +│ └── UEditor # 富文本编辑器插件 +├── src # 源代码 +│ ├── api # 所有请求 +│ │ └──user.js # 有关登录/用户的接口 +│ │ └──article.js # 有关内容的接口 +│ │ └──categoryApi.js # 有关配置的接口 +│ │ └──configTabApi.js # 有关配置分类的接口 +│ │ └──dashboard.js # 有关统计的接口 +│ │ └──distribution.js # 有关分销的接口 +│ │ └──logistics.js # 有关城市数据、物流配置的接口 +│ │ └──marketing.js # 有关优惠券、秒杀的接口 +│ │ └──order.js # 有关订单的接口 +│ │ └──role.js # 有关权限的接口 +│ │ └──roleApi.js # 有关菜单的接口 +│ │ └──sms.js # 有关短信的接口 +│ │ └──store.js # 有关商品的接口 +│ │ └──storePoint.js # 有关提货点的接口 +│ │ └──productCreateApi.js # 有关附件上传的接口 +│ │ └──systemadmin.js # 有关管理员的接口 +│ │ └──systemConfig.js # 有关系统配置的接口 +│ │ └──systemFormConfig.js # 有关表单配置的接口 +│ │ └──systemGroup.js # 有关组合数据的接口 +│ │ └──systemSetting.js # 有关上传文件的接口 +│ │ └──user.js # 有关用户的接口 +│ │ └──wxApi.js # 有关微信的接口 +│ ├── assets # 图片、svg 等静态资源 +│ ├── components # 公共组件 +│ │ └──articleList # 文章列表 +│ │ └──attrFrom # 商品规格 +│ │ └──Breadcrumb # 头部标题标签 +│ │ └──cards # 统计小方块 +│ │ └──echarts # 统计图 +│ │ └──Category # 分类 +│ │ └──customerInfo # 用户列表 +│ │ └──FormGenerator # 表单配置 +│ │ └──couponList # 优惠劵列表 +│ │ └──goodsList # 商品列表 +│ │ └──Hamburger # 导航收缩组件 +│ │ └──HeaderSearch # 导航搜索组件 +│ │ └──iconFrom # 导航添加图标 +│ │ └──RightPanel # 右侧设置按钮,设置导航相关 +│ │ └──Screenfull # 全屏 +│ │ └──SvgIcon # svg图标 +│ │ └──Tinymce # 颜色选择 +│ │ └──ThemePicker # 右侧设置按钮,设置组题颜色 +│ │ └──templatesFrom # 运费模板 +│ │ └──ueditorFrom # 富文本编辑器 +│ │ └──uploadPicture # 上传图片组件 +│ │ └──Upload # 上传文件组件 +│ │ └──UploadExcel # 下载Excel +│ │ └──userList # 用户列表 +│ │ └──TimeSelect # 时间段选择 +│ ├── layouts # 导航布局 +│ │ ├──index # 主页面 +│ │ ├──components # 导航组件 +│ │ └──Settings # 右边小按钮,设置导航等 +│ │ └──Sidebar # 侧边导航 +│ │ └──TagsView # tab标签页导航 +│ │ └──Navbar # 头部导航 +│ │ └──AppMain # 导航路由 +│ │ └──index.js # 组件引用 +│ │ └──mixins # 自适应大小 +│ ├── libs # 公共js方法 +│ │ └──settingMer # 配置请求地址 +│ ├── views # 所有页面 +│ │ └──login # 登录 +│ │ └──index # 登录 +│ │ └──dashboard # 首页 +│ │ └──store # 商品 +│ │ └──creatStore # 添加商品 +│ │ └──storeAttr # 商品规格 +│ │ └──sort # 商品分类 +│ │ └──taoBao # 复制商品 +│ │ └──storeComment # 商品评论 +│ │ └──order # 订单管理 +│ │ └──marketing # 营销 +│ │ └──coupon # 优惠劵 +│ │ └──systemSetting # 设置 +│ │ └──administratorAuthority # 管理权限 +│ │ └──adminList # 管理员列表 +│ │ └──identityManager# 身份管理 +│ │ └──permissionRules# 权限规则 +│ │ └──logistics # 物流设置 +│ │ └──cityList # 城市数据 +│ │ └──companyList # 物流公司 +│ │ └──config # 物流配置 +│ │ └──shippingTemplates # 运费模板 +│ │ └──setting # 系统设置 +│ │ └──systemStore # 提货点设置 +│ │ └──appSetting # 应用 小程序 公众号设置 +│ │ └──content # 内容 +│ │ └──article # 文章管理 +│ │ └──articleclass # 文章分类 +│ │ └──datas # 统计数据 +│ │ └──user # 用户 +│ │ └──list # 用户管理 +│ │ └──grade # 用户等级/标签 +│ │ └──group # 用户分组 +│ │ └──distribution # 分销设置 +│ │ └──maintain # 维护 +│ │ └──devconfig # 组合数据 +│ │ └──formConfig # 表单配置 +│ │ └──financial # 财务 +│ │ └──error-page # 错误页 +│ │ └──404 # 错误页404 +│ │ └──403 # 错误页403 +│ ├── filters # 过滤器 +│ ├── router # 路由配置 +│ │ └──modules # 页面路由模块 +│ │ └──content.js # 有关内容 文章 +│ │ └──user.js # 有关用户 +│ │ └──appSetting.js # 有关应用 +│ │ └──marketing.js # 有关优惠券、秒杀 +│ │ └──distribution.js # 有关分销 +│ │ └──order.js # 有关订单 +│ │ └──financial.js # 有关财务 +│ │ └──store.js # 有关商品 +│ │ └──maintain.js # 有关维护 +│ │ └──operation.js # 有关设置 +│ │ └──index.js # 路由的汇总 +│ ├── store # Vuex 状态管理 +│ ├── utils # 全局公用方法 +│ │ └──request.js # 请求封装 +│ │ └──settingMer.js # 请求地址配置 +│ ├── styles # 样式管理 +│ ├── permission.js # 路由拦截 +│ ├── main.js # 入口文件 加载组件 初始化等 +│ └── App.vue # 入口页面 +├── tests # 测试 +├── .env.xxx # 环境变量配置 +├── .eslintrc.js # eslint 配置项 +├── .babelrc # babel-loader 配置 +├── .travis.yml # 自动化CI配置 +├── vue.config.js # vue-cli 配置 +├── postcss.config.js # postcss 配置 +└── package.json # package.json + + +~~~ +## 开发 + +```bash +# 克隆项目 +git clone https://gitee.com/ZhongBangKeJi/crmeb_java/ + +# 进入项目目录 +cd ## + +# 安装依赖 +npm install + +# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 +npm install --registry=https://registry.npm.taobao.org + +# 启动服务 +npm run dev +``` + +浏览器访问 http://localhost:9527 + +## 发布 + +```bash +# 构建测试环境 +npm run build:stage + +# 构建生产环境 +npm run build:prod +``` + +## 其它 + +```bash +# 预览发布环境效果 +npm run preview + +# 预览发布环境效果 + 静态资源分析 +npm run preview -- --report + +# 代码格式检查 +npm run lint + +# 代码格式检查并自动修复 +npm run lint -- --fix +``` + + diff --git a/admin/public/UEditor/ueditor.config.js b/admin/public/UEditor/ueditor.config.js index 55dcafef..417f39be 100644 --- a/admin/public/UEditor/ueditor.config.js +++ b/admin/public/UEditor/ueditor.config.js @@ -37,7 +37,7 @@ 'bold', 'italic', 'underline', 'strikethrough', '|', 'superscript', 'subscript', '|', 'forecolor', 'backcolor', '|', 'removeformat', '|', 'insertorderedlist', 'insertunorderedlist', '|', 'selectall', 'cleardoc', 'paragraph', '|', 'fontfamily', 'fontsize', '|', 'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', - 'horizontal', 'print', 'preview', 'fullscreen' + 'horizontal', 'fullscreen' ]], // toolbars: [[ // 'source', '|', 'undo', 'redo', '|', diff --git a/admin/src/api/categoryApi.js b/admin/src/api/categoryApi.js index 0a9d6d3b..5dd3ad09 100644 --- a/admin/src/api/categoryApi.js +++ b/admin/src/api/categoryApi.js @@ -125,3 +125,14 @@ export function categroyByIds(pram) { params: data }) } + +/** + * 修改 显示关闭状态 + * @param pram + */ +export function categroyUpdateStatus(id) { + return request({ + url: `/admin/category/updateStatus/${id}`, + method: 'GET' + }) +} diff --git a/admin/src/api/financial.js b/admin/src/api/financial.js index 8d3c33e9..2f8d8a1b 100644 --- a/admin/src/api/financial.js +++ b/admin/src/api/financial.js @@ -84,6 +84,18 @@ export function topUpLogDeleteApi(params) { }) } +/** + * 充值 退款 + * @param pram + */ +export function refundApi(data) { + return request({ + url: '/admin/user/topUpLog/refund', + method: 'post', + data + }) +} + /** * 资金监控 列表 * @param pram diff --git a/admin/src/api/logistics.js b/admin/src/api/logistics.js index 425fbebc..429bb095 100644 --- a/admin/src/api/logistics.js +++ b/admin/src/api/logistics.js @@ -53,12 +53,29 @@ export function expressList(data) { }) } +// 同步物流公司 +export function expressSyncApi() { + return request({ + url: '/admin/express/sync/express', + method: 'post' + }) +} + // 物流公司修改状态 +export function expressUpdateShow(data) { + return request({ + url: '/admin/express/update/show', + method: 'post', + data + }) +} + +// 物流公司 编辑 export function expressUpdate(data) { return request({ url: '/admin/express/update', method: 'post', - params: { ...data } + data }) } diff --git a/admin/src/api/marketing.js b/admin/src/api/marketing.js index 6c77adcc..c6748f2b 100644 --- a/admin/src/api/marketing.js +++ b/admin/src/api/marketing.js @@ -230,3 +230,212 @@ export function seckillConfigStatusApi(id,params) { params }) } + +/** + * 砍价商品 列表 + */ +export function bargainListApi(params) { + return request({ + url: `/admin/store/bargain/list`, + method: 'get', + params + }) +} + +/** + * 砍价商品 新增 + */ +export function bargainSaveApi(data) { + return request({ + url: `/admin/store/bargain/save`, + method: 'POST', + data + }) +} + +/** + * 砍价商品 详情 + */ +export function bargainInfoApi(params) { + return request({ + url: `/admin/store/bargain/info`, + method: 'get', + params + }) +} + +/** + * 砍价商品 编辑 + */ +export function bargainUpdateApi(params, data) { + return request({ + url: `/admin/store/bargain/update`, + method: 'post', + params, + data + }) +} + +/** + * 砍价商品 删除 + */ +export function bargainDeleteApi(params) { + return request({ + url: `/admin/store/bargain/delete`, + method: 'get', + params + }) +} + +/** + * 砍价列表 详情 + */ +export function bargainOrderPinkApi(id) { + return request({ + url: `/admin/store/bargain/bargain_list/${id}`, + method: 'get' + }) +} + +/** + * 砍价列表 列表 + */ +export function bargainListListApi(params) { + return request({ + url: `/admin/store/bargain/bargain_list`, + method: 'get', + params + }) +} + +/** + * 拼团商品 修改拼团状态 + */ +export function bargainStatusApi(params) { + return request({ + url: `/admin/store/bargain/update/status`, + method: 'post', + params + }) +} + +/** + * 拼团商品 列表 + */ +export function combinationListApi(params) { + return request({ + url: `/admin/store/combination/list`, + method: 'get', + params + }) +} + +/** + * 拼团商品 删除 + */ +export function combinationDeleteApi(params) { + return request({ + url: `/admin/store/combination/delete`, + method: 'get', + params + }) +} + +/** + * 拼团商品 新增 + */ +export function combinationSaveApi(data) { + return request({ + url: `/admin/store/combination/save`, + method: 'post', + data + }) +} + +/** + * 拼团商品 修改 + */ +export function combinationUpdateApi(params,data) { + return request({ + url: `/admin/store/combination/update`, + method: 'post', + params, + data + }) +} + +/** + * 拼团商品 详情 + */ +export function combinationInfoApi(params) { + return request({ + url: `/admin/store/combination/info`, + method: 'get', + params + }) +} + +/** + * 拼团商品 修改拼团状态 + */ +export function combinationStatusApi(params) { + return request({ + url: `/admin/store/combination/update/status`, + method: 'post', + params + }) +} + +/** + * 拼团列表 列表 + */ +export function combineListApi(params) { + return request({ + url: `/admin/store/combination/combine/list`, + method: 'get', + params + }) +} + +/** + * 拼团列表 统计 + */ +export function combineStatisticsApi(params) { + return request({ + url: `/admin/store/combination/statistics`, + method: 'get', + params + }) +} + +/** + * 拼团列表 详情 + */ +export function combineOrderPinkApi(id) { + return request({ + url: `/admin/store/combination/order_pink/${id}`, + method: 'get' + }) +} + +/** + * 砍价 导出 + */ +export function exportBargainApi(params) { + return request({ + url: `/admin/export/excel/bargain/product`, + method: 'get', + params + }) +} + +/** + * 拼团 导出 + */ +export function exportcombiantionApi(params) { + return request({ + url: `/admin/export/excel/combiantion/product`, + method: 'get', + params + }) +} diff --git a/admin/src/api/order.js b/admin/src/api/order.js index 02c54a23..2edb55ce 100644 --- a/admin/src/api/order.js +++ b/admin/src/api/order.js @@ -78,11 +78,11 @@ export function orderMarkApi(params) { * 订单 发货 * @param pram */ -export function orderSendApi(params) { +export function orderSendApi(data) { return request({ url: '/admin/store/order/send', - method: 'get', - params + method: 'post', + data }) } @@ -174,3 +174,24 @@ export function orderTimeApi(params) { params }) } + +/** + *面单默认配置信息 + */ +export function sheetInfoApi() { + return request({ + url: `/admin/store/order/sheet/info`, + method: 'get' + }) +} + +/** + *面单默认配置信息 + */ +export function getLogisticsInfoApi(params) { + return request({ + url: `/admin/store/order/getLogisticsInfo`, + method: 'get', + params + }) +} diff --git a/admin/src/api/sms.js b/admin/src/api/sms.js index 062a0612..5f282119 100644 --- a/admin/src/api/sms.js +++ b/admin/src/api/sms.js @@ -4,7 +4,7 @@ import request from '@/utils/request' */ export function smsLstApi(params) { return request({ - url: '/admin/sms/record/list', + url: '/admin/pass/user/record', method: 'get', params }) @@ -12,30 +12,31 @@ export function smsLstApi(params) { /** * @description 短信账户 -- 登录 */ -export function configApi(params) { +export function configApi(data) { return request({ - url: '/admin/sms/login', - method: 'get', - params + url: '/admin/pass/login', + method: 'post', + data }) } /** * @description 短信账户 -- 获取验证码 */ -export function captchaApi(phone) { +export function captchaApi(params) { return request({ - url: `/admin/sms/sendCodeForRegister/${phone}`, - method: 'get' + url: `/admin/pass/sendUserCode`, + method: 'get', + params }) } /** * @description 短信账户 -- 注册 */ -export function registerApi(params) { +export function registerApi(data) { return request({ - url: '/admin/sms/register', + url: '/admin/pass/register', method: 'post', - params + data }) } /** @@ -43,7 +44,7 @@ export function registerApi(params) { */ export function isLoginApi() { return request({ - url: '/admin/sms/islogin', + url: '/admin/pass/isLogin', method: 'get' }) } @@ -52,7 +53,7 @@ export function isLoginApi() { */ export function logoutApi() { return request({ - url: '/admin/sms/logout', + url: '/admin/pass/logout', method: 'get' }) } @@ -70,7 +71,7 @@ export function smsNumberApi() { */ export function smsTempLstApi(params) { return request({ - url: '/admin/sms/temp/list', + url: '/admin/sms/temps', method: 'get', params }) @@ -80,7 +81,7 @@ export function smsTempLstApi(params) { */ export function smsPriceApi(params) { return request({ - url: '/admin/sms/pay/list', + url: '/admin/pass/meal/list', method: 'get', params }) @@ -88,21 +89,21 @@ export function smsPriceApi(params) { /** * @description 短信购买 -- 支付码 */ -export function payCodeApi(params) { +export function payCodeApi(data) { return request({ - url: '/admin/sms/pay/qrCode', - method: 'get', - params + url: '/admin/pass/meal/code', + method: 'post', + data }) } /** * @description 短信模板 -- 添加表单 */ -export function tempCreateApi(params) { +export function tempCreateApi(data) { return request({ url: '/admin/sms/temp/apply', method: 'post', - params + data }) } /** @@ -110,7 +111,7 @@ export function tempCreateApi(params) { */ export function smsInfoApi() { return request({ - url: '/admin/sms/info', + url: '/admin/pass/info', method: 'get' }) } @@ -125,3 +126,68 @@ export function smsSaveApi(params) { params }) } + +/** + * @description 短信 -- 修改密码 + */ +export function updatePasswordApi(data) { + return request({ + url: '/admin/pass/update/password', + method: 'post', + data + }) +} + +/** + * @description 短信 -- 修改手机号 + */ +export function updateHoneApi(data) { + return request({ + url: '/admin/pass/update/phone', + method: 'post', + data + }) +} + +/** + * @description 一号通 -- 服务开通 + */ +export function serviceOpenApi(data) { + return request({ + url: '/admin/pass/service/open', + method: 'post', + data + }) +} + +/** + * @description 一号通 -- 电子面单模板 + */ +export function exportTempApi(params) { + return request({ + url: '/admin/express/template', + method: 'get', + params + }) +} + +/** + * @description 全部物流公司 + */ +export function expressAllApi() { + return request({ + url: 'admin/express/all', + method: 'get' + }) +} + +/** + * @description 修改签名 + */ +export function smsSignApi(data) { + return request({ + url: 'admin/sms/modify/sign', + method: 'post', + data + }) +} diff --git a/admin/src/api/store.js b/admin/src/api/store.js index 64a6cca6..38eb7f8b 100644 --- a/admin/src/api/store.js +++ b/admin/src/api/store.js @@ -252,3 +252,26 @@ export function restoreApi(id) { method: 'get' }) } + +/** + * 商品列表 导出 + * @param pram + */ +export function productExcelApi(params) { + return request({ + url: `/admin/export/excel/product`, + method: 'get', + params + }) +} + +/** + * 商品列表 获取复制商品配置 + * @param pram + */ +export function copyConfigApi() { + return request({ + url: `/admin/store/product/copy/config`, + method: 'post' + }) +} diff --git a/admin/src/api/storePoint.js b/admin/src/api/storePoint.js index 6b4485c9..2860d252 100644 --- a/admin/src/api/storePoint.js +++ b/admin/src/api/storePoint.js @@ -47,6 +47,18 @@ export function storeDeleteApi(data) { }) } +/** + * 提货点门店回收站刪除 + * @param pram + */ +export function allDeleteApi(params) { + return request({ + url: '/admin/system/store/completely/delete', + method: 'get', + params + }) +} + /** * 提货点添加 * @param pram @@ -85,6 +97,18 @@ export function storeUpdateApi(data,id) { }) } +/** + * 提货点恢复 + * @param pram + */ +export function storeRecoveryApi(params) { + return request({ + url: '/admin/system/store/recovery', + method: 'get', + params + }) +} + /** * 核销员分页列表 * @param pram diff --git a/admin/src/api/user.js b/admin/src/api/user.js index e07fdbe2..1b001943 100644 --- a/admin/src/api/user.js +++ b/admin/src/api/user.js @@ -346,3 +346,14 @@ export function captchaApi() { method: 'get' }) } + +/** + * @description 修改上级推广人 + */ +export function updateSpreadApi(data) { + return request({ + url: `/admin/user/update/spread`, + method: 'post', + data + }) +} diff --git a/admin/src/api/wxApi.js b/admin/src/api/wxApi.js index ab6e2e00..a72725c0 100644 --- a/admin/src/api/wxApi.js +++ b/admin/src/api/wxApi.js @@ -123,6 +123,17 @@ export function replySaveApi(data) { }) } +/** + * 关键字回复 修改状态 + * @param pram + */ +export function replyStatusApi(params) { + return request({ + url: `/admin/wechat/keywords/reply/status`, + method: 'post', + params + }) +} /** * 关键字回复 编辑 * @param pram diff --git a/admin/src/assets/imgs/expressi.jpg b/admin/src/assets/imgs/expressi.jpg new file mode 100644 index 00000000..d3fbe469 Binary files /dev/null and b/admin/src/assets/imgs/expressi.jpg differ diff --git a/admin/src/assets/imgs/wutu.png b/admin/src/assets/imgs/wutu.png new file mode 100644 index 00000000..42c67aa5 Binary files /dev/null and b/admin/src/assets/imgs/wutu.png differ diff --git a/admin/src/components/Category/list.vue b/admin/src/components/Category/list.vue index 995aa8b6..4cc11830 100644 --- a/admin/src/components/Category/list.vue +++ b/admin/src/components/Category/list.vue @@ -20,12 +20,15 @@ - + + + + + + + + + @@ -78,11 +81,26 @@ - + + + + + + + + diff --git a/admin/src/views/marketing/bargain/bargainGoods/creatBargain.vue b/admin/src/views/marketing/bargain/bargainGoods/creatBargain.vue new file mode 100644 index 00000000..ad983de0 --- /dev/null +++ b/admin/src/views/marketing/bargain/bargainGoods/creatBargain.vue @@ -0,0 +1,865 @@ + + + + + diff --git a/admin/src/views/marketing/bargain/bargainGoods/index.vue b/admin/src/views/marketing/bargain/bargainGoods/index.vue new file mode 100644 index 00000000..a0fdd8cf --- /dev/null +++ b/admin/src/views/marketing/bargain/bargainGoods/index.vue @@ -0,0 +1,213 @@ + + + + + diff --git a/admin/src/views/marketing/bargain/bargainList/index.vue b/admin/src/views/marketing/bargain/bargainList/index.vue new file mode 100644 index 00000000..3b1a6c79 --- /dev/null +++ b/admin/src/views/marketing/bargain/bargainList/index.vue @@ -0,0 +1,246 @@ + + + + + diff --git a/admin/src/views/marketing/bargain/index.vue b/admin/src/views/marketing/bargain/index.vue index 908849c6..53501a01 100644 --- a/admin/src/views/marketing/bargain/index.vue +++ b/admin/src/views/marketing/bargain/index.vue @@ -1,11 +1,13 @@ diff --git a/admin/src/views/marketing/groupBuy/groupGoods/creatGroup.vue b/admin/src/views/marketing/groupBuy/groupGoods/creatGroup.vue new file mode 100644 index 00000000..8caf98e4 --- /dev/null +++ b/admin/src/views/marketing/groupBuy/groupGoods/creatGroup.vue @@ -0,0 +1,901 @@ + + + + + diff --git a/admin/src/views/marketing/groupBuy/groupGoods/index.vue b/admin/src/views/marketing/groupBuy/groupGoods/index.vue new file mode 100644 index 00000000..e46f9ffa --- /dev/null +++ b/admin/src/views/marketing/groupBuy/groupGoods/index.vue @@ -0,0 +1,218 @@ + + + + + diff --git a/admin/src/views/marketing/groupBuy/groupList/index.vue b/admin/src/views/marketing/groupBuy/groupList/index.vue new file mode 100644 index 00000000..433fb295 --- /dev/null +++ b/admin/src/views/marketing/groupBuy/groupList/index.vue @@ -0,0 +1,265 @@ + + + + + diff --git a/admin/src/views/marketing/seckill/seckillConfig/index.vue b/admin/src/views/marketing/seckill/seckillConfig/index.vue index 92e6132c..532e76da 100644 --- a/admin/src/views/marketing/seckill/seckillConfig/index.vue +++ b/admin/src/views/marketing/seckill/seckillConfig/index.vue @@ -11,7 +11,7 @@ - + @@ -187,7 +187,9 @@ .then(async () => { this.$message.success('修改成功'); this.getList() - }) + }).catch(()=>{ + row.status = !row.status + }) }, onEditSort(row) { this.$set(row, 'isEdit', true) diff --git a/admin/src/views/marketing/seckill/seckillList/creatSeckill.vue b/admin/src/views/marketing/seckill/seckillList/creatSeckill.vue index 1924525c..daabf777 100644 --- a/admin/src/views/marketing/seckill/seckillList/creatSeckill.vue +++ b/admin/src/views/marketing/seckill/seckillList/creatSeckill.vue @@ -42,7 +42,7 @@ - +
-
+
@@ -67,12 +67,12 @@ - + - + @@ -115,6 +115,7 @@ size="small" type="daterange" placement="bottom-end" + :picker-options="pickerOptions" placeholder="请选择活动日期" @change="onchangeTime" /> @@ -318,6 +319,11 @@ components: { CreatTemplates }, data() { return { + pickerOptions: { + disabledDate(time) { + return time.getTime() < new Date().setTime(new Date().getTime() - 3600 * 1000 * 24); + } + }, props2: { children: 'child', label: 'name', @@ -451,6 +457,8 @@ _this.ManyAttrValue[0].image = img[0].sattDir } if(tit==='2'&& !num){ + if(img.length>10) return this.$message.warning("最多选择10张图片!"); + if(img.length + _this.formValidate.imagess.length > 10) return this.$message.warning("最多选择10张图片!"); img.map((item) => { _this.formValidate.imagess.push(item.sattDir) }); @@ -715,6 +723,27 @@ const route = Object.assign({}, this.tempRoute, { title: `${title}-${this.$route.params.id}` }) this.$store.dispatch('tagsView/updateVisitedView', route) }, + // 移动 + handleDragStart (e, item) { + this.dragging = item; + }, + handleDragEnd (e, item) { + this.dragging = null + }, + handleDragOver (e) { + e.dataTransfer.dropEffect = 'move' + }, + handleDragEnter (e, item) { + e.dataTransfer.effectAllowed = 'move' + if (item === this.dragging) { + return + } + const newItems = [...this.formValidate.imagess] + const src = newItems.indexOf(this.dragging) + const dst = newItems.indexOf(item) + newItems.splice(dst, 0, ...newItems.splice(src, 1)) + this.formValidate.imagess = newItems; + } } } diff --git a/admin/src/views/marketing/seckill/seckillList/index.vue b/admin/src/views/marketing/seckill/seckillList/index.vue index cbc533ba..c1c33815 100644 --- a/admin/src/views/marketing/seckill/seckillList/index.vue +++ b/admin/src/views/marketing/seckill/seckillList/index.vue @@ -24,7 +24,7 @@ - + @@ -218,7 +218,9 @@ .then(async () => { this.$message.success('修改成功'); this.getList() - }) + }).catch(()=>{ + row.status = !row.status + }) } } } diff --git a/admin/src/views/mobile/orderStatistics/Statistics.vue b/admin/src/views/mobile/orderStatistics/Statistics.vue index fca96de9..837043c8 100644 --- a/admin/src/views/mobile/orderStatistics/Statistics.vue +++ b/admin/src/views/mobile/orderStatistics/Statistics.vue @@ -323,6 +323,7 @@ export default { setTime: function(time) { this.time = time; this.where.dateLimit = time + this.filter.dateLimit = time this.list = []; this.filter.page = 1; this.loaded = false; @@ -356,8 +357,8 @@ export default { } else { this.renderValues = [this.value.join("-")]; } - console.log( this.renderValues) - this.where.dateLimit = parseTime(this.renderValues[0], '{y}-{m}-{d}')+','+parseTime(this.renderValues[1], '{y}-{m}-{d}') + this.where.dateLimit = this.renderValues.join(',') + // this.where.dateLimit = parseTime(this.renderValues[0], '{y}-{m}-{d}')+','+parseTime(this.renderValues[1], '{y}-{m}-{d}') this.filter.dateLimit = this.where.dateLimit }, prev(y, m, w) { diff --git a/admin/src/views/order/index.vue b/admin/src/views/order/index.vue index f769d044..42e8e669 100644 --- a/admin/src/views/order/index.vue +++ b/admin/src/views/order/index.vue @@ -3,11 +3,11 @@
- - - - - + + + + +
@@ -32,7 +32,7 @@ - + @@ -83,11 +83,11 @@ 用户已删除 - - - - - + @@ -161,7 +163,7 @@ @@ -106,13 +77,9 @@ export default { code: '', domain: '', phone: '', - sign: '', password: '' }, ruleInline: { - account: [ - { required: true, message: '请输入短信平台账号', trigger: 'blur' } - ], password: [ { required: true, message: '请输入短信平台密码/token', trigger: 'blur' } ], @@ -122,9 +89,6 @@ export default { phone: [ { required: true, validator: validatePhone, trigger: 'blur' } ], - sign: [ - { required: true, message: '请输入短信签名', trigger: 'blur' } - ], code: [ { required: true, message: '请输入验证码', trigger: 'blur' } ] @@ -148,8 +112,11 @@ export default { if (!this.canClick) return this.canClick = false this.cutNUm = 60 - captchaApi(this.formInline.phone).then(async res => { - this.$message.success(res.data.message) + captchaApi({ + phone: this.formInline.phone, + types: 0 + }).then(async res => { + this.$message.success('发送成功') }) const time = setInterval(() => { this.cutNUm-- @@ -165,13 +132,18 @@ export default { }, // 注册 handleSubmit(name) { + this.formInline.account = this.formInline.phone this.$refs[name].validate((valid) => { if (valid) { + this.loading = true; registerApi(this.formInline).then(async res => { this.$message.success('注册成功') setTimeout(() => { this.changelogo() }, 1000) + this.loading = false; + }).catch(()=>{ + this.loading = false; }) } else { return false diff --git a/admin/src/views/sms/smsConfig/components/tableList.vue b/admin/src/views/sms/smsConfig/components/tableList.vue index 03bc76c7..56552462 100644 --- a/admin/src/views/sms/smsConfig/components/tableList.vue +++ b/admin/src/views/sms/smsConfig/components/tableList.vue @@ -1,19 +1,26 @@ - diff --git a/admin/src/views/sms/smsConfig/index.vue b/admin/src/views/sms/smsConfig/index.vue index cf06a47d..8198d96f 100644 --- a/admin/src/views/sms/smsConfig/index.vue +++ b/admin/src/views/sms/smsConfig/index.vue @@ -1,6 +1,6 @@ @@ -50,24 +57,31 @@ import tableList from './components/tableList' import loginFrom from './components/loginFrom' import registerFrom from './components/register' +import forgetPassword from './components/forgetPassword'; +import forgetPhone from './components/forgetPhone'; import { logoutApi, smsNumberApi, smsInfoApi } from '@/api/sms' import { mapGetters } from 'vuex' export default { name: 'SmsConfig', - components: { tableList, loginFrom, registerFrom }, + components: { tableList, loginFrom, registerFrom, forgetPassword, forgetPhone }, data() { return { fullscreenLoading: false, + loading: false, smsAccount: '', circleUrl: 'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png', + accountInfo:{}, spinShow: false, - isShowLogn: false, - isShow: false, - isShowReg: false, - isShowList: false, - amount: 0, - numbers: 0, - sendTotal: 0 + isForgetPhone: false, // 修改手机号 + isIndex: false, // 判断忘记密码返回的路径 + isShowLogn: false, // 登录 + isShow: false, // 修改密码 + isShowReg: false, // 注册 + isShowList: false, // 登录之后列表 + sms: { open: 0 }, // 短信信息 + query: { open: 0 }, // 物流查询 + dump: { open: 0 }, // 电子面单打印 + copy: { open: 0 } // 商品采集 } }, computed: { @@ -84,14 +98,78 @@ export default { // } }, methods: { + // 开通服务 + openService (val) { + this.getNumber(); + }, + onOpen (val) { + this.$refs.tableLists.onOpenIndex(val); + }, + // 手机号返回 + gobackPhone () { + this.isShowList = true; + this.isForgetPhone = false; + }, + onChangePhone () { + this.isForgetPhone = true + this.isShowLogn = false; + this.isShowList = false; + }, + // 密码返回 + goback () { + if (this.isIndex) { + this.isShowList = true; + this.isShow = false; + } else { + this.isShowLogn = true; + this.isShow = false; + } + }, + // 修改密码 + onChangePassswordIndex () { + this.isIndex = true; + this.passsword(); + }, + passsword () { + this.isShowLogn = false; + this.isShow = true; + this.isShowList = false; + }, + mealPay (val) { + this.$router.push({ path:'/operation/systemSms/pay',query:{type:val}}); + }, // 剩余条数 getNumber() { + this.loading = true; smsInfoApi().then(async res => { - const data = res - this.numbers = data.num - this.sendTotal = data.surp - this.amount = data.num + data.surp - this.smsAccount = data.account + let data = res; + this.sms = { + num: data.sms.num, + open: data.sms.open, + surp: data.sms.open + }; + this.query = { + num: data.query.num, + open: data.query.open, + surp: data.query.open + }; + this.dump = { + num: data.dump.num, + open: data.dump.open, + surp: data.dump.open + }; + this.copy = { + num: data.copy.num, + open: data.copy.open, + surp: data.copy.open + }; + this.loading = false; + this.smsAccount = data.account; + this.accountInfo = data; + }).catch(res => { + this.isShowLogn = true; + this.isShowList = false; + this.loading = false; }) }, // 登录跳转 @@ -100,6 +178,7 @@ export default { if (url) { this.$router.replace(url) } else { + this.getNumber() this.isShowLogn = false this.isShow = false this.isShowReg = false @@ -115,8 +194,8 @@ export default { this.isShowList = data.status if (data.status) { this.smsAccount = data.info + this.getNumber() } - this.getNumber() this.fullscreenLoading = false }).catch(res => { this.fullscreenLoading = false @@ -129,8 +208,6 @@ export default { this.isShowLogn = true this.isShowList = false this.$store.dispatch('user/isLogin') - }).catch(res => { - this.$message.error(res.message) }) }, // 立即注册 @@ -150,6 +227,16 @@ export default { diff --git a/app/config/cache.js b/app/config/cache.js index b8425e33..660d8980 100644 --- a/app/config/cache.js +++ b/app/config/cache.js @@ -1,32 +1,32 @@ module.exports = { - //token - LOGIN_STATUS: 'LOGIN_STATUS_TOKEN', - // uid - UID:'UID', - //�û� - USER_INFO: 'USER_INFO', - //token�����¼� - EXPIRES_TIME: 'EXPIRES_TIME', - //�Ƿ���Ȩ - WX_AUTH: 'WX_AUTH', - //���ں���Ȩcode - STATE_KEY: 'wx_authorize_state', - //�û����� - LOGINTYPE: 'loginType', - //���ں���ת���� - BACK_URL: 'login_back_url', - // С����code - STATE_R_KEY: 'roution_authorize_state', - //��ȨlogoС���� - LOGO_URL: 'LOGO_URL', - //模板缓存 - // SUBSCRIBE_MESSAGE: 'SUBSCRIBE_MESSAGE', + //token + LOGIN_STATUS: 'LOGIN_STATUS_TOKEN', + // uid + UID:'UID', + //用户信息 + USER_INFO: 'USER_INFO', + //token 过期时间 + EXPIRES_TIME: 'EXPIRES_TIME', + //微信授权 + WX_AUTH: 'WX_AUTH', + //微信授权状态 + STATE_KEY: 'wx_authorize_state', + //登录类型 + LOGINTYPE: 'loginType', + //登录回调地址 + BACK_URL: 'login_back_url', + // 小程序授权状态 + STATE_R_KEY: 'roution_authorize_state', + //logo Url + LOGO_URL: 'LOGO_URL', + //模板缓存 + // SUBSCRIBE_MESSAGE: 'SUBSCRIBE_MESSAGE', - TIPS_KEY: 'TIPS_KEY', + TIPS_KEY: 'TIPS_KEY', - SPREAD: 'spread', - //缓存经度 - CACHE_LONGITUDE: 'LONGITUDE', - //缓存纬度 - CACHE_LATITUDE: 'LATITUDE', -} + SPREAD: 'spread', + //缓存经度 + CACHE_LONGITUDE: 'LONGITUDE', + //缓存纬度 + CACHE_LATITUDE: 'LATITUDE', +} \ No newline at end of file diff --git a/app/pages.json b/app/pages.json index f5923766..5efad8e9 100644 --- a/app/pages.json +++ b/app/pages.json @@ -109,6 +109,14 @@ // #endif } } + ,{ + "path" : "pages/index/components/a_seckill", + "style" : {} + } + ,{ + "path" : "pages/index/components/b_combination", + "style" : {} + } ], "subPackages": [ { diff --git a/app/pages/activity/goods_bargain/index.vue b/app/pages/activity/goods_bargain/index.vue index de2af2e0..4fe12efb 100644 --- a/app/pages/activity/goods_bargain/index.vue +++ b/app/pages/activity/goods_bargain/index.vue @@ -1,7 +1,7 @@