Procházet zdrojové kódy

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

# Conflicts:
#	static/css/sys.css
WIN-8NDK4S1KEGQ\Administrator před 2 roky
rodič
revize
78bacc3044
10 změnil soubory, kde provedl 841 přidání a 438 odebrání
  1. 148 154
      README.md
  2. 2 2
      manifest.json
  3. 178 1
      package-lock.json
  4. 7 0
      pages.json
  5. 202 175
      pages/circle/index.vue
  6. 22 0
      pages/circle/recommended.vue
  7. 165 4
      pages/my/model/my-praise.vue
  8. 16 1
      static/css/sys.css
  9. binární
      static/img/circle/off.png
  10. 101 101
      yarn.lock

+ 148 - 154
README.md

@@ -1,156 +1,150 @@
 # 功能列表
-
-## 首页
-
-| 功能      | --首次发布功能 | 开发者 |功能描述 |
-|:-:|:--------:|:---:|:-:|
-|发现 (首页)|    是     |  孙  ||  
-|发现(右左滑右滑) |    是     |  孙  ||
-|发现(附近) |    是     |  孙  ||
-|发现(匹配)|    -     |  孙  ||
-|超级曝光|    -     |     ||
-|会员充值弹出 |    是     |  黄  ||
-|筛选|    是     |  孙  || 
-|首页-评论 |    是     |  吴  ||
-|首页下面菜单|    是     |  孙  ||
-|星座速配|    -     |     || 
-|用户个人主页 |    是     |  黄  ||   
-|用户个人主页(动态列表)|    是     |  吴  ||   
-|优先查看用户 |    -     |     ||
-|送礼物弹窗|    是    |  黄  ||
-|拉黑举报 |    是     |  黄  || 
-
-## 个人中心
-
-### 钱包和波点兑换中心
-| 功能      | --首次发布功能 | 开发者 |功能描述|
-|:-:|:--------:|:---:|:-:|
-|可可豆/贝壳履历页面|    是     |  黄  ||
-|贝壳兑换中心(特权/道具/其他)|    是     |   黄   || 
-|充值页面|    是     |   黄   ||   
-|购买小纸条弹框|    -     |     ||
-|礼物墙(贝壳兑换)|    是     |  黄    || 
-|其他支付方式 |    是     |   黄   ||  
-|收益页面|    是     |   黄   || 
-|谁喜欢我(未解锁)|    是     |  黄    || 
-|谁喜欢我(巳解锁)|    是     |  黄    || 
-|心动擦亮|    -     |     || 
-|心动足迹|    -     |     ||
-|最近访客|    是     |   黄   || 
-
-### 个人中心首页
-| 功能      |--首次发布功能 | 开发者 |功能描述|
-|:-:|:-:|:---:|:-:| 
-|我的(初始状态)| 是 |  黄  ||
-|我的(动态)| 是   |   黄  ||
+(优先做登录,首页,个人中心这三个部分,其余往后放)
+
+## 1.登录&注册
+
+| 功能      |是否首次发布功能 | 预估工时(小时) | 功能描述                                           | 
+|:-:|:-:|:---:|:-----------------------------------------------| 
+|登录/注册|是|  -  | /utility/login <br>/utility/mobile_login       |
+|个性卡牌|是|   -   | /utility/upload                               |
+|忘记密码|是|    -  | /utility/get_code <br>/utility/forget_password |
+|验证码登录|是|  -    | /utility/get_code<br>/utility/mobile_login     |
+|账号登录|是|   -   | /utility/login                                 |
+
+## 2.首页
+
+|         功能         | 首次发布功能 | 预估工时(小时) | 功能描述                                   |
+| :------------------: | :-----------: | :---: | :---------------------------------------- |
+|     发现 (首页)      |      是       |   -   | /discovery/init                           |
+|      发现(左划)      |      是       |   -   | /discovery/left/${userId}                 |
+|      发现(右划)      |      是       |   -   | /discovery/right/${userId}                |
+|       发现列表       |      是       |   -   | /discovery                                |
+| 反悔列表(左划过的人) |      是       |   -   | /discovery/regrets                        |
+|   发现用户朋友圈列表   |      是       |   -   | /discovery/moments                        |
+|      发现(附近)      |      是       |   -   | /discovery/nearby                         |
+|       解锁微信       |      是       |   -   | /discovery/unlockWechat/{targetUserId}    |
+|       上传微信       |      是       |   -   | /discovery/fillInWechat                   |
+|      发现(匹配)      |       -       |       |                                           |
+|       超级曝光       |       -       |       |                                           |
+|         筛选         |      是       |   -   | /discovery/filter                         |
+|      首页-评论       |      是       |   -   | /community/reply                          |
+|       星座速配       |       -       |       |                                           |
+|     用户个人主页      |      是       |   -   | /discovery/profile/{id}                   |
+|     优先查看用户      |       -       |       |                                           |
+|       拉黑举报       |      是       |   -   | /myself/addBlacklist <br>  /myself/tipoff |
+
+## 3.个人中心
+
+### 3.1钱包和波点兑换中心
+|        功能        | 首次发布功能 | 预估工时(小时) | 功能描述                           |
+|:----------------:|:--------:|:---:|:-------------------------------|
+|    可可豆/贝壳履历页面    |    是     |  -  | /myself/getCashFlowHistoryPage |
+| 贝壳兑换中心(特权/道具/其他) |    是     |   -   | /myself/getGifts               | 
+|       充值页面       |    是     |   -   | /myself/getRechargePage        |   
+|     购买小纸条弹框      |    -     |     |                                |
+|    礼物墙(贝壳兑换)     |    是     |  -    | /myself/getGifts               | 
+|      其他支付方式      |    是     |   -   | /myself/payChannel             |  
+|       收益页面       |    是     |   -   | /myself/getDailyEarnings       | 
+|    谁喜欢我(未解锁)     |    是     |  -    | /myself/likeMe                 | 
+|    谁喜欢我(巳解锁)     |    是     |  -    | /myself/likeMe                 | 
+|       心动擦亮       |    -     |     |                                | 
+|       心动足迹       |    -     |     |                                |
+|       最近访客       |    是     |   -   | /myself/visitor                | 
+
+### 3.2个人中心首页
+| 功能      |首次发布功能 | 预估工时(小时) |功能描述|
+|:-:|:-:|:---:|:-| 
+|我的(初始状态)| 是 |  -  |/myself|
+|我的(动态)| 是   |   -  |/myself/myMoments|
 |我的(活动)|-|     ||
-|我的(赞过)|是|   黄  || 
-
-### 设置
-| 功能      | --首次发布功能 | 开发者|功能描述|
-|:-:|:--------:|:-:|:-:|
-|密聊(表情)|    -     |    ||
-|兑换码|    是     | 黄 || 
-|更多设置(推送管理/黑名单/账号注销)|    是     | 黄 ||
-|顾客宣言(顾客)|    是     |黄  ||
-|我的黑名单列表|    是     |黄  ||
-|蜜聊对话框(初始状态)|    -     | ||
-|实名认证|    是     | 黄 ||
-|推送通知设定|    是     | 黄 ||
-|网络文化经验许可证(icoco许可证)|    是     | ||   
-|关于我们(icoco介绍)|    是    | 黄|| 
-|顾客修改密码|    是     | 黄||   
-|已实名认证|    是     | 黄||    
-|隐私政策|    是     | 黄||   
-|营业执照|    是    | 黄||     
-|用户协议|    是    |黄 ||    
-|增值电信业务许可证|    是    |黄 || 
-
-### 编辑
-| 功能      | --首次发布功能 | 开发者|功能描述|
-|:-:|:--------:|:-:|:-:|
-|编辑昵称|    是     |  黄  ||
-|出生日期|    是     | 黄||
-|关于我|    是     | 黄||
-|交友目的|    是     |黄 ||
-|上传微信,赚取奖励|    是     |黄 ||
-|我的信息页面|    是     | 黄||
-|选择家乡 |    是     | 黄|| 
-|选择兴趣|    是     |黄|| 
-|选择职业|    是     |黄 || 
-|学校|    -     | || 
-|预览|    是     | 黄|| 
-
-## 发布动态
-| 功能      |--首次发布功能 | 开发者 |功能描述|
-|:-:|:-:|:---:|:-:|
-|发布动态| 是 |  吴  ||
-|选话题| -   |     ||
-|选择園子|-|     || 
-
-## 消息
-| 功能      |--首次发布功能 | 开发者 |功能描述|
-|:-:|:-:|:---:|:-:|
-|距离弹框| - |     ||
-|每周数据统计| 是   |  黄  ||
-|消息页面(排序筛选)|是|  吴  ||
-|系统配对匹配页面|-|     || 
-|谁喜欢我(需要解锁)|是 |  孙  ||
-|通讯录|是|  吴  || 
-|系统通知消息|是|  吴   ||
-|防诈骗提醒|是|  吴   || 
-|消息列表|是|  吴   ||
-|选择兴趣|-|     ||
-
-## 圈子
-| 功能      |--首次发布功能 | 开发者 |功能描述|
-|:-:|:-:|:---:|:-:|
-|圈子消息(好友)| 是 |  吴  ||
-|圈子消息(附近)| 是   |  吴   || 
-|圈子消息(推荐)|是|   吴  ||
-|圈子视频预览|是|   吴  ||
-|话题搜索页面|- |     ||
-|话题列表|-|     ||
-|话题消息|-|     ||
-|圈子消息回复|是|   吴  ||
-|互动中心(喜欢ta)|是|  吴   ||
-
-## 登陆
-
-### 注册
-| 功能      |是否首次发布功能 | 开发者 |功能描述| 
-|:-:|:-:|:---:|:-:| 
-|登录/注册|是|  孙  |
-|个性卡牌|是|   孙   |
-|登陆开始首页|是|  孙    |
-|昵称&密码|是|  孙    | 
-|闪屏页|是|  孙    |
-|打招呼(开通会员弹框)|是|   孙   | 
-|忘记密码|是|    孙  |
-|验证码登录|是|  孙    |
-|账号登录|是|   孙   |
-
-## 私密聊天
-| 功能      |--首次发布功能 | 开发者 | 功能描述 |
-|:-:|:-:|:---:|:----:|
-| 密聊| 是 |  吴  |      |
-|语音消息| -   |     |      |
-|定位|是|     |  吴   | 
-|蜜聊对话框|是|  吴  |      |
-|送礼物|是 |     |      |
-|表情列表|-|     |      |
-
-# 后台功能
-
-### 代理商管理页面
-| 功能      |--首次发布功能 | 开发者|功能描述|
-|:-:|:-:|:-:|:-:|
-|代理商下的客户列表| 是 | 黄  ||
-|代理商下的客户列表(客户详情)| 是   | 黄 ||
-|代理商提现申请|是| 黄||
-|代理赏银行卡号设定|是| 黄|| 
-|代理商提现履历|是 |黄 || 
-
-
-## admin:
-后台所有的页面的增删改查,字段必填,文言调整 -- 黄
+|我的(赞过)|是|   -  |/myself/moments| 
+
+### 3.3设置
+|         功能          | 首次发布功能 | 预估工时(小时)| 功能描述                               |
+|:-------------------:|:--------:|:-:|:-----------------------------------|
+|       密聊(表情)        |    -     |    |                                    |
+|         兑换码         |    是     | - | /myself/exchangeCode               | 
+|        推送管理         |    是     | - | /myself/pushSetting                |
+|    关于我(顾客)     |    是     |-  | /myself/aboutMe                    |
+|       我的黑名单列表       |    是     |-  | /myself/blacklist                  |
+|     蜜聊对话框(初始状态)     |    -     | |                                    |
+|        实名认证         |    是     | - | /myself/auth <br>/myself/auth_face |
+|       推送通知设定        |    是     | - | /myself/push                              |
+| 网络文化经验许可证(icoco许可证) |    是     |- | /myself/article                           |   
+|    关于我们(icoco介绍)    |    是    | -| /myself/article                           | 
+|       顾客修改密码        |    是     | -| /myself/password                          |     
+|        隐私政策         |    是     | -| /myself/article                           |   
+|        营业执照         |    是    | -| /myself/article                           |     
+|        用户协议         |    是    |- | /myself/article                           |    
+|      增值电信业务许可证      |    是    |- | /myself/article                           | 
+
+### 3.4编辑
+| 功能      | 首次发布功能 | 预估工时(小时)|     功能描述     |
+|:-:|:--------:|:-:|:------------:|
+|编辑昵称|    是     |  -  | /myself/editProfile |
+|出生日期|    是     | -| /myself/editProfile  |
+|关于我|    是     | -| /myself/editProfile  |
+|交友目的|    是     |- | /myself/editProfile  |
+|上传微信,赚取奖励|    是     |- | /myself/editProfile  |
+|我的信息页面|    是     | -| /myself/editProfile  |
+|选择家乡 |    是     | -| /myself/editProfile  | 
+|选择兴趣|    是     |-| /myself/editProfile  | 
+|选择职业|    是     |- | /myself/editProfile  | 
+|学校|    是    |- | /myself/editProfile  | 
+|预览|    是     | -|   /myself/profile   | 
+
+## 4.发布动态
+|   功能   | 首次发布功能 | 预估工时(小时) |        功能描述         |
+| :-----: | :-----------: | :---: | :--------------------: |
+| 发布动态 |      是       |   -   | /community/saveCommunity |
+|  选话题  |       -       |       |                        |
+| 选择園子 |       -       |       |                        |
+
+## 5.消息
+|       功能        | 首次发布功能 | 预估工时(小时) | 功能描述                           |
+| :--------------: | :-----------: | :---: | :-------------------------------- |
+|     距离弹框      |       -       |       |                                   |
+|    每周数据统计    |      是       |   -   | /myself/statistics                |
+| 消息页面(排序筛选) |      是       |   -   | /message/filter                   |
+|  系统配对匹配页面  |       -       |       |                                   |
+| 谁喜欢我(需要解锁) |      是       |   -   | /utility/admirers                 |
+|      通讯录       |      是       |   -   | /community/addressBook            |
+|    系统通知消息    |      是       |  -   | /message/getMessage/{messageType} |
+|    防诈骗提醒     |      是       |  -   | /message/getMessage/{messageType} |
+|     消息列表      |      是       |  -   | /message/list                     |
+|     选择兴趣      |       -       |       |                                   |
+
+## 6.圈子
+|      功能       | 首次发布功能 | 预估工时(小时) |             功能描述             |
+| :-------------: | :-----------: | :---: | :-----------------------------: |
+|  圈子消息(好友)  |      是       |   -   |       /community/getReply       |
+|  圈子消息(附近)  |      是       |  -   |       /community/getReply       |
+|  圈子消息(推荐)  |      是       |   -  |       /community/getReply       |
+|   圈子视频预览   |      是       |   -  | /community/getMedia/{mediaType} |
+|   话题搜索页面   |       -       |       |                                 |
+|     话题列表     |       -       |       |                                 |
+|     话题消息     |       -       |       |                                 |
+|   圈子消息回复   |      是       |   -  |        /community/reply         |
+| 互动中心(喜欢ta) |      是       |  -   |         /community/like         |
+
+## 7.私密聊天
+|   功能    | 首次发布功能 | 预估工时(小时) |                                功能描述                                 |
+| :-------: | :-----------: | :---: | :--------------------------------------------------------------------: |
+|   密聊    |      是       |   -   | /message/sveMessage/{messageType}<br>/message/getMessage/{messageType} |
+|  语音消息  |       -       |       |                                                                        |
+|   定位    |      是       |   -   |                                                                        |
+| 蜜聊对话框 |      是       |   -   |                                                                        |
+|  表情列表  |       -       |       |                                                                        |
+
+## 共通接口
+|  功能  | 预估工时(小时) | 功能描述                                                      
+|:----:|:---:|:----------------------------------------------------------|        
+| 打招呼  |  -  | /utility/sayHi/{targetUserId}                            | 
+| 赠送礼物 |  -  | /myself/sendGift                                          | 
+|  评论  |  -  |                                                           | 
+| 礼物列表 |  -  | /myself/getGifts                                          | 
+|  喜欢  |  -  | /utility/likeStranger/{targetUserId}                     | 
+| 取消喜欢 |  -  | /utility/unlikeStranger/{targetUserId}                   | 
+|  会员充值弹出   |  -  | /myself/getUserVip<br> /myself/getVips<br> /myself/buyVip |      
+|   送礼物弹窗   |  -  | /myself/sendGift                                          | 
+|系统配置  |  |/utility/getSystemConfig                                       |

+ 2 - 2
manifest.json

@@ -1,6 +1,6 @@
 {
     "name" : "Icoco",
-    "appid" : "__UNI__9075D31",
+    "appid" : "__UNI__1B420CB",
     "description" : "",
     "versionName" : "1.0.21",
     "versionCode" : 101,
@@ -8,7 +8,7 @@
     /* 5+App特有相关 */
     "app-plus" : {
         "usingComponents" : true,
-        "nvueStyleCompiler" : "uni-app",
+        "nvueStyleCompiler" : "Icoco",
         "compilerVersion" : 3,
         "splashscreen" : {
             "alwaysShowBeforeRender" : true,

+ 178 - 1
package-lock.json

@@ -1,6 +1,183 @@
 {
+  "name": "lcoco",
+  "lockfileVersion": 2,
   "requires": true,
-  "lockfileVersion": 1,
+  "packages": {
+    "": {
+      "dependencies": {
+        "animate.css": "^4.1.1",
+        "inobounce": "^0.2.1",
+        "jquery": "^3.6.4",
+        "uni-read-pages": "^1.0.5",
+        "uni-simple-router": "^2.0.7",
+        "uploading-oss": "^1.0.3"
+      },
+      "devDependencies": {
+        "@types/html5plus": "^1.0.2",
+        "@types/uni-app": "^1.4.4",
+        "vue-waterfall-easy": "^2.4.4"
+      }
+    },
+    "node_modules/@babel/parser": {
+      "version": "7.19.0",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz",
+      "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@types/html5plus": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@types/html5plus/-/html5plus-1.0.2.tgz",
+      "integrity": "sha512-OklP5lrmLq8/6TUOLgWc0LndUVvAiTWX5dnyoCFhIUtFW9opWsnCtG/UxPgeuC28Rv2XNbFfft/hEEI39P/4Ag==",
+      "dev": true
+    },
+    "node_modules/@types/uni-app": {
+      "version": "1.4.4",
+      "resolved": "https://registry.npmjs.org/@types/uni-app/-/uni-app-1.4.4.tgz",
+      "integrity": "sha512-ZTXnrCTblZyoLIoKbTv1Whz1nxrTcM7vg0qGXzDpXP8m9MqdjKt48N3FffQT1IsJWNkxbvJ1Eg5UHDaq+k+oBQ==",
+      "dev": true,
+      "dependencies": {
+        "vue": "^2.6.8"
+      }
+    },
+    "node_modules/@vue/compiler-sfc": {
+      "version": "2.7.10",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.10.tgz",
+      "integrity": "sha512-55Shns6WPxlYsz4WX7q9ZJBL77sKE1ZAYNYStLs6GbhIOMrNtjMvzcob6gu3cGlfpCR4bT7NXgyJ3tly2+Hx8Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/parser": "^7.18.4",
+        "postcss": "^8.4.14",
+        "source-map": "^0.6.1"
+      }
+    },
+    "node_modules/animate.css": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/animate.css/-/animate.css-4.1.1.tgz",
+      "integrity": "sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ=="
+    },
+    "node_modules/crypto-js": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz",
+      "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw=="
+    },
+    "node_modules/csstype": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz",
+      "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==",
+      "dev": true
+    },
+    "node_modules/inobounce": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/inobounce/-/inobounce-0.2.1.tgz",
+      "integrity": "sha512-dmKhRDbUS3zGD8HDGchsZBuxaXnfFM+2jXrZpnEnBToEWCgcs3lBfCQe0wzkbpIoJwU/lufaMquSyWoX8OXTRw=="
+    },
+    "node_modules/jquery": {
+      "version": "3.6.4",
+      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.4.tgz",
+      "integrity": "sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ=="
+    },
+    "node_modules/js-base64": {
+      "version": "2.6.4",
+      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+      "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
+    },
+    "node_modules/nanoid": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+      "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+      "dev": true,
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
+      },
+      "engines": {
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+      }
+    },
+    "node_modules/picocolors": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+      "dev": true
+    },
+    "node_modules/postcss": {
+      "version": "8.4.16",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz",
+      "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
+      "dev": true,
+      "dependencies": {
+        "nanoid": "^3.3.4",
+        "picocolors": "^1.0.0",
+        "source-map-js": "^1.0.2"
+      },
+      "engines": {
+        "node": "^10 || ^12 || >=14"
+      }
+    },
+    "node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/source-map-js": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/uni-read-pages": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmmirror.com/uni-read-pages/-/uni-read-pages-1.0.5.tgz",
+      "integrity": "sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA==",
+      "hasInstallScript": true
+    },
+    "node_modules/uni-simple-router": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmmirror.com/uni-simple-router/-/uni-simple-router-2.0.7.tgz",
+      "integrity": "sha512-8FKv5dw7Eoonm0gkO8udprrxzin0fNUI0+AvIphFkFRH5ZmP5ZWJ2pvnWzb2NiiqQSECTSU5VSB7HhvOSwD5eA=="
+    },
+    "node_modules/uploading-oss": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/uploading-oss/-/uploading-oss-1.0.3.tgz",
+      "integrity": "sha512-aqHh5NCOBcrA4d8yCIKR7B9GrKzH88X7gL8BSvIw18pi79AgWnhDkCoyjQmDqzTvjQqYfKwyFTEgnafzMx/GbQ==",
+      "dependencies": {
+        "crypto-js": "^4.1.1",
+        "js-base64": "^2.6.4"
+      }
+    },
+    "node_modules/vue": {
+      "version": "2.7.10",
+      "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.10.tgz",
+      "integrity": "sha512-HmFC70qarSHPXcKtW8U8fgIkF6JGvjEmDiVInTkKZP0gIlEPhlVlcJJLkdGIDiNkIeA2zJPQTWJUI4iWe+AVfg==",
+      "dev": true,
+      "dependencies": {
+        "@vue/compiler-sfc": "2.7.10",
+        "csstype": "^3.1.0"
+      }
+    },
+    "node_modules/vue-waterfall-easy": {
+      "version": "2.4.4",
+      "resolved": "https://registry.npmjs.org/vue-waterfall-easy/-/vue-waterfall-easy-2.4.4.tgz",
+      "integrity": "sha512-5OkpT2FPNC3rHBy858zk/nmJxqdPaGmj/KVbmA6dgcvtsovKMa+zuf/Z7F+S2NnObeavpIBztTWgcH3S42ZD+g==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6.0.0",
+        "npm": ">= 3.0.0"
+      }
+    }
+  },
   "dependencies": {
     "@babel/parser": {
       "version": "7.19.0",

+ 7 - 0
pages.json

@@ -151,6 +151,13 @@
         "enablePullDownRefresh": false
       }
     },
+		{
+		  "path": "pages/circle/recommended",
+		  "style": {
+		    "navigationBarTitleText": "",
+		    "enablePullDownRefresh": false
+		  }
+		},
     {
       "path": "pages/msg/index",
       "style": {

+ 202 - 175
pages/circle/index.vue

@@ -1,184 +1,211 @@
 <template>
-  <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>
+	<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 :tagNum="tagNum"></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  底部安全距离
-      }
-    })
-
-  }
-}
+	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 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;
-    }
-  }
-
-}
+	.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: fixed;
+			bottom: 162rpx;
+			// bottom: 64rpx;
+			right: 28rpx;
+			border-radius: 50%;
+			width: 88rpx;
+			height: 88rpx;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+
+			.circle-add-img {
+				width: 40rpx;
+				height: 40rpx;
+			}
+		}
 
+	}
 </style>

+ 22 - 0
pages/circle/recommended.vue

@@ -0,0 +1,22 @@
+<template>
+	<view class="flex-common-css ">
+		<Nav ></Nav>
+		<view class="recommended-content">
+			
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		components: {},
+		data() {
+			return {};
+		},
+		mounted() {},
+		methods: {},
+	}
+</script>
+
+<style lang="scss" scoped>
+</style>

+ 165 - 4
pages/my/model/my-praise.vue

@@ -1,8 +1,52 @@
 <template>
   <view class="my-praise-box">
+		<view class="" v-show="tagNum == 0">
+				<view class="publish-box" v-show="publishBoxOff">
+				<image class="publish-img sys-radius-12" src="/static/img/circle/1.png" mode=""></image>
+				<view class="publish-text">
+					<view class="publish-title sys-color-black-0 sys-weight-400 sys-size-34">
+						不太正经的机车照片
+					</view>
+					<view class="sys-size-28 sys-weight-400 sys-color-gray-9">
+						记录在自由路.上的轰鸣瞬间
+					</view>
+				</view>
+				<view class="publish-button sys-background-FF9F14 sys-radius-200 sys-size-28 sys-color-white">
+					去发布
+				</view>
+				<view class="off-button sys-background-F2F2F2 sys-radius-round-left-80" @click="publishOff">
+					<image class="off-img" src="/static/img/circle/off.png" mode=""></image>
+				</view>
+			</view>
+		</view>
+	
+		<scroll-view class="recommended-box" scroll-x="true" v-show="tagNum == 2">
+		 <view class="recommended-list" v-for="(item,i) in listTwo" :key="i" @click="goRecommended">
+		 	<image class="recommended-list-img sys-radius-16" :src="item.img" mode=""></image>
+		 	<view class="recommended-list-name">
+		 		<image class="list-name-img" src="../../../static/dgex-tantan/like.png" mode=""></image>
+		 		<view class="sys-color-white sys-size-28">
+		 			{{item.text}}
+		 		</view>
+		 	</view>
+		 	<view class="recommended-list-text">
+		 		<view class="recommended-list-text-left">
+		 			<!-- <image v-for="imgs in item.icon" class="list-text-left-img sys-radius-8" :src="imgs" mode=""></image> -->
+					<image v-for="imgs in item.icon" class="list-text-left-img sys-radius-8" src="/static/img/temporary/1.png" mode=""></image>
+		 		</view>
+				<view class="recommended-list-text-right">
+					<view class="sys-size-24 sys-color-white">
+						{{item.num}}人在这里
+					</view>
+					<uni-icons type="forward" size="12" color="#fff"></uni-icons>
+				</view>
+		 	</view>
+		 </view>
+		</scroll-view>
+		
     <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>
+        <image class="praise-head" src="/static/img/temporary/3.png" mode="aspectFill"></image>    
       </view>
       <view class="praise-right">
         <view class="praise-top-data">
@@ -76,7 +120,9 @@ import Call from "@/pages/common/call/call";
 export default {
   name: "my-praise",
   components: {Call, DynamicTag, ImgThree, ImgTwo, ImgOne},
-  props: {},
+  props: {
+		tagNum:{},
+	},
   data() {
     return {
       tagBg:'#F2F2F2',
@@ -93,7 +139,12 @@ export default {
             '/static/img/temporary/3.png',
             '/static/img/temporary/2.png',
           ],'tag':[{'text':'南亭新都会商场','icon':'1'},{'text':'你好认识一哈','icon':'2'}],'likeNum':10,'evaluateNum':20,'isLike':true},
-      ]
+      ],
+			listTwo:[
+				{'text':'24h照片营业馆','img':'/static/img/temporary/1.png','icon':['/static/img/temporary/1.png','/static/img/temporary/1.png'],'num':'815.4w'},
+				{'text':'24h照片营业馆','img':'/static/img/temporary/1.png'},{'img':'/static/img/login/2.jpg','text':'24h照片营业馆'},{'img':'/static/img/login/2.jpg','text':'24h照片营业馆'},
+			],
+			publishBoxOff:true
     }
   },
   watch: {},
@@ -113,14 +164,124 @@ export default {
       uni.navigateTo({
         'url':'/pages/circle/circle'
       })
-    }
+    },
+		goRecommended(){
+			uni.navigateTo({
+			  'url':'/pages/circle/recommended'
+			})
+		},
+		publishOff(){
+			this.publishBoxOff = false
+			console.log(this.publishBoxOff);
+		},
   }
 }
 </script>
 
 <style scoped lang="scss">
 .my-praise-box{
+	.publish-box {
+		width: 100%;
+		height: auto;
+		display: flex;
+		border-top: 20rpx solid #FAFAFA;
+		border-bottom: 20rpx solid #FAFAFA;
+		padding: 32rpx;
+		justify-content: space-between;
+		position: relative;
+		align-items: center;
+		box-sizing: border-box;
+	
+		.publish-img {
+			width: 120rpx;
+			height: 120rpx;
+			flex-shrink: 0;
+		}
+	
+		.publish-text {
+			.publish-title {
+				margin: 0 0 8rpx 0;
+			}
+		}
+	
+		.publish-button {
+			flex-shrink: 0;
+			padding: 6rpx 32rpx;
+		}
+	
+		.off-button {
+			position: absolute;
+			right: 0;
+			top: 0;
+			padding: 0rpx 2rpx 6rpx 12rpx;
+	
+			.off-img {
+				width: 24rpx;
+				height: 24rpx;
+			}
+		}
+	}
+	.recommended-box{
+		box-sizing: border-box;
+		width: 100%;
+		padding: 0 24rpx;
+		display: flex;
+		align-items: center;
+		white-space: nowrap;
+		.recommended-list{
+			display: inline-block;
+			width: 320rpx;
+			height: 160rpx;
+			margin: 0 8rpx;
+			padding: 16rpx 4rpx 16rpx 12rpx;
+			box-sizing: border-box;
+			position: relative;
+			// flex-shrink: 0;
+			.recommended-list-img{
+				width: 100%;
+				height: 100%;
+				position: absolute;
+				left: 0;
+				top: 0;
+				z-index: -1;
+			}
+			.recommended-list-name{
+				display: flex;
+				align-items: center;
+				.list-name-img{
+					width: 28rpx;
+					height: 28rpx;
+					margin: 0 10rpx 0 0;
+				}
+			}
+			.recommended-list-text{
+				width: 100%;
+				padding: 0 4rpx 0 16rpx;
+				box-sizing: border-box;
+				position: absolute;
+				bottom: 16rpx;
+				left: 0;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				.recommended-list-text-left{
+					display: flex;
+					align-items: center;
+					.list-text-left-img{
+						width: 40rpx;
+						height: 40rpx;
+						margin: 0 4rpx 0 0;
+					}
+				}
+				.recommended-list-text-right{
+					display: flex;
+					align-items: center;
+				}
+			}
+		}
+	}
   .praise-item{
+		padding: 0 	32rpx;
     margin : 40rpx 0 4rpx 0;
     border-bottom: 1rpx solid #F2F2F2;
     display: flex;

+ 16 - 1
static/css/sys.css

@@ -44,6 +44,7 @@
 .sys-size-34{
   font-size: 34rpx;
 }
+
 .sys-size-36{
   font-size: 36rpx;
 }
@@ -142,7 +143,12 @@
   background-color: #FE6915;
 }
 
-
+.sys-background-FF9F14{
+  background-color: #FF9F14;
+}
+.sys-background-F2F2F2{
+  background-color: #F2F2F2;
+}
 
 
 
@@ -153,12 +159,21 @@
 .sys-radius-16{
   border-radius: 16rpx;
 }
+.sys-radius-12{
+  border-radius: 12rpx;
+}
+.sys-radius-8{
+  border-radius: 8rpx;
+}
 .sys-radius-6{
   border-radius: 6rpx;
 }
 .sys-radius-round{
   border-radius: 50%;
 }
+.sys-radius-round-left-80{
+  border-radius: 0 0 0 80%;
+}
 
 
 /*未选中按钮*/

binární
static/img/circle/off.png


+ 101 - 101
yarn.lock

@@ -3,117 +3,117 @@
 
 
 "@babel/parser@^7.18.4":
-  version "7.19.0"
-  resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz"
-  integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==
+  "integrity" "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw=="
+  "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz"
+  "version" "7.19.0"
 
 "@types/html5plus@^1.0.2":
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/@types/html5plus/-/html5plus-1.0.2.tgz"
-  integrity sha512-OklP5lrmLq8/6TUOLgWc0LndUVvAiTWX5dnyoCFhIUtFW9opWsnCtG/UxPgeuC28Rv2XNbFfft/hEEI39P/4Ag==
+  "integrity" "sha512-OklP5lrmLq8/6TUOLgWc0LndUVvAiTWX5dnyoCFhIUtFW9opWsnCtG/UxPgeuC28Rv2XNbFfft/hEEI39P/4Ag=="
+  "resolved" "https://registry.npmjs.org/@types/html5plus/-/html5plus-1.0.2.tgz"
+  "version" "1.0.2"
 
 "@types/uni-app@^1.4.4":
-  version "1.4.4"
-  resolved "https://registry.npmjs.org/@types/uni-app/-/uni-app-1.4.4.tgz"
-  integrity sha512-ZTXnrCTblZyoLIoKbTv1Whz1nxrTcM7vg0qGXzDpXP8m9MqdjKt48N3FffQT1IsJWNkxbvJ1Eg5UHDaq+k+oBQ==
+  "integrity" "sha512-ZTXnrCTblZyoLIoKbTv1Whz1nxrTcM7vg0qGXzDpXP8m9MqdjKt48N3FffQT1IsJWNkxbvJ1Eg5UHDaq+k+oBQ=="
+  "resolved" "https://registry.npmjs.org/@types/uni-app/-/uni-app-1.4.4.tgz"
+  "version" "1.4.4"
   dependencies:
-    vue "^2.6.8"
+    "vue" "^2.6.8"
 
 "@vue/compiler-sfc@2.7.10":
-  version "2.7.10"
-  resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.10.tgz"
-  integrity sha512-55Shns6WPxlYsz4WX7q9ZJBL77sKE1ZAYNYStLs6GbhIOMrNtjMvzcob6gu3cGlfpCR4bT7NXgyJ3tly2+Hx8Q==
+  "integrity" "sha512-55Shns6WPxlYsz4WX7q9ZJBL77sKE1ZAYNYStLs6GbhIOMrNtjMvzcob6gu3cGlfpCR4bT7NXgyJ3tly2+Hx8Q=="
+  "resolved" "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.10.tgz"
+  "version" "2.7.10"
   dependencies:
     "@babel/parser" "^7.18.4"
-    postcss "^8.4.14"
-    source-map "^0.6.1"
-
-animate.css@^4.1.1:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/animate.css/-/animate.css-4.1.1.tgz#614ec5a81131d7e4dc362a58143f7406abd68075"
-  integrity sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ==
-
-crypto-js@^4.1.1:
-  version "4.1.1"
-  resolved "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz"
-  integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==
-
-csstype@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz"
-  integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==
-
-inobounce@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.npmjs.org/inobounce/-/inobounce-0.2.1.tgz"
-  integrity sha512-dmKhRDbUS3zGD8HDGchsZBuxaXnfFM+2jXrZpnEnBToEWCgcs3lBfCQe0wzkbpIoJwU/lufaMquSyWoX8OXTRw==
-
-jquery@^3.6.4:
-  version "3.6.4"
-  resolved "https://registry.npmjs.org/jquery/-/jquery-3.6.4.tgz"
-  integrity sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ==
-
-js-base64@^2.6.4:
-  version "2.6.4"
-  resolved "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz"
-  integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
-
-nanoid@^3.3.4:
-  version "3.3.4"
-  resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz"
-  integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
-
-picocolors@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz"
-  integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-
-postcss@^8.4.14:
-  version "8.4.16"
-  resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz"
-  integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==
+    "postcss" "^8.4.14"
+    "source-map" "^0.6.1"
+
+"animate.css@^4.1.1":
+  "integrity" "sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ=="
+  "resolved" "https://registry.npmjs.org/animate.css/-/animate.css-4.1.1.tgz"
+  "version" "4.1.1"
+
+"crypto-js@^4.1.1":
+  "integrity" "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw=="
+  "resolved" "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz"
+  "version" "4.1.1"
+
+"csstype@^3.1.0":
+  "integrity" "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA=="
+  "resolved" "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz"
+  "version" "3.1.0"
+
+"inobounce@^0.2.1":
+  "integrity" "sha512-dmKhRDbUS3zGD8HDGchsZBuxaXnfFM+2jXrZpnEnBToEWCgcs3lBfCQe0wzkbpIoJwU/lufaMquSyWoX8OXTRw=="
+  "resolved" "https://registry.npmjs.org/inobounce/-/inobounce-0.2.1.tgz"
+  "version" "0.2.1"
+
+"jquery@^3.6.4":
+  "integrity" "sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ=="
+  "resolved" "https://registry.npmjs.org/jquery/-/jquery-3.6.4.tgz"
+  "version" "3.6.4"
+
+"js-base64@^2.6.4":
+  "integrity" "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
+  "resolved" "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz"
+  "version" "2.6.4"
+
+"nanoid@^3.3.4":
+  "integrity" "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
+  "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz"
+  "version" "3.3.4"
+
+"picocolors@^1.0.0":
+  "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+  "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz"
+  "version" "1.0.0"
+
+"postcss@^8.4.14":
+  "integrity" "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ=="
+  "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz"
+  "version" "8.4.16"
   dependencies:
-    nanoid "^3.3.4"
-    picocolors "^1.0.0"
-    source-map-js "^1.0.2"
-
-source-map-js@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
-  integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
-
-source-map@^0.6.1:
-  version "0.6.1"
-  resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
-  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-uni-read-pages@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.npmmirror.com/uni-read-pages/-/uni-read-pages-1.0.5.tgz"
-  integrity sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA==
-
-uni-simple-router@^2.0.7:
-  version "2.0.7"
-  resolved "https://registry.npmmirror.com/uni-simple-router/-/uni-simple-router-2.0.7.tgz"
-  integrity sha512-8FKv5dw7Eoonm0gkO8udprrxzin0fNUI0+AvIphFkFRH5ZmP5ZWJ2pvnWzb2NiiqQSECTSU5VSB7HhvOSwD5eA==
-
-uploading-oss@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.npmjs.org/uploading-oss/-/uploading-oss-1.0.3.tgz"
-  integrity sha512-aqHh5NCOBcrA4d8yCIKR7B9GrKzH88X7gL8BSvIw18pi79AgWnhDkCoyjQmDqzTvjQqYfKwyFTEgnafzMx/GbQ==
+    "nanoid" "^3.3.4"
+    "picocolors" "^1.0.0"
+    "source-map-js" "^1.0.2"
+
+"source-map-js@^1.0.2":
+  "integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
+  "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
+  "version" "1.0.2"
+
+"source-map@^0.6.1":
+  "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+  "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
+  "version" "0.6.1"
+
+"uni-read-pages@^1.0.5":
+  "integrity" "sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA=="
+  "resolved" "https://registry.npmmirror.com/uni-read-pages/-/uni-read-pages-1.0.5.tgz"
+  "version" "1.0.5"
+
+"uni-simple-router@^2.0.7":
+  "integrity" "sha512-8FKv5dw7Eoonm0gkO8udprrxzin0fNUI0+AvIphFkFRH5ZmP5ZWJ2pvnWzb2NiiqQSECTSU5VSB7HhvOSwD5eA=="
+  "resolved" "https://registry.npmmirror.com/uni-simple-router/-/uni-simple-router-2.0.7.tgz"
+  "version" "2.0.7"
+
+"uploading-oss@^1.0.3":
+  "integrity" "sha512-aqHh5NCOBcrA4d8yCIKR7B9GrKzH88X7gL8BSvIw18pi79AgWnhDkCoyjQmDqzTvjQqYfKwyFTEgnafzMx/GbQ=="
+  "resolved" "https://registry.npmjs.org/uploading-oss/-/uploading-oss-1.0.3.tgz"
+  "version" "1.0.3"
   dependencies:
-    crypto-js "^4.1.1"
-    js-base64 "^2.6.4"
-
-vue-waterfall-easy@^2.4.4:
-  version "2.4.4"
-  resolved "https://registry.npmjs.org/vue-waterfall-easy/-/vue-waterfall-easy-2.4.4.tgz"
-  integrity sha512-5OkpT2FPNC3rHBy858zk/nmJxqdPaGmj/KVbmA6dgcvtsovKMa+zuf/Z7F+S2NnObeavpIBztTWgcH3S42ZD+g==
-
-vue@^2.6.8:
-  version "2.7.10"
-  resolved "https://registry.npmjs.org/vue/-/vue-2.7.10.tgz"
-  integrity sha512-HmFC70qarSHPXcKtW8U8fgIkF6JGvjEmDiVInTkKZP0gIlEPhlVlcJJLkdGIDiNkIeA2zJPQTWJUI4iWe+AVfg==
+    "crypto-js" "^4.1.1"
+    "js-base64" "^2.6.4"
+
+"vue-waterfall-easy@^2.4.4":
+  "integrity" "sha512-5OkpT2FPNC3rHBy858zk/nmJxqdPaGmj/KVbmA6dgcvtsovKMa+zuf/Z7F+S2NnObeavpIBztTWgcH3S42ZD+g=="
+  "resolved" "https://registry.npmjs.org/vue-waterfall-easy/-/vue-waterfall-easy-2.4.4.tgz"
+  "version" "2.4.4"
+
+"vue@^2.6.8":
+  "integrity" "sha512-HmFC70qarSHPXcKtW8U8fgIkF6JGvjEmDiVInTkKZP0gIlEPhlVlcJJLkdGIDiNkIeA2zJPQTWJUI4iWe+AVfg=="
+  "resolved" "https://registry.npmjs.org/vue/-/vue-2.7.10.tgz"
+  "version" "2.7.10"
   dependencies:
     "@vue/compiler-sfc" "2.7.10"
-    csstype "^3.1.0"
+    "csstype" "^3.1.0"