index.jsx 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. import { Component } from "react";
  2. import Taro from "@tarojs/taro";
  3. import { View, Text, Image } from "@tarojs/components";
  4. import { AtList, AtListItem } from "taro-ui";
  5. import { getUserInfo } from "../../service";
  6. import "./index.less";
  7. import loginOut from "../../images/mine/loginOut.png";
  8. import edit from "../../images/mine/edit.png";
  9. import norm from "../../images/mine/norm.png";
  10. import avatar from "../../images/mine/avatar.png";
  11. export default class Index extends Component {
  12. state = {
  13. userInfo: {}, //用户信息
  14. };
  15. // 退出登录
  16. handleLogout = () => {
  17. Taro.showModal({
  18. title: "",
  19. content: "退出后,请重新登录!",
  20. cancelText: "暂不退出",
  21. confirmText: "退出登录",
  22. cancelColor: "#000000",
  23. confirmColor: "#F6C71A",
  24. success: function (res) {
  25. if (res.confirm) {
  26. Taro.removeStorageSync("session_key");
  27. Taro.removeStorageSync("loginInfo");
  28. Taro.removeStorageSync("userInfo");
  29. console.log("用户点击退出登录");
  30. }
  31. },
  32. });
  33. };
  34. componentDidShow(){
  35. const userInfo = Taro.getStorageSync('userInfo')
  36. const session_key = Taro.getStorageSync('session_key')
  37. if(!userInfo&&session_key){
  38. this.getUserInfo()
  39. }else{
  40. this.setState({
  41. userInfo: userInfo||{},
  42. })
  43. }
  44. }
  45. // 获取用户信息
  46. getUserInfo = async () => {
  47. const res = await getUserInfo();
  48. Taro.setStorageSync("userInfo", res);
  49. this.setState({
  50. userInfo: res,
  51. });
  52. };
  53. // 去登录
  54. Login = () => {
  55. if (!Taro.getStorageSync("session_key")) {
  56. Taro.reLaunch({
  57. url: "/pages/login/index",
  58. });
  59. }
  60. };
  61. render() {
  62. const { userInfo } = this.state;
  63. return (
  64. <View className="index">
  65. {/* 个人信息 */}
  66. <View className="info">
  67. <Image src={userInfo.icon?userInfo.icon:avatar} className="avatar" />
  68. <View className="info-right">
  69. <View className="user-info">
  70. <View onClick={this.Login} className="name">{userInfo.name?userInfo.name:'去登录'}</View>
  71. <View className="account">{userInfo.id?userInfo.id:'XXXX'}</View>
  72. </View>
  73. <Image
  74. onClick={() =>
  75. Taro.navigateTo({ url: `/pages/mineSub/infoEdit/index` })
  76. }
  77. className="edit-icon"
  78. src={edit}
  79. ></Image>
  80. </View>
  81. </View>
  82. {/* 功能 */}
  83. <View className="function">
  84. <AtList hasBorder={false}>
  85. <AtListItem
  86. hasBorder={false}
  87. onClick={() =>
  88. Taro.navigateTo({
  89. url: `/pages/mineSub/userSpecification/index`,
  90. })
  91. }
  92. title="用户规范"
  93. arrow="right"
  94. thumb={norm}
  95. />
  96. {/* <View className="line"></View> */}
  97. {/* <AtListItem
  98. hasBorder={false}
  99. title="退出登录"
  100. arrow="right"
  101. thumb={loginOut}
  102. onClick={this.handleLogout}
  103. /> */}
  104. </AtList>
  105. </View>
  106. </View>
  107. );
  108. }
  109. }