You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.3 KiB
TypeScript
55 lines
1.3 KiB
TypeScript
import classnames from "classnames";
|
|
import Taro from "@tarojs/taro";
|
|
import { Component } from "react";
|
|
|
|
import { Block, View, Image, Text, Button, PageMeta } from "@tarojs/components";
|
|
|
|
export default class BaseComponent extends Component<any, any> {
|
|
constructor(props) {
|
|
super(props);
|
|
this.state = {
|
|
name: "全局组件",
|
|
};
|
|
}
|
|
|
|
async onLoad() {}
|
|
componentDidMount() {}
|
|
|
|
componentWillUnmount() {}
|
|
|
|
componentDidShow() {}
|
|
|
|
componentDidHide() {}
|
|
|
|
async initData() {}
|
|
|
|
showInit() {
|
|
const isFirst = Taro.getStorageSync("isWelcome");
|
|
if (isFirst) {
|
|
this.checkShowPrivacyPopup();
|
|
}
|
|
}
|
|
// 检测是否弹出隐私协议
|
|
checkShowPrivacyPopup() {
|
|
Taro.getPrivacySetting({
|
|
success: (res) => {
|
|
// console.log("检测是否弹出隐私协议", res); // 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' }
|
|
if (res.needAuthorization) {
|
|
this.setState({ isShowPrivacyPopup: true });
|
|
} else {
|
|
// 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用隐私接口
|
|
this.initData();
|
|
}
|
|
},
|
|
fail: () => {},
|
|
complete: () => {
|
|
// 授权完成运行页面初始化
|
|
},
|
|
});
|
|
}
|
|
|
|
render() {
|
|
return <Block></Block>;
|
|
}
|
|
}
|