Merge branch 'master' of https://gitea.zianxin.com/zax/Friendship-and-chat-uniapp
This commit is contained in:
commit
40af8bef5e
11 files changed
+466
-75
No files matched your search
+56
-29
@@ -92,23 +92,23 @@
|
||||
</view>
|
||||
|
||||
<view class="m-4">
|
||||
<view class="my-2 text-base">评价1+</view>
|
||||
<view class="my-2 text-base">评价</view>
|
||||
<view class="flex justify-around flex-wrap text-color-theme text-base">
|
||||
<view class="bg-color-dark flex items-center px-2 py-1 mb-2 rounded-2 gap-2">
|
||||
<text>身材</text>
|
||||
<uni-rate :value="2" :touchable="false" :readonly="true" size="18" />
|
||||
<uni-rate v-model="rating.scoreSc" size="18" />
|
||||
</view>
|
||||
<view class="bg-color-dark flex items-center px-2 py-1 mb-2 rounded-2 gap-2">
|
||||
<text>颜值</text>
|
||||
<uni-rate :value="2" :touchable="false" :readonly="true" size="18" />
|
||||
<uni-rate v-model="rating.scoreSk" size="18" />
|
||||
</view>
|
||||
<view class="bg-color-dark flex items-center px-2 py-1 mb-2 rounded-2 gap-2">
|
||||
<text>耐心</text>
|
||||
<uni-rate :value="2" :touchable="false" :readonly="true" size="18" />
|
||||
<uni-rate v-model="rating.scoreNx" size="18" />
|
||||
</view>
|
||||
<view class="bg-color-dark flex items-center px-2 py-1 mb-2 rounded-2 gap-2">
|
||||
<text>有趣</text>
|
||||
<uni-rate :value="2" :touchable="false" :readonly="true" size="18" />
|
||||
<uni-rate v-model="rating.scoreYq" size="18" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -143,7 +143,7 @@
|
||||
@click="handleLike"
|
||||
>
|
||||
<uni-icons
|
||||
v-if="userDetail.operationStatus.isLike"
|
||||
v-if="userDetail.operationStatus?.isLike"
|
||||
type="heart-filled"
|
||||
size="24"
|
||||
color="#D29E52"
|
||||
@@ -170,7 +170,7 @@
|
||||
import ScrollList from '@/sheep/components/scroll-list/scroll-list.vue';
|
||||
import useScroll from '@/sheep/hooks/use-scroll';
|
||||
import RecentApi from '@/sheep/api/member/recent';
|
||||
import { onLoad } from '@dcloudio/uni-app';
|
||||
import { onHide, onUnload, onLoad } from '@dcloudio/uni-app';
|
||||
import { getGender } from '@/sheep/util/index';
|
||||
import sheep from '@/sheep';
|
||||
import useConfigStore from '@/chat-store/configStore.js';
|
||||
@@ -189,6 +189,13 @@
|
||||
city: userCity.value.t,
|
||||
memberId: '',
|
||||
});
|
||||
// 评价
|
||||
const rating = reactive({
|
||||
scoreSc: 0, // 身材评分
|
||||
scoreNx: 0, // 耐心评分
|
||||
scoreSk: 0, // 爽快评分
|
||||
scoreYq: 0, // 有趣评分
|
||||
});
|
||||
|
||||
const photoListUrls = computed(() =>
|
||||
userDetail.value.memberPhotoList
|
||||
@@ -200,17 +207,20 @@
|
||||
const { memberId } = options;
|
||||
if (!memberId) return uni.showToast({ title: '参数错误', icon: 'none' });
|
||||
params.memberId = memberId;
|
||||
const { data = null } = await RecentApi.getRecentDetail({ id: memberId });
|
||||
userDetail.value = data ?? {};
|
||||
|
||||
await getDetail();
|
||||
// const instance: any = getCurrentInstance()?.proxy;
|
||||
// const eventChannel = instance.getOpenerEventChannel();
|
||||
|
||||
// eventChannel.on('recentDetail', function (user: any) {
|
||||
// userDetail.value = user;
|
||||
// });
|
||||
});
|
||||
|
||||
// 获取用户详情
|
||||
const getDetail = async () => {
|
||||
const { data = null } = await RecentApi.getRecentDetail({ id: params.memberId });
|
||||
userDetail.value = data ?? {};
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
refreshList();
|
||||
});
|
||||
@@ -310,23 +320,24 @@
|
||||
|
||||
// 拉黑 举报
|
||||
async function actionSelect({ item, index }) {
|
||||
if (index === 0) {
|
||||
await RecentApi.recentOperate({
|
||||
memberId: userDetail.value.member.memberId,
|
||||
memberRecentId: userDetail.value.id,
|
||||
action: 'MEMBER_SHIELD',
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (index === 1) {
|
||||
await RecentApi.recentOperate({
|
||||
memberId: userDetail.value.member.memberId,
|
||||
memberRecentId: userDetail.value.id,
|
||||
action: 'MEMBER_REPORT',
|
||||
reportType: '1',
|
||||
});
|
||||
return;
|
||||
switch (index) {
|
||||
case 0:
|
||||
const { code } = await RecentApi.recentOperate({
|
||||
memberId: userDetail.value.member.memberId,
|
||||
action: 'MEMBER_SHIELD',
|
||||
});
|
||||
if (code === 0) {
|
||||
uni.showToast({ title: '拉黑成功', icon: 'none' });
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
await RecentApi.recentOperate({
|
||||
memberId: userDetail.value.member.memberId,
|
||||
action: 'MEMBER_REPORT',
|
||||
});
|
||||
if (code === 0) {
|
||||
uni.showToast({ title: '举报成功', icon: 'none' });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -334,8 +345,24 @@
|
||||
const handleLike = async () => {
|
||||
await RecentApi.recentOperate({
|
||||
memberId: userDetail.value.member.memberId,
|
||||
memberRecentId: userDetail.value.id,
|
||||
action: 'MEMBER_COLLECT',
|
||||
});
|
||||
await getDetail();
|
||||
};
|
||||
|
||||
// 评价
|
||||
const rate = async () => {
|
||||
await RecentApi.recentOperate({
|
||||
memberId: userDetail.value.member.memberId,
|
||||
action: 'MEMBER_RATING',
|
||||
...rating,
|
||||
});
|
||||
};
|
||||
|
||||
onHide(() => {
|
||||
rate();
|
||||
});
|
||||
onUnload(() => {
|
||||
rate();
|
||||
});
|
||||
</script>
|
||||
@@ -224,6 +224,7 @@
|
||||
closable
|
||||
custom-style="height: 600rpx;overflow: hidden;"
|
||||
safe-area-inset-bottom
|
||||
@close="this.$refs.fileUpload.show()"
|
||||
>
|
||||
<view class="h-110rpx flex items-center justify-between px-3">
|
||||
<view>礼物</view>
|
||||
@@ -1180,6 +1181,7 @@
|
||||
this.giftList = data?.filter((i) => i.status == '2') ?? [];
|
||||
}
|
||||
this.giftShow = true;
|
||||
this.$refs.fileUpload.hide();
|
||||
},
|
||||
// 赠送礼物
|
||||
giveGift(item) {
|
||||
|
||||
@@ -1,58 +1,295 @@
|
||||
<template>
|
||||
<wd-config-provider theme="dark">
|
||||
<wd-navbar title="实人认证" safeAreaInsetTop :bordered="false">
|
||||
<wd-navbar
|
||||
:title="userInfoStore.sex == 2 ? '魅力女生认证' : '精英男士认证'"
|
||||
safeAreaInsetTop
|
||||
:bordered="false"
|
||||
>
|
||||
<template #left>
|
||||
<navigator open-type="navigateBack" hover-class="navigator-hover">
|
||||
<uni-icons type="back" size="22" color="#D29E52" />
|
||||
<uni-icons type="back" size="30" color="#D29E52" />
|
||||
</navigator>
|
||||
</template>
|
||||
</wd-navbar>
|
||||
|
||||
<view class="flex-row-center mt-300rpx mb-200rpx">
|
||||
<s-uploader
|
||||
v-model:url="avatarImage"
|
||||
fileMediatype="image"
|
||||
limit="1"
|
||||
mode="grid"
|
||||
:imageStyles="{ width: '268rpx', height: '268rpx' }"
|
||||
/>
|
||||
<!-- v-if="userInfoStore.sex == 2" -->
|
||||
<view v-if="false" class="py-6 h-[calc(100vh - 44rpx - 200rpx)]">
|
||||
<wd-steps :active="stepActive" align-center>
|
||||
<wd-step v-for="index in 4" :key="index" />
|
||||
</wd-steps>
|
||||
<view class="h-30rpx"></view>
|
||||
|
||||
<view v-show="stepActive === 0">
|
||||
<view class="text-xl my-2 mx-8 c-#FCFBFE">完善详细资料(必填)</view>
|
||||
<view class="text-sm my-2 mx-8 c-#949494">认真填写,展现你的魅力~</view>
|
||||
<view class="h-60rpx"></view>
|
||||
<wd-picker
|
||||
v-model="userinfo.height"
|
||||
:columns="columnsHeight"
|
||||
label="身高"
|
||||
title="身高"
|
||||
align-right
|
||||
:default-value="180"
|
||||
>
|
||||
<input
|
||||
class="h-100rpx mx-8 my-4 rounded-50rpx bg-color-light px-40rpx text-32rpx text-color-theme"
|
||||
:value="userinfo.height ? userinfo.height + 'cm' : ''"
|
||||
type="text"
|
||||
placeholder="请选择身高"
|
||||
placeholder-style="color: rgba(255, 255, 255, 0.6)"
|
||||
/>
|
||||
</wd-picker>
|
||||
<wd-picker
|
||||
v-model="userinfo.weight"
|
||||
:columns="columnsWeight"
|
||||
label="体重"
|
||||
title="体重"
|
||||
align-right
|
||||
:default-value="60"
|
||||
>
|
||||
<input
|
||||
class="h-100rpx mx-8 my-4 rounded-50rpx bg-color-light px-40rpx text-32rpx text-color-theme"
|
||||
:value="userinfo.weight ? userinfo.weight + 'kg' : ''"
|
||||
type="text"
|
||||
placeholder="请选择体重"
|
||||
placeholder-style="color: rgba(255, 255, 255, 0.6)"
|
||||
/>
|
||||
</wd-picker>
|
||||
<wd-picker
|
||||
v-model="userinfo.occ"
|
||||
:columns="columnsOcc"
|
||||
label="从事职业"
|
||||
title="从事职业"
|
||||
align-right
|
||||
>
|
||||
<input
|
||||
class="h-100rpx mx-8 my-4 rounded-50rpx bg-color-light px-40rpx text-32rpx text-color-theme"
|
||||
:value="userinfo.occ"
|
||||
type="text"
|
||||
placeholder="请选择职业"
|
||||
placeholder-style="color: rgba(255, 255, 255, 0.6)"
|
||||
/>
|
||||
</wd-picker>
|
||||
<textarea
|
||||
class="h-200rpx mx-8 my-4 rounded-10rpx bg-color-light p-10rpx text-28rpx text-color-theme"
|
||||
v-model="userinfo.description"
|
||||
:maxlength="100"
|
||||
placeholder="个人简介(100字以内)"
|
||||
placeholder-style="color: rgba(255, 255, 255, 0.6)"
|
||||
/>
|
||||
</view>
|
||||
|
||||
<view v-show="stepActive === 1">
|
||||
<view class="text-xl my-2 mx-8 c-#FCFBFE">请上传3-5张最美的照片</view>
|
||||
<view class="text-sm my-2 mx-8 c-#949494">请上传本人真实照片,更容易受到男士青睐</view>
|
||||
<view class="h-60rpx"></view>
|
||||
<view class="mx-8">
|
||||
<wd-upload
|
||||
v-model:file-list="imageFileList"
|
||||
:action="baseUrl + apiPath + '/infra/file/upload'"
|
||||
:header="header"
|
||||
image-mode="aspectFill"
|
||||
accept="image"
|
||||
multiple
|
||||
:limit="5"
|
||||
:max-size="3000000"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view v-show="stepActive === 2">
|
||||
<view class="text-xl my-2 mx-8 c-#FCFBFE">添加联系方式</view>
|
||||
<view class="text-sm my-2 mx-8 c-#949494">
|
||||
我们会保护你的隐私,联系方式只展示给审核人员和付费后的VIP男生
|
||||
</view>
|
||||
<view class="h-60rpx"></view>
|
||||
<input
|
||||
class="h-100rpx mx-8 my-4 rounded-50rpx bg-color-light px-40rpx text-32rpx text-color-theme"
|
||||
v-model="wxInfo.wechatNum"
|
||||
type="text"
|
||||
placeholder="请输入您的微信号"
|
||||
placeholder-style="color: rgba(255, 255, 255, 0.6)"
|
||||
:maxlength="20"
|
||||
/>
|
||||
<view class="flex-row-center my-6">
|
||||
<s-uploader
|
||||
v-model:url="wxInfo.wechatQrCode"
|
||||
fileMediatype="image"
|
||||
limit="1"
|
||||
mode="grid"
|
||||
:imageStyles="{ width: '268rpx', height: '268rpx' }"
|
||||
/>
|
||||
</view>
|
||||
<view class="text-sm mx-8 text-color-theme">
|
||||
请上传与上方微信匹配的微信二维码以便客服核实
|
||||
</view>
|
||||
<view class="text-sm mx-8 text-color-theme">匹配不通过将不会认证通过哦~</view>
|
||||
</view>
|
||||
|
||||
<view v-show="stepActive === 3">
|
||||
<view class="text-xl my-2 mx-8 c-#FCFBFE">基本资料</view>
|
||||
<view class="text-sm my-2 mx-8 c-#949494">上传清晰的五官头像,让更多用户发现你~</view>
|
||||
<view class="h-60rpx"></view>
|
||||
<view class="mx-8 flex justify-between items-center">
|
||||
<s-uploader
|
||||
class="flex-1"
|
||||
v-model:url="girlAuthPic"
|
||||
fileMediatype="image"
|
||||
limit="1"
|
||||
mode="grid"
|
||||
:imageStyles="{ width: '268rpx', height: '268rpx' }"
|
||||
/>
|
||||
<view class="flex-1 text-sm mx-8 text-color-theme">确保本人头像,才能通过审核</view>
|
||||
</view>
|
||||
<wd-datetime-picker
|
||||
v-model="userinfo.birthday"
|
||||
label="生日"
|
||||
title="生日"
|
||||
type="date"
|
||||
align-right
|
||||
:default-value="Date.now()"
|
||||
:min-date="new Date(1980, 1, 1).getTime()"
|
||||
:max-date="Date.now()"
|
||||
>
|
||||
<input
|
||||
class="h-100rpx mx-8 my-4 rounded-50rpx bg-color-light px-40rpx text-32rpx text-color-theme"
|
||||
:value="formatDate(userinfo.birthday, 'YYYY-MM-DD')"
|
||||
type="text"
|
||||
placeholder="请选择生日"
|
||||
placeholder-style="color: rgba(255, 255, 255, 0.6)"
|
||||
/>
|
||||
</wd-datetime-picker>
|
||||
<input
|
||||
class="h-100rpx mx-8 my-4 rounded-50rpx bg-color-light px-40rpx text-32rpx text-color-theme"
|
||||
v-model="userinfo.nickname"
|
||||
type="text"
|
||||
placeholder="请输入昵称"
|
||||
placeholder-style="color: rgba(255, 255, 255, 0.6)"
|
||||
maxlength="10"
|
||||
/>
|
||||
<input
|
||||
class="h-100rpx mx-8 my-4 rounded-50rpx bg-color-light px-40rpx text-32rpx text-color-theme"
|
||||
value="位置权限 未允许"
|
||||
type="text"
|
||||
placeholder="位置权限"
|
||||
placeholder-style="color: rgba(255, 255, 255, 0.6)"
|
||||
disabled
|
||||
/>
|
||||
</view>
|
||||
|
||||
<view
|
||||
v-if="stepActive < 3"
|
||||
class="size-100rpx rounded-full mx-auto bg-color-light mt-6 text-center line-height-100rpx active:bg-color"
|
||||
@click="stepActive++"
|
||||
>
|
||||
<uni-icons type="arrow-right" color="#D29E52" size="36" />
|
||||
</view>
|
||||
|
||||
<view
|
||||
v-else
|
||||
class="mx-auto mt-6 w-200rpx rounded-full p-3 text-center bg-color-theme-dark active:bg-color-theme"
|
||||
@click="girlFaceVerify"
|
||||
>
|
||||
开始认证
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view
|
||||
class="mx-auto mt-30 w-200rpx rounded-full p-4 text-center bg-color-theme-dark active:bg-color-theme"
|
||||
@click="faceVerify"
|
||||
>
|
||||
人脸认证
|
||||
<!-- v-if="userInfoStore.sex == 1" -->
|
||||
<view class="py-6 h-[calc(100vh - 44rpx - 200rpx)]">
|
||||
<view class="text-xl my-2 mx-8 c-#FCFBFE">基本资料</view>
|
||||
<view class="text-sm my-2 mx-8 c-#949494">上传本人头像,女生更放心与你见面~</view>
|
||||
<view class="h-60rpx"></view>
|
||||
<view class="flex-col-center">
|
||||
<s-uploader
|
||||
v-model:url="boyAuthPic"
|
||||
fileMediatype="image"
|
||||
limit="1"
|
||||
mode="grid"
|
||||
:imageStyles="{
|
||||
width: '268rpx',
|
||||
height: '268rpx',
|
||||
border: { width: '6rpx', color: '#D29E52', radius: '50rpx' },
|
||||
}"
|
||||
/>
|
||||
<image class="w-260rpx" src="@/static/face-auth-prompt.png" mode="aspectFit" />
|
||||
</view>
|
||||
|
||||
<view
|
||||
class="mx-auto w-200rpx rounded-full p-3 text-center bg-color-theme-dark active:bg-color-theme"
|
||||
@click="boyFaceVerify"
|
||||
>
|
||||
开始认证
|
||||
</view>
|
||||
|
||||
<view class="text-sm mx-8 mt-6 text-color-theme text-center">
|
||||
为保护您的隐私,您的信息只有认证过的女生可以看到,请放心认证
|
||||
</view>
|
||||
</view>
|
||||
</wd-config-provider>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
// @ts-nocheck
|
||||
import RecentApi from '@/sheep/api/member/recent';
|
||||
import SUploader from '@/sheep/components/s-uploader/s-uploader.vue';
|
||||
import { ref } from 'vue';
|
||||
import { computed, reactive, ref } from 'vue';
|
||||
import sheep from '@/sheep/index';
|
||||
import { baseUrl, apiPath, tenantId } from '@/sheep/config';
|
||||
import { getAccessToken } from '@/sheep/request';
|
||||
import { formatDate } from '@/sheep/helper/utils';
|
||||
|
||||
const avatarImage = ref('');
|
||||
const userInfoStore = computed(() => sheep.$store('user').userInfo);
|
||||
|
||||
const stepActive = ref(0);
|
||||
const imageFileList = ref([]);
|
||||
// 用户信息
|
||||
const userinfo = reactive<any>({
|
||||
avatar: '',
|
||||
nickname: '',
|
||||
birthday: '',
|
||||
height: '',
|
||||
weight: '',
|
||||
occ: '',
|
||||
description: '',
|
||||
photo: [],
|
||||
});
|
||||
// 微信信息
|
||||
const wxInfo = reactive({
|
||||
wechatNum: '',
|
||||
wechatQrCode: '',
|
||||
});
|
||||
const girlAuthPic = ref(''); // 认证图片 女
|
||||
const boyAuthPic = ref(''); // 认证图片 男
|
||||
|
||||
const header = {
|
||||
Accept: '*/*',
|
||||
'tenant-id': tenantId,
|
||||
Authorization: 'Bearer ' + getAccessToken(),
|
||||
};
|
||||
|
||||
// 人脸认证 女
|
||||
const girlFaceVerify = async () => {
|
||||
// #ifndef APP-PLUS
|
||||
uni.showToast({ title: '当前设备不支持', icon: 'error' });
|
||||
// #endif
|
||||
|
||||
const faceVerify = async () => {
|
||||
// #ifdef APP-PLUS
|
||||
const aliyunVerify = uni.requireNativePlugin('AP-FaceDetectModule');
|
||||
let metaInfo = aliyunVerify.getMetaInfo();
|
||||
metaInfo = JSON.stringify(metaInfo);
|
||||
const metaInfo = JSON.stringify(aliyunVerify.getMetaInfo());
|
||||
let p = uni.getSystemInfoSync().platform;
|
||||
if (p === 'ios') {
|
||||
}
|
||||
|
||||
console.log('参数:', {
|
||||
authPic: avatarImage.value,
|
||||
authPic: girlAuthPic.value,
|
||||
metaInfoJson: metaInfo,
|
||||
});
|
||||
|
||||
const { code, data } = await RecentApi.createManFaceVerify({
|
||||
authPic: avatarImage.value,
|
||||
metaInfoJson: metaInfo,
|
||||
});
|
||||
console.log('创建人脸认证response:', data);
|
||||
// const { code, data } = await RecentApi.createGirlFaceVerify({
|
||||
// authPic: girlAuthPic.value,
|
||||
// metaInfoJson: metaInfo,
|
||||
// });
|
||||
// console.log('创建人脸认证response:', data);
|
||||
|
||||
// aliyunVerify.verify(
|
||||
// {
|
||||
@@ -61,12 +298,127 @@
|
||||
// },
|
||||
// function (response: any) {
|
||||
// console.log(response);
|
||||
// uni.navigateBack();
|
||||
// },
|
||||
// );
|
||||
// #endif
|
||||
};
|
||||
|
||||
// 人脸认证 男
|
||||
const boyFaceVerify = async () => {
|
||||
// #ifndef APP-PLUS
|
||||
uni.showToast({ title: '当前设备不支持' });
|
||||
uni.showToast({ title: '当前设备不支持', icon: 'error' });
|
||||
// #endif
|
||||
|
||||
// #ifdef APP-PLUS
|
||||
if (!boyAuthPic.value) return uni.showToast({ title: '请先上传人脸照片', icon: 'error' });
|
||||
|
||||
const aliyunVerify = uni.requireNativePlugin('AP-FaceDetectModule');
|
||||
const metaInfo = JSON.stringify(aliyunVerify.getMetaInfo());
|
||||
|
||||
console.log('参数:', {
|
||||
authPic: boyAuthPic.value,
|
||||
metaInfoJson: metaInfo,
|
||||
});
|
||||
|
||||
// 查询用户人脸认证
|
||||
const { code, data } = await RecentApi.getFaceVerify();
|
||||
if (code === 0) {
|
||||
const { bizId: certifyId } = data;
|
||||
verify(certifyId);
|
||||
} else {
|
||||
// 创建人脸认证
|
||||
const {
|
||||
code,
|
||||
data: { bizId },
|
||||
} = await RecentApi.createBoyFaceVerify({
|
||||
authPic: boyAuthPic.value,
|
||||
metaInfoJson: metaInfo,
|
||||
});
|
||||
if (code === 0) {
|
||||
console.log('创建人脸认证接口response:', data);
|
||||
verify(bizId);
|
||||
}
|
||||
}
|
||||
// #endif
|
||||
};
|
||||
|
||||
const verify = (certifyId: string) => {
|
||||
if (!certifyId) return uni.showToast({ title: 'certifyId不存在', icon: 'none' });
|
||||
const p = uni.getSystemInfoSync().platform;
|
||||
if (p === 'ios') {
|
||||
}
|
||||
|
||||
const aliyunVerify = uni.requireNativePlugin('AP-FaceDetectModule');
|
||||
aliyunVerify.verify(
|
||||
{
|
||||
certifyId,
|
||||
useMsgBox: true,
|
||||
extParams: null,
|
||||
},
|
||||
function (response: any) {
|
||||
console.log('认证结果', response);
|
||||
|
||||
switch (response.code) {
|
||||
case 2006:
|
||||
uni.showToast({
|
||||
title: '认证不通过,请上传与您本人人脸相同的头像图片',
|
||||
icon: 'none',
|
||||
duration: 10000,
|
||||
});
|
||||
break;
|
||||
case 1000:
|
||||
uni.showToast({ title: '您已认证成功', icon: 'none' });
|
||||
break;
|
||||
case 1001:
|
||||
uni.showToast({ title: '系统错误', icon: 'none' });
|
||||
break;
|
||||
case 1003:
|
||||
uni.showToast({ title: '验证中断', icon: 'none' });
|
||||
break;
|
||||
case 2002:
|
||||
uni.showToast({ title: '网络错误', icon: 'none' });
|
||||
break;
|
||||
case 2003:
|
||||
uni.showToast({ title: '客户端设备时间错误', icon: 'none' });
|
||||
break;
|
||||
default:
|
||||
uni.showToast({ title: '未知错误', icon: 'none' });
|
||||
}
|
||||
},
|
||||
);
|
||||
};
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
// 身高选择器选项
|
||||
const columnsHeight = Array.from({ length: 100 }, (_, i) => ({
|
||||
label: i + 100 + 'cm',
|
||||
value: i + 100,
|
||||
})).reverse();
|
||||
// 体重选择器选项
|
||||
const columnsWeight = Array.from({ length: 80 }, (_, i) => ({
|
||||
label: i + 20 + 'kg',
|
||||
value: i + 20,
|
||||
}));
|
||||
// 职业选择器选项
|
||||
const columnsOcc = [
|
||||
{ text: '互联网', value: '互联网' },
|
||||
{ text: '金融', value: '金融' },
|
||||
{ text: '娱乐', value: '娱乐' },
|
||||
{ text: 'CEO', value: 'CEO' },
|
||||
{ text: '高管', value: '高管' },
|
||||
{ text: '投资人', value: '投资人' },
|
||||
{ text: '学生', value: '学生' },
|
||||
{ text: '其他', value: '其他' },
|
||||
{ text: '老师', value: '老师' },
|
||||
{ text: '白领', value: '白领' },
|
||||
{ text: '模特', value: '模特' },
|
||||
{ text: '主播', value: '主播' },
|
||||
{ text: '幼师', value: '幼师' },
|
||||
{ text: 'coser', value: 'coser' },
|
||||
{ text: '空乘', value: '空乘' },
|
||||
{ text: '公关', value: '公关' },
|
||||
{ text: '护士', value: '护士' },
|
||||
];
|
||||
</script>
|
||||
@@ -14,7 +14,15 @@
|
||||
</view>
|
||||
<view class="text-base mx-4 my-2">图片</view>
|
||||
<view class="px-4">
|
||||
<s-uploader v-model:url="params.pic" fileMediatype="image" limit="1" mode="grid" />
|
||||
<s-uploader
|
||||
v-model:url="params.pic"
|
||||
fileMediatype="image"
|
||||
limit="1"
|
||||
mode="grid"
|
||||
:imageStyles="{
|
||||
border: { width: '6rpx', color: '#D29E52' },
|
||||
}"
|
||||
/>
|
||||
</view>
|
||||
<view
|
||||
v-if="!isSubmit"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
</template>
|
||||
<template #right>
|
||||
<navigator url="/pages/moments/publish" open-type="navigate" hover-class="navigator-hover">
|
||||
<view class="bg-color-theme px-3 py-1 rounded-full c-black h-1/2 line-height-normal">
|
||||
<view class="bg-color-theme px-2 py-1 rounded-full c-black h-44rpx text-sm">
|
||||
发布动态
|
||||
</view>
|
||||
</navigator>
|
||||
|
||||
@@ -351,7 +351,7 @@ const RecentApi = {
|
||||
});
|
||||
},
|
||||
// 创建男性人脸认证
|
||||
createManFaceVerify: (data: any) => {
|
||||
createBoyFaceVerify: (data: any) => {
|
||||
return request({
|
||||
url: '/member/com-auth/create-man-auth',
|
||||
method: 'POST',
|
||||
@@ -362,6 +362,18 @@ const RecentApi = {
|
||||
},
|
||||
});
|
||||
},
|
||||
// 查询用户人脸认证
|
||||
getFaceVerify: (params: any) => {
|
||||
return request({
|
||||
url: '/member/com-auth/get',
|
||||
method: 'GET',
|
||||
params,
|
||||
custom: {
|
||||
showLoading: true,
|
||||
loadingMsg: '加载中',
|
||||
},
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
export default RecentApi;
|
||||
@@ -53,12 +53,12 @@
|
||||
</view>
|
||||
<view class="mb-4 flex items-center pl-130rpx text-xs text-white/70">
|
||||
<uni-icons type="location" size="16" color="#B5B4BC"></uni-icons>
|
||||
<text> {{ data.issueCity }} · {{ data.distance.toFixed(2) }}km </text>
|
||||
<text> {{ data.issueCity }} · {{ data.distance?.toFixed(2) || 0 }}km </text>
|
||||
</view>
|
||||
<view class="flex gap-60rpx pl-130rpx text-white">
|
||||
<view class="flex items-center gap-10rpx text-sm">
|
||||
<uni-icons
|
||||
v-if="isLike"
|
||||
v-if="isLike || data.operationStatus?.isLike"
|
||||
type="heart-filled"
|
||||
size="22"
|
||||
color="#D29E52"
|
||||
@@ -108,16 +108,6 @@
|
||||
// RECENT_LIKE-朋友圈-点赞
|
||||
// RECENT_SHIELD-朋友圈-屏蔽
|
||||
// RECENT_REPORT-朋友圈-举报
|
||||
// reportType: '1', // 举报类型
|
||||
|
||||
// MEMBER_COLLECT-用户-收藏
|
||||
// MEMBER_SHIELD-用户-屏蔽
|
||||
// MEMBER_REPORT-用户-举报
|
||||
// MEMBER_RATING-用户-评价
|
||||
// scoreSc: 0, // 身材评分
|
||||
// scoreNx: 0, // 耐心评分
|
||||
// scoreSk: 0, // 爽快评分
|
||||
// scoreYq: 0, // 有趣评分
|
||||
});
|
||||
|
||||
// 图片预览
|
||||
|
||||
@@ -657,8 +657,8 @@
|
||||
justify-content: center;
|
||||
}
|
||||
.add-icon {
|
||||
width: 57rpx;
|
||||
height: 49rpx;
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
}
|
||||
.file-subtitle {
|
||||
position: absolute;
|
||||
|
||||
@@ -221,7 +221,7 @@
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
margin: 5px;
|
||||
border: 1px #eee solid;
|
||||
border: 1px #d29e52 solid;
|
||||
border-radius: 5px;
|
||||
overflow: hidden;
|
||||
}
|
||||
@@ -292,7 +292,7 @@
|
||||
height: 26px;
|
||||
width: 26px;
|
||||
border-radius: 50%;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
background-color: #d29e52;
|
||||
z-index: 2;
|
||||
transform: rotate(-45deg);
|
||||
}
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 709 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 3.9 KiB |
Reference in new issue
Block a user