277 lines
6.9 KiB
TypeScript
277 lines
6.9 KiB
TypeScript
import {
|
|
Button,
|
|
Card,
|
|
Cell,
|
|
Col,
|
|
Row,
|
|
Tabbar,
|
|
TabbarItem,
|
|
Toast,
|
|
} from "@antmjs/vantui";
|
|
import { OpenData, View } from "@tarojs/components";
|
|
import react, { useEffect, useState } from "react";
|
|
import TabbarCom from "../components/TabbarCom";
|
|
import { Image } from "@antmjs/vantui";
|
|
// import styles from './index.module.scss'
|
|
import "./index.module.scss";
|
|
import { Tab, Tabs } from "@antmjs/vantui";
|
|
import Taro from "@tarojs/taro";
|
|
import ActiveCard from "../components/ActiveCard";
|
|
import {
|
|
addTable,
|
|
getOpenid,
|
|
getTable,
|
|
getTableid,
|
|
isLogin,
|
|
phoneLogin,
|
|
updateTableid,
|
|
} from "../../utils/index";
|
|
import { type } from "../../../config";
|
|
|
|
const my = (props: any) => {
|
|
// const [active, setActive] = react.useState(props?.active ?? 0);
|
|
|
|
const [userInfo, setuserInfo] = useState({}); //用户信息
|
|
const [detailsData, setdetailsData] = useState<any>([]); //活动详情
|
|
const [currentIndex, setcurrentIndex] = useState(0);
|
|
const [isin, setisin] = useState(true); //0初始 1未登录 2有手机号
|
|
|
|
useEffect(() => {
|
|
getok();
|
|
// let isin: any = isLogin();
|
|
// setisin(isin);
|
|
|
|
// getOpenid();
|
|
}, []);
|
|
|
|
const getok = async () => {
|
|
let isOk: any = await phoneLogin();
|
|
console.log("isok", isOk);
|
|
setisin(isOk);
|
|
// setisin(isOk?'2':'1');
|
|
};
|
|
|
|
// 云函数,-获取手机号
|
|
const getLogin = (e: any) => {
|
|
Taro.cloud
|
|
.callFunction({
|
|
name: "getPhoneNum",
|
|
data: {
|
|
weRunData: Taro.cloud.CloudID(e.detail.cloudID),
|
|
},
|
|
})
|
|
.then((res: any) => {
|
|
console.log("res222", res);
|
|
let phoneNumber = res?.result?.event?.weRunData?.data?.phoneNumber;
|
|
let tencentcloud_uin = res?.result?.context?.tencentcloud_uin;
|
|
let openId: any = res?.result?.event?.userInfo?.openId;
|
|
let postData = {
|
|
tableName: "userInfo",
|
|
keyValue: { openId: openId },
|
|
okFun: (res: any) => {
|
|
console.log("q", res);
|
|
updateTableid({
|
|
id: res?.data?.[0]?._id,
|
|
tableName: "userInfo",
|
|
objData: {
|
|
tencentcloud_uin: tencentcloud_uin, //微信号
|
|
authInfo: {
|
|
authPhonenum: phoneNumber, //手机号
|
|
},
|
|
},
|
|
okFun: (res: any) => {
|
|
getok();
|
|
},
|
|
});
|
|
},
|
|
};
|
|
getTable({ ...postData });
|
|
|
|
// setisin(true);
|
|
});
|
|
};
|
|
|
|
const getDetails = () => {
|
|
let objParams = {
|
|
tableName: "details",
|
|
// id: "80516fb66370bcf300b8f43c5f4dd52b",
|
|
okFun: (res) => {
|
|
console.log("details--", res);
|
|
setdetailsData(res?.data ?? []);
|
|
},
|
|
};
|
|
getTable(objParams);
|
|
};
|
|
|
|
useEffect(() => {
|
|
// 设置标题
|
|
definePageConfig({
|
|
navigationBarTitleText: "我的",
|
|
});
|
|
// getDetails();
|
|
}, []);
|
|
|
|
const CardCom = () => {
|
|
// console.log("details===", details);
|
|
|
|
return (
|
|
<View>
|
|
{detailsData.splice(0, 2).map((item: any, index: any) => {
|
|
return (
|
|
<View
|
|
onClick={() => {
|
|
console.log("Card");
|
|
Taro.navigateTo({
|
|
url: `/pages/activityList/components/details/index?id=${item?._id}`,
|
|
});
|
|
}}
|
|
>
|
|
{/* 活动卡片 */}
|
|
<ActiveCard dataSource={item} />
|
|
</View>
|
|
);
|
|
})}
|
|
</View>
|
|
);
|
|
};
|
|
|
|
// 获取用户信息 [头像/昵称]
|
|
const onGetUserInfo = (info: any) => {
|
|
console.log("info", info);
|
|
};
|
|
|
|
// 获取用户手机 [手机号]-需要揭秘
|
|
const onGetPhoneNumber = (info: any) => {
|
|
console.log("info", info);
|
|
getPhoneNumber(info);
|
|
// Taro.cloud.openapi.phonenumber.getPhoneNumber({code:'code'})
|
|
};
|
|
|
|
const getPhoneNumber = (e: any) => {
|
|
console.log("点击获取手机事件", e.detail.cloudID);
|
|
// 调用云函数获取手机号
|
|
getLogin(e);
|
|
};
|
|
|
|
return (
|
|
<View className="myContent">
|
|
{/* <View className={styles?.myContent}> */}
|
|
|
|
{/* 头像 */}
|
|
<View className={`myImage`}>
|
|
<Image
|
|
round
|
|
width="100px"
|
|
height="100px"
|
|
src="cloud://cloud1-5g5xrgza12a0dd6d.636c-cloud1-5g5xrgza12a0dd6d-1253665791/images/images-2.jpg"
|
|
/>
|
|
|
|
{!isin && (
|
|
<View className="loginBtn">
|
|
<Button
|
|
type="primary"
|
|
size="mini"
|
|
open-type="getPhoneNumber"
|
|
lang="zh_CN"
|
|
onGetPhoneNumber={onGetPhoneNumber}
|
|
>
|
|
登录
|
|
</Button>
|
|
</View>
|
|
)}
|
|
</View>
|
|
|
|
{/* <View>
|
|
<Tabs
|
|
sticky={true}
|
|
active={currentIndex}
|
|
onClick={(e: any) => {
|
|
console.log("e", e);
|
|
setcurrentIndex(e?.detail?.index ?? 0);
|
|
|
|
}}
|
|
>
|
|
<Tab title="待审核">
|
|
<View>{CardCom()}</View>
|
|
</Tab>
|
|
<Tab title="已报名">
|
|
<View>222</View>
|
|
</Tab>
|
|
<Tab title="待参加">333</Tab>
|
|
<Tab title="已结束">44</Tab>
|
|
</Tabs>
|
|
</View> */}
|
|
|
|
<View className="cellArr">
|
|
<Cell
|
|
icon="manager"
|
|
title="打卡记录"
|
|
isLink
|
|
onClick={() => {
|
|
if (isin) {
|
|
// 跳转到目的页面,打开新页面
|
|
Taro.navigateTo({
|
|
url: "/pages/my/components/CheckinDetail/index",
|
|
});
|
|
} else {
|
|
Toast.fail({
|
|
message: "请先登录",
|
|
selector: "#vanToast-demo2",
|
|
});
|
|
}
|
|
}}
|
|
/>
|
|
{/* <Cell icon="manager" title="个人资料" isLink /> */}
|
|
|
|
{type !== "people" && (
|
|
<Cell
|
|
title="微信客服"
|
|
icon="wechat"
|
|
isLink
|
|
value=""
|
|
onClick={() => {
|
|
Taro.openCustomerServiceChat({
|
|
corpId: "wwb04af9a97514271c", //企业id
|
|
extInfo: {
|
|
url: "https://work.weixin.qq.com/kfid/kfc70f3f112c97a54c5",
|
|
},
|
|
success: function (res) {},
|
|
});
|
|
}}
|
|
/>
|
|
)}
|
|
|
|
<Cell
|
|
icon="friends"
|
|
title="关于我们"
|
|
isLink
|
|
onClick={() => {
|
|
// 跳转到目的页面,打开新页面
|
|
Taro.navigateTo({
|
|
url: "/pages/my/components/AbountUs/index",
|
|
});
|
|
}}
|
|
/>
|
|
{/* <Cell
|
|
icon="setting"
|
|
title="版本日志"
|
|
isLink
|
|
onClick={() => {
|
|
// 跳转到目的页面,打开新页面
|
|
Taro.navigateTo({
|
|
url: "/pages/my/components/Version/index",
|
|
});
|
|
}}
|
|
/> */}
|
|
</View>
|
|
|
|
<Toast id="vanToast-demo2" />
|
|
|
|
{/* tabbar */}
|
|
<TabbarCom active={2} />
|
|
</View>
|
|
);
|
|
};
|
|
|
|
export default my;
|