feat(custom):
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2024-07-27 11:05:25 +08:00
parent e55cc6c9e0
commit 9ea8f419f4
5 changed files with 87 additions and 41 deletions

View File

@@ -133,7 +133,7 @@ import Taro from '@tarojs/taro';
import {Left, Home, Plus, Minus} from '@nutui/icons-vue-taro';
import {Ref, ref} from 'vue';
import {calculateDistance} from '@/utils';
import {getGoodList, getMerCategory} from '@/api/goods';
import {getGoodList, getMerCategory, getMerDetail} from '@/api/goods';
import Cart from '@/components/Cart.vue';
const statusBarHeight = Taro.getSystemInfoSync()?.statusBarHeight;
@@ -150,7 +150,19 @@ const userLocalNum = ref({
t: 0,
});
Taro.useDidShow(async () => {
const bid = ref('');
Taro.useLoad(opt => {
bid.value = opt.bid;
});
Taro.useDidShow(opt => {
if (!Taro.getStorageSync('token')) {
Taro.navigateTo({
url: '/pages/users/login/index?isBack=1',
});
return;
}
Taro.getLocation({
type: 'wgs84',
success: res => {
@@ -158,14 +170,22 @@ Taro.useDidShow(async () => {
userLocalNum.value.t = res.latitude;
},
});
mer_info.value = Taro.getStorageSync('mer_info');
get_class_list();
cartRef.value.get_cart_list();
getStoreInfo();
});
const getStoreInfo = async () => {
const res = await getMerDetail({
Bid: bid.value,
});
mer_info.value = res.data.data;
Taro.setNavigationBarTitle({
title: mer_info.value.name,
});
swiperList.value = mer_info.value.img.split(',');
await get_class_list();
await cartRef.value.get_cart_list();
});
console.log(res);
};
const clickPhone = () => {
Taro.makePhoneCall({
@@ -194,7 +214,7 @@ const get_class_list = async () => {
Bid: mer_info.value.bid,
});
class_list.value = res.data.data || [];
await get_good_list(class_list.value[0].ID as number);
await get_good_list(class_list.value[0]?.ID as number);
};
// const clickTab = (val: any) => {

View File

@@ -1,32 +1,35 @@
<script lang="ts" setup>
import Taro from "@tarojs/taro";
import { ref } from "vue";
import { getVerifyCode, phoneLogin } from "@/api/user";
import logoImg from "../../../static/logo.jpg";
import Taro from '@tarojs/taro';
import {ref} from 'vue';
import {getVerifyCode, phoneLogin, getPersonalInfo} from '@/api/user';
import logoImg from '../../../static/logo.jpg';
Taro.useLoad((options) => {
const optData = ref<any>({});
Taro.useLoad(options => {
optData.value = options;
console.log(options);
});
const basicData = ref({
phone: "",
code: "",
phone: '',
code: '',
});
const smsDisabled = ref(false);
const smsStr = ref("获取验证码");
const smsStr = ref('获取验证码');
// 获取验证码
const getSmsCode = async () => {
if (
!/^1(3\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\d|9[0-35-9])\d{8}$/.test(
basicData.value.phone
basicData.value.phone,
)
)
return Taro.showToast({
title: "请输入正确的手机号码",
icon: "none",
title: '请输入正确的手机号码',
icon: 'none',
});
await getVerifyCode({
phone: basicData.value.phone.toString(),
@@ -39,7 +42,7 @@ const getSmsCode = async () => {
if (time === 0) {
clearInterval(timer);
smsDisabled.value = false;
smsStr.value = "获取验证码";
smsStr.value = '获取验证码';
}
}, 1000);
};
@@ -47,36 +50,58 @@ const getSmsCode = async () => {
const login = async () => {
if (
!/^1(3\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\d|9[0-35-9])\d{8}$/.test(
basicData.value.phone
basicData.value.phone,
)
)
return Taro.showToast({
title: "请输入正确的手机号码",
icon: "none",
title: '请输入正确的手机号码',
icon: 'none',
});
if (!basicData.value.code)
return Taro.showToast({
title: "请输入验证码",
icon: "none",
title: '请输入验证码',
icon: 'none',
});
const res = await phoneLogin({
Phone: basicData.value.phone,
Code: basicData.value.code,
Referee: Taro.getStorageSync("bind_id") || "",
Referee: Taro.getStorageSync('bind_id') || '',
});
Taro.showToast({
title: res.msg,
icon: "success",
icon: 'success',
duration: 2000,
});
Taro.setStorageSync("token", res.data.token);
setTimeout(() => {
Taro.removeStorageSync("bind_id");
Taro.switchTab({
url: "/pages/user/index",
Taro.setStorageSync('token', res.data.token);
if (optData.value.isBack !== 'undefined') {
await getUserInfo();
Taro.navigateBack({
delta: 2,
});
}, 2000);
} else {
setTimeout(() => {
Taro.removeStorageSync('wx_code');
Taro.removeStorageSync('bind_id');
Taro.switchTab({
url: '/pages/user/index',
});
}, 2000);
}
};
const getUserInfo = async () => {
const res = await getPersonalInfo();
const userInfo = {
...res.data,
data: {
...res.data.data,
permission: res.data.data.permission
? JSON.parse(res.data.data.permission)
: {},
},
};
Taro.setStorageSync('userInfo', userInfo);
};
</script>
@@ -94,8 +119,7 @@ const login = async () => {
v-model="basicData.phone"
class="nut-input-text"
placeholder="请输入手机号码"
type="text"
/>
type="text" />
</nut-form-item>
<nut-form-item label="验证码:">
<view style="display: flex">
@@ -103,8 +127,7 @@ const login = async () => {
v-model="basicData.code"
class="nut-input-text"
placeholder="请输入验证码"
type="text"
/>
type="text" />
<nut-button
size="mini"
style="margin-left: 10px"

View File

@@ -35,7 +35,7 @@ const userInfo = ref({
phone: '',
});
const optData = ref({});
const optData = ref<any>({});
Taro.useLoad(opt => {
optData.value = opt;
@@ -76,7 +76,7 @@ const getPhoneNumber = async (e: any) => {
duration: 2000,
});
Taro.setStorageSync('token', ress.data.token);
if (optData.value.isBack) {
if (optData.value.isBack !== 'undefined') {
await getUserInfo();
Taro.navigateBack({
delta: 1,
@@ -119,7 +119,7 @@ const toPage = () => {
icon: 'none',
});
Taro.navigateTo({
url: '/pages/users/bindPhone/index?type=1',
url: `/pages/users/bindPhone/index?type=1&isBack=${optData.value.isBack}`,
});
};