From 1e9df74034183893fb6b4e92f658726fd5915fb2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?lemon=E6=A9=AA?= <17633066053@163.com>
Date: Thu, 15 Sep 2022 15:40:50 +0800
Subject: [PATCH] =?UTF-8?q?perf:=20:art:=20=E6=94=B9=E5=96=84=E4=BF=83?=
=?UTF-8?q?=E9=94=80=E9=83=A8=E5=88=86=E8=8D=A3=E8=AA=89=E4=BB=A3=E7=A0=81?=
=?UTF-8?q?=20=E5=B0=81=E8=A3=85=E4=B8=BA=E7=BB=84=E4=BB=B6=E4=BD=BF?=
=?UTF-8?q?=E7=94=A8=20=E6=9B=B4=E5=8A=A0=E4=BE=BF=E6=8D=B7=E4=BB=A5?=
=?UTF-8?q?=E5=8F=8A=E5=A5=BD=E7=9C=8B=E3=80=82=20=E4=BC=98=E5=8C=96?=
=?UTF-8?q?=E9=83=A8=E5=88=86=E9=A1=B5=E9=9D=A2=E6=98=BE=E7=A4=BA=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
删除部分原有的老样式 更新新版促销样式 页面更加好看 删除冗余代码 封装多种方法以及组件
---
App.vue | 4 +-
components/m-buy/goods.vue | 4 +-
components/m-goods-list/promotion.vue | 160 +++++++
components/m-goods-list/seckill.vue | 190 ---------
components/m-goods-recommend/index.vue | 2 +-
config/api.js | 10 +-
main.js | 4 +-
pages.json | 7 +-
pages/cart/coupon/couponCenter.vue | 2 +-
pages/cart/coupon/myCoupon.vue | 4 +-
pages/cart/payment/payOrder.vue | 2 +-
pages/mine/address/add.vue | 2 +-
pages/mine/address/address.vue | 4 +-
pages/mine/address/addressManage.vue | 20 +-
pages/mine/deposit/operation.vue | 2 +-
pages/mine/deposit/recharge.vue | 2 +-
pages/mine/distribution/home.vue | 4 +-
pages/mine/distribution/list.vue | 2 +-
pages/mine/msgTips/main.vue | 2 +-
pages/mine/msgTips/packageMsg/index.vue | 2 +-
pages/mine/myCollect.vue | 4 +-
pages/mine/myTracks.vue | 4 +-
pages/mine/set/editionIntro.vue | 2 +-
.../set/securityCenter/securityCenter.vue | 2 +-
pages/mine/set/setUp.vue | 2 +-
pages/navigation/search/searchPage.vue | 4 +-
pages/order/afterSales/afterSales.vue | 10 +-
pages/order/afterSales/afterSalesSelect.vue | 2 +-
pages/order/afterSales/applyDetail.vue | 4 +-
pages/order/complain/complainList.vue | 4 +-
pages/order/evaluate/myEvaluate.vue | 4 +-
pages/order/fillorder.vue | 4 +-
pages/order/myOrder.vue | 22 +-
pages/order/orderDetail.vue | 20 +-
pages/passport/login.vue | 6 +-
pages/product/goods.vue | 10 +-
.../product/evaluation/-evaluation.vue | 2 +-
pages/product/product/popup/address.vue | 4 +-
pages/product/product/shop/-shop.vue | 4 +-
pages/product/shopList.vue | 2 +-
pages/product/shopPage.vue | 12 +-
pages/promotion/bargain/detail.vue | 20 +-
pages/promotion/bargain/list.vue | 25 +-
pages/promotion/bargain/log.vue | 2 +-
pages/promotion/joinGroup.vue | 262 ++++++------
pages/promotion/lives.vue | 2 +-
pages/promotion/point/pointList.vue | 62 +--
pages/promotion/seckill.vue | 65 ++-
pages/tabbar/cart/cartList.vue | 8 +-
pages/tabbar/category/category.vue | 4 +-
pages/tabbar/home/template/tpl_goods.vue | 21 +-
.../home/template/tpl_promotions_detail.vue | 8 +-
pages/tabbar/home/template/tpl_search.vue | 2 +-
pages/tabbar/home/views.vue | 6 +-
pages/tabbar/screen/fullScreen.vue | 4 +-
pages/tabbar/user/my.vue | 2 +-
pages/tabbar/user/similarGoods.vue | 2 +-
pages/tabbar/user/utils/tool.vue | 8 +-
static/bg.png | Bin 0 -> 5295 bytes
static/bg1.png | Bin 0 -> 19444 bytes
static/join-buy.png | Bin 0 -> 6887 bytes
static/seckill.png | Bin 0 -> 1423 bytes
static/seckill/active.png | Bin 692 -> 0 bytes
uni.scss | 3 +
utils/filters.js | 40 +-
utils/navigateRoute.js | 24 --
utils/request.js | 398 +++++++++---------
uview-ui/components/u-parse/libs/trees.vue | 4 +-
uview-ui/components/u-parse/u-parse.vue | 4 +-
uview-ui/components/u-toast/u-toast.vue | 2 +-
70 files changed, 721 insertions(+), 814 deletions(-)
create mode 100644 components/m-goods-list/promotion.vue
delete mode 100644 components/m-goods-list/seckill.vue
create mode 100644 static/bg.png
create mode 100644 static/bg1.png
create mode 100644 static/join-buy.png
create mode 100644 static/seckill.png
delete mode 100644 static/seckill/active.png
delete mode 100644 utils/navigateRoute.js
diff --git a/App.vue b/App.vue
index 6290180..4304ad7 100644
--- a/App.vue
+++ b/App.vue
@@ -189,7 +189,7 @@
url: path,
});
} else {
- this.$navigateTo({
+ uni.navigateTo({
url: path,
});
}
@@ -214,7 +214,7 @@
url: `/${path}`,
});
} else {
- this.$navigateTo({
+ uni.navigateTo({
url: `/${path}`,
});
}
diff --git a/components/m-buy/goods.vue b/components/m-buy/goods.vue
index e73204f..46f1678 100644
--- a/components/m-buy/goods.vue
+++ b/components/m-buy/goods.vue
@@ -263,7 +263,7 @@
buy(data) {
API_trade.addToCart(data).then((res) => {
if (res.data.success) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/order/fillorder?way=${
data.cartType
}&addr=${""}&parentOrder=${encodeURIComponent(
@@ -314,7 +314,7 @@
API_trade.addToCart(data).then((res) => {
if (res.data.code == 200) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/order/fillorder?way=${data.cartType}&addr=${
this.addr.id || ""
}&parentOrder=${encodeURIComponent(JSON.stringify(this.parentOrder))}`,
diff --git a/components/m-goods-list/promotion.vue b/components/m-goods-list/promotion.vue
new file mode 100644
index 0000000..361bbcb
--- /dev/null
+++ b/components/m-goods-list/promotion.vue
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
+
+
+
{{ item.goodsName }}
+
+
+
+
+ ¥{{ formatPrice(item.price )[0] }} .{{
+ formatPrice(item.price )[1]
+ }}
+
+
+
+ 最低:
+ ¥{{ formatPrice(item.purchasePrice )[0] }} .{{
+ formatPrice(item.purchasePrice )[1]
+ }}
+
+
+
+
+
+
+
+ 即将恢复{{ item.originalPrice}}元
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/m-goods-list/seckill.vue b/components/m-goods-list/seckill.vue
deleted file mode 100644
index 4e7b834..0000000
--- a/components/m-goods-list/seckill.vue
+++ /dev/null
@@ -1,190 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
{{ item.goodsName }}
-
-
- ¥{{ formatPrice(item.price )[0] }} .{{
- formatPrice(item.price )[1]
- }}
-
-
-
-
- 已售 {{ item.buyCount || '0' }}
- {{ item.commentNum || '0' }}条评论
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/components/m-goods-recommend/index.vue b/components/m-goods-recommend/index.vue
index dc19323..8f60967 100644
--- a/components/m-goods-recommend/index.vue
+++ b/components/m-goods-recommend/index.vue
@@ -62,7 +62,7 @@ export default {
this.goodsList.push(...goodsList.data.result.content);
},
handleClick(item) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/goods?id=${item.content.id}&goodsId=${item.content.goodsId}`,
});
},
diff --git a/config/api.js b/config/api.js
index e8461b2..96131ba 100644
--- a/config/api.js
+++ b/config/api.js
@@ -4,14 +4,8 @@
*/
// 开发环境
const dev = {
- // common: "https://common-api.pickmall.cn",
- // buyer: "https://buyer-api.pickmall.cn",
-
- common: "http://192.168.0.106:8890",
- buyer: "http://192.168.0.106:8888",
-
-
-
+ common: "https://common-api.pickmall.cn",
+ buyer: "https://buyer-api.pickmall.cn",
};
// 生产环境
const prod = {
diff --git a/main.js b/main.js
index 3ea0c2b..9b47071 100644
--- a/main.js
+++ b/main.js
@@ -3,7 +3,7 @@ import App from "./App";
import * as filters from "./utils/filters.js"; // global filter
import uView from "uview-ui";
import store from "./store";
-import {navigateTo} from '@/utils/navigateRoute.js'
+
/**
* 仅在h5中显示唤醒app功能
@@ -32,8 +32,6 @@ Object.keys(filters).forEach((key) => {
Vue.prototype.$store = store;
-// // 引入Vuex
-Vue.prototype.$navigateTo = navigateTo;
Vue.use(uView);
Vue.config.productionTip = false;
diff --git a/pages.json b/pages.json
index 4d1a33f..115501b 100644
--- a/pages.json
+++ b/pages.json
@@ -465,7 +465,9 @@
"pages": [ {
"path": "seckill",
"style": {
- "navigationBarTitleText": "限时抢购",
+ "navigationBarTitleText": "限时抢购",
+ "navigationStyle": "custom", // 隐藏系统导航栏
+ "navigationBarTextStyle": "white" ,
"app-plus": {
"titleNView": {
"homeButton":true
@@ -478,7 +480,8 @@
"path": "joinGroup",
"style": {
"navigationBarTitleText": "拼团活动",
- "navigationStyle": "custom", // 隐藏系统导航栏
+ "navigationStyle": "custom", // 隐藏系统导航栏
+ "navigationBarTextStyle": "white" ,
"app-plus": {
// 将回弹属性关掉
"bounce": "none"
diff --git a/pages/cart/coupon/couponCenter.vue b/pages/cart/coupon/couponCenter.vue
index 5c8e818..e8806ad 100644
--- a/pages/cart/coupon/couponCenter.vue
+++ b/pages/cart/coupon/couponCenter.vue
@@ -145,7 +145,7 @@
},
},
onNavigationBarButtonTap(e) {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/cart/coupon/couponIntro",
});
},
diff --git a/pages/cart/coupon/myCoupon.vue b/pages/cart/coupon/myCoupon.vue
index 1d63237..ac59a4a 100644
--- a/pages/cart/coupon/myCoupon.vue
+++ b/pages/cart/coupon/myCoupon.vue
@@ -189,7 +189,7 @@ export default {
*/
useItNow(item) {
if (item.storeId && item.storeId!='0') {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/shopPage?id=${item.storeId}`,
});
} else {
@@ -203,7 +203,7 @@ export default {
* 优惠券详情
*/
couponDetail(item) {
- this.$navigateTo({
+ uni.navigateTo({
url:
"/pages/cart/coupon/couponDetail?item=" +
encodeURIComponent(JSON.stringify(item)),
diff --git a/pages/cart/payment/payOrder.vue b/pages/cart/payment/payOrder.vue
index 179422b..71be635 100644
--- a/pages/cart/payment/payOrder.vue
+++ b/pages/cart/payment/payOrder.vue
@@ -120,7 +120,7 @@
* 支付成功后跳转
*/
callback(paymentMethod){
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/cart/payment/success?paymentMethod=" +
paymentMethod +
"&payPrice=" +
diff --git a/pages/mine/address/add.vue b/pages/mine/address/add.vue
index 08bac21..33723f9 100644
--- a/pages/mine/address/add.vue
+++ b/pages/mine/address/add.vue
@@ -162,7 +162,7 @@ export default {
delete this.form.updateTime;
editAddress(this.form).then((res) => {
if (res.data.success) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/${beforePage.route}`,
});
}
diff --git a/pages/mine/address/address.vue b/pages/mine/address/address.vue
index 22b4feb..e025746 100644
--- a/pages/mine/address/address.vue
+++ b/pages/mine/address/address.vue
@@ -129,7 +129,7 @@ export default {
//新建。编辑地址
addAddress(id) {
if (id) {
- this.$navigateTo({
+ uni.navigateTo({
url:
"/pages/mine/address/add?id=" +
id +
@@ -138,7 +138,7 @@ export default {
"&type=order",
});
} else {
- this.$navigateTo({
+ uni.navigateTo({
url:
"/pages/mine/address/add?way=" + this.routerVal.way + "&type=order",
});
diff --git a/pages/mine/address/addressManage.vue b/pages/mine/address/addressManage.vue
index 0d70500..f28382c 100644
--- a/pages/mine/address/addressManage.vue
+++ b/pages/mine/address/addressManage.vue
@@ -86,23 +86,9 @@ export default {
* 进入页面检测当前账户是否登录
*/
onShow() {
- let that = this;
- if (this.$options.filters.isLogin("auth")) {
+ if (this.$options.filters.tipsToLogin()) {
this.getAddressList();
- } else {
- uni.showModal({
- title: "提示",
- content: "检测到您的账号还未登录,是否去登录?",
- confirmColor: this.$lightColor,
- success: function (res) {
- if (res.confirm) {
- that.$options.filters.navigateToLogin();
- } else if (res.cancel) {
- uni.navigateBack();
- }
- },
- });
- }
+ }
},
methods: {
//获取地址列表
@@ -145,7 +131,7 @@ export default {
},
//新建。编辑地址
addAddress(id) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/mine/address/add${id ? "?id=" + id : ""}`,
});
},
diff --git a/pages/mine/deposit/operation.vue b/pages/mine/deposit/operation.vue
index 8832a3b..e9c8dff 100644
--- a/pages/mine/deposit/operation.vue
+++ b/pages/mine/deposit/operation.vue
@@ -50,7 +50,7 @@ export default {
* 跳转
*/
navgition(url) {
- this.$navigateTo({
+ uni.navigateTo({
url,
});
},
diff --git a/pages/mine/deposit/recharge.vue b/pages/mine/deposit/recharge.vue
index 0d16c8e..c9272d5 100644
--- a/pages/mine/deposit/recharge.vue
+++ b/pages/mine/deposit/recharge.vue
@@ -38,7 +38,7 @@ export default {
let res = await recharge({ price: this.price });
if (res.data.success) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/cart/payment/payOrder?orderType=RECHARGE&recharge_sn=${res.data.result.rechargeSn}`,
});
}
diff --git a/pages/mine/distribution/home.vue b/pages/mine/distribution/home.vue
index e2029a9..7dda626 100644
--- a/pages/mine/distribution/home.vue
+++ b/pages/mine/distribution/home.vue
@@ -58,12 +58,12 @@ export default {
},
methods: {
handleClick(url) {
- this.$navigateTo({
+ uni.navigateTo({
url,
});
},
queryGoods(src) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/mine/distribution/${src}`,
});
},
diff --git a/pages/mine/distribution/list.vue b/pages/mine/distribution/list.vue
index 852f523..989daf3 100644
--- a/pages/mine/distribution/list.vue
+++ b/pages/mine/distribution/list.vue
@@ -221,7 +221,7 @@ export default {
* 查看图片
*/
handleNavgationGoods(val) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/goods?id=${val.skuId}&goodsId=${val.goodsId}`,
});
},
diff --git a/pages/mine/msgTips/main.vue b/pages/mine/msgTips/main.vue
index 6ceed10..eb383da 100644
--- a/pages/mine/msgTips/main.vue
+++ b/pages/mine/msgTips/main.vue
@@ -56,7 +56,7 @@
methods: {
...mapMutations(["logout"]),
navigateTo(url) {
- this.$navigateTo({
+ uni.navigateTo({
url
});
},
diff --git a/pages/mine/msgTips/packageMsg/index.vue b/pages/mine/msgTips/packageMsg/index.vue
index aa2df11..619cf4e 100644
--- a/pages/mine/msgTips/packageMsg/index.vue
+++ b/pages/mine/msgTips/packageMsg/index.vue
@@ -45,7 +45,7 @@ export default {
},
methods: {
goDetail(sn,logi_id,ship_no){
- this.$navigateTo({
+ uni.navigateTo({
url:'/pages/msgTips/packagemsg/logisticsDetail?order_sn=' + sn +'&logi_id='+logi_id+'&ship_no='+ship_no,
})
},
diff --git a/pages/mine/myCollect.vue b/pages/mine/myCollect.vue
index e39c4e8..18ee619 100644
--- a/pages/mine/myCollect.vue
+++ b/pages/mine/myCollect.vue
@@ -174,7 +174,7 @@
*/
goGoodsDetail(val) {
//商品详情
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/product/goods?id=" + val.skuId + "&goodsId=" + val.goodsId,
});
},
@@ -184,7 +184,7 @@
*/
goStoreMainPage(id) {
//店铺主页
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/product/shopPage?id=" + id,
});
},
diff --git a/pages/mine/myTracks.vue b/pages/mine/myTracks.vue
index c6119f1..00a130f 100644
--- a/pages/mine/myTracks.vue
+++ b/pages/mine/myTracks.vue
@@ -84,7 +84,7 @@
* 导航到店铺
*/
navgaiteToStore(val) {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/product/shopPage?id=" + val.storeId,
});
},
@@ -100,7 +100,7 @@
* 跳转详情
*/
navgaiteToDetail(item) {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/product/goods?id=" + item.id + "&goodsId=" + item.goodsId,
});
},
diff --git a/pages/mine/set/editionIntro.vue b/pages/mine/set/editionIntro.vue
index 63b6056..4e90bdd 100644
--- a/pages/mine/set/editionIntro.vue
+++ b/pages/mine/set/editionIntro.vue
@@ -88,7 +88,7 @@ export default {
},
navigateTo(url) {
- this.$navigateTo({
+ uni.navigateTo({
url,
});
},
diff --git a/pages/mine/set/securityCenter/securityCenter.vue b/pages/mine/set/securityCenter/securityCenter.vue
index 956a0f1..64c07f4 100644
--- a/pages/mine/set/securityCenter/securityCenter.vue
+++ b/pages/mine/set/securityCenter/securityCenter.vue
@@ -16,7 +16,7 @@ export default {
methods: {
navigateTo(url) {
- this.$navigateTo({
+ uni.navigateTo({
url: url,
});
},
diff --git a/pages/mine/set/setUp.vue b/pages/mine/set/setUp.vue
index f09afcc..df48137 100644
--- a/pages/mine/set/setUp.vue
+++ b/pages/mine/set/setUp.vue
@@ -49,7 +49,7 @@ export default {
if (url == "/pages/set/securityCenter/securityCenter") {
url += `?mobile=${this.userInfo.mobile}`;
}
- this.$navigateTo({
+ uni.navigateTo({
url: url,
});
},
diff --git a/pages/navigation/search/searchPage.vue b/pages/navigation/search/searchPage.vue
index 7b76ac6..1d9fbf0 100644
--- a/pages/navigation/search/searchPage.vue
+++ b/pages/navigation/search/searchPage.vue
@@ -488,13 +488,13 @@ export default {
},
// 跳转到商品详情
navigateToDetailPage(item) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/goods?id=${item.content.id}&goodsId=${item.content.goodsId}`,
});
},
// 跳转地址
navigateToStoreDetailPage(item) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/shopPage?id=${item.content.storeId}`,
});
},
diff --git a/pages/order/afterSales/afterSales.vue b/pages/order/afterSales/afterSales.vue
index 44bc5cc..9fcdac3 100644
--- a/pages/order/afterSales/afterSales.vue
+++ b/pages/order/afterSales/afterSales.vue
@@ -352,7 +352,7 @@ export default {
* 售后详情
*/
afterDetails(order) {
- this.$navigateTo({
+ uni.navigateTo({
url: "./applyDetail?sn=" + order.sn,
});
},
@@ -395,7 +395,7 @@ export default {
...sku,
};
storage.setAfterSaleData(data);
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/order/afterSales/afterSalesSelect?sn=${sn}`,
});
},
@@ -411,7 +411,7 @@ export default {
};
storage.setAfterSaleData(data);
- this.$navigateTo({
+ uni.navigateTo({
url: `./afterSalesDetailExpress?serviceSn=${order.sn}`,
});
},
@@ -422,13 +422,13 @@ export default {
onDetail(goods, sku) {
// 售后申请
if (this.current == 0) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/goods?id=${sku.skuId}&goodsId=${
sku.goodsId || sku.goodsId
}`,
});
} else {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/goods?id=${goods.skuId}&goodsId=${
goods.goodsId || goods.goodsId
}`,
diff --git a/pages/order/afterSales/afterSalesSelect.vue b/pages/order/afterSales/afterSalesSelect.vue
index fb8e3fc..d298151 100644
--- a/pages/order/afterSales/afterSalesSelect.vue
+++ b/pages/order/afterSales/afterSalesSelect.vue
@@ -94,7 +94,7 @@ export default {
* 跳转到商品信息
*/
navigateToGoodsDetail(id) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/goods?id=${id}&goodsId=${goodsId}`,
});
},
diff --git a/pages/order/afterSales/applyDetail.vue b/pages/order/afterSales/applyDetail.vue
index 54fce3a..c8564d9 100644
--- a/pages/order/afterSales/applyDetail.vue
+++ b/pages/order/afterSales/applyDetail.vue
@@ -381,7 +381,7 @@ export default {
* 访问商品详情
*/
navgiateToGoodsDetail(item) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/goods?id=${item.id}&goodsId=${item.goodsId}`,
});
},
@@ -390,7 +390,7 @@ export default {
* 进度
*/
onProgress() {
- this.$navigateTo({
+ uni.navigateTo({
url: `./applyProgress?sn=${
this.serviceDetail.sn
}&createTime=${encodeURIComponent(this.serviceDetail.createTime)}
diff --git a/pages/order/complain/complainList.vue b/pages/order/complain/complainList.vue
index 45777d9..ccdec07 100644
--- a/pages/order/complain/complainList.vue
+++ b/pages/order/complain/complainList.vue
@@ -86,7 +86,7 @@ export default {
methods: {
// 点击跳转到商品
handleToGoods(val) {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/product/goods?id=" + val.skuId + "&goodsId=" + val.goodsId,
});
},
@@ -120,7 +120,7 @@ export default {
* 查看详情
*/
handleInfo(val) {
- this.$navigateTo({
+ uni.navigateTo({
url: "./complainInfo?id=" + val.id,
});
},
diff --git a/pages/order/evaluate/myEvaluate.vue b/pages/order/evaluate/myEvaluate.vue
index 99c5798..35dc244 100644
--- a/pages/order/evaluate/myEvaluate.vue
+++ b/pages/order/evaluate/myEvaluate.vue
@@ -219,7 +219,7 @@ export default {
*/
talkCommont(sku) {
console.log(sku);
- this.$navigateTo({
+ uni.navigateTo({
url: `./releaseEvaluate?sn=${sku.sn}&sku=${encodeURIComponent(
JSON.stringify(sku)
)}`,
@@ -270,7 +270,7 @@ export default {
* 评价详情
*/
onDetail(comment) {
- this.$navigateTo({
+ uni.navigateTo({
url:
"./evaluateDetail?comment=" +
encodeURIComponent(JSON.stringify(comment)),
diff --git a/pages/order/fillorder.vue b/pages/order/fillorder.vue
index 71aa936..e0c03a8 100644
--- a/pages/order/fillorder.vue
+++ b/pages/order/fillorder.vue
@@ -481,7 +481,7 @@ export default {
// 跳转到店铺
navigateToStore(val) {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/product/shopPage?id=" + val.storeId,
});
},
@@ -555,7 +555,7 @@ export default {
* 跳转
*/
navigateTo(url) {
- this.$navigateTo({
+ uni.navigateTo({
url,
});
},
diff --git a/pages/order/myOrder.vue b/pages/order/myOrder.vue
index 45ac708..2d1eb1c 100644
--- a/pages/order/myOrder.vue
+++ b/pages/order/myOrder.vue
@@ -326,10 +326,10 @@ export default {
// this.loadData(this.status);
},
onShow() {
- if (!this.tabCurrentIndex) {
- this.initData(0);
- } else {
-
+ if(this.$options.filters.tipsToLogin()){
+ if (!this.tabCurrentIndex) {
+ this.initData(0);
+ }
}
// this.loadData(this.status);
},
@@ -364,14 +364,14 @@ export default {
methods: {
// 售后
applyService(order) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/order/afterSales/afterSales?orderSn=${order.sn}`,
});
},
// 店铺详情
navigateToStore(val) {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/product/shopPage?id=" + val.storeId,
});
},
@@ -423,7 +423,7 @@ export default {
}).pay();
// #endif
// #ifndef MP-WEIXIN
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/cart/payment/payOrder?order_sn=" + val.sn,
});
// #endif
@@ -522,7 +522,7 @@ export default {
* 跳转到订单详情
*/
navigateToOrderDetail(sn) {
- this.$navigateTo({
+ uni.navigateTo({
url: "./orderDetail?sn=" + sn,
});
},
@@ -588,7 +588,7 @@ export default {
* 评价商品
*/
onComment(sn) {
- this.$navigateTo({
+ uni.navigateTo({
url: "./evaluate/myEvaluate",
});
},
@@ -599,7 +599,7 @@ export default {
reBuy(order) {
console.log(order);
return;
- this.$navigateTo({
+ uni.navigateTo({
url:
"/pages/product/goods?id=" + order.id + "&goodsId=" + order.goodsId,
});
@@ -609,7 +609,7 @@ export default {
* 查看物流
*/
navigateToLogistics(order) {
- this.$navigateTo({
+ uni.navigateTo({
url:
"/pages/mine/msgTips/packageMsg/logisticsDetail?order_sn=" + order.sn,
});
diff --git a/pages/order/orderDetail.vue b/pages/order/orderDetail.vue
index d1b2e88..4014a7e 100644
--- a/pages/order/orderDetail.vue
+++ b/pages/order/orderDetail.vue
@@ -277,7 +277,7 @@ export default {
},
methods: {
tostore(val) {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/product/shopPage?id=" + val.storeId,
});
},
@@ -294,7 +294,7 @@ export default {
},
// #TODO 这块需要写一下 目前没有拼团的详细信息
ByUserMessage(order) {
- this.$navigateTo({
+ uni.navigateTo({
url:
"/pages/cart/payment/shareOrderGoods?sn=" +
order.sn +
@@ -318,12 +318,12 @@ export default {
});
},
onReceipt(val) {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/order/invoice/invoiceDetail?id=" + val.id,
});
},
gotoGoodsDetail(sku) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/goods?id=${sku.skuId}&goodsId=${sku.goodsId}`,
});
},
@@ -363,7 +363,7 @@ export default {
* 投诉
*/
complaint(sku) {
- this.$navigateTo({
+ uni.navigateTo({
url:
"/pages/order/complain/complain?sn=" +
this.sn +
@@ -373,7 +373,7 @@ export default {
},
//售后按钮
onAfterSales(sn, sku) {
- this.$navigateTo({
+ uni.navigateTo({
url: `./afterSales/afterSalesSelect?sn=${sn}&sku=${encodeURIComponent(
JSON.stringify(sku)
)}`,
@@ -382,7 +382,7 @@ export default {
// 去支付
toPay(val) {
val.sn
- ? this.$navigateTo({
+ ? uni.navigateTo({
url: "/pages/cart/payment/payOrder?order_sn=" + val.sn,
})
: false;
@@ -459,12 +459,12 @@ export default {
},
//评价商品
onComment(sn) {
- this.$navigateTo({
+ uni.navigateTo({
url: "./evaluate/myEvaluate",
});
}, //查看物流
onLogistics(order) {
- this.$navigateTo({
+ uni.navigateTo({
url:
"/pages/mine/msgTips/packageMsg/logisticsDetail?logi_id=" +
order.logi_id +
@@ -480,7 +480,7 @@ export default {
this.reason = reason;
},
reBuy(order) {
- this.$navigateTo({
+ uni.navigateTo({
url:
"/pages/product/goods?id=" + order.id + "&goodsId=" + order.goodsId,
});
diff --git a/pages/passport/login.vue b/pages/passport/login.vue
index b2e2d5d..227da4e 100644
--- a/pages/passport/login.vue
+++ b/pages/passport/login.vue
@@ -545,7 +545,7 @@ export default {
if (user.data.result.mobile) {
whetherNavigate();
} else {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/passport/bindUserPhone",
});
}
@@ -639,13 +639,13 @@ export default {
},
// 跳转
navigateToPrivacy(val) {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/mine/help/tips?type=" + val,
});
console.log(val)
},
navigateToPrivacys(val){
- this.$navigateTo({
+ uni.navigateTo({
url:"/pages/mine/help/tips?type="+ val,
})
},
diff --git a/pages/product/goods.vue b/pages/product/goods.vue
index 418295a..76ac9e1 100644
--- a/pages/product/goods.vue
+++ b/pages/product/goods.vue
@@ -710,13 +710,13 @@ export default {
linkMsgDetail() {
// lili 基础客服
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/tabbar/home/web-view?IM=${this.storeDetail.storeId}`,
});
// udesk 代码
// if (this.storeDetail.merchantEuid) {
- // this.$navigateTo({
+ // uni.navigateTo({
// url: `/pages/tabbar/home/web-view?src=${this.IM}`,
// });
// }
@@ -736,7 +736,7 @@ export default {
// sign: this.storeDetail.yzfSign,
// mpSign: this.storeDetail.yzfMpSign,
// };
- // this.$navigateTo({
+ // uni.navigateTo({
// url:
// "/pages/product/customerservice/index?params=" +
// encodeURIComponent(JSON.stringify(params)),
@@ -744,7 +744,7 @@ export default {
// // #endif
// // #ifndef MP-WEIXIN
// const sign = this.storeDetail.yzfSign;
- // this.$navigateTo({
+ // uni.navigateTo({
// url:
// "/pages/tabbar/home/web-view?src=https://yzf.qq.com/xv/web/static/chat/index.html?sign=" +
// sign,
@@ -908,7 +908,7 @@ export default {
* 跳转到店铺页面
*/
navigateToStore(store_id) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/shopPage?id=` + store_id,
});
},
diff --git a/pages/product/product/evaluation/-evaluation.vue b/pages/product/product/evaluation/-evaluation.vue
index e19c39b..27ad2fd 100644
--- a/pages/product/product/evaluation/-evaluation.vue
+++ b/pages/product/product/evaluation/-evaluation.vue
@@ -94,7 +94,7 @@ export default {
);
},
toComment(id, grade) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/comment?id=${id}&grade=${grade}`,
});
},
diff --git a/pages/product/product/popup/address.vue b/pages/product/product/popup/address.vue
index a2a4829..50ce0b9 100644
--- a/pages/product/product/popup/address.vue
+++ b/pages/product/product/popup/address.vue
@@ -54,7 +54,7 @@ export default {
this.getShippingAddress()
}
else{
- this.$navigateTo({
+ uni.navigateTo({
url: 'pages/passport/login'
});
}
@@ -71,7 +71,7 @@ export default {
getpicker() {
// this.$refs.cityPicker.show();
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/mine/address/add",
});
this.closeAddress();
diff --git a/pages/product/product/shop/-shop.vue b/pages/product/product/shop/-shop.vue
index 2ab359c..3220628 100644
--- a/pages/product/product/shop/-shop.vue
+++ b/pages/product/product/shop/-shop.vue
@@ -57,13 +57,13 @@ export default {
},
// 点击商品
clickGoods(val) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/goods?id=${val.content.id}&goodsId=${val.content.goodsId}`,
});
},
tostorePage(val) {
- this.$navigateTo({
+ uni.navigateTo({
url: "../product/shopPage?id=" + val.storeId,
});
},
diff --git a/pages/product/shopList.vue b/pages/product/shopList.vue
index 8ba4ecc..c91daa8 100644
--- a/pages/product/shopList.vue
+++ b/pages/product/shopList.vue
@@ -74,7 +74,7 @@ export default {
},
methods: {
handleClickStore(val){
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/shopPage?id=${val.id}`
});
},
diff --git a/pages/product/shopPage.vue b/pages/product/shopPage.vue
index f7b018b..cbceb11 100644
--- a/pages/product/shopPage.vue
+++ b/pages/product/shopPage.vue
@@ -152,7 +152,7 @@ export default {
methods: {
getStoreLicencePhoto() {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/licencePhoto?id=${this.storeId}`,
});
},
@@ -190,7 +190,7 @@ export default {
// sign: this.storeInfo.yzfSign,
// mpSign: this.storeInfo.yzfMpSign,
// };
- // this.$navigateTo({
+ // uni.navigateTo({
// url:
// "/pages/product/customerservice/index?params=" +
// encodeURIComponent(JSON.stringify(params)),
@@ -198,14 +198,14 @@ export default {
// // #endif
// // #ifndef MP-WEIXIN
// const sign = this.storeInfo.yzfSign;
- // this.$navigateTo({
+ // uni.navigateTo({
// url:
// "/pages/tabbar/home/web-view?src=https://yzf.qq.com/xv/web/static/chat/index.html?sign=" +
// sign,
// });
// // #endif
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/tabbar/home/web-view?IM=${this.storeId}`,
});
},
@@ -227,7 +227,7 @@ export default {
/**商品分类中商品集合 */
getCategoryGoodsList(val) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/shopPageGoods?title=${val.labelName}&id=${val.id}&storeId=${this.storeId}`,
});
},
@@ -237,7 +237,7 @@ export default {
*/
search() {
console.log("点击")
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/navigation/search/searchPage?storeId=${this.storeId}&keyword=${this.keyword}`,
});
},
diff --git a/pages/promotion/bargain/detail.vue b/pages/promotion/bargain/detail.vue
index 52cf0dc..185407d 100644
--- a/pages/promotion/bargain/detail.vue
+++ b/pages/promotion/bargain/detail.vue
@@ -3,7 +3,7 @@
-
+
@@ -106,10 +106,6 @@
-
-
-
-
@@ -352,11 +348,11 @@ page {
align-items: center;
padding: 10rpx 0;
}
-.wrapper {
- background: url("https://lilishop-oss.oss-cn-beijing.aliyuncs.com/aac88f4e8eff452a8010af42c4560b04.png");
+.wrapper-box {
+ background: url("https://lili-system.oss-cn-beijing.aliyuncs.com/kanjia.png");
background-repeat: no-repeat;
background-size: 100% 100%;
- height: 700rpx;
+ height: 506rpx;
width: 100%;
}
@@ -371,16 +367,16 @@ page {
}
}
.box1 {
- top: 750rpx;
+ top: 560rpx;
}
.box2 {
- top: 770rpx;
+ top: 580rpx;
}
.box3 {
- top: 790rpx;
+ top: 600rpx;
}
.box4 {
- top: 810rpx;
+ top: 620 rpx;
height: 200rpx;
}
.bargain-item {
diff --git a/pages/promotion/bargain/list.vue b/pages/promotion/bargain/list.vue
index b80f856..d553050 100644
--- a/pages/promotion/bargain/list.vue
+++ b/pages/promotion/bargain/list.vue
@@ -6,22 +6,7 @@
-
-
-
-
-
-
-
- {{item.goodsName}}
-
-
-
最低:¥{{item.purchasePrice | unitPrice}}
-
参与砍价
-
-
-
-
+
@@ -32,7 +17,9 @@
diff --git a/pages/promotion/lives.vue b/pages/promotion/lives.vue
index eeedaad..bd0a728 100644
--- a/pages/promotion/lives.vue
+++ b/pages/promotion/lives.vue
@@ -229,7 +229,7 @@ export default {
let customParams = encodeURIComponent(
JSON.stringify({ path: "pages/index/index", pid: 1 })
); // 开发者在直播间页面路径上携带自定义参数,后续可以在分享卡片链接和跳转至商详页时获取,详见【获取自定义参数】、【直播间到商详页面携带参数】章节(上限600个字符,超过部分会被截断)
- this.$navigateTo({
+ uni.navigateTo({
url:
"plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=" +
roomId +
diff --git a/pages/promotion/point/pointList.vue b/pages/promotion/point/pointList.vue
index c34799a..59ddfd6 100644
--- a/pages/promotion/point/pointList.vue
+++ b/pages/promotion/point/pointList.vue
@@ -23,8 +23,8 @@
{{ item.goodsName }}
-
- {{ item.points }}积分
+
+ {{ item.points }}积分
¥{{ item.originalPrice | unitPrice }}
@@ -137,14 +137,14 @@ export default {
methods: {
// 跳转
navigateTo(url) {
- this.$navigateTo({
+ uni.navigateTo({
url,
});
},
toGoods(item) {
//跳转详情
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/promotion/point/detail?id=${item.id}`,
});
},
@@ -194,46 +194,12 @@ page {
height: 100%;
}
.tipsMkt {
- float: right;
color: #c0c4cc;
- font-size: 24rpx;
+ font-size: 24rpx !important;
text-decoration: line-through;
- margin-right: 20rpx;
+ margin-right: 20rpx !important;
}
-.header {
- background: $light-color;
- position: relative;
- color: #fff;
- display: flex;
- height: 80rpx;
- align-items: center;
- justify-content: center;
- font-size: 26rpx;
- font-size: 34rpx;
-
- .left,
- .right {
- position: absolute;
- width: max-content;
- height: max-content;
- top: 0;
- bottom: 0;
- margin: auto;
- }
-
- .left {
- float: left;
- top: 0;
- bottom: 0;
- left: 20rpx;
- }
-
- .right {
- float: right;
- right: 20rpx;
- }
-}
.index {
height: 100vh;
@@ -341,15 +307,19 @@ page {
overflow: hidden;
}
-.index-item-title-desc {
- font-size: 25rpx;
- color: #999999;
- margin-top: 10rpx;
-}
+
.index-item-price {
font-size: 28rpx;
- color: #ff5a10;
+ overflow: hidden;
+ color: $main-color;
padding: 20rpx 0 0 20rpx;
+ >.point{
+ >span{
+ font-size: 42rpx;
+ font-weight: bold;
+ margin-right:10rpx;
+ }
+ }
}
diff --git a/pages/promotion/seckill.vue b/pages/promotion/seckill.vue
index 2f5a527..5d1566b 100644
--- a/pages/promotion/seckill.vue
+++ b/pages/promotion/seckill.vue
@@ -1,7 +1,8 @@
-
-
-
+
+
+
@@ -14,10 +15,7 @@
-
- {{ timeLine[nav].distanceStartTime === 0 ? (onlyOne ? '距结束' : '距下一轮') : '距开始' }}
- {{ times.hours == '00' ? '0' : times.hours }}小时{{ times.minutes }}分{{ times.seconds }}秒
-
+
@@ -39,7 +37,7 @@
getSeckillTimeGoods
} from "@/api/promotions.js";
import Foundation from "@/utils/Foundation.js";
- import goodsTemplate from '@/components/m-goods-list/seckill.vue'
+ import goodsTemplate from '@/components/m-goods-list/promotion.vue'
export default {
components: {
goodsTemplate
@@ -184,10 +182,15 @@
}
}
- .sale-head {
- image {
- width: 100%;
- height: 280rpx;
+ .header-wraper {
+ background: url('/static/bg.png');
+ height: 200rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ >image{
+ width: 300rpx;
+ height: 100rpx;
}
}
@@ -195,22 +198,8 @@
padding-top: 20rpx;
}
- .trailer {
- height: 100rpx;
- background: #ffffff;
- display: -webkit-box;
- display: -webkit-flex;
- display: flex;
- justify-content: center;
- align-items: center;
- font-size: 22rpx;
- color: #666666;
- box-sizing: border-box;
- position: relative;
- z-index: 0;
- }
-
- .index-navs {
+ .index-navs {
+ background: #fff;
background-color: #f7f7f7;
display: -webkit-box;
display: -webkit-flex;
@@ -240,24 +229,26 @@
color: #bababa;
height: 115rpx;
line-height: 1em;
- position: relative;
+ position: relative;
+ font-size: 32rpx;
+ font-weight: bold;
&-active {
- background-image: url(/static/seckill/active.png);
- background-size: 100% 115rpx;
- background-repeat: no-repeat;
- color: #ffffff;
+ color: $main-color;
position: relative;
- z-index: 30;
-
+ z-index: 30;
.index-nav-desc {
- color: #ffffff;
+ color: #fff;
+ font-weight: bold;
+ background: $main-color;
+ padding: 6rpx 16rpx;
+ border-radius: 50px;
}
}
}
.index-nav-desc {
- margin-top: 8rpx;
+ margin-top: 8rpx;
font-size: 22rpx;
color: #bababa;
}
diff --git a/pages/tabbar/cart/cartList.vue b/pages/tabbar/cart/cartList.vue
index 097c700..0842a42 100644
--- a/pages/tabbar/cart/cartList.vue
+++ b/pages/tabbar/cart/cartList.vue
@@ -343,7 +343,7 @@ export default {
* 跳转到店铺
*/
navigateToStore(val) {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/product/shopPage?id=" + val.storeId,
});
},
@@ -352,7 +352,7 @@ export default {
* 跳转到优惠券
*/
navigateToConpon(val) {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/cart/coupon/couponCenter?storeId=" + val.storeId,
});
},
@@ -361,7 +361,7 @@ export default {
* 跳转到商品
*/
navigateToGoods(val) {
- this.$navigateTo({
+ uni.navigateTo({
url:
"/pages/product/goods?id=" +
val.goodsSku.id +
@@ -437,7 +437,7 @@ export default {
* 跳转
*/
navigateTo(url) {
- this.$navigateTo({
+ uni.navigateTo({
url,
});
},
diff --git a/pages/tabbar/category/category.vue b/pages/tabbar/category/category.vue
index 2eb7f92..4c7feeb 100644
--- a/pages/tabbar/category/category.vue
+++ b/pages/tabbar/category/category.vue
@@ -57,7 +57,7 @@ export default {
* 查询
*/
search() {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/navigation/search/searchPage",
});
},
@@ -90,7 +90,7 @@ export default {
},
navigateToList(sid, tid) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/navigation/search/searchPage?category=${tid}`,
});
},
diff --git a/pages/tabbar/home/template/tpl_goods.vue b/pages/tabbar/home/template/tpl_goods.vue
index 57e6acc..5bcc728 100644
--- a/pages/tabbar/home/template/tpl_goods.vue
+++ b/pages/tabbar/home/template/tpl_goods.vue
@@ -24,7 +24,9 @@
{{ item.title }}
-
¥{{ item.price | unitPrice }}
+
¥{{ formatPrice(item.price )[0] }} .{{
+ formatPrice(item.price )[1]
+ }}
@@ -56,8 +58,15 @@ export default {
},
mounted() {},
methods: {
+ // 格式化金钱 1999 --> [1999,00]
+ formatPrice(val) {
+ if (typeof val == "undefined") {
+ return val;
+ }
+ return val.toFixed(2).split(".");
+ },
handleClick(item) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/product/goods?id=${item.id}&goodsId=${item.goodsId}`,
});
},
@@ -163,13 +172,11 @@ $w_94: 94%;
> .goods-price {
line-height: 2;
color: $main-color;
+ >span{
+ font-size: 42rpx;
+ }
}
}
}
-.goods-icon {
- right: 10rpx;
- top: 10rpx;
- position: absolute;
-}
diff --git a/pages/tabbar/home/template/tpl_promotions_detail.vue b/pages/tabbar/home/template/tpl_promotions_detail.vue
index 7b411a8..bc146cc 100644
--- a/pages/tabbar/home/template/tpl_promotions_detail.vue
+++ b/pages/tabbar/home/template/tpl_promotions_detail.vue
@@ -147,22 +147,22 @@ export default {
goToDetail(type) {
switch(type) {
case "SECKILL":
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/promotion/seckill`,
});
break;
case "PINTUAN":
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/promotion/joinGroup`,
});
break;
case "LIVE":
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/promotion/lives`,
});
break;
case "KANJIA":
- this.$navigateTo({
+ uni.navigateTo({
url: `/pages/promotion/bargain/list`,
});
break;
diff --git a/pages/tabbar/home/template/tpl_search.vue b/pages/tabbar/home/template/tpl_search.vue
index ac3bcd6..2bbc598 100644
--- a/pages/tabbar/home/template/tpl_search.vue
+++ b/pages/tabbar/home/template/tpl_search.vue
@@ -12,7 +12,7 @@ export default {
props: ["res"],
methods: {
handleSearch() {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/navigation/search/searchPage",
});
},
diff --git a/pages/tabbar/home/views.vue b/pages/tabbar/home/views.vue
index 4c4ef73..39c7e6d 100644
--- a/pages/tabbar/home/views.vue
+++ b/pages/tabbar/home/views.vue
@@ -150,18 +150,18 @@ export default {
// WX_CODE 为小程序码
if (res.scanType == "WX_CODE") {
console.log(res);
- this.$navigateTo({
+ uni.navigateTo({
url: `/${res.path}`,
});
} else {
config.scanAuthNavigation.forEach((src) => {
if (res.result.indexOf(src) != -1) {
- this.$navigateTo({
+ uni.navigateTo({
url: `/${res.result.substring(src.length)}`,
});
} else {
setTimeout(() => {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/tabbar/home/web-view?src=" + path,
});
}, 100);
diff --git a/pages/tabbar/screen/fullScreen.vue b/pages/tabbar/screen/fullScreen.vue
index 0aeda05..f089fa2 100644
--- a/pages/tabbar/screen/fullScreen.vue
+++ b/pages/tabbar/screen/fullScreen.vue
@@ -45,14 +45,14 @@ export default {
// },
methods: {
gotoLink() {
- this.$navigateTo({
+ uni.navigateTo({
//点击跳转到浏览器
url:
"/pages/tabbar/home/web-view?src=https://pc-b2b2c.pickmall.cn/article/detail?id=1371992704333905920",
});
},
gotoB() {
- this.$navigateTo({
+ uni.navigateTo({
url:
"/pages/tabbar/home/web-view?src=https://pc-b2b2c.pickmall.cn/article/detail?id=1371779927900160000",
});
diff --git a/pages/tabbar/user/my.vue b/pages/tabbar/user/my.vue
index 4553e1d..ce2cb3f 100644
--- a/pages/tabbar/user/my.vue
+++ b/pages/tabbar/user/my.vue
@@ -122,7 +122,7 @@ export default {
* navigator标签现在默认没有转场动画,所以用view
*/
navigateTo(url) {
- this.$navigateTo({
+ uni.navigateTo({
url,
});
},
diff --git a/pages/tabbar/user/similarGoods.vue b/pages/tabbar/user/similarGoods.vue
index da7ff9c..b182475 100644
--- a/pages/tabbar/user/similarGoods.vue
+++ b/pages/tabbar/user/similarGoods.vue
@@ -73,7 +73,7 @@
})
},
goDetail(item) {
- this.$navigateTo({
+ uni.navigateTo({
url: '/pages/product/goods?id=' + item.content.id + "&goodsId=" +item.content.goodsId
})
},
diff --git a/pages/tabbar/user/utils/tool.vue b/pages/tabbar/user/utils/tool.vue
index f29e323..1e93b1b 100644
--- a/pages/tabbar/user/utils/tool.vue
+++ b/pages/tabbar/user/utils/tool.vue
@@ -69,7 +69,7 @@ import { distribution } from "@/api/goods";
export default {
methods: {
navigateTo(url) {
- this.$navigateTo({
+ uni.navigateTo({
url,
});
},
@@ -78,11 +78,11 @@ export default {
if (res.data.result) {
let type = res.data.result.distributionStatus;
if (type == "PASS") {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/mine/distribution/home",
});
} else if (type == "REFUSE") {
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/mine/distribution/auth",
});
} else if (type == "RETREAT") {
@@ -106,7 +106,7 @@ export default {
});
} else {
// 没有资格申请 先去实名认证
- this.$navigateTo({
+ uni.navigateTo({
url: "/pages/mine/distribution/auth",
});
}
diff --git a/static/bg.png b/static/bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..d5c2b11a99554632208dbab3d6e7c5b47690a639
GIT binary patch
literal 5295
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
z
zYP*0?icazNiuHGuQ$dB^$7yyxDxoo-#*PMCaA(tRfUf`W+=21mmD=c
zIQglFPrgkVA`Pfi;AAiC+IoSa#gcc<*|H{I29z(u$4SkKde7Q(<+KuikWl}*_7YQJgS-y8k-1
zU0~{;e?=+mS3D~7Wv0v^?GS5kL5Y^-oFDf5z*}i~GPVtjd1caK{1iLg-1(XXCZ$*z
z@vu9tiQHYEQgYUsm`3Iln>^ABOqR0-`^n8S)|kKp__*o?re!P|Z)r91nXq>(XK#-N3g$cMOSMxbP=NHevg2oA|0t#2BmL)YG^c>|
z7!n!r;Ew?hLEsD~;dj3G?7zAE?eg}r>K|SI!Dg17fi)6`#EgSH$Alr%;Yje!32MA=
zyldwv0C6NzhbePh&gQMSi$ksw!uAfPN4)^x#T0sFUUYJ@
zvi$ugMexczg}oPHl=moc23+$6CK6YiR$3XEa{q~^hyp)zB?TiITj-t9eq
z2z$$;MKIfMZ^7zYcKOXr!#qbyc!gVgW%jSbCRsuJ?r~ngABnTatCIb
zq|X4#6(Ibly`4I`iFyBAzQKTy?e`Udq>PulG#G?&dd|oYdA;Sh2q;VWz5AYU7Bn2V{fF-0$_xX
z`!kmC(dH*}x06CvU$)b5?XdY=YWZ_C8~H9QpY+9aXz+PwexcRF(yOzL%d%>IZ&sF+
zGm7ayh?oE*_>i%@CjEEx1jO2qH9kzX_O7K59rL<}U7u+t5BIDnZF!98-#I7ZiLutN
z0vPj&0Z>SB*smH!hXA#?BiVFdJ2z&Yl3a*7$13%Lee9*~bGLRf_QF*CzK`<0%|q4_EI-f
zsri>ws#h21q50m@y4@i$It!vT$P8loKXr-%-p0r74i0OA=}?&MbhkO&jO(hBPLI2J
zsD_y7S(=B&7`-Kbxhd0I002a=yukFEu-SCah%l9f-KlL3@5UfQza1Lqp;3Z*Z#&R>
zebAo)Xoy8qW?p~z{jRrAdX$Z%zP&R+n{GpYixs9#+r_$9*^05^OE+K@{rZHPW`Zb*y%$S
z1ck6R{=BVS4;ekc>#?}NwEpz>+skB3M#<)uok6qv9zJ8n-)HD2KRar`Jqigzd*W
z3j4ntN|t448fMMJA^(O6BX~X^b1A}zmeIve-i;j3$ZD%|zVNiV?|&aN#qT%5lWThn
z+5Fa{5^m}KX>UHl7<*%T>mL9SKF(O;aR1wA%zDSV4~3QdqmmqV_T5yu&!v;iO06n4
z|G+|WSHEA+o{fYUeOv-yEbJ{XWsdse4;kLRU1AE^Pvbb6)*^#qamM7dVvO
zzEOsy@yAa9oOABu{%m<=vKjnUeCk@Y-VizB^Bz&=ujEC~ac>{Q*FdTF5^3Y{!bsqOCWJ_Y7xatw8h`=$ICy2s5cA3)TA(NJN`gIa^U9brB>^a6
z{1kb;K&;FopoeaTABFD6NuGJx`-lZ@@C?S!E7J?H&DhX?Pmm(7GuHaQHF>m~+gktt
zMELj#v(gfz=8{<80B;7Sd|$AG6+8ok{q_dx?~1tvj+a3gf4V{#fWRa85WF&dA;zZ^
z3)*TB4ld{myaIi}*a9BG2M*r8Fk&?@aRSc;<4<3pfA9#fgQ+)E^=D8Cb}#_|z~~@W
zrZXw+w_lun)IiP=8uzv}>8sxPCj{wJcOx=lI;{z)<2wd
zpds1a4gC`UZ~-PB000001_sATf>(ph*Z=@9Iv)(>000007#A!s0RR91U|?X%00000
zU|?X%00000U|?X%00000U|?X%00000U|>GI1pr_qki0;a+#QtAzbx3n3Z4N>82~cC
z(BBv69{_L#3rqk2000;mm@)tW000;mm@)tW000=6{{bPF@|42%c}V~O002ovPDHLk
FV1hp?rH%jq
literal 0
HcmV?d00001
diff --git a/static/join-buy.png b/static/join-buy.png
new file mode 100644
index 0000000000000000000000000000000000000000..5928d535afdb26995a56c0c7e610d08e6030dc7d
GIT binary patch
literal 6887
zcmai(^*
8)iBu$DJCJ$J9(5(|Lwr>X^>Y
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
O3P)Q*U%g({F6w_cN;=B`
literal 0
HcmV?d00001
diff --git a/static/seckill.png b/static/seckill.png
new file mode 100644
index 0000000000000000000000000000000000000000..795cb1cec7fb47bd52a0e60dc4314868439d0bbc
GIT binary patch
literal 1423
zcmb7Ek2e!~6kp``m_($MtrZblrATC=@QxhiXMSW)QA@q~t;U{BWBC#5mn0E!BsD)?
z`O&Z?#Y=u9n&Ox+X2uX3w)TDV-e2(UIrn}(=bm%V=iYnHz3HAFE}H6w>JSJ-)6LcS
zj2!3XZl|g!kNDztyd3zR?%pTl2>zD|L%@_S5I6$+x0;E5H
zx4S*|je(pj$szW`VR(s95u1i$z|
zG7MxQAX@-yy1X#*Z#E0IJPrEnvjE5Hl!z39OX$vEUjU)<}
ze}$Mpvkn+u7)LeI?)roGh(vN&Z1?u!R9B=k{>zN$|7?b_U7u5
zn~!L`pH%L$PGspBP)qV`qHLot>W=4hyOh2fVd
zs?C6A5Lx4>bt3fi;wxpBS~ctM4uOgLqivmfEXEA9TUccgXo^LzyJ)k+f%0sXXqy}M
zItgl)gEOPYJ6n`~JL|*74)#VU(KiHZ*j<|+onem?>I^N=*p)ckcX~=!e)MY=h1^P%
zQQM-7vhSsh$UQo4n2HQ!I83NZndsVw~q&
zLn6ec?+eo7SQ=^Nq%&@eZVjvzRUZ$8EQ2B^2twc+ieEtsy0Q#^pOTDt#qJaIZVxXgjp(3pWM7
z?QS|;9hOnro^gNAF7*zoBQD~j&M8gOAdmKeVk0RVZ^zm0a{2V91tDfGfs_>Ze7vYR
zM)jFO_R&RF%vef5?viS<%QAEFvD21?{xmCnX-WgnQYGE!G&A#S@n_-oO9aobA@}B(
zyu#3?e8o@0%{?PR4wEQ}hbV_jO|E&Hzr2Bn_mR>4nhJFn=cT0qEkSV~Mjo`COE`jl
z6SZ1fy%PUg;|}R?+e1QA)fsqm`xa@&U?n5S(9au|2{M{Sv(GW3tZJA27P|)6o$QVJ
zS5Cqor@?R>`r0ApS!R?jJ7RTdQq;FCw1P1V!%?bl23shBs>_Hr7w~YuS?Nn35p#F0
zZD|-Xfa)yZUr(w*v=P~vNe9(%mMcaz-oci)%%4-sKF{^T1=NOkVvTL77ZM8+L#N%x
zq$pKfm>-G~ce5(aJ{fbYc2we^t>T+zWj3IA;DL#_#mcPBv6rsDdc_r`%oP!lW*5Ik
z>#=d8G|?=dTCEkuG590UxG2MSo>;Foz_t1w?i#^ZgA0V_N%9T~l09pBCG=oMxQ56n
z;FT7&uCi#jLVaPGUUi+Y629-6AG-L>zk6_dDd1D*`PyR2RN*OVm49QWN)HjCwWCSF
zH+EV)OR>U>e-$`0Bvku%9bzM)EXPmR|0DVT
zNAZEk2wtEdNFvJRk;$%>gz6Oai%~
zUswpoRe526O`-$hvT#3xQm||Dl2)
zE)W6PASs}F{{Id@jeMz|%MJoP=1~&l7yO^$_(`*WR!f%3eETlf)XeqdX>0=H=`(gK
zSIPfSXlv(r{vt8u+lA+~cXji&8v0zts9B@V|bOm2>qPi`Vv@
zQGLLGboO*{45?szbC8jdfq{iV;op2S=8%v4K-(w)6CQ_He`&Z8Ai}^{uzg$ZZI4%1
z_Wtios<*vz)AG<3MMvxUnej7jTw2Q2DzJR-4(QdaKTw{o1|bC#&kM2$v33t&7J#
zaWREWpPG@*%lJBE(cDg6lbdq_7Ol-Rxw%MaZSLZOd{Z;>%jHVHeVh8?5ko28N*8hW
z<14HzgBHyW4w)O+nRiYgTe~DWM4fo$nQP
diff --git a/uni.scss b/uni.scss
index 20c6fca..c8a7b34 100644
--- a/uni.scss
+++ b/uni.scss
@@ -149,6 +149,9 @@ $font-weight: 400;
}
.flex-a-c{
align-items: center;
+}
+.flex-j-sb{
+ justify-content: space-between;
}
.relative {
position: relative;
diff --git a/utils/filters.js b/utils/filters.js
index 312ae57..9635a05 100644
--- a/utils/filters.js
+++ b/utils/filters.js
@@ -1,5 +1,7 @@
import Foundation from "./Foundation.js";
import storage from "@/utils/storage.js";
+import { getUserInfo } from '@/api/members';
+import Vue from "vue";
/**
* 金钱单位置换 2999 --> 2,999.00
* @param val
@@ -99,12 +101,46 @@ export function clearStrComma(str) {
export function isLogin(val) {
let userInfo = storage.getUserInfo();
if (val == "auth") {
- return userInfo.id ? true : false;
+ return userInfo && userInfo.id ? true : false;
} else {
return storage.getUserInfo();
}
}
+
+export function tipsToLogin(){
+if(!isLogin('auth')){
+ uni.showModal({
+ title: "提示",
+ content: "当前用户未登录是否登录?",
+ confirmText: "确定",
+ cancelText: "取消",
+ confirmColor:Vue.prototype.$mainColor,
+ success: res => {
+ if (res.confirm) {
+ navigateToLogin()
+ } else if (res.cancel) {
+ uni.navigateBack()
+ }
+ },
+ })
+ return
+ }
+}
+
+
+
+/**
+ * 获取用户信息并重新添加到缓存里面
+ */
+export async function userInfo(){
+ let res = await getUserInfo();
+ if(res.data.success){
+ storage.setUserInfo(res.data.result);
+ return res.data.result
+ }
+}
+
/**
* 验证是否登录如果没登录则去登录
* @param {*} val
@@ -113,7 +149,7 @@ export function isLogin(val) {
export function forceLogin() {
let userInfo = storage.getUserInfo();
- if (!userInfo.id) {
+ if (!userInfo || !userInfo.id) {
// #ifdef MP-WEIXIN
uni.navigateTo({
diff --git a/utils/navigateRoute.js b/utils/navigateRoute.js
deleted file mode 100644
index 71df628..0000000
--- a/utils/navigateRoute.js
+++ /dev/null
@@ -1,24 +0,0 @@
-export function navigateTo({url}) {
- // #ifdef MP-WEIXIN
- //判断当前页面栈的长度
- if (getCurrentPages().length >= 8) {
- //超过八层的时候跳转销毁当前页面,十层的时候手机应该会很卡;
- uni.redirectTo({
- url: url,
- success: function (res) {},
- fail: function (res) {},
- complete: function (res) {},
- });
- } else {
- uni.navigateTo({
- url: url,
- });
- }
- // #endif
-
- // #ifndef MP-WEIXIN
- uni.navigateTo({
- url: url,
- });
- // #endif
-}
diff --git a/utils/request.js b/utils/request.js
index e7b0ccc..4e10df5 100644
--- a/utils/request.js
+++ b/utils/request.js
@@ -1,194 +1,206 @@
-import Request from "@/lib/request/index.js";
-import { refreshTokenFn } from "@/api/login.js";
-import storage from "@/utils/storage.js";
-import { md5 } from "@/utils/md5.js";
-import Foundation from "@/utils/Foundation.js";
-import api from "@/config/api.js";
-
-import uuid from "@/utils/uuid.modified.js";
-
-
-let isNavigateTo = false
-
-function cleanStorage() {
- uni.showToast({
- title: "你的登录状态已过期,请重新登录",
- icon: "none",
- duration: 1500,
- });
- if (uni.showLoading()) {
- uni.hideLoading();
- }
-
- storage.setHasLogin(false);
- storage.setAccessToken("");
- storage.setRefreshToken("");
- console.log("清空token");
- storage.setUuid("");
- storage.setUserInfo({});
-
-
- if(!isNavigateTo){
- isNavigateTo= true
- // 防抖处理跳转
- // #ifdef MP-WEIXIN
- uni.navigateTo({
- url: "/pages/passport/wechatMPLogin",
- });
- // #endif
- // #ifndef MP-WEIXIN
- uni.navigateTo({
- url: "/pages/passport/login",
- });
- // #endif
- }
-}
-
-let http = new Request();
-
-
-http.setConfig((config) => {
- // 没有uuid创建
- if (!storage.getUuid()) {
- storage.setUuid(uuid.v1());
- }
-
- /* 设置全局配置 */
- config.baseURL = api.buyer;
- config.header = {
- ...config.header,
- };
- config.validateStatus = (statusCode) => {
- // 不论什么状态,统一在正确中处理
- return true;
- };
- return config;
-});
-
-http.interceptors.request.use(
- (config) => {
- /* 请求之前拦截器。可以使用async await 做异步操作 */
- let accessToken = storage.getAccessToken();
- if (accessToken) {
- const nonce = Foundation.randomString(6);
- const timestamp = parseInt(new Date().getTime() / 1000);
- const sign = md5(nonce + timestamp + accessToken);
- const _params = {
- nonce,
- timestamp,
- sign,
- };
- let params = config.params || {};
- params = { ...params, ..._params };
-
- config.params = params;
- config.header.accessToken = accessToken;
-
-
- }
- config.header = {
- ...config.header,
- uuid: storage.getUuid() || uuid.v1(),
- };
- return config;
- },
- (config) => {
- return Promise.reject(config);
- }
-);
-
-
-// 是否正在刷新的标记
-let isRefreshing = false;
-//重试队列
-let requests = [];
-// 必须使用异步函数,注意
-http.interceptors.response.use(
- async (response) => {
- isNavigateTo = false
- /* 请求之后拦截器。可以使用async await 做异步操作 */
- // token存在并且token过期
- // if (isRefreshing && response.statusCode === 403) {
- // cleanStorage();
- // isRefreshing = false;
- // }
-
- let token = storage.getAccessToken();
- if (
- (token && response.statusCode === 403) ||
- response.data.status === 403
- ) {
- if (!isRefreshing) {
- console.log('旧token',token)
- isRefreshing = true;
- storage.setAccessToken('')
- let oldRefreshToken = storage.getRefreshToken();
- //调用刷新token的接口
- return refreshTokenFn(oldRefreshToken)
- .then((res) => {
- let { accessToken, refreshToken } = res.data.result;
- storage.setAccessToken(accessToken);
- storage.setRefreshToken(refreshToken);
-
- response.header.accessToken = `${accessToken}`;
- // token 刷新后将数组的方法重新执行
- console.log('接口队列',requests,'新token',accessToken)
- requests.forEach((cb) => cb(accessToken));
- requests = []; // 重新请求完清空
- return http.request(response.config);
- })
- .catch((err) => {
- console.log('刷新token报错'+oldRefreshToken,err)
- cleanStorage();
- return Promise.reject(err);
- })
- .finally(() => {
- isRefreshing = false;
- });
- } else {
- // 返回未执行 resolve 的 Promise
- return new Promise((resolve) => {
- // 用函数形式将 resolve 存入,等待刷新后再执行
- requests.push((token) => {
- response.header.accessToken = `${token}`;
- resolve(http.request(response.config));
- });
- });
- }
-
- // 如果当前返回没登录
- } else if (
- (!token && !storage.getRefreshToken() && response.statusCode === 403) ||
- response.data.code === 403
- ) {
- console.log('没有token 以及刷新token 内容',token,storage.getRefreshToken())
- cleanStorage();
-
- // 如果当前状态码为正常但是success为不正常时
- } else if (
- (response.statusCode == 200 && !response.data.success) ||
- response.statusCode == 400
- ) {
- if (response.data.message) {
- uni.showToast({
- title: response.data.message,
- icon: "none",
- duration: 1500,
- });
- }
- }
- return response;
- },
- (error) => {
- return error;
- }
-);
-
-export { http };
-
-export const Method = {
- GET: "GET",
- POST: "POST",
- PUT: "PUT",
- DELETE: "DELETE",
+import Request from "@/lib/request/index.js";
+import {
+ refreshTokenFn
+} from "@/api/login.js";
+import storage from "@/utils/storage.js";
+import {
+ md5
+} from "@/utils/md5.js";
+import Foundation from "@/utils/Foundation.js";
+import api from "@/config/api.js";
+
+import uuid from "@/utils/uuid.modified.js";
+
+
+let isNavigateTo = false
+
+function cleanStorage() {
+ uni.showToast({
+ title: "你的登录状态已过期,请重新登录",
+ icon: "none",
+ duration: 1500,
+ });
+ if (uni.showLoading()) {
+ uni.hideLoading();
+ }
+
+ storage.setHasLogin(false);
+ storage.setAccessToken("");
+ storage.setRefreshToken("");
+ console.log("清空token");
+ storage.setUuid("");
+ storage.setUserInfo({});
+
+
+ if (!isNavigateTo) {
+ isNavigateTo = true
+ // 防抖处理跳转
+ // #ifdef MP-WEIXIN
+ uni.navigateTo({
+ url: "/pages/passport/wechatMPLogin",
+ });
+ // #endif
+ // #ifndef MP-WEIXIN
+ uni.navigateTo({
+ url: "/pages/passport/login",
+ });
+ // #endif
+ }
+}
+
+let http = new Request();
+
+
+http.setConfig((config) => {
+ // 没有uuid创建
+ if (!storage.getUuid()) {
+ storage.setUuid(uuid.v1());
+ }
+
+ /* 设置全局配置 */
+ config.baseURL = api.buyer;
+ config.header = {
+ ...config.header,
+ };
+ config.validateStatus = (statusCode) => {
+ // 不论什么状态,统一在正确中处理
+ return true;
+ };
+ return config;
+});
+
+http.interceptors.request.use(
+ (config) => {
+ /* 请求之前拦截器。可以使用async await 做异步操作 */
+ let accessToken = storage.getAccessToken();
+ if (accessToken) {
+ const nonce = Foundation.randomString(6);
+ const timestamp = parseInt(new Date().getTime() / 1000);
+ const sign = md5(nonce + timestamp + accessToken);
+ const _params = {
+ nonce,
+ timestamp,
+ sign,
+ };
+ let params = config.params || {};
+ params = {
+ ...params,
+ ..._params
+ };
+
+ config.params = params;
+ config.header.accessToken = accessToken;
+
+
+ }
+ config.header = {
+ ...config.header,
+ uuid: storage.getUuid() || uuid.v1(),
+ };
+ return config;
+ },
+ (config) => {
+ return Promise.reject(config);
+ }
+);
+
+
+// 是否正在刷新的标记
+let isRefreshing = false;
+//重试队列
+let requests = [];
+// 必须使用异步函数,注意
+http.interceptors.response.use(
+ async (response) => {
+ isNavigateTo = false
+ /* 请求之后拦截器。可以使用async await 做异步操作 */
+ // token存在并且token过期
+ // if (isRefreshing && response.statusCode === 403) {
+ // cleanStorage();
+ // isRefreshing = false;
+ // }
+
+ let token = storage.getAccessToken();
+ if (
+ (token && response.statusCode === 403) ||
+ response.data.status === 403
+ ) {
+ if (!isRefreshing) {
+ console.log('旧token', token)
+ isRefreshing = true;
+ storage.setAccessToken('')
+ let oldRefreshToken = storage.getRefreshToken();
+ //调用刷新token的接口
+ return refreshTokenFn(oldRefreshToken)
+ .then((res) => {
+ let {
+ accessToken,
+ refreshToken
+ } = res.data.result;
+ storage.setAccessToken(accessToken);
+ storage.setRefreshToken(refreshToken);
+
+ response.header.accessToken = `${accessToken}`;
+ // token 刷新后将数组的方法重新执行
+ console.log('接口队列', requests, '新token', accessToken)
+ requests.forEach((cb) => cb(accessToken));
+ requests = []; // 重新请求完清空
+ return http.request(response.config);
+ })
+ .catch((err) => {
+ console.log('刷新token报错' + oldRefreshToken, err)
+ cleanStorage();
+ return Promise.reject(err);
+ })
+ .finally(() => {
+ isRefreshing = false;
+ });
+ } else {
+ // 返回未执行 resolve 的 Promise
+ return new Promise((resolve) => {
+ // 用函数形式将 resolve 存入,等待刷新后再执行
+ requests.push((token) => {
+ response.header.accessToken = `${token}`;
+ resolve(http.request(response.config));
+ });
+ });
+ }
+
+ // 如果当前返回没登录
+ } else if (
+ (!token && !storage.getRefreshToken() && response.statusCode === 403) ||
+ response.data.code === 403
+ ) {
+ console.log('没有token 以及刷新token 内容', token, storage.getRefreshToken())
+ cleanStorage();
+
+ // 如果当前状态码为正常但是success为不正常时
+ } else if (
+ (response.statusCode == 200 && !response.data.success) ||
+ response.statusCode == 400
+ ) {
+ if (response.data.message) {
+ uni.showToast({
+ title: response.data.message,
+ icon: "none",
+ duration: 1500,
+ });
+ }
+ }
+ return response;
+ },
+ (error) => {
+ return error;
+ }
+);
+
+export {
+ http
+};
+
+export const Method = {
+ GET: "GET",
+ POST: "POST",
+ PUT: "PUT",
+ DELETE: "DELETE",
};
diff --git a/uview-ui/components/u-parse/libs/trees.vue b/uview-ui/components/u-parse/libs/trees.vue
index a216649..0d6bac4 100644
--- a/uview-ui/components/u-parse/libs/trees.vue
+++ b/uview-ui/components/u-parse/libs/trees.vue
@@ -215,7 +215,7 @@
if (jump) {
// #ifdef MP
if (attrs['app-id']) {
- return this.$navigateToMiniProgram({
+ return uni.navigateToMiniProgram({
appId: attrs['app-id'],
path: attrs.path
})
@@ -241,7 +241,7 @@
})
// #endif
} else
- this.$navigateTo({
+ uni.navigateTo({
url: attrs.href,
fail() {
uni.switchTab({
diff --git a/uview-ui/components/u-parse/u-parse.vue b/uview-ui/components/u-parse/u-parse.vue
index 815a038..ec70d7c 100644
--- a/uview-ui/components/u-parse/u-parse.vue
+++ b/uview-ui/components/u-parse/u-parse.vue
@@ -331,7 +331,7 @@
} else if (href.indexOf('http') == 0 || href.indexOf('//') == 0)
return true;
else
- this.$navigateTo({
+ uni.navigateTo({
url: href
})
}
@@ -578,7 +578,7 @@
} else if (href.includes('://'))
plus.runtime.openWeb(href);
else
- this.$navigateTo({
+ uni.navigateTo({
url: href
})
}
diff --git a/uview-ui/components/u-toast/u-toast.vue b/uview-ui/components/u-toast/u-toast.vue
index 72ebd4a..6aad463 100644
--- a/uview-ui/components/u-toast/u-toast.vue
+++ b/uview-ui/components/u-toast/u-toast.vue
@@ -114,7 +114,7 @@
url: this.config.url
});
} else {
- this.$navigateTo({
+ uni.navigateTo({
url: this.config.url
});
}