Răsfoiți Sursa

Merge branch 'master' of http://git.lcpcp.cc/root/lcoco

BF-202210271038\Administrator 2 ani în urmă
părinte
comite
533f44a790

+ 156 - 1
README.md

@@ -1 +1,156 @@
-#Law-firm
+# 功能列表
+
+## 首页
+
+| 功能      | --首次发布功能 | 开发者 |功能描述 |
+|:-:|:--------:|:---:|:-:|
+|发现 (首页)|    是     |  孙  ||  
+|发现(右左滑右滑) |    是     |  孙  ||
+|发现(附近) |    是     |  孙  ||
+|发现(匹配)|    -     |  孙  ||
+|超级曝光|    -     |     ||
+|会员充值弹出 |    是     |  黄  ||
+|筛选|    是     |  孙  || 
+|首页-评论 |    是     |  吴  ||
+|首页下面菜单|    是     |  孙  ||
+|星座速配|    -     |     || 
+|用户个人主页 |    是     |  黄  ||   
+|用户个人主页(动态列表)|    是     |  吴  ||   
+|优先查看用户 |    -     |     ||
+|送礼物弹窗|    是    |  黄  ||
+|拉黑举报 |    是     |  黄  || 
+
+## 个人中心
+
+### 钱包和波点兑换中心
+| 功能      | --首次发布功能 | 开发者 |功能描述|
+|:-:|:--------:|:---:|:-:|
+|可可豆/贝壳履历页面|    是     |  黄  ||
+|贝壳兑换中心(特权/道具/其他)|    是     |   黄   || 
+|充值页面|    是     |   黄   ||   
+|购买小纸条弹框|    -     |     ||
+|礼物墙(贝壳兑换)|    是     |  黄    || 
+|其他支付方式 |    是     |   黄   ||  
+|收益页面|    是     |   黄   || 
+|谁喜欢我(未解锁)|    是     |  黄    || 
+|谁喜欢我(巳解锁)|    是     |  黄    || 
+|心动擦亮|    -     |     || 
+|心动足迹|    -     |     ||
+|最近访客|    是     |   黄   || 
+
+### 个人中心首页
+| 功能      |--首次发布功能 | 开发者 |功能描述|
+|:-:|:-:|:---:|:-:| 
+|我的(初始状态)| 是 |  黄  ||
+|我的(动态)| 是   |   黄  ||
+|我的(活动)|-|     ||
+|我的(赞过)|是|   黄  || 
+
+### 设置
+| 功能      | --首次发布功能 | 开发者|功能描述|
+|:-:|:--------:|:-:|:-:|
+|密聊(表情)|    -     |    ||
+|兑换码|    是     | 黄 || 
+|更多设置(推送管理/黑名单/账号注销)|    是     | 黄 ||
+|顾客宣言(顾客)|    是     |黄  ||
+|我的黑名单列表|    是     |黄  ||
+|蜜聊对话框(初始状态)|    -     | ||
+|实名认证|    是     | 黄 ||
+|推送通知设定|    是     | 黄 ||
+|网络文化经验许可证(icoco许可证)|    是     | ||   
+|关于我们(icoco介绍)|    是    | 黄|| 
+|顾客修改密码|    是     | 黄||   
+|已实名认证|    是     | 黄||    
+|隐私政策|    是     | 黄||   
+|营业执照|    是    | 黄||     
+|用户协议|    是    |黄 ||    
+|增值电信业务许可证|    是    |黄 || 
+
+### 编辑
+| 功能      | --首次发布功能 | 开发者|功能描述|
+|:-:|:--------:|:-:|:-:|
+|编辑昵称|    是     |  黄  ||
+|出生日期|    是     | 黄||
+|关于我|    是     | 黄||
+|交友目的|    是     |黄 ||
+|上传微信,赚取奖励|    是     |黄 ||
+|我的信息页面|    是     | 黄||
+|选择家乡 |    是     | 黄|| 
+|选择兴趣|    是     |黄|| 
+|选择职业|    是     |黄 || 
+|学校|    -     | || 
+|预览|    是     | 黄|| 
+
+## 发布动态
+| 功能      |--首次发布功能 | 开发者 |功能描述|
+|:-:|:-:|:---:|:-:|
+|发布动态| 是 |  吴  ||
+|选话题| -   |     ||
+|选择園子|-|     || 
+
+## 消息
+| 功能      |--首次发布功能 | 开发者 |功能描述|
+|:-:|:-:|:---:|:-:|
+|距离弹框| - |     ||
+|每周数据统计| 是   |  黄  ||
+|消息页面(排序筛选)|是|  吴  ||
+|系统配对匹配页面|-|     || 
+|谁喜欢我(需要解锁)|是 |  孙  ||
+|通讯录|是|  吴  || 
+|系统通知消息|是|  吴   ||
+|防诈骗提醒|是|  吴   || 
+|消息列表|是|  吴   ||
+|选择兴趣|-|     ||
+
+## 圈子
+| 功能      |--首次发布功能 | 开发者 |功能描述|
+|:-:|:-:|:---:|:-:|
+|圈子消息(好友)| 是 |  吴  ||
+|圈子消息(附近)| 是   |  吴   || 
+|圈子消息(推荐)|是|   吴  ||
+|圈子视频预览|是|   吴  ||
+|话题搜索页面|- |     ||
+|话题列表|-|     ||
+|话题消息|-|     ||
+|圈子消息回复|是|   吴  ||
+|互动中心(喜欢ta)|是|  吴   ||
+
+## 登陆
+
+### 注册
+| 功能      |是否首次发布功能 | 开发者 |功能描述| 
+|:-:|:-:|:---:|:-:| 
+|登录/注册|是|  孙  |
+|个性卡牌|是|   孙   |
+|登陆开始首页|是|  孙    |
+|昵称&密码|是|  孙    | 
+|闪屏页|是|  孙    |
+|打招呼(开通会员弹框)|是|   孙   | 
+|忘记密码|是|    孙  |
+|验证码登录|是|  孙    |
+|账号登录|是|   孙   |
+
+## 私密聊天
+| 功能      |--首次发布功能 | 开发者 | 功能描述 |
+|:-:|:-:|:---:|:----:|
+| 密聊| 是 |  吴  |      |
+|语音消息| -   |     |      |
+|定位|是|     |  吴   | 
+|蜜聊对话框|是|  吴  |      |
+|送礼物|是 |     |      |
+|表情列表|-|     |      |
+
+# 后台功能
+
+### 代理商管理页面
+| 功能      |--首次发布功能 | 开发者|功能描述|
+|:-:|:-:|:-:|:-:|
+|代理商下的客户列表| 是 | 黄  ||
+|代理商下的客户列表(客户详情)| 是   | 黄 ||
+|代理商提现申请|是| 黄||
+|代理赏银行卡号设定|是| 黄|| 
+|代理商提现履历|是 |黄 || 
+
+
+## admin:
+后台所有的页面的增删改查,字段必填,文言调整 -- 黄

+ 7 - 1
pages.json

@@ -340,8 +340,14 @@
         "navigationBarTextStyle": "black",
         "enablePullDownRefresh": false
       }
+    },
+    {
+      "path": "pages/circle/circle",
+      "style": {
+        "navigationBarTitleText": "",
+        "enablePullDownRefresh": false
+      }
     }
-
   ],
   "globalStyle": {
     "navigationBarTextStyle": "black",

+ 191 - 0
pages/circle/circle.vue

@@ -0,0 +1,191 @@
+<template>
+  <view class="circle-box">
+    <view class="circle-title"  :style="[{ 'margin-top': statusBarH + 'px'}]">
+      <view class="title-left">
+        <image class="title-left-back" @click.stop="back" src="/static/img/common/back.png"></image>
+        <view class="title-user">
+          <image class="user-head" src="/static/img/temporary/1.png" mode="aspectFill"></image>
+          <view class="user-data">
+            <view class="user-name sys-color-black sys-weight-600 sys-height-44">WWWWW</view>
+            <view class="user-add sys-color-gray-9 sys-height-34">2021-04-18 15:53</view>
+          </view>
+        </view>
+      </view>
+      <view class="title-right">
+        <call></call>
+        <image class="title-right-img" @click.stop="back" src="/static/img/circle/Frame-100070@2x.png" mode="heightFix"></image>
+      </view>
+    </view>
+    <scroll-view :scroll-y="true" :style="{'height':'calc(100vh - '+navHeight+'rpx - env(safe-area-inset-bottom))'}">
+      <view class="circle-data">
+        <view class="circle-img-list">
+          <swiper class="swiper" circular :indicator-dots="true" indicator-color="rgba(255,255,255,0.4)" indicator-active-color="#FFFFFF">
+            <swiper-item>
+              <image class="circle-img" @click.stop="back" src="/static/img/temporary/1.png" mode="aspectFill"></image>
+            </swiper-item>
+            <swiper-item>
+              <image class="circle-img" @click.stop="back" src="/static/img/temporary/2.png" mode="aspectFill"></image>
+            </swiper-item>
+            <swiper-item>
+              <image class="circle-img" @click.stop="back" src="/static/img/temporary/3.png" mode="aspectFill"></image>
+            </swiper-item>
+          </swiper>
+
+        </view>
+        <view class="circle-text sys-color-black">
+          我是阳光大男孩
+        </view>
+        <view class="tag-list">
+          <dynamic-tag :list="tagList" tag-bg="#F2F2F2" tag-color="#999999"></dynamic-tag>
+        </view>
+      </view>
+      <view class="evaluate-data">
+        <view class="tag-list">
+          <view class="tag-item" @click="setTitleTag(0)">
+            <text class="tag-text sys-weight-600 sys-height-44 sys-color-gray-9" :class="{'tag-text-default':tagNum===0}">评论</text>
+            <text class="tag-num sys-color-gray-9">(3)</text>
+          </view>
+          <view class="tag-item" @click="setTitleTag(1)">
+            <text class="tag-text sys-weight-600 sys-height-44 sys-color-gray-9" :class="{'tag-text-default':tagNum===1}">相关推荐</text>
+          </view>
+        </view>
+        <view class="evaluate-list">
+          <view class="evaluate-item"></view>
+        </view>
+      </view>
+    </scroll-view>
+
+
+  </view>
+</template>
+
+<script>
+import tools from "@/service/tools";
+import Call from "@/pages/common/call/call";
+import DynamicTag from "@/pages/common/tag/dynamic-tag";
+
+export default {
+  components: {DynamicTag, Call},
+  data() {
+    return {
+      statusBarH:0,
+      navHeight:44,
+      tagList:[{'text':'南亭新都会商场','icon':'1'},{'text':'你好认识一哈','icon':'2'}],
+      tagNum:0
+    }
+  },
+  methods: {
+    back(){
+      tools.leftClick()
+    },
+    setTitleTag(num){
+      if(num!==this.tagNum){
+        this.tagNum=num
+      }
+    }
+  },
+  created() {
+    uni.getSystemInfo({
+      success: (e) =>{
+        this.statusBarH = e.statusBarHeight
+        this.navHeight=(50+this.statusBarH)*2+98
+      }
+    })
+
+  }
+}
+</script>
+
+<style scoped lang="scss">
+.circle-box{
+  .circle-title{
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    padding: 12rpx 24rpx;
+    .title-left{
+      display: flex;
+      justify-content: flex-start;
+      .title-left-back{
+        width: 40rpx;
+        height: 40rpx;
+      }
+      .title-user{
+        margin-left: 30rpx;
+        display: flex;
+        justify-content: flex-start;
+        .user-head{
+          width: 64rpx;
+          height: 64rpx;
+          border-radius: 50%;
+          margin-right: 20rpx;
+        }
+        .user-data{
+          .user-name{
+            font-size: 32rpx;
+          }
+          .user-add{
+            font-size: 24rpx;
+          }
+        }
+
+      }
+    }
+    .title-right{
+      display: flex;
+      justify-content: flex-end;
+      .title-right-img{
+        margin-left: 40rpx;
+        height: 36rpx;
+      }
+    }
+  }
+  .circle-data{
+    margin-top: 4rpx;
+    border-bottom: 1rpx solid #F2F2F2;
+    .circle-img-list{
+      width: 100vw;
+      height: 920rpx;
+      .swiper{
+        height: 920rpx;
+        .circle-img{
+          width: 100vw;
+          height: 920rpx;
+        }
+      }
+    }
+    .circle-text{
+      padding:36rpx 32rpx 0 32rpx;
+      flex: 32rpx;
+      line-height: 40rpx;
+    }
+    .tag-list{
+      padding: 0 32rpx 42rpx 32rpx;
+    }
+
+  }
+  .evaluate-data{
+    padding: 40rpx 32rpx;
+    .tag-list{
+      display: flex;
+      justify-content: flex-start;
+      padding-bottom: 2rpx;
+      .tag-item{
+        margin-right: 60rpx;
+        line-height: 44rpx;
+        .tag-text{
+          font-size: 32rpx;
+          margin-right: 4rpx;
+        }
+        .tag-num{
+          font-size: 24rpx;
+        }
+        .tag-text-default{
+          color: #141414;
+        }
+      }
+    }
+  }
+}
+
+</style>

+ 165 - 3
pages/circle/index.vue

@@ -1,22 +1,184 @@
 <template>
-  <view>
+  <view class="circle-box">
+    <view class="circle-title"  :style="[{ 'margin-top': statusBarH + 'px'}]">
+      <view class="title-left">
+        <view class="title-text sys-height-44 sys-color-gray-9 sys-weight-400" @click="setTitleTag(0)" :class="{'title-text-default':tagNum===0}">好友</view>
+        <view class="title-text sys-height-44 sys-color-gray-9 sys-weight-400" @click="setTitleTag(1)"  :class="{'title-text-default':tagNum===1}">附近</view>
+        <view class="title-text sys-height-44 sys-color-gray-9 sys-weight-400" @click="setTitleTag(2)"  :class="{'title-text-default':tagNum===2}">推荐</view>
+      </view>
+      <view class="title-right">
+        <view class="title-icon">
+          <image class="title-img" src="/static/img/circle/Group-100345@2x.png"></image>
+        </view>
+        <view class="title-icon">
+          <image class="title-img" src="/static/img/circle/Group-100344@2x.png"></image>
+        </view>
+      </view>
 
+    </view>
+
+    <view class="circle-content" >
+      <scroll-view :scroll-y="true" :style="{'height':'calc(100vh - '+navHeight+'rpx - var(--window-bottom))'}">
+        <my-praise></my-praise>
+      </scroll-view>
+    </view>
+    <view class="circle-add sys-background-yellow">
+      <image class="circle-add-img" src="/static/img/circle/cancel-icon-2@2x.png"></image>
+    </view>
   </view>
 </template>
 
 <script>
+import EnNav from "@/components/en-utils/en-nav/en-nav";
+import MyPraise from "@/pages/my/model/my-praise";
 export default {
+  components: {MyPraise, EnNav},
   data() {
     return {
-
+      statusBarH:0,
+      tagNum:0,
+      navHeight:44
     }
   },
   methods: {
+    setTitleTag(num){
+      if(num!==this.tagNum){
+        this.tagNum=num
+      }
+    }
+  },
+  created() {
+    uni.getSystemInfo({
+      success: (e) =>{
+        this.statusBarH = e.statusBarHeight
+        this.navHeight=(50+this.statusBarH)*2
+        //e.safeArea.bottom  底部安全距离
+      }
+    })
 
   }
 }
 </script>
 
-<style scoped>
+<style scoped lang="scss">
+.circle-box{
+  .circle-title{
+    display: flex;
+    justify-content: space-between;
+    padding:22rpx 36rpx;
+    .title-left{
+      display: flex;
+      justify-content: flex-start;
+      .title-text{
+        font-size: 32rpx;
+        margin-right: 56rpx;
+      }
+      .title-text-default{
+        font-weight: 600;
+        color: #141414;
+      }
+
+    }
+    .title-right{
+      display: flex;
+      justify-content: flex-end;
+      .title-img{
+        width: 44rpx;
+        height: 44rpx;
+        margin-left: 40rpx;
+      }
+    }
+
+  }
+  .circle-content{
+    padding: 0 32rpx;
+    .circle-item{
+      margin-top: 32rpx;
+      margin-bottom: 8rpx;
+      display: flex;
+      justify-content: space-between;
+      .item-left{
+        width: 80rpx;
+        height: 80rpx;
+        position: relative;
+        .item-head{
+          width: 80rpx;
+          height: 80rpx;
+          border-radius: 50%;
+        }
+        .item-auth{
+          width: 18rpx;
+          height: 18rpx;
+          position: absolute;
+          bottom: 0;
+          right: 8rpx;
+          z-index: 10;
+        }
+
+      }
+      .item-right{
+        padding-left: 20rpx;
+        width: calc(100vw - 144rpx);
+        .circle-top-data{
+          display: flex;
+          justify-content: space-between;
+          .circle-top-left{
+            .circle-top-left-title{
+              display: flex;
+              justify-content: flex-start;
+              align-items: center;
+              .left-title-text{
+                  font-size: 32rpx;
+                margin-right: 8rpx;
+              }
+              .left-title-vip-img{
+                height: 28rpx;
+              }
+            }
+            .left-title-time{
+              margin-top: 8rpx;
+              line-height: 34rpx;
+              font-size: 24rpx;
+            }
+          }
+          .circle-top-right{
+            height: 40rpx;
+            border-radius: 200rpx;
+            border: 2rpx solid #141414;
+            padding: 8rpx 16rpx;
+            display: flex;
+            justify-content: space-between;
+            .circle-top-right-img{
+              width: 40rpx;
+              height: 40rpx;
+              margin-right: 8rpx;
+            }
+            .circle-top-right-text{
+              font-size: 28rpx;
+              line-height: 40rpx;
+            }
+          }
+        }
+      }
+
+    }
+  }
+  .circle-add{
+    position: absolute;
+    bottom: 70rpx;
+    right: 22rpx;
+    border-radius: 50%;
+    width: 88rpx;
+    height: 88rpx;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    .circle-add-img{
+      width: 40rpx;
+      height: 40rpx;
+    }
+  }
+
+}
 
 </style>

+ 45 - 0
pages/common/call/call.vue

@@ -0,0 +1,45 @@
+<template>
+  <view class="call-box">
+    <view class="call-icon">
+      <image class="call-img" src="/static/img/circle/Group-100243@2x.png" mode="aspectFill"></image>
+    </view>
+    <view class="call-text sys-weight-600 sys-color-black">打招呼</view>
+  </view>
+</template>
+
+<script>
+export default {
+  name: "call",
+  components: {},
+  props: {},
+  data() {
+    return {}
+  },
+  watch: {},
+  mounted() {
+
+  },
+  methods: {}
+}
+</script>
+
+<style scoped lang="scss">
+.call-box{
+  height: 40rpx;
+  border-radius: 200rpx;
+  border: 2rpx solid #141414;
+  padding: 4rpx 16rpx;
+  display: flex;
+  justify-content: space-between;
+  .call-img{
+    width: 40rpx;
+    height: 40rpx;
+    margin-right: 8rpx;
+  }
+  .call-text{
+    font-size: 28rpx;
+    line-height: 40rpx;
+  }
+}
+
+</style>

+ 46 - 17
pages/my/model/my-praise.vue

@@ -1,16 +1,26 @@
 <template>
   <view class="my-praise-box">
-    <view class="praise-item" v-for="(item,itemIndex) in list">
+    <view class="praise-item" @click="goToDetails" v-for="(item,itemIndex) in list">
       <view class="praise-left">
         <image class="praise-head" src="/static/img/temporary/3.png" mode="aspectFill"></image>
       </view>
       <view class="praise-right">
-        <view class="right-name sys-color-black sys-weight-600">
-          WWWWW
-        </view>
-        <view class="right-time sys-color-gray-9 sys-weight-400">
-          2021-04-18 15:53发布.<100m
+        <view class="praise-top-data">
+          <view class="praise-top-left">
+            <view class="praise-top-left-title">
+              <view class="left-title-text sys-height-44 sys-color-black sys-weight-600">WWWWW</view>
+              <view class="left-title-vip">
+                <image class="left-title-vip-img" src="/static/img/my/vip.png" mode="heightFix"></image>
+              </view>
+
+            </view>
+            <view class="left-title-time sys-color-gray-9">2021-04-18 15:53发布.<100m</view>
+          </view>
+          <view class="praise-top-right">
+           <call></call>
+          </view>
         </view>
+
         <view class="right-text sys-color-black sys-weight-400">
           我是阳光大男孩
         </view>
@@ -62,9 +72,10 @@ import ImgOne from "@/pages/common/img/img-one";
 import ImgTwo from "@/pages/common/img/img-two";
 import ImgThree from "@/pages/common/img/img-three";
 import DynamicTag from "@/pages/common/tag/dynamic-tag";
+import Call from "@/pages/common/call/call";
 export default {
   name: "my-praise",
-  components: {DynamicTag, ImgThree, ImgTwo, ImgOne},
+  components: {Call, DynamicTag, ImgThree, ImgTwo, ImgOne},
   props: {},
   data() {
     return {
@@ -97,6 +108,11 @@ export default {
       }else {
         --this.list[index].likeNum
       }
+    },
+    goToDetails(){
+      uni.navigateTo({
+        'url':'/pages/circle/circle'
+      })
     }
   }
 }
@@ -120,16 +136,29 @@ export default {
     .praise-right{
       width: calc(100% - 80rpx);
       padding-left: 22rpx;
-      .right-name{
-        height: 40rpx;
-        line-height: 40rpx;
-        font-size: 32rpx;
-      }
-      .right-time{
-        margin-top: 8rpx;
-        font-size: 24rpx;
-        height: 34rpx;
-        line-height: 34rpx;
+      .praise-top-data{
+        display: flex;
+        justify-content: space-between;
+        .praise-top-left{
+          .praise-top-left-title{
+            display: flex;
+            justify-content: flex-start;
+            align-items: center;
+            .left-title-text{
+              font-size: 32rpx;
+              margin-right: 8rpx;
+            }
+            .left-title-vip-img{
+              height: 28rpx;
+            }
+          }
+          .left-title-time{
+            margin-top: 8rpx;
+            line-height: 34rpx;
+            font-size: 24rpx;
+          }
+        }
+
       }
       .right-text{
         margin-top: 24rpx;

+ 6 - 0
static/css/sys.css

@@ -87,3 +87,9 @@ overflow: hidden;
   line-height: 44rpx;
 }
 
+.sys-height-34{
+  height: 34rpx;
+  line-height: 34rpx;
+}
+
+

BIN
static/img/circle/1.png


BIN
static/img/circle/Frame-100070@2x.png


BIN
static/img/circle/Group-100082@2x.png


BIN
static/img/circle/Group-100243@2x.png


BIN
static/img/circle/Group-100344@2x.png


BIN
static/img/circle/Group-100345@2x.png


BIN
static/img/circle/cancel-icon-2@2x.png


BIN
static/img/circle/exposure.png


BIN
static/img/circle/pull-back.png