From 4a186717d4323cc2b3554cd7af25e241a1429c3a Mon Sep 17 00:00:00 2001
From: Huakk <1751826683@qq.com>
Date: Mon, 20 May 2024 19:59:36 +0800
Subject: [PATCH] feat(custom):
---
config/index.ts | 2 +-
src/api/user.ts | 56 ++++++----
src/app.config.ts | 1 +
src/pages/goods/pay/index.scss | 6 +-
src/pages/goods/pay/index.vue | 53 ++++++---
src/pages/mer/mer_detail/index.vue | 2 +-
src/pages/users/pwd/index.config.ts | 3 +
src/pages/users/pwd/index.scss | 29 +++++
src/pages/users/pwd/index.vue | 146 +++++++++++++++++++++++++
src/pages/users/setting/index.vue | 14 ++-
src/pages/users/user_setting/index.vue | 2 +-
11 files changed, 268 insertions(+), 46 deletions(-)
create mode 100644 src/pages/users/pwd/index.config.ts
create mode 100644 src/pages/users/pwd/index.scss
create mode 100644 src/pages/users/pwd/index.vue
diff --git a/config/index.ts b/config/index.ts
index 2f6adf0..d1a5dd9 100644
--- a/config/index.ts
+++ b/config/index.ts
@@ -51,7 +51,7 @@ const config = {
prebundle: {enable: false},
},
cache: {
- enable: true, // Webpack 持久化缓存配置,建议开启。默认配置请参考:https://docs.taro.zone/docs/config-detail#cache
+ enable: false, // Webpack 持久化缓存配置,建议开启。默认配置请参考:https://docs.taro.zone/docs/config-detail#cache
},
sass: {
data: `@import "@nutui/nutui-taro/dist/styles/variables.scss";`,
diff --git a/src/api/user.ts b/src/api/user.ts
index 07a7bef..6ae9a96 100644
--- a/src/api/user.ts
+++ b/src/api/user.ts
@@ -1,81 +1,89 @@
-import request from "@/utils/request";
+import request from '@/utils/request';
// 获取用户协议
-export const getAgreement = () => request("/user/agreement", {}, "POST");
+export const getAgreement = () => request('/user/agreement', {}, 'POST');
// 登录
-export const login = (data: object) => request("/login", data, "POST");
+export const login = (data: object) => request('/login', data, 'POST');
export const phoneLogin = (data: object) =>
- request("/phone/login", data, "POST");
+ request('/phone/login', data, 'POST');
// 获取用户信息
// export const getUserInfo = () => request("/user/detail", {}, "GET");
// 获取短信验证码
export const getVerifyCode = (data: object) =>
- request("/getSmsCode", data, "POST");
+ request('/getSmsCode', data, 'POST');
// 商家入驻申请
export const applyMer = (data: object) =>
- request("/store/settle", data, "POST");
+ request('/store/settle', data, 'POST');
// 获取商家类型列表
-export const getMerTypeList = () => request("/store/getOther", {}, "POST");
+export const getMerTypeList = () => request('/store/getOther', {}, 'POST');
// 获取个人信息
-export const getPersonalInfo = () => request("/user/info", {}, "POST");
+export const getPersonalInfo = () => request('/user/info', {}, 'POST');
// 获取轮播图
-export const getBanner = () => request("/rotation", {}, "POST");
+export const getBanner = () => request('/rotation', {}, 'POST');
// 获取积分订单列表
export const getIntegralOrderList = (data: object) =>
- request("/user/pointOrder", data, "POST");
+ request('/user/pointOrder', data, 'POST');
// 修改个人信息
export const editPersonalInfo = (data: object) =>
- request("/user/editInfo", data, "POST");
+ request('/user/editInfo', data, 'POST');
// 积分明细
export const getIntegralDetail = (data: object) =>
- request("/user/pulseRecord", data, "POST");
+ request('/user/pulseRecord', data, 'POST');
// 豆子明细
export const getBeanDetail = (data: object) =>
- request("/user/pointRecord", data, "POST");
+ request('/user/pointRecord', data, 'POST');
// 授权手机号
export const getPhone = (data: object) =>
- request("/user/getPhone", data, "POST");
+ request('/user/getPhone', data, 'POST');
// 获取推广积分明细
export const getTGIntegralDetail = (data: object) =>
- request("/user/referee/point", data, "POST");
+ request('/user/referee/point', data, 'POST');
// 获取推广用户列表
export const getTGUserList = (data: object) =>
- request("/user/referee/list", data, "POST");
+ request('/user/referee/list', data, 'POST');
// 绑定上级
export const bindParent = (data: object) =>
- request("/user/bindCode", data, "POST");
+ request('/user/bindCode', data, 'POST');
// 获取推广码
-export const getRefereeCode = () => request("/user/promotion", {}, "POST");
+export const getRefereeCode = () => request('/user/promotion', {}, 'POST');
// 取消订单返回积分
export const qxOrder = (data: object) =>
- request("/user/point/off", data, "POST");
+ request('/user/point/off', data, 'POST');
// 用户签到
-export const userSign = () => request("/sign/user", {}, "POST");
+export const userSign = () => request('/sign/user', {}, 'POST');
// 获取签到记录
-export const getSignRecord = () => request("/sign/pulse/count", {}, "POST");
+export const getSignRecord = () => request('/sign/pulse/count', {}, 'POST');
// 获取赠送总记录
export const getGiftRecord = (data: object) =>
- request("/user/giftPulseRecord", data, "POST");
+ request('/user/giftPulseRecord', data, 'POST');
+
+// 修改交易密码
+export const editTradePwd = (data: object) =>
+ request('/user/edit/payPassword', data, 'POST');
+
+// 检查是否有交易密码
+export const isCheckTradePwd = () =>
+ request('/user/find/payPassword', {}, 'POST');
/**
* 用户后结订单
@@ -83,8 +91,8 @@ export const getGiftRecord = (data: object) =>
// 获取用户后结订单列表
export const getUserAfterOrderList = (data: object) =>
- request("/later/user/order", data, "POST");
+ request('/later/user/order', data, 'POST');
// 获取用户后结订单详情
export const getUserAfterOrderDetail = (data: object) =>
- request("/later/order/details", data, "POST");
\ No newline at end of file
+ request('/later/order/details', data, 'POST');
diff --git a/src/app.config.ts b/src/app.config.ts
index 80d70a7..df07920 100644
--- a/src/app.config.ts
+++ b/src/app.config.ts
@@ -27,6 +27,7 @@ export default defineAppConfig({
'bindPhone/index',
'pending_order/index',
'pending_order/pending_order_detail/index',
+ 'pwd/index',
],
},
{
diff --git a/src/pages/goods/pay/index.scss b/src/pages/goods/pay/index.scss
index 6aedbf2..beda7e5 100644
--- a/src/pages/goods/pay/index.scss
+++ b/src/pages/goods/pay/index.scss
@@ -27,9 +27,9 @@
}
.nut-short-password {
- .nut-icon-tips {
- display: none;
- }
+ // .nut-icon-tips {
+ // display: none;
+ // }
@for $i from 1 through 5 {
.nut-short-password__item:nth-child(#{$i}) {
diff --git a/src/pages/goods/pay/index.vue b/src/pages/goods/pay/index.vue
index add98c7..fa5df39 100644
--- a/src/pages/goods/pay/index.vue
+++ b/src/pages/goods/pay/index.vue
@@ -1,8 +1,8 @@
交易剩余时间:{{ tStr }}
+ >交易剩余时间:{{ tStr }}
+
@@ -31,7 +31,7 @@
class="flex items-center"
title="平台积分支付"
:desc="`剩余积分:${orderData.User?.integral || 0}`"
- @click="cellClick(2, orderData.User?.integral === 0 ? true : false)">
+ @click="cellClick(2, orderData.User?.integral === 0)">
@@ -45,7 +45,7 @@
class="flex items-center"
title="天才小猪积分支付"
:desc="`剩余积分:${orderData.integral || 0}`"
- @click="cellClick(3, orderData.integral === 0 ? true : false)">
+ @click="cellClick(3, orderData.integral === 0)">
@@ -64,13 +64,13 @@
type="primary"
block
@click="pay"
- >确认支付
+ >确认支付
+
+ @close="shortClose"
+ @tips="onTips">
+
+
@@ -96,6 +106,7 @@ import {onUnmounted, ref} from 'vue';
import {getActiveOrderDetail, checkTradePwd} from '@/api/goods';
import {getUserPoint} from '@/api/admin';
import {payOrder} from '@/api/order';
+import {isCheckTradePwd} from '@/api/user';
import * as dayjs from 'dayjs';
const payVal = ref();
@@ -116,6 +127,8 @@ const showKeyboard = ref(false);
const isLoading = ref(false);
+const visible2 = ref(false);
+
const opt = ref({});
Taro.useLoad(e => {
@@ -152,10 +165,16 @@ const pay = async () => {
if (!payVal.value)
return Taro.showToast({title: '请选择支付方式', icon: 'none'});
if (payVal.value !== 1) {
- visible.value = true;
- showKeyboard.value = true;
+ const res = await isCheckTradePwd();
+ if (res.data.pay_password) {
+ visible.value = true;
+ showKeyboard.value = true;
+ } else {
+ isLoading.value = false;
+ visible2.value = true;
+ }
} else {
- confirmPay();
+ await confirmPay();
}
} catch (error) {
isLoading.value = false;
@@ -172,7 +191,7 @@ const shortComplete = async value => {
pay_password: value,
});
shortClose(false);
- confirmPay();
+ await confirmPay();
} catch (error) {
error_msg.value = error.msg;
shortVal.value = '';
@@ -208,7 +227,7 @@ const confirmPay = async () => {
});
},
complete: function () {
- Taro.navigateTo({
+ Taro.redirectTo({
url: `/pages/users/order_list_detail/index?orderId=${opt.value.oid}`,
});
},
@@ -226,7 +245,7 @@ const confirmPay = async () => {
icon: 'none',
});
setTimeout(() => {
- Taro.navigateTo({
+ Taro.redirectTo({
url: `/pages/users/order_list_detail/index?orderId=${opt.value.oid}`,
});
}, 2000);
@@ -273,6 +292,12 @@ const countdownTime = () => {
}, 1000);
};
+const onTips = () => {
+ Taro.redirectTo({
+ url: '/pages/users/pwd/index',
+ });
+};
+
Taro.useDidHide(() => {
clearInterval(t_id.value);
});
diff --git a/src/pages/mer/mer_detail/index.vue b/src/pages/mer/mer_detail/index.vue
index f435301..1246c49 100644
--- a/src/pages/mer/mer_detail/index.vue
+++ b/src/pages/mer/mer_detail/index.vue
@@ -150,7 +150,7 @@ const userLocalNum = ref({
t: 0,
});
-Taro.useLoad(async () => {
+Taro.useDidShow(async () => {
Taro.getLocation({
type: 'wgs84',
success: res => {
diff --git a/src/pages/users/pwd/index.config.ts b/src/pages/users/pwd/index.config.ts
new file mode 100644
index 0000000..ec8925f
--- /dev/null
+++ b/src/pages/users/pwd/index.config.ts
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ navigationBarTitleText: '交易密码',
+});
diff --git a/src/pages/users/pwd/index.scss b/src/pages/users/pwd/index.scss
new file mode 100644
index 0000000..e5152b5
--- /dev/null
+++ b/src/pages/users/pwd/index.scss
@@ -0,0 +1,29 @@
+.form {
+ background-color: #fff;
+ margin-top: 20px;
+ padding: 25px 0;
+
+ .form-item {
+ display: flex;
+ padding: 20px 30px;
+ align-items: center;
+
+ .form-item-label {
+ font-size: 28px;
+ width: 150px;
+ }
+
+ .form-item-content {
+ flex: 1;
+ border-bottom: rgba(232, 232, 232, 1) 1px solid;
+ padding: 10px 0;
+
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ }
+ }
+}
+.nut-button {
+ border-radius: 20px;
+}
diff --git a/src/pages/users/pwd/index.vue b/src/pages/users/pwd/index.vue
new file mode 100644
index 0000000..f9bfaaa
--- /dev/null
+++ b/src/pages/users/pwd/index.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
+ 设置密码:
+
+
+
+
+
+
+
+ 确认密码:
+
+
+
+
+
+
+
+ 手机号码:
+
+
+
+
+
+
+
+ 验证码:
+
+
+
+ {{ codeText }}
+
+
+
+
+
+ 确认修改
+
+
+
+
+
+
+
+
diff --git a/src/pages/users/setting/index.vue b/src/pages/users/setting/index.vue
index 8dbc50a..a9d4822 100644
--- a/src/pages/users/setting/index.vue
+++ b/src/pages/users/setting/index.vue
@@ -41,12 +41,22 @@ const clickText = (type: number, text: string) => {
title="个人信息"
is-link
@click="toPage('/pages/users/user_setting/index')">
-
-
+
+
+
{
placeholder="修改登录密码" />
-->
-
+