Files
gitlab-instance-0a899031_ci…/src/pages/my/index.tsx
2022-11-23 16:31:55 +08:00

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;