Sfoglia il codice sorgente

feat: 全局渐变背景

王晓东 3 settimane fa
parent
commit
be5b45c8d9
91 ha cambiato i file con 464 aggiunte e 443 eliminazioni
  1. 2 2
      src/app.config.ts
  2. 18 6
      src/app.less
  3. 1 1
      src/components/AgentPage/index.tsx
  4. 2 2
      src/components/KnowledgeList/index.tsx
  5. 1 1
      src/components/LoginPopup/index.tsx
  6. 12 0
      src/components/NavBarNormal/index.module.less
  7. 3 6
      src/components/NavBarNormal/index.tsx
  8. 0 0
      src/components/WemetaSwitch/index.module.less
  9. 0 0
      src/components/WemetaSwitch/index.tsx
  10. 0 0
      src/components/list/FigureList/index.tsx
  11. 0 0
      src/components/list/FigureListItem/index.tsx
  12. 0 0
      src/components/list/ListRow/index.module.less
  13. 24 0
      src/components/list/ListRow/index.tsx
  14. 0 0
      src/components/list/ListRowNormal/index.module.less
  15. 0 0
      src/components/list/ListRowNormal/index.tsx
  16. 4 0
      src/components/list/ListWrapper/index.module.less
  17. 14 0
      src/components/list/ListWrapper/index.tsx
  18. 3 3
      src/components/list/card-list-item/index.tsx
  19. 0 32
      src/components/list/list-row/index.tsx
  20. 0 24
      src/components/nav-bar/index.module.less
  21. 0 19
      src/components/nav-bar/index.tsx
  22. 4 2
      src/components/page-custom/index.tsx
  23. 14 10
      src/components/page-wrapper/index.module.less
  24. 7 2
      src/components/page-wrapper/index.tsx
  25. 2 2
      src/components/popup/popup/index.tsx
  26. 1 2
      src/components/widgets/widget-card/index.tsx
  27. 5 0
      src/images/svgs/privacy/IconVisibleForContact.svg
  28. 6 0
      src/images/svgs/privacy/IconVisibleForDirect.svg
  29. 10 0
      src/images/svgs/privacy/IconVisibleForRedirect.svg
  30. 28 0
      src/images/svgs/tips-box.svg
  31. 0 11
      src/pages/account/components/MenuLabel.tsx
  32. 14 46
      src/pages/account/index.tsx
  33. 1 1
      src/pages/agent-avatars/index.tsx
  34. 1 1
      src/pages/agent-gen/index.tsx
  35. 1 1
      src/pages/agent/components/AgentSetting/components/AgentKnowledgeLib/index.tsx
  36. 2 2
      src/pages/agent/index.tsx
  37. 9 0
      src/pages/agreement/index.config.ts
  38. 9 0
      src/pages/agreement/index.module.less
  39. 41 0
      src/pages/agreement/index.tsx
  40. 1 1
      src/pages/chat/index.tsx
  41. 1 1
      src/pages/contact-us/index.tsx
  42. 1 1
      src/pages/contact/index.tsx
  43. 1 1
      src/pages/dashboard-visited-detail/index.tsx
  44. 2 2
      src/pages/dashboard/index.tsx
  45. 1 1
      src/pages/editor-contact/index.tsx
  46. 1 1
      src/pages/editor-pages/editor-address/index.tsx
  47. 1 1
      src/pages/editor-pages/editor-channels/index.tsx
  48. 1 1
      src/pages/editor-pages/editor-email/index.tsx
  49. 1 1
      src/pages/editor-pages/editor-greeting-questions/index.tsx
  50. 1 1
      src/pages/editor-pages/editor-greeting/index.tsx
  51. 1 1
      src/pages/editor-pages/editor-link-contact/index.tsx
  52. 1 1
      src/pages/editor-pages/editor-link-social/index.tsx
  53. 1 1
      src/pages/editor-pages/editor-link/index.tsx
  54. 1 1
      src/pages/editor-pages/editor-media/index.tsx
  55. 1 1
      src/pages/editor-pages/editor-mini-program/index.tsx
  56. 1 1
      src/pages/editor-pages/editor-name/index.tsx
  57. 1 1
      src/pages/editor-pages/editor-personality/index.tsx
  58. 1 1
      src/pages/editor-pages/editor-phone/index.tsx
  59. 1 1
      src/pages/editor-pages/editor-qrcode/index.tsx
  60. 1 1
      src/pages/editor-pages/editor-tel/index.tsx
  61. 1 1
      src/pages/editor-pages/editor-textarea/index.tsx
  62. 1 1
      src/pages/editor-pages/editor-title/index.tsx
  63. 1 1
      src/pages/index/components/InitView/index.tsx
  64. 1 1
      src/pages/knowledge-item-editor/index.tsx
  65. 1 1
      src/pages/knowledge-item/components/ShareToEntPopup/index.tsx
  66. 3 3
      src/pages/knowledge-item/index.tsx
  67. 1 1
      src/pages/knowledge/components/CompanyTab/index.tsx
  68. 1 1
      src/pages/knowledge/components/CorrectionList/index.tsx
  69. 3 3
      src/pages/knowledge/components/PersonalTab/index.tsx
  70. 2 2
      src/pages/knowledge/components/view-style/ViewStyleChat.tsx
  71. 2 2
      src/pages/knowledge/components/view-style/ViewStyleChatEnt.tsx
  72. 2 2
      src/pages/knowledge/components/view-style/ViewStyleList.tsx
  73. 2 2
      src/pages/knowledge/components/view-style/ViewStyleListEnt.tsx
  74. 1 1
      src/pages/knowledge/index.tsx
  75. 0 37
      src/pages/member/components/list-row-auth-phone/index.tsx
  76. 0 8
      src/pages/member/components/member-rights/index.module.less
  77. 0 105
      src/pages/member/components/member-rights/index.tsx
  78. 0 5
      src/pages/member/index.config.ts
  79. 0 15
      src/pages/member/index.tsx
  80. 23 0
      src/pages/personal/components/SaveToDesktopTip.tsx
  81. 44 44
      src/pages/personal/index.tsx
  82. 9 0
      src/pages/privacy/index.config.ts
  83. 9 0
      src/pages/privacy/index.module.less
  84. 58 0
      src/pages/privacy/index.tsx
  85. 1 1
      src/pages/profile/index.tsx
  86. 2 2
      src/pages/test/index.tsx
  87. 1 1
      src/pages/voice/index.tsx
  88. 1 1
      src/service/user.ts
  89. 17 2
      src/store/appStore.ts
  90. 15 2
      src/store/userStore.ts
  91. 1 0
      tailwind.config.js

+ 2 - 2
src/app.config.ts

@@ -9,7 +9,6 @@ export default defineAppConfig({
     'pages/knowledge/index',
     'pages/knowledge-item/index',
     'pages/knowledge-item-editor/index',
-    'pages/member/index',
     'pages/agent/index',
     'pages/agent-avatars/index',
     'pages/editor-pages/editor-personality/index',
@@ -20,7 +19,8 @@ export default defineAppConfig({
     'pages/agent-gen/index',
     'pages/editor-contact/index',
     'pages/contact-us/index',
-    'pages/account/index',
+    'pages/privacy/index',
+    'pages/agreement/index',
     
     'pages/test/index',
     'pages/component-library/index',

+ 18 - 6
src/app.less

@@ -5,28 +5,29 @@
 @import './styles/_vars.less';
 
 :root{
-  font-family: PingFang SC;
+  font-family: PingFangSC-Medium;
   // 主题色
   --color-primary: #317CFA;
   --color-primary-rgb: 49, 124, 250;
   --color-primary-light: rgba(49, 124, 250, 0.1);
   --color-primary-dark: #1E6FF8;
   --color-text-primary: #262626;
-  --color-bg-primary: #F6F6F6;
-  --color-bg-gray: #F6F6F6;
+  --color-bg-primary: #F4F9FF;
+  --color-bg-gray: #F4F9FF;
+  
 }
 
 /* 确保变量定义在全局作用域 */
 page {
-  font-family: PingFang SC;
+  font-family: PingFangSC-Medium;
   // 主题色
   --color-primary: #317CFA;
   --color-primary-rgb: 49, 124, 250;
   --color-primary-light: rgba(49, 124, 250, 0.1);
   --color-primary-dark: #1E6FF8;
   --color-text-primary: #262626;
-  --color-bg-primary: #F6F6F6;
-  --color-bg-gray: #F6F6F6;
+  --color-bg-primary: #F4F9FF;
+  --color-bg-gray: #F4F9FF;
 }
 
 /* 为 RootPortal 容器单独定义变量 */
@@ -123,6 +124,17 @@ page {
   background-color: var(--color-primary);
 }
 
+
+// text
+
+.label-text{
+  font-weight: 500;
+  font-size: 14px;
+  color: #000000;
+  line-height: 22px;
+}
+
+
 // buttons
 
 .button-rounded-big{

+ 1 - 1
src/components/AgentPage/index.tsx

@@ -1,5 +1,5 @@
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal";
+import NavBarNormal from "@/components/NavBarNormal";
 
 import { View } from "@tarojs/components";
 import Logo from "@/components/logo";

+ 2 - 2
src/components/KnowledgeList/index.tsx

@@ -1,7 +1,7 @@
 import { ScrollView, View, Image } from "@tarojs/components";
 
-import FigureList from "@/components/list/figure-list";
-import FigureListItem from "@/components/list/figure-list-item";
+import FigureList from "@/components/list/FigureList";
+import FigureListItem from "@/components/list/FigureListItem";
 import { useEffect } from "react";
 import WemetaRadio from "@/components/wemeta-radio/index";
 

+ 1 - 1
src/components/LoginPopup/index.tsx

@@ -1,4 +1,4 @@
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import { View,Text, Image, Checkbox, Button } from "@tarojs/components";
 import PageCustom from "@/components/page-custom/index";
 import LogoImage from '@/images/logo.png'

+ 12 - 0
src/components/nav-bar-normal/index.module.less → src/components/NavBarNormal/index.module.less

@@ -5,6 +5,17 @@
   top: 0;
   z-index: 999;
 }
+.navBarBg{
+  position: absolute;
+  left: 0;
+  top: 0;
+  z-index: 1;
+  height: 100%;
+  width: 100%;
+  background: url(https://cdn.wehome.cn/cmn/png/104/META-H8UKWHWU-8HXWA0PE7HXUV4QMQUBV2-4TSKCVCM-AD.png) no-repeat;
+  background-size: 100%;
+  background-position: top left;
+}
 .iconArrowLeft{
   width: 32px;
   height: 32px;
@@ -18,6 +29,7 @@
   display: flex;
   align-items: center;
   padding-left: 6px;
+  z-index: 2;
   width: 100%;
   height: 54px;
   position: relative;

+ 3 - 6
src/components/nav-bar-normal/index.tsx → src/components/NavBarNormal/index.tsx

@@ -13,7 +13,6 @@ interface Props {
   onNavBack?: () => Promise<boolean | void> | void;
   backButtonRound?: boolean;
   navDelta?: number;
-  showBgColor?: boolean;
   scrollFadeIn?: boolean; // 上下滚动背景渐变
 }
 
@@ -24,12 +23,11 @@ const Index: React.FC<Props> = ({
   onNavBack,
   navDelta = 1,
   backText,
-  showBgColor = false,
   scrollFadeIn = false,
 }) => {
   const statusBarHeight = useAppStore.getState().statusBarHeight;
   //
-  const [opacity, setOpacity] = useState(scrollFadeIn || !showBgColor ? 0 : 1);
+  const [opacity, setOpacity] = useState(scrollFadeIn ? 1 : 0);
   usePageScroll((e) => {
     if (!scrollFadeIn) {
       return;
@@ -90,14 +88,13 @@ const Index: React.FC<Props> = ({
   const renderNavBar = () => {
     return (
       <View
-        className={`${style.navBarContainer} bg-orange`}
+        className={`${style.navBarContainer}`}
         id="leaf-nav-bar"
         style={{
           paddingTop: statusBarHeight,
-          // rgba(230, 241, 255, 1)
-          backgroundColor: `rgba(230, 241, 255, ${opacity})`,
         }}
       >
+        <View className={style.navBarBg} style={{opacity: opacity}}></View>
         <View className={`${style.navBar}`}>
           {renderLeftColumn()}
           <View

+ 0 - 0
src/components/wemeta-switch/index.module.less → src/components/WemetaSwitch/index.module.less


+ 0 - 0
src/components/wemeta-switch/index.tsx → src/components/WemetaSwitch/index.tsx


+ 0 - 0
src/components/list/figure-list/index.tsx → src/components/list/FigureList/index.tsx


+ 0 - 0
src/components/list/figure-list-item/index.tsx → src/components/list/FigureListItem/index.tsx


+ 0 - 0
src/components/list/list-row-normal/index.module.less → src/components/list/ListRow/index.module.less


+ 24 - 0
src/components/list/ListRow/index.tsx

@@ -0,0 +1,24 @@
+import { View } from "@tarojs/components"
+import IconArrowRight24 from "@/components/icon/IconArrowRight24";
+interface IProps {
+  arrow?: boolean
+  underline?: boolean
+  children?: JSX.Element[]|JSX.Element|string
+  rightRenderer?: ()=> JSX.Element[]|JSX.Element
+  onClick?: () => void
+}
+export default ({underline=false, arrow=false, rightRenderer, onClick, children}: IProps) => {
+  const handleClick = ()=> {
+    onClick && onClick()
+  }
+  return (
+    <View
+      className={`flex items-center ${underline ? 'border-bottom1-gray': ''}`}
+      onClick={handleClick}
+    >
+      <View className="text-14 py-18 font-medium leading-22 flex-1 shrink-0">{children}</View>
+      {rightRenderer && rightRenderer()}
+      {arrow && <View className="flex-center"><IconArrowRight24/></View>}
+    </View>
+  )
+}

+ 0 - 0
src/components/list/list-row/index.module.less → src/components/list/ListRowNormal/index.module.less


+ 0 - 0
src/components/list/list-row-normal/index.tsx → src/components/list/ListRowNormal/index.tsx


+ 4 - 0
src/components/list/ListWrapper/index.module.less

@@ -0,0 +1,4 @@
+.arrow{
+  width: 24px;
+  height: 24px;
+}

+ 14 - 0
src/components/list/ListWrapper/index.tsx

@@ -0,0 +1,14 @@
+import { View, } from "@tarojs/components"
+interface IProps {
+  children: JSX.Element[]|JSX.Element
+}
+export default ({children}: IProps) => {
+  
+  return (
+    <View
+      className='bg-white rounded-12 overflow-hidden flex flex-col px-16'
+    >
+      {children}
+    </View>
+  )
+}

+ 3 - 3
src/components/list/card-list-item/index.tsx

@@ -9,7 +9,7 @@ interface Props {
   leftRenderer?: ()=> JSX.Element[] | JSX.Element; 
   rightRenderer?: () => JSX.Element[] | JSX.Element;
   className?: string,
-  onClick?: () => void;
+  onClick?: (e?:any) => void;
   onLongPress?: ()=> void;
   underline?: boolean;
 }
@@ -23,8 +23,8 @@ export default ({
   onLongPress,
   children,
 }: Props) => {
-  const handleClick = () => {
-    onClick && onClick();
+  const handleClick = (e:any) => {
+    onClick && onClick(e);
   };
   const handleLongPress = () => {
     onLongPress && onLongPress();

+ 0 - 32
src/components/list/list-row/index.tsx

@@ -1,32 +0,0 @@
-import { View, Image } from "@tarojs/components"
-import style from './index.module.less'
-import IconArrowRight from '@/images/icon_24_right.png'
-interface Props {
-  arrow?: boolean
-  label: string
-  emoji?: string
-  children?: JSX.Element[]|JSX.Element
-  rightRenderer?: ()=> JSX.Element[]|JSX.Element
-  onClick?: () => void
-}
-export default ({label, emoji='', arrow = true, rightRenderer, onClick, children}:Props) => {
-  const handleClick = ()=> {
-    onClick && onClick()
-  }
-  return (
-    <View className="flex w-full bg-white rounded-20 px-20 py-24" onClick={handleClick}>
-      <View className="flex-1 text-16 text-black leading-24  font-medium relative">
-        <View className="flex gap-12"> 
-          {emoji}
-          <View>{label}</View>
-        </View>
-        
-        {children}
-      </View>
-      <View className="flex items-center">
-        {rightRenderer && rightRenderer()}
-        {arrow && <Image src={IconArrowRight} className={style.arrow} mode="widthFix"></Image>}
-      </View>
-    </View>
-  )
-}

+ 0 - 24
src/components/nav-bar/index.module.less

@@ -1,24 +0,0 @@
-.navBarContainer{
-  position: absolute;
-  left: 0;
-  right: 0;
-  z-index: 999;
-}
-.navBar{
-  display: flex;
-  width: 100%;
-  padding-left: 28px;
-  align-items: center;
-  height: 44px;
-  font-family: PingFang SC;
-  font-size: 24px;
-  font-weight: 600;
-  line-height: 32px;
-  color: #262626;
-}
-
-.rightButton{
-  width: 52px;
-  height: 20px;
-  // background-color: red;
-}

+ 0 - 19
src/components/nav-bar/index.tsx

@@ -1,19 +0,0 @@
-import { View } from '@tarojs/components'
-import { useAppStore } from '@/store/appStore'
-import style from './index.module.less'
-interface Props {
-  children?: React.ReactChild | React.ReactChild[];
-  center?: boolean;
-}
-export default function Index({ children, center=false }: Props) {
-  const statusBarHeight = useAppStore.getState().statusBarHeight
-
-  return (
-    <View className={style.navBarContainer} style={{top: statusBarHeight}}>
-      <View className={style.navBar}>
-        <View className={`flex flex-1 ${center ? 'justify-center' : ''}`}>{children}</View>
-        <View className={style.rightButton}></View>
-      </View>
-    </View>
-  )
-}

+ 4 - 2
src/components/page-custom/index.tsx

@@ -11,16 +11,18 @@ interface Props {
   styleBg?: React.CSSProperties;
   paddingTop?: number;
   fullPage?: boolean;
+  onClick?: (e:any)=> void
 }
 
-const Index: React.FC<Props> = ({ children, isflex = true, fullPage = false,  paddingTop, style, styleBg }) => {
+const Index: React.FC<Props> = ({ children, isflex = true, fullPage = false,  paddingTop, style, styleBg, onClick }) => {
   const headerHeight = useAppStore((state) => state.headerHeight);
   const bottomSafeHeight = useAppStore((state) => state.bottomSafeHeight);
   const flexStyle = isflex ? "flex flex-col items-center" : "";
   const offsetTop = paddingTop ?? headerHeight;
   const pageHeight = fullPage ? `calc(100vh - ${bottomSafeHeight}px)` : 'auto'
+  
   return (
-    <PageWrapper style={style} styleBg={styleBg}>
+    <PageWrapper style={style} styleBg={styleBg} onClick={onClick}>
       <View
           className={`${flexStyle} h-full w-full`}
           style={{ paddingTop: offsetTop, height: pageHeight}}

+ 14 - 10
src/components/page-wrapper/index.module.less

@@ -1,22 +1,26 @@
-.bg{
+// 通用渐变底图
+.bgVerticalGradient{
   position: fixed;
-  z-index: -2;
   left: 0;
   top: 0;
   right: 0;
   bottom: 0;
-  background-size: 100%!important;
-  background-repeat: no-repeat!important;
-  background-color: #f6f6f6!important;
+  z-index: -3;
+  width: 100%;
+  min-height: 100vh;
+  background: var(--color-bg-primary) url(https://cdn.wehome.cn/cmn/png/104/META-H8UKWHWU-8HXWA0PE7HXUV4QMQUBV2-4TSKCVCM-AD.png) no-repeat;
+  background-size: 100%;
 }
 
-.bgVerticalGradient{
-  position: absolute;
+// 用于页面设置背景图
+.bg{
+  position: fixed;
+  z-index: -2;
   left: 0;
   top: 0;
   right: 0;
   bottom: 0;
-  z-index: -3;
-  width: 100%;
-  height: 652px;
+  background-size: 100%!important;
+  background-repeat: no-repeat!important;
+  // background-color: var(--color-bg-primary)!important;
 }

+ 7 - 2
src/components/page-wrapper/index.tsx

@@ -9,14 +9,19 @@ interface Props {
   children?: React.ReactChild | React.ReactChild[];
   style?: React.CSSProperties;
   styleBg?: React.CSSProperties;
+  onClick?: (e:any)=> void
 }
 
-const Index: React.FC<Props> = ({ children, styleBg, style }) => {
+const Index: React.FC<Props> = ({ children, styleBg, style, onClick }) => {
   // 是否提示非移动端打开小程序
   // const desktopPopupVisible = useAppStore((state)=> state.desktopPopupTips)
   //  盖在背景上面的是视口高度的 渐变色
+  const handleClick = (e:any)=> {
+    onClick && onClick(e)
+  }
+  
   return (
-    <View className={`relative font-normal text-14 leading-22 w-full`}>
+    <View className={`relative font-normal text-14 leading-22 w-full`} onClick={handleClick}>
       {/* cover 背景图覆盖从上至下渐变 */}
       <View className={`global-linear-gradient-bg ${pageStyle.bgVerticalGradient}`}></View>
       {/* bg 背景图 */}

+ 2 - 2
src/components/popup/popup/index.tsx

@@ -3,14 +3,14 @@ import style from './index.module.less'
 import closeIcon from '@/images/icon-close-8.png';
 import { useEffect, useState } from "react";
 import Taro from "@tarojs/taro";
-interface Props {
+interface IProps {
   title?: string
   setShow: (show: boolean)=>void
   show: boolean,
   showCloseButton?: boolean
   children?: JSX.Element|JSX.Element[]
 }
-export default ({title = '', showCloseButton = true, show, setShow, children}:Props)=> {
+export default ({title = '', showCloseButton = true, show, setShow, children}: IProps)=> {
   const [slideUp, setSlideUp] = useState(false)
   const handleClose = (b: boolean) => {
     setSlideUp(false)

+ 1 - 2
src/components/widgets/widget-card/index.tsx

@@ -1,7 +1,7 @@
 import { View, Image } from "@tarojs/components";
 import style from "./index.module.less";
 import React from "react";
-import WemetaSwitch from "../../wemeta-switch/index";
+import WemetaSwitch from "../../WemetaSwitch/index";
 import type { TEntityComponent } from "@/types/index";
 import Taro from "@tarojs/taro";
 interface Props {
@@ -97,7 +97,6 @@ const Index: React.FC<Props> = ({
               className={`iconfont icon-icon_20_delet ${style.editButton} ${style.pressed}`}
               onClick={handleDelete}
             ></View>
-            {enabled}
             <WemetaSwitch
               checked={enabled}
               onChange={(checked) => handleSwitchChange(checked)}

File diff suppressed because it is too large
+ 5 - 0
src/images/svgs/privacy/IconVisibleForContact.svg


+ 6 - 0
src/images/svgs/privacy/IconVisibleForDirect.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="design-iconfont">
+  <g fill="none" fill-rule="evenodd">
+    <rect fill="#EBF2FF" width="24" height="24" rx="6"/>
+    <path d="M7.33333333,1.33329712 C9.83482085,1.3250165 12.1200605,2.75005256 13.2133333,5 C12.1133333,7.24666666 9.86,8.66666666 7.33333333,8.66666666 C4.80666666,8.66666666 2.55333333,7.24666666 1.45333333,5 C2.54660617,2.75005256 4.83184581,1.3250165 7.33333333,1.33329712 M7.33333333,0 C4,0 1.15333333,2.07333333 0,5 C1.15333333,7.92666666 4,10 7.33333333,10 C10.6666667,10 13.5133333,7.92666667 14.6666667,5 C13.5133333,2.07333333 10.6666667,0 7.33333333,0 L7.33333333,0 Z M7.33333333,3.33333333 C8.25374489,3.33342245 8.99983863,4.07958843 8.99983863,4.99999999 C8.99983863,5.92041156 8.25374489,6.66657754 7.33333333,6.66666666 C6.41292177,6.66657754 5.66682803,5.92041156 5.66682803,4.99999999 C5.66682803,4.07958843 6.41292177,3.33342245 7.33333333,3.33333333 M7.33333333,2 C5.68,2 4.33333333,3.34666667 4.33333333,5 C4.33333333,6.65333333 5.68,8 7.33333333,8 C8.98666666,8 10.3333333,6.65333333 10.3333333,5 C10.3333333,3.34666667 8.98666666,2 7.33333333,2 L7.33333333,2 Z" transform="translate(4.64 7.04)" fill="#327BF9" fill-rule="nonzero"/>
+  </g>
+</svg>

+ 10 - 0
src/images/svgs/privacy/IconVisibleForRedirect.svg

@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="design-iconfont">
+  <g fill="none" fill-rule="evenodd">
+    <rect fill="#EBF2FF" width="24" height="24" rx="6"/>
+    <g fill="#327BF9" fill-rule="nonzero">
+      <path d="M5.66423636 4.58794545L10.0341273 0.218072719 10.9340727 1.11801817 6.56418181 5.48789091z" transform="translate(6.4 6.4)"/>
+      <path d="M11.1854545,3.74181817 L9.91272727,3.74181817 L9.91272727,1.28545453 L7.45636362,1.28545453 L7.45636362,0.0127272656 L10.5490909,0.0127272656 C10.9,0.0127272656 11.1854545,0.298181813 11.1854545,0.649090906 L11.1854545,3.74181817 L11.1854545,3.74181817 Z" transform="translate(6.4 6.4)"/>
+      <path d="M5.59272727,11.1854545 C4.09818181,11.1854545 2.69454545,10.6036363 1.63818181,9.54727272 C0.581818172,8.49090908 0,7.08727272 0,5.59272727 C0,4.09818181 0.581818188,2.69454545 1.63818181,1.63818181 C2.69454545,0.581818172 4.09818181,0 5.59272727,0 L5.59272727,1.27272727 C4.43818181,1.27272727 3.35454545,1.72181817 2.53818181,2.53818181 C1.72181817,3.35454545 1.27272727,4.43818181 1.27272727,5.59272727 C1.27272727,6.74727272 1.72181817,7.83090908 2.53818181,8.64727272 C3.35454545,9.46363636 4.43818181,9.91272727 5.59272727,9.91272727 C6.74727272,9.91272727 7.83090908,9.46363636 8.64727272,8.64727272 C9.46363636,7.83090908 9.91272727,6.74727272 9.91272727,5.59272727 L11.1854545,5.59272727 C11.1854545,7.08727272 10.6036363,8.49090908 9.54727272,9.54727272 C8.49090908,10.6036364 7.08727272,11.1854545 5.59272727,11.1854545 L5.59272727,11.1854545 Z" transform="translate(6.4 6.4)"/>
+    </g>
+  </g>
+</svg>

+ 28 - 0
src/images/svgs/tips-box.svg

@@ -0,0 +1,28 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 266 118" class="design-iconfont">
+  <defs>
+    <filter x="-10.9%" y="-28.4%" width="121.8%" height="162.3%" filterUnits="objectBoundingBox" id="ima7o4jg6__uzpdtgkh7a">
+      <feMorphology radius="1" operator="dilate" in="SourceAlpha" result="shadowSpreadOuter1"/>
+      <feOffset dy="3" in="shadowSpreadOuter1" result="shadowOffsetOuter1"/>
+      <feGaussianBlur stdDeviation="7" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
+      <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0" in="shadowBlurOuter1" result="shadowMatrixOuter1"/>
+      <feMorphology radius=".5" operator="dilate" in="SourceAlpha" result="shadowSpreadOuter2"/>
+      <feOffset dy="8" in="shadowSpreadOuter2" result="shadowOffsetOuter2"/>
+      <feGaussianBlur stdDeviation="5" in="shadowOffsetOuter2" result="shadowBlurOuter2"/>
+      <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06 0" in="shadowBlurOuter2" result="shadowMatrixOuter2"/>
+      <feMorphology radius="1.5" in="SourceAlpha" result="shadowSpreadOuter3"/>
+      <feOffset dy="5" in="shadowSpreadOuter3" result="shadowOffsetOuter3"/>
+      <feGaussianBlur stdDeviation="2.5" in="shadowOffsetOuter3" result="shadowBlurOuter3"/>
+      <feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0" in="shadowBlurOuter3" result="shadowMatrixOuter3"/>
+      <feMerge>
+        <feMergeNode in="shadowMatrixOuter1"/>
+        <feMergeNode in="shadowMatrixOuter2"/>
+        <feMergeNode in="shadowMatrixOuter3"/>
+      </feMerge>
+    </filter>
+    <path d="M180,0 L186,8 L230,8 C232.209139,8 234,9.790861 234,12 L234,80 C234,82.209139 232.209139,84 230,84 L4,84 C1.790861,84 0,82.209139 0,80 L0,12 C0,9.790861 1.790861,8 4,8 L174,8 L180,0 Z" id="ima7o4jg6__9suv7dkfmb"/>
+  </defs>
+  <g transform="translate(16 15)" fill-rule="nonzero" fill="none">
+    <use fill="#000" filter="url(#ima7o4jg6__uzpdtgkh7a)" xlink:href="#ima7o4jg6__9suv7dkfmb"/>
+    <use fill="#FFF" xlink:href="#ima7o4jg6__9suv7dkfmb"/>
+  </g>
+</svg>

+ 0 - 11
src/pages/account/components/MenuLabel.tsx

@@ -1,11 +0,0 @@
-import { View } from "@tarojs/components";
-export interface MenuLabelProps {
-  children: string|JSX.Element|JSX.Element[]
-}
-
-const MenuLabel = ({ children }: MenuLabelProps) => {
-  
-  return <View className="text-14 py-18 font-medium leading-22">{children}</View>
-}
-
-export default MenuLabel;

+ 14 - 46
src/pages/account/index.tsx

@@ -1,59 +1,27 @@
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal";
-
-import { View, Input, Image } from "@tarojs/components";
-import { useEffect, useState } from "react";
-import CardList from "@/components/list/card-list";
-import CardListItem from "@/components/list/card-list-item";
-import IconArrowRight24 from "@/components/icon/IconArrowRight24";
-import IconAccount from "@/images/svgs/personal/IconAccount.svg";
-
-import style from "./index.module.less";
-import MenuLabel from "./components/MenuLabel";
-import Taro from "@tarojs/taro";
+import NavBarNormal from "@/components/NavBarNormal";
 
+import { View } from "@tarojs/components";
+import ListWrapper from "@/components/list/ListWrapper";
+import ListRow from "@/components/list/ListRow";
+import { useUserStore } from "@/store/userStore";
 
 export default function Index() {
-  // const name = "";
-  
 
-  
+  const { whoami } = useUserStore();
 
-  const IconArrowRight = () => {
-    return (
-      <View className="flex items-center">
-        <IconArrowRight24 />
-      </View>
-    );
-  };
-
-  
   return (
     <PageCustom>
       <NavBarNormal backText="账号管理"></NavBarNormal>
       <View className="w-full px-16 py-24 flex flex-col gap-16">
-
-        <CardList>
-          <CardListItem
-            className="pl-16 pr-8"
-            underline
-            rightRenderer={()=> <View>helo</View>}
-            onClick={() => {
-              // Taro.navigateTo({ url: "/pages/voice/index" });
-            }}
-          >
-            <MenuLabel>绑定手机</MenuLabel>
-          </CardListItem>
-          <CardListItem
-            className="pl-16 pr-8"
-            rightRenderer={()=> <View>yoyo</View>}
-            onClick={() => {
-              
-            }}
-          >
-            <MenuLabel>用户ID</MenuLabel>
-          </CardListItem>
-        </CardList>
+        <ListWrapper>
+          <ListRow underline rightRenderer={()=> <View className="flex-center">{whoami?.mobile}</View>}>
+            绑定手机
+          </ListRow>
+          <ListRow rightRenderer={()=> <View className="flex-center">{whoami?.userId}</View>}>
+          用户ID
+          </ListRow>
+        </ListWrapper>
       </View>
     </PageCustom>
   );

+ 1 - 1
src/pages/agent-avatars/index.tsx

@@ -2,7 +2,7 @@ import { useEffect, useRef, useState } from "react";
 import { Image, View, ScrollView } from "@tarojs/components";
 
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 
 import { uploadAndNavToGenNewAvatar } from "@/utils/avatar";
 import IconPlusBig from "@/components/icon/icon-plus-big";

+ 1 - 1
src/pages/agent-gen/index.tsx

@@ -1,4 +1,4 @@
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import { View } from "@tarojs/components";
 import PageCustom from "@/components/page-custom/index";
 import { useState, useCallback, useEffect } from "react";

+ 1 - 1
src/pages/agent/components/AgentSetting/components/AgentKnowledgeLib/index.tsx

@@ -1,7 +1,7 @@
 import { View } from "@tarojs/components";
 import CardList from "@/components/list/card-list";
 import CardListItem from "@/components/list/card-list-item";
-import WemetaSwitch from "@/components/wemeta-switch";
+import WemetaSwitch from "@/components/WemetaSwitch";
 
 import IconArrow from "@/components/icon/icon-arrow";
 

+ 2 - 2
src/pages/agent/index.tsx

@@ -1,4 +1,4 @@
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import { View } from "@tarojs/components";
 import PageCustom from "@/components/page-custom/index";
 
@@ -53,7 +53,7 @@ export default function Index() {
 
   return (
     <PageCustom>
-      <NavBarNormal backText="创建"></NavBarNormal>
+      <NavBarNormal scrollFadeIn backText="创建"></NavBarNormal>
       <View className="px-16 w-full flex flex-col gap-20">
         <View className="w-full">
           <TabBarButtons

+ 9 - 0
src/pages/agreement/index.config.ts

@@ -0,0 +1,9 @@
+export default definePageConfig({
+  navigationBarTitleText: '账号管理',
+  "usingComponents": {},
+  "navigationStyle": 'custom',
+  backgroundColor: '#F4F9FF',
+  enableShareAppMessage: true,
+  enableShareTimeline: true,
+  enablePageMeta: true,
+})

+ 9 - 0
src/pages/agreement/index.module.less

@@ -0,0 +1,9 @@
+.nickname{
+  flex:1;
+  height: 32px;
+  font-family: PingFangSC-Semibold;
+  font-weight: 600;
+  font-size: 24px;
+  color: #111A34;
+  line-height: 32px; 
+}

+ 41 - 0
src/pages/agreement/index.tsx

@@ -0,0 +1,41 @@
+import PageCustom from "@/components/page-custom/index";
+import NavBarNormal from "@/components/NavBarNormal";
+import { View, Image } from "@tarojs/components";
+import ListWrapper from "@/components/list/ListWrapper";
+import ListRow from "@/components/list/ListRow";
+import { useEffect, useState } from "react";
+import { getSysAgreements } from "@/service/system";
+
+import { TAgreementItem } from "@/service/system";
+import { isSuccess, navToWebView } from "@/utils";
+
+export default function Index() {
+  
+  const [agreements, setAgreements] = useState<TAgreementItem[]>([])
+  const fetchPageData = async () => {
+    const response = await getSysAgreements('register')
+    
+    if(isSuccess(response.status)){
+      setAgreements(response.data)
+    }
+  }
+
+  useEffect(()=> {
+    fetchPageData()
+  }, [])
+  
+  return (
+    <PageCustom>
+      <NavBarNormal backText="服务协议"></NavBarNormal>
+      <View className="w-full px-16 py-24 flex flex-col gap-16">
+        <ListWrapper>
+          { agreements.map((item)=> {
+            return <ListRow underline arrow onClick={()=> navToWebView(item.link)}>
+            {item.name}
+          </ListRow>
+          }) }
+        </ListWrapper>
+      </View>
+    </PageCustom>
+  );
+}

+ 1 - 1
src/pages/chat/index.tsx

@@ -1,5 +1,5 @@
 import { View, ScrollView } from "@tarojs/components";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import PageCustom from "@/components/page-custom/index";
 import Taro, { useRouter, useUnload } from "@tarojs/taro";
 import ChatMessage from "@/components/chat-message";

+ 1 - 1
src/pages/contact-us/index.tsx

@@ -2,7 +2,7 @@ import { useState } from "react";
 import { View } from "@tarojs/components";
 
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import WemetaInput from "@/components/wemeta-input/index";
 import WemetaTextarea from "@/components/wemeta-textarea";
 import FormItem from '@/components/form/FormItem'

+ 1 - 1
src/pages/contact/index.tsx

@@ -1,7 +1,7 @@
 import Taro, { useReachBottom,} from "@tarojs/taro";
 import { View, Text } from "@tarojs/components";
 import EmptyData from "@/components/empty-data";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import SearchBar from "@/components/search-bar/index";
 import style from "./index.module.less";
 import { useEffect, useState } from "react";

+ 1 - 1
src/pages/dashboard-visited-detail/index.tsx

@@ -1,6 +1,6 @@
 import { View, ScrollView } from "@tarojs/components";
 import Taro, { useDidShow, useRouter } from "@tarojs/taro";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import PageCustom from "@/components/page-custom/index";
 import IconArrowDownRounded from "@/components/icon/IconArrowDownRounded";
 import { useEffect, useState } from "react";

+ 2 - 2
src/pages/dashboard/index.tsx

@@ -1,6 +1,6 @@
 import { View, Text, } from "@tarojs/components";
 import Taro, { useDidShow } from "@tarojs/taro";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import PageCustom from "@/components/page-custom/index";
 import IconArrowDownRounded from '@/components/icon/IconArrowDownRounded';
 import DataCard from './components/DataCard'
@@ -61,7 +61,7 @@ export default () => {
 
   return (
     <PageCustom>
-      <NavBarNormal leftColumn={()=> <Text>数据分析</Text>}>
+      <NavBarNormal scrollFadeIn leftColumn={()=> <Text className="font-medium text-dark leading-22 text-16">数据分析</Text>}>
       </NavBarNormal>
       <View className="w-full pt-8 px-16 pb-40">
         {(!!options.length && !!selected) && 

+ 1 - 1
src/pages/editor-contact/index.tsx

@@ -1,4 +1,4 @@
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import { View } from "@tarojs/components";
 import PageCustom from "@/components/page-custom/index";
 

+ 1 - 1
src/pages/editor-pages/editor-address/index.tsx

@@ -1,7 +1,7 @@
 import { View } from "@tarojs/components";
 import BottomBar from "@/components/BottomBar";
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import WemetaTextarea from "@/components/wemeta-textarea/index";
 import { useAgentStore } from "@/store/agentStore";
 import useEditContactCard from "@/hooks/useEditContactCard";

+ 1 - 1
src/pages/editor-pages/editor-channels/index.tsx

@@ -2,7 +2,7 @@ import { useState } from "react";
 import { View, Text, Image } from "@tarojs/components";
 import Taro, { useRouter } from "@tarojs/taro";
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import Popup from "@/components/popup/popup";
 import style from './index.module.less'
 import editorStyle from "../editor.module.less";

+ 1 - 1
src/pages/editor-pages/editor-email/index.tsx

@@ -1,7 +1,7 @@
 import { View } from "@tarojs/components";
 import BottomBar from "@/components/BottomBar";
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import editorStyle from "../editor.module.less";
 import WemetaTextarea from "@/components/wemeta-textarea/index";
 import { useAgentStore } from "@/store/agentStore";

+ 1 - 1
src/pages/editor-pages/editor-greeting-questions/index.tsx

@@ -2,7 +2,7 @@ import { useState } from "react";
 import { View } from "@tarojs/components";
 
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import WemetaInput from "@/components/wemeta-input/index";
 import Taro, { useUnload } from "@tarojs/taro";
 import { useAgentStore } from "@/store/agentStore";

+ 1 - 1
src/pages/editor-pages/editor-greeting/index.tsx

@@ -1,7 +1,7 @@
 
 import { View } from "@tarojs/components";
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import WemetaTextarea from "@/components/wemeta-textarea/index";
 import { useAgentStore } from "@/store/agentStore";
 import useEditAgent from "@/hooks/useEditAgent";

+ 1 - 1
src/pages/editor-pages/editor-link-contact/index.tsx

@@ -2,7 +2,7 @@ import { useState, useEffect, useMemo } from "react";
 import { View } from "@tarojs/components";
 import Taro, { useRouter } from "@tarojs/taro";
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import ButtonCardAdd from "@/components/button-card-add";
 import ContactCard from "@/components/contact-card/index";
 import editorStyle from "../editor.module.less";

+ 1 - 1
src/pages/editor-pages/editor-link-social/index.tsx

@@ -2,7 +2,7 @@ import { useState } from "react";
 import { View, Text, Image } from "@tarojs/components";
 import Taro, { useRouter, useUnload } from "@tarojs/taro";
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 
 import editorStyle from "../editor.module.less";
 import WemetaTextarea from "@/components/wemeta-textarea/index";

+ 1 - 1
src/pages/editor-pages/editor-link/index.tsx

@@ -2,7 +2,7 @@ import { useState } from "react";
 import { View, Text, Image } from "@tarojs/components";
 import Taro from "@tarojs/taro";
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import WemetaTextarea from "@/components/wemeta-textarea/index";
 import WemetaInput from "@/components/wemeta-input/index";
 

+ 1 - 1
src/pages/editor-pages/editor-media/index.tsx

@@ -1,7 +1,7 @@
 import { useState } from "react";
 import { View } from "@tarojs/components";
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 
 import KnowledgePicker from '@/components/KnowledgePicker'
 import Taro, { useUnload } from "@tarojs/taro";

+ 1 - 1
src/pages/editor-pages/editor-mini-program/index.tsx

@@ -2,7 +2,7 @@ import { useMemo, useState, memo } from "react";
 import { View, Image,Text } from "@tarojs/components";
 import Taro from '@tarojs/taro'
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import WemetaInput from "@/components/wemeta-input/index";
 import Popup from "@/components/popup/popup";
 import style from './index.module.less'

+ 1 - 1
src/pages/editor-pages/editor-name/index.tsx

@@ -2,7 +2,7 @@ import { useState } from "react";
 import { View } from "@tarojs/components";
 
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import ButtonMain from "@/components/buttons/ButtonMain";
 import BottomBar from "@/components/BottomBar";
 

+ 1 - 1
src/pages/editor-pages/editor-personality/index.tsx

@@ -1,7 +1,7 @@
 import { View } from "@tarojs/components";
 
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import ButtonMain from "@/components/buttons/ButtonMain";
 import BottomBar from "@/components/BottomBar";
 import WemetaTextarea from "@/components/wemeta-textarea/index";

+ 1 - 1
src/pages/editor-pages/editor-phone/index.tsx

@@ -1,7 +1,7 @@
 import { View } from "@tarojs/components";
 import BottomBar from "@/components/BottomBar";
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import editorStyle from "../editor.module.less";
 
 import { useAgentStore } from "@/store/agentStore";

+ 1 - 1
src/pages/editor-pages/editor-qrcode/index.tsx

@@ -2,7 +2,7 @@ import { useState } from "react";
 import { View, Image } from "@tarojs/components";
 
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import style from "./index.module.less";
 
 import QrcodeUploadTips from "@/components/qrcode-upload-tips";

+ 1 - 1
src/pages/editor-pages/editor-tel/index.tsx

@@ -2,7 +2,7 @@ import { useState } from "react";
 import { View } from "@tarojs/components";
 
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import { useComponentStore } from "@/store/componentStore";
 import WemetaTextarea from "@/components/wemeta-textarea/index";
 import BottomBar from "@/components/BottomBar";

+ 1 - 1
src/pages/editor-pages/editor-textarea/index.tsx

@@ -1,7 +1,7 @@
 import { useState } from "react";
 import { View } from "@tarojs/components";
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import BottomBar from "@/components/BottomBar";
 import editorStyle from "../editor.module.less";
 import { useComponentStore } from "@/store/componentStore";

+ 1 - 1
src/pages/editor-pages/editor-title/index.tsx

@@ -2,7 +2,7 @@ import { useState } from "react";
 import { View } from "@tarojs/components";
 
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 
 import { useComponentStore } from '@/store/componentStore'
 import BottomBar from "@/components/BottomBar";

+ 1 - 1
src/pages/index/components/InitView/index.tsx

@@ -1,7 +1,7 @@
 import { useEffect, useState } from "react";
 import { View,Image } from "@tarojs/components";
 import Taro, { useDidShow, useReady } from "@tarojs/taro";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import LogoImage from '@/images/logo.png'
 import PageCustom from "@/components/page-custom/index";
 import { UserInfoResponse } from '@/xiaolanbenlib/api/auth'

+ 1 - 1
src/pages/knowledge-item-editor/index.tsx

@@ -5,7 +5,7 @@
 import { Text, View } from "@tarojs/components";
 
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import BottomBar from "@/components/BottomBar";
 
 import IconQ from "@/components/icon/IconQ";

+ 1 - 1
src/pages/knowledge-item/components/ShareToEntPopup/index.tsx

@@ -5,7 +5,7 @@
 import { Text, View, Image, ScrollView } from "@tarojs/components";
 
 
-import WemetaSwitch from "@/components/wemeta-switch";
+import WemetaSwitch from "@/components/WemetaSwitch";
 
 import Popup from "@/components/popup/popup";
 import { useEffect, useState } from "react";

+ 3 - 3
src/pages/knowledge-item/index.tsx

@@ -5,13 +5,13 @@
 import { Text, View, Image } from "@tarojs/components";
 
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import BottomBar from "@/components/BottomBar";
-import FigureListItem from "@/components/list/figure-list-item";
+import FigureListItem from "@/components/list/FigureListItem";
 import IconEye from "@/components/icon/IconEye";
 import IconA from "@/components/icon/IconA";
 import IconQ from "@/components/icon/IconQ";
-import WemetaSwitch from "@/components/wemeta-switch";
+import WemetaSwitch from "@/components/WemetaSwitch";
 import KnowledgeIcon from "@/components/KnowledgeIcon";
 import ShareToEntPopup from "./components/ShareToEntPopup";
 import { useEffect, useState } from "react";

+ 1 - 1
src/pages/knowledge/components/CompanyTab/index.tsx

@@ -6,7 +6,7 @@ import IconFilterList from "@/components/icon/IconFilterList";
 
 import EmptyData from "@/components/empty-data";
 import Popup from "@/components/popup/popup";
-import WemetaSwitch from "@/components/wemeta-switch";
+import WemetaSwitch from "@/components/WemetaSwitch";
 import { useState } from "react";
 
 import ViewStyleChatEnt from "../view-style/ViewStyleChatEnt";

+ 1 - 1
src/pages/knowledge/components/CorrectionList/index.tsx

@@ -6,7 +6,7 @@ import IconFilterList from "@/components/icon/IconFilterList";
 import EmptyData from "@/components/empty-data";
 
 import Popup from "@/components/popup/popup";
-import WemetaSwitch from "@/components/wemeta-switch";
+import WemetaSwitch from "@/components/WemetaSwitch";
 import { useState } from "react";
 
 import ViewStyleListCorrection from "../view-style/ViewStyleListCorrection";

+ 3 - 3
src/pages/knowledge/components/PersonalTab/index.tsx

@@ -8,11 +8,11 @@ import IconPlusBig from "@/components/icon/icon-plus-big";
 import IconFIlePDF from "@/components/icon/IconFilePDF";
 import IconFIleXLSX from "@/components/icon/IconFileXLSX";
 
-import FigureList from "@/components/list/figure-list";
-import FigureListItem from "@/components/list/figure-list-item";
+import FigureList from "@/components/list/FigureList";
+import FigureListItem from "@/components/list/FigureListItem";
 
 import Popup from "@/components/popup/popup";
-import WemetaSwitch from "@/components/wemeta-switch";
+import WemetaSwitch from "@/components/WemetaSwitch";
 import { useEffect, useState } from "react";
 
 import ViewStyleChat from "../view-style/ViewStyleChat";

+ 2 - 2
src/pages/knowledge/components/view-style/ViewStyleChat.tsx

@@ -5,8 +5,8 @@ import { WelcomeCard, AddSuccessfulTips } from "../asistant-message";
 import KnowledgeIcon from '@/components/KnowledgeIcon'
 
 
-import FigureList from "@/components/list/figure-list";
-import FigureListItem from "@/components/list/figure-list-item";
+import FigureList from "@/components/list/FigureList";
+import FigureListItem from "@/components/list/FigureListItem";
 
 import { useEffect, useRef, useState } from "react";
 import Taro, { useDidShow } from "@tarojs/taro";

+ 2 - 2
src/pages/knowledge/components/view-style/ViewStyleChatEnt.tsx

@@ -2,8 +2,8 @@ import { ScrollView, View,Image } from "@tarojs/components";
 import MessageRobotRich from "@/components/chat-message/MessageRobotRich";
 import MessageRich from "@/components/chat-message/MessageRich";
 
-import FigureList from "@/components/list/figure-list";
-import FigureListItem from "@/components/list/figure-list-item";
+import FigureList from "@/components/list/FigureList";
+import FigureListItem from "@/components/list/FigureListItem";
 
 import { useEffect, useRef, useState } from "react";
 import Taro, { useDidShow } from "@tarojs/taro";

+ 2 - 2
src/pages/knowledge/components/view-style/ViewStyleList.tsx

@@ -1,7 +1,7 @@
 import { ScrollView, View, Image } from "@tarojs/components";
 
-import FigureList from "@/components/list/figure-list";
-import FigureListItem from "@/components/list/figure-list-item";
+import FigureList from "@/components/list/FigureList";
+import FigureListItem from "@/components/list/FigureListItem";
 import { useDidShow } from "@tarojs/taro";
 import { useEffect } from "react";
 

+ 2 - 2
src/pages/knowledge/components/view-style/ViewStyleListEnt.tsx

@@ -1,7 +1,7 @@
 import { ScrollView, View, Image } from "@tarojs/components";
 
-import FigureList from "@/components/list/figure-list";
-import FigureListItem from "@/components/list/figure-list-item";
+import FigureList from "@/components/list/FigureList";
+import FigureListItem from "@/components/list/FigureListItem";
 import { useDidShow } from "@tarojs/taro";
 import { useEffect } from "react";
 

+ 1 - 1
src/pages/knowledge/index.tsx

@@ -5,7 +5,7 @@
 import { View, Text } from "@tarojs/components";
 import { useState } from "react";
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import WemetaTabs from "@/components/wemeta-tabs/index";
 import PersonalTab from './components/PersonalTab'
 import CompanyTab from './components/CompanyTab'

+ 0 - 37
src/pages/member/components/list-row-auth-phone/index.tsx

@@ -1,37 +0,0 @@
-import { View } from "@tarojs/components";
-import ListRow from "@/components/list/list-row";
-import { useUserStore } from "@/store/userStore";
-
-
-export default () => {
-  
-  const handleGetPhoneNumber = async (
-    phone: string
-  ) => {
-    if (phone?.length) {
-      fetchUser();
-    }
-  };
-
-  const renderRight = () => {
-
-    return <View>hello</View>
-    // if (user?.phone) {
-    //   // 包含了区号,提取后11位手机号
-    //   return <View className="text-gray-45 text-14 font-normal">{user.phone.slice(-11)}</View>;
-    // }
-
-    // return (
-    //   <AuthPhone bindKind={EBindKind.WechatPhone} getPhoneNumber={handleGetPhoneNumber}></AuthPhone>
-    // );
-  };
-
-  return (
-    <ListRow
-      emoji="🧑‍💻"
-      label="账户信息"
-      arrow={false}
-      rightRenderer={renderRight}
-    ></ListRow>
-  );
-};

+ 0 - 8
src/pages/member/components/member-rights/index.module.less

@@ -1,8 +0,0 @@
-.rightItem{
-  justify-content: center;
-  align-items: center;
-  width: 72px;
-}
-.disabled{
-  opacity: .5;
-}

+ 0 - 105
src/pages/member/components/member-rights/index.tsx

@@ -1,105 +0,0 @@
-import { View, Image, Text } from "@tarojs/components";
-import style from './index.module.less'
-import { TModelAppConfig } from '@/types/index'
-import { VIP_LEVEL } from '@/config/index'
-import { APP_NAME_TEXT } from '@/config'
-interface Props {
-  appConfig: TModelAppConfig;
-  vip: string
-}
-
-export default ({appConfig, vip}: Props) => {
-  // 有对应的 vip 则返回vip 否则返回免费用户
-  const vipMetadata = appConfig?.vips?.find((item)=> {
-    if(vip){
-      return item.id === vip
-    }else{
-      return item.id === VIP_LEVEL.FREE
-    }
-  })?.metadata
-
-  const isFree = vip === VIP_LEVEL.FREE
-  
-  if(!vipMetadata){
-    return <></>
-  }
-
-  const renderKnowledgeRights = ()=> {
-    if(!isFree){
-      return <>
-        <Text className="text-12 text-black leading-18 whitespace-nowrap">{vipMetadata.maxDocSize/1024}G知识库</Text>
-        <Text className="text-12 text-black leading-18">文件上传容量</Text>
-      </>  
-    }
-    return <>
-      <Text className="text-12 text-black leading-18">不支持知识库</Text>
-      <Text className="text-12 text-black leading-18">文件上传</Text>
-    </>
-  }
-  return (
-    <View className="flex flex-col w-full gap-24">
-    <View className="flex flex-wrap justify-between items-center  w-full">
-      <View className={`flex flex-col gap-8 ${style.rightItem}`}>
-        <View className="w-48 h-48">
-          <Image src='https://cdn.wehome.cn/cmn/png/158/META-H8UKVHWU-KIGP3BIL7M5AYC6XHNUA2-PLOMWI2M-R91.png' mode="widthFix" className="w-48 h-48"></Image>
-        </View>
-        <View className="flex flex-col text-center">
-          <Text className="text-12 text-black leading-18">最多创作</Text>
-          <Text className="text-12 text-black leading-18">{vipMetadata.maxCharacterNum === -1 ? 30: vipMetadata.maxCharacterNum}个{APP_NAME_TEXT}</Text>
-        </View>
-      </View>
-      
-      <View className={`flex flex-col gap-8 ${style.rightItem}`}>
-        <View className="w-48 h-48">
-          <Image src='https://cdn.wehome.cn/cmn/png/93/META-H8UKVHWU-KIGP3BIL7M5AYC6XHNUA2-PLOMWI2M-S91.png' mode="widthFix" className="w-48 h-48"></Image>
-        </View>
-        <View className="flex flex-col text-center">
-          <Text className="text-12 text-black leading-18">{vipMetadata.cloneVoiceChatDuration / 60}分钟/天</Text>
-          <Text className="text-12 text-black leading-18">克隆音色对话</Text>
-        </View>
-      </View>
-      
-      <View className={`flex flex-col gap-8 ${style.rightItem} ${vipMetadata.customBgImage ? '' : style.disabled}`}>
-        <View className="w-48 h-48">
-          <Image src='https://cdn.wehome.cn/cmn/png/33/META-H8UK0IWU-LIGPDI0B88LDCAMAO6LN3-TLOMWI2M-D71.png' mode="widthFix" className="w-48 h-48"></Image>
-        </View>
-        <View className="flex flex-col text-center">
-          <Text className="text-12 text-black leading-18">自定义背景</Text>
-          <Text className="text-12 text-black leading-18">图片上传</Text>
-        </View>
-      </View>
-    </View>
-    
-    <View className="flex flex-wrap justify-between items-center w-full">
-      <View className={`flex flex-col gap-8 ${style.rightItem} ${!isFree? '' : style.disabled}`}>
-        <View className="w-48 h-48">
-          <Image src='https://cdn.wehome.cn/cmn/png/61/META-H8UKVHWU-KIGP3BIL7M5AYC6XHNUA2-QLOMWI2M-T91.png' mode="widthFix" className="w-48 h-48"></Image>
-        </View>
-        <View className="flex flex-col text-center">
-          {renderKnowledgeRights()}
-        </View>
-      </View>
-      
-      <View className={`flex flex-col gap-8 ${style.rightItem} ${style.rightItem} ${vipMetadata.viewChatHistory ? '' : style.disabled}`}>
-        <View className="w-48 h-48">
-          <Image src='https://cdn.wehome.cn/cmn/png/128/META-H8UKVHWU-KIGP3BIL7M5AYC6XHNUA2-ULOMWI2M-U91.png' mode="widthFix" className="w-48 h-48"></Image>
-        </View>
-        <View className="flex flex-col text-center">
-          <Text className="text-12 text-black leading-18">支持查看</Text>
-          <Text className="text-12 text-black leading-18">AI 对话记录</Text>
-        </View>
-      </View>
-      
-      <View className={`flex flex-col gap-8 ${style.rightItem} ${vipMetadata.viewVisitStats ? '' : style.disabled}`}>
-        <View className="w-48 h-48">
-          <Image src='https://cdn.wehome.cn/cmn/png/32/META-H8UK0IWU-LIGPDI0B88LDCAMAO6LN3-VLOMWI2M-E71.png' mode="widthFix" className="w-48 h-48"></Image>
-        </View>
-        <View className="flex flex-col text-center">
-          <Text className="text-12 text-black leading-18">支持查看</Text>
-          <Text className="text-12 text-black leading-18">访问数据</Text>
-        </View>
-      </View>
-    </View>
-    </View>
-  );
-};

+ 0 - 5
src/pages/member/index.config.ts

@@ -1,5 +0,0 @@
-export default definePageConfig({
-  navigationBarTitleText: '会员',
-  "usingComponents": {},
-  "navigationStyle": 'custom',
-})

+ 0 - 15
src/pages/member/index.tsx

@@ -1,15 +0,0 @@
-import { View, Text, Image } from "@tarojs/components";
-import Taro, { useDidShow } from "@tarojs/taro";
-import NavBarNormal from "@/components/nav-bar-normal/index";
-import PageCustom from "@/components/page-custom/index";
-
-export default () => {
-  
-  return (
-    <PageCustom>
-      <NavBarNormal leftColumn={()=> <Text>我的</Text>}>
-      </NavBarNormal>
-      <View className="p-20">暂无数据</View>
-    </PageCustom>
-  );
-};

+ 23 - 0
src/pages/personal/components/SaveToDesktopTip.tsx

@@ -0,0 +1,23 @@
+import { View, Image } from "@tarojs/components";
+import tipsBox from '@/images/svgs/tips-box.svg'
+import { useAppStore } from "@/store/appStore";
+
+interface IProps {
+  show: boolean,
+}
+export default function Index({show}:IProps) {
+  const capsuleInfo = useAppStore.getState().capsuleInfo;
+  if(show){
+    return <View className="fixed right-4 p-16 top-0 w-[248px] h-[98px]" style={{
+      top: `${capsuleInfo.bottom - 14}px`,
+      zIndex: 1100
+    }}>
+      <Image src={tipsBox} mode="widthFix" className="absolute left-0 top-0 w-full h-full z-0" />
+      <View className="relative z-10 p-16  text-14 leading-22 w-[204px]" style={{color: '#414A64'}}>
+        <View className=" whitespace-nowrap">点击右上角 选择「添加到桌面」</View>
+        <View className="">将智能体添加到桌面吧</View>
+      </View>
+    </View>
+  }
+  return <></>
+}

+ 44 - 44
src/pages/personal/index.tsx

@@ -1,5 +1,5 @@
 import PageCustom from "@/components/page-custom/index";
-import NavBarNormal from "@/components/nav-bar-normal";
+import NavBarNormal from "@/components/NavBarNormal";
 
 import { View, Input, Image } from "@tarojs/components";
 import Logo from "@/components/logo";
@@ -22,24 +22,16 @@ import { isSuccess } from "@/utils";
 import { useIsLogin } from '@/xiaolanbenlib/hooks/data/useAuth'
 
 import LoginPopup from '@/components/LoginPopup/index'
+import SaveToDesktopTip from './components/SaveToDesktopTip'
 
 export default function Index() {
-  // const name = "";
+
   const isLogin = useIsLogin()
-  const [agreements, setAgreements] = useState<TAgreementItem[]>([])
+  
 
   const [showPopup, setShowPopup] = useState(false)
-
-  const fetchPageData = async () => {
-    const response = await getSysAgreements('register')
-    if(isSuccess(response.status)){
-      setAgreements(response.data)
-    }
-  }
-
-  useEffect(()=> {
-    fetchPageData()
-  }, [])
+  const [showSaveToDesktopTip, setSaveToDesktopTip] = useState(false)
+  
 
 
   const handleClick = () => {
@@ -65,19 +57,16 @@ export default function Index() {
     );
   };
 
-  const getIcon = (name: string)=> {
-    if(name === '用户协议'){
-      return IconAgreement
-    }
-    if(name === '隐私政策'){
-      return IconPrivacy
-    }
-  }
+  
 
   return (
-    <PageCustom>
-      <NavBarNormal leftColumn={Logo}></NavBarNormal>
-      <View className="w-full px-16 py-24 flex flex-col gap-16">
+    <PageCustom onClick={()=> {
+      setSaveToDesktopTip(false)
+    }} >
+      <NavBarNormal leftColumn={Logo} scrollFadeIn></NavBarNormal>
+      <SaveToDesktopTip show={showSaveToDesktopTip}></SaveToDesktopTip>
+      
+      <View className="w-full px-16 py-24 flex flex-col gap-16 h-full" >
         <View className="flex items-center w-full gap-12 mb-16">
           <View className="w-60 h-60">
             <AvatarDefault />
@@ -114,23 +103,33 @@ export default function Index() {
           >
             <MenuLabel>账号管理</MenuLabel>
           </CardListItem>
-          <>
-          {agreements.map( item => {
-            return <CardListItem
-                className="pl-16 pr-8"
-                underline
-                rightRenderer={IconArrowRight}
-                leftRenderer={() => (
-                  <Image src={getIcon(item.name)} className="w-28 h-28" mode="widthFix" />
-                )}
-                onClick={() => {
-                  navToWebView(item.link)
-                }}
-              >
-                <MenuLabel>{item.name}</MenuLabel>
-              </CardListItem>
-          })}
-          </>
+          <CardListItem
+            className="pl-16 pr-8"
+            underline
+            rightRenderer={IconArrowRight}
+            leftRenderer={() => (
+              <Image src={IconPrivacy} className="w-28 h-28" mode="widthFix" />
+            )}
+            onClick={() => {
+              Taro.navigateTo({ url: "/pages/privacy/index" });
+            }}
+          >
+            <MenuLabel>隐私设置</MenuLabel>
+          </CardListItem>
+          
+          <CardListItem
+            className="pl-16 pr-8"
+            underline
+            rightRenderer={IconArrowRight}
+            leftRenderer={() => (
+              <Image src={IconAgreement} className="w-28 h-28" mode="widthFix" />
+            )}
+            onClick={() => {
+              Taro.navigateTo({ url: "/pages/agreement/index" });
+            }}
+          >
+            <MenuLabel>服务协议</MenuLabel>
+          </CardListItem>
         </CardList>
 
         <CardList>
@@ -154,8 +153,9 @@ export default function Index() {
             leftRenderer={() => (
               <Image src={IconDesktop} className="w-28 h-28" mode="widthFix" />
             )}
-            onClick={() => {
-              
+            onClick={(e:any) => {
+              e.stopPropagation();
+              setSaveToDesktopTip(true)
             }}
           >
             <MenuLabel>将智能体添加到桌面</MenuLabel>

+ 9 - 0
src/pages/privacy/index.config.ts

@@ -0,0 +1,9 @@
+export default definePageConfig({
+  navigationBarTitleText: '账号管理',
+  "usingComponents": {},
+  "navigationStyle": 'custom',
+  backgroundColor: '#F4F9FF',
+  enableShareAppMessage: true,
+  enableShareTimeline: true,
+  enablePageMeta: true,
+})

+ 9 - 0
src/pages/privacy/index.module.less

@@ -0,0 +1,9 @@
+.nickname{
+  flex:1;
+  height: 32px;
+  font-family: PingFangSC-Semibold;
+  font-weight: 600;
+  font-size: 24px;
+  color: #111A34;
+  line-height: 32px; 
+}

+ 58 - 0
src/pages/privacy/index.tsx

@@ -0,0 +1,58 @@
+import PageCustom from "@/components/page-custom/index";
+import NavBarNormal from "@/components/NavBarNormal";
+import IconVisibleForDirect from "@/images/svgs/privacy/IconVisibleForDirect.svg";
+import IconVisibleForRedirect from "@/images/svgs/privacy/IconVisibleForRedirect.svg";
+import IconVisibleForContact from "@/images/svgs/privacy/IconVisibleForContact.svg";
+import { View, Image } from "@tarojs/components";
+import ListWrapper from "@/components/list/ListWrapper";
+import ListRow from "@/components/list/ListRow";
+import WemetaSwitch from "@/components/WemetaSwitch";
+
+import { useUserStore } from "@/store/userStore";
+
+import { setMyPrivacy } from "@/service/user";
+
+export default function Index() {
+  const { fetchMyPrivacy, privacy } = useUserStore();
+  const handleSwitchChange = async (checked: boolean, key: string) => {
+    await setMyPrivacy({
+      ...privacy,
+      [key]: checked,
+    });
+    fetchMyPrivacy();
+  };
+  return (
+    <PageCustom>
+      <NavBarNormal backText="隐私设置"></NavBarNormal>
+      <View className="w-full px-16 py-24 flex flex-col gap-16">
+        <ListWrapper>
+          <ListRow underline>
+            <View className="flex flex-col gap-8">
+              <View className="flex items-center">
+                <View className="flex items-center flex-1 gap-8">
+                  <Image
+                    src={IconVisibleForDirect}
+                    className="w-28 h-28"
+                    mode="widthFix"
+                  />
+                  <View className="label-text">直发可见</View>
+                </View>
+                <View>
+                  <WemetaSwitch
+                    checked={privacy.directVisibleMyInfo}
+                    onChange={(checked) =>
+                      handleSwitchChange(checked, "directVisibleMyInfo")
+                    }
+                  ></WemetaSwitch>
+                </View>
+              </View>
+              <View className="text-gray-45 text-12 leading-20">
+                开启后,本人直接将智能体发送给好友,该好友可查看你的联系方式(手机、邮箱、微信二维码)
+              </View>
+            </View>
+          </ListRow>
+        </ListWrapper>
+      </View>
+    </PageCustom>
+  );
+}

+ 1 - 1
src/pages/profile/index.tsx

@@ -3,7 +3,7 @@ import { View, Image } from "@tarojs/components";
 import { useEffect, useState } from "react";
 import ComponentList from "@/components/component-list";
 
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import Taro, { getCurrentPages, useRouter } from "@tarojs/taro";
 import { isSuccess } from "@/utils";
 

+ 2 - 2
src/pages/test/index.tsx

@@ -1,5 +1,5 @@
 
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import { View } from "@tarojs/components";
 import PageCustom from "@/components/page-custom/index";
 
@@ -13,7 +13,7 @@ import IconConversationColor from "@/components/icon/icon-conversation-color";
 import IconIdeaColor from "@/components/icon/icon-idea-color";
 import IconPageColor from "@/components/icon/icon-page-color";
 
-import WemetaSwitch from "@/components/wemeta-switch";
+import WemetaSwitch from "@/components/WemetaSwitch";
 import { useState } from "react";
 import IconArrow from "@/components/icon/icon-arrow";
 

+ 1 - 1
src/pages/voice/index.tsx

@@ -4,7 +4,7 @@ import VoiceList from "./components/VoiceList";
 import MyVoiceList from "./components/MyVoiceList/index";
 import { View, ScrollView } from "@tarojs/components";
 import React, { useEffect, useRef, useState } from "react";
-import NavBarNormal from "@/components/nav-bar-normal/index";
+import NavBarNormal from "@/components/NavBarNormal/index";
 import style from "./index.module.less";
 import PageCustom from "@/components/page-custom/index";
 import { useVoiceStore } from "@/store/voiceStore";

+ 1 - 1
src/service/user.ts

@@ -14,7 +14,7 @@ export const getMyPrivacy = () => {
   return request.get<TMyPrivacy>(`${bluebookAiAgent}api/v1/my/privacy/setting`,)
 }
 // 设置我的隐私设置
-export const saveMyPrivacy = (data: TMyPrivacy) => {
+export const setMyPrivacy = (data: TMyPrivacy) => {
   return request.put(`${bluebookAiAgent}api/v1/my/privacy/setting`, data)
 }
 // 获取我的归属企业列表

+ 17 - 2
src/store/appStore.ts

@@ -13,6 +13,7 @@ export interface AppState {
   colorTextPrimary: string
   systemInfo: Taro.getSystemInfoAsync.Result | null
   isIos: boolean,
+  capsuleInfo: Taro.getMenuButtonBoundingClientRect.Rect,
   appConfig: TModelAppConfig | null
   keyboardHeight: number
   desktopPopupTips: boolean
@@ -25,7 +26,21 @@ export const useAppStore = create<AppState>((set) => ({
   value: 0,
   topDistance: 0, // 内容距离顶部的距离
   headerHeight: 0, // 头部高度
-  statusBarHeight: 0, // 头部高度
+  statusBarHeight: 0, // 头部状态高度
+  capsuleInfo: {
+    /** 下边界坐标,单位:px */
+    bottom: 0,
+    /** 高度,单位:px */
+    height: 0,
+    /** 左边界坐标,单位:px */
+    left: 0,
+    /** 右边界坐标,单位:px */
+    right: 0,
+    /** 上边界坐标,单位:px */
+    top: 0,
+    /** 宽度,单位:px */
+    width: 0,
+  },
   colorPrimary: '#CBF706', // 主题色
   colorTextPrimary: '#262626', // 主题色
   systemInfo: null,
@@ -70,7 +85,7 @@ export const useAppStore = create<AppState>((set) => ({
     }
     
     
-    set({ systemInfo: info, statusBarHeight, headerHeight, isIos, desktopPopupTips, bottomSafeHeight})
+    set({ systemInfo: info, capsuleInfo, statusBarHeight, headerHeight, isIos, desktopPopupTips, bottomSafeHeight})
     
       
   },

+ 15 - 2
src/store/userStore.ts

@@ -1,16 +1,23 @@
 import { create } from 'zustand'
-import { getMyInfo as _getMyInfo, getMyEntList as _getMyEntList } from '@/service/user'
-import { TEntItem, TUserInfo } from '@/types/user'
+import { getMyInfo as _getMyInfo, getMyEntList as _getMyEntList, getMyPrivacy } from '@/service/user'
+import { TEntItem, TUserInfo, TMyPrivacy } from '@/types/user'
 import { isSuccess } from '@/utils'
 export interface UserState {
   whoami: TUserInfo | null
   entList: TEntItem[]
+  privacy: TMyPrivacy
   getMyInfo: ()=> Promise<void>
+  fetchMyPrivacy: ()=> Promise<void>
   fetchMyEntList: ()=> Promise<void>
 }
 
 export const useUserStore = create<UserState>((set) => ({
   whoami: null,
+  privacy: {
+    contactVisibleMyInfo: false,
+    directVisibleMyInfo: false,
+    forwardVisibleMyInfo: false
+  },
   entList: [],
   getMyInfo: async () => {
     const res = await _getMyInfo()
@@ -18,6 +25,12 @@ export const useUserStore = create<UserState>((set) => ({
       set({ whoami: res.data})
     }
   },
+  fetchMyPrivacy: async () => {
+    const res = await getMyPrivacy()
+    if(isSuccess(res.status)){
+      set({ privacy: res.data})
+    }
+  },
   fetchMyEntList: async () => {
     const res = await _getMyEntList()
     if(isSuccess(res.status)){

+ 1 - 0
tailwind.config.js

@@ -31,6 +31,7 @@ module.exports = {
       'primary': '#317CFA',
       'primary-10': 'rgba(49, 124, 250, 0.1)',
       'black': '#000000',
+      'dark': '#111A34;',
       'black-3': '#333333',
       'black-6': '#666666',
       'black-9': '#999999',

Some files were not shown because too many files changed in this diff