@jx3box/jx3box-common-ui 6.2.0 → 6.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -59,7 +59,7 @@
59
59
  animation-delay: 0.2s;
60
60
  }
61
61
 
62
- .u-fans{
62
+ .u-interact{
63
63
  .mt(5px);
64
64
  display: flex;
65
65
  }
package/index.js CHANGED
@@ -31,6 +31,7 @@ import zlpBy from "./src/filters/zlpBy.vue";
31
31
  import Thx from './src/single/Thx.vue'
32
32
  import WikiPanel from './src/wiki/WikiPanel.vue'
33
33
 
34
+ import Fans from './src/fans/fans.vue'
34
35
  const components = {
35
36
  Header,
36
37
  Breadcrumb,
@@ -64,7 +65,8 @@ const components = {
64
65
  clientBy,
65
66
  zlpBy,
66
67
 
67
- WikiPanel
68
+ WikiPanel,
69
+ Fans
68
70
  }
69
71
 
70
72
  const install = function (Vue, Option) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jx3box/jx3box-common-ui",
3
- "version": "6.2.0",
3
+ "version": "6.2.2",
4
4
  "description": "JX3BOX UI",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/service/author.js CHANGED
@@ -68,6 +68,9 @@ function userSignIn(){
68
68
  return $pay({ mute: true }).get(`/api/personal/task/everyday/sign-in`)
69
69
  }
70
70
 
71
+ function getFansList(userid,limit) {
72
+ return $pay().get(`/api/cny/consume/user-charge/rank/of/${userid}?limit=0`,);
73
+ }
71
74
  export {
72
75
  getUserInfo,
73
76
  getUserPosts,
@@ -78,4 +81,5 @@ export {
78
81
  getSuperAuthor,
79
82
  getMyInfo,
80
83
  userSignIn,
84
+ getFansList
81
85
  };
package/src/App.vue CHANGED
@@ -16,6 +16,7 @@
16
16
  <LeftSidebar :open="true">
17
17
  <LeftSideToggle :mobileOnly="true" />
18
18
  <Author :author="author" :uid="7" />
19
+ <Fans></Fans>
19
20
  </LeftSidebar>
20
21
 
21
22
  <Main :withoutLeft="false" :withoutRight="false">
@@ -172,7 +173,6 @@ import AuthorMedal from "./medal/medal.vue";
172
173
  import WikiPanel from "./wiki/WikiPanel.vue";
173
174
  import WikiRevisions from "./wiki/WikiRevisions.vue";
174
175
  import WikiComments from "./wiki/WikiComments.vue";
175
-
176
176
  import axios from "axios";
177
177
  import { __server } from "@jx3box/jx3box-common/data/jx3box.json";
178
178
  import { wiki } from "@jx3box/jx3box-common/js/wiki";
@@ -226,7 +226,7 @@ export default {
226
226
  WikiRevisions,
227
227
  WikiComments,
228
228
 
229
- UserPop
229
+ UserPop,
230
230
  },
231
231
  data: function () {
232
232
  return {
package/src/Author.vue CHANGED
@@ -2,7 +2,7 @@
2
2
  <div class="c-author">
3
3
  <AuthorInfo :uid="uid" @ready="installModules" />
4
4
  <template v-if="data">
5
- <div class="u-fans">
5
+ <div class="u-interact">
6
6
  <AuthorFollow style="margin-right: 8px;" :uid="uid" />
7
7
  <AuthorGift :uid="uid" />
8
8
  </div>
@@ -10,6 +10,7 @@
10
10
  <AuthorLink class="u-links" :uid="uid" :data="data" />
11
11
  <AuthorMedals class="u-trophy" :uid="uid" />
12
12
  <AuthorTeams class="u-teams" :uid="uid" />
13
+ <AuthorFans class="u-fans" :uid="uid" />
13
14
  <slot></slot>
14
15
  <AuthorPosts class="u-posts" :uid="uid" />
15
16
  </template>
@@ -22,6 +23,7 @@ import AuthorLink from "./author/AuthorLink.vue";
22
23
  import AuthorFollow from "./author/AuthorFollow.vue";
23
24
  // import AuthorMsg from "./author/AuthorMsg.vue";
24
25
  import AuthorGift from "./author/AuthorGift.vue";
26
+ import AuthorFans from "./author/AuthorFans.vue";
25
27
  import AuthorMedals from "./author/AuthorMedals.vue";
26
28
  import AuthorTeams from "./author/AuthorTeams.vue";
27
29
  import AuthorPosts from "./author/AuthorPosts.vue";
@@ -47,6 +49,7 @@ export default {
47
49
  AuthorMedals,
48
50
  AuthorTeams,
49
51
  AuthorPosts,
52
+ AuthorFans,
50
53
  },
51
54
  };
52
55
  </script>
@@ -0,0 +1,160 @@
1
+ <template>
2
+ <div class="c-author-fans">
3
+ <!-- <div class="f-main-box">
4
+ <div class="f-left">
5
+ <div class="f-l-box"><div class="f-l-title">粉丝团</div></div>
6
+ </div>
7
+ <div class="f-right">
8
+ <div class="f-r-box"><div class="f-r-num">共{{list.length}}人</div></div>
9
+ <div class="f-r-line f-r-w-80 f-r-mb"></div>
10
+ <div class="f-r-line f-r-w-70 f-r-mb"></div>
11
+ <div class="f-r-line f-r-w-30 f-r-mb"></div>
12
+ <div class="f-r-line f-r-w-20 f-r-mb"></div>
13
+ <div class="f-r-line f-r-w-30 f-r-mb"></div>
14
+ <div class="f-r-line f-r-w-70 f-r-mb"></div>
15
+ <div class="f-r-line f-r-w-80"></div>
16
+ </div>
17
+ </div> -->
18
+ <div class="u-label">
19
+ <i class="el-icon-star-off"></i>
20
+ <span>粉丝榜</span>
21
+ </div>
22
+ <div class="f-avatar" v-if="list.length > 0">
23
+ <el-row :gutter="10">
24
+ <el-col :span="4" v-for="(item, index) in list" :key="item.pay_user_id">
25
+ <el-tooltip class="item" effect="dark" :content="item.money.toString()" placement="top" v-if="index < 5">
26
+ <el-avatar shape="circle" :size="30" style="background: #D9D9D9;"><i class="el-icon-s-custom"></i></el-avatar>
27
+ </el-tooltip>
28
+ </el-col>
29
+ <el-col :span="4" v-if="list.length>5">
30
+ <el-avatar shape="circle" :size="30" style="background: #D9D9D9;">
31
+ <span class="f-avatar-num" v-if="list.length > 99">···</span>
32
+ <span class="f-avatar-num" v-else>+{{ list.length - 5 }}</span>
33
+ </el-avatar>
34
+ </el-col>
35
+ </el-row>
36
+ </div>
37
+ <div class="f-bottom">本赛季共 {{ list.length }} 人为TA赠礼</div>
38
+ </div>
39
+ </template>
40
+
41
+ <script>
42
+ import User from '@jx3box/jx3box-common/js/user';
43
+ import { getFansList } from "../../service/author";
44
+ export default {
45
+ name: 'Fans',
46
+ components: {},
47
+ data() {
48
+ return {
49
+ list: []
50
+ };
51
+ },
52
+ mounted() {
53
+ this.getData();
54
+ },
55
+ methods: {
56
+ getData() {
57
+ getFansList(User.getInfo().uid).then(res => {
58
+ let data = res.data.data.list;
59
+ if (data) {
60
+ this.list=data
61
+ }
62
+ });
63
+ }
64
+ }
65
+ };
66
+ </script>
67
+
68
+ <style lang="less" scoped>
69
+
70
+ .c-author-fans {
71
+ box-sizing: border-box;
72
+ // padding: 10px;
73
+ // background: #ffffff;
74
+ font-family: 'Microsoft YaHei';
75
+ font-style: normal;
76
+ // .h(133px);
77
+ .f-main-box {
78
+ display: flex;
79
+ justify-content: center;
80
+ width: 100%;
81
+ .f-left {
82
+ .w(65.3%);
83
+ .f-l-box {
84
+ .w(100%);
85
+ .h(50px);
86
+ background: #ff7cab;
87
+ border-radius: 5px 0px 0px 5px;
88
+ display: flex;
89
+ justify-content: center;
90
+ align-items: center;
91
+ flex: none;
92
+ .f-l-title {
93
+ .w(48px);
94
+ .h(21px);
95
+ .fz(16px, 21px);
96
+ font-weight: 700;
97
+ color: #ffffff;
98
+ }
99
+ }
100
+ }
101
+ .f-right {
102
+ position: relative;
103
+ .w(34.7%);
104
+ .f-r-box {
105
+ display: flex;
106
+ justify-content: center;
107
+ align-items: center;
108
+ flex: none;
109
+ .h(50px);
110
+ .w(100%);
111
+ z-index: 2;
112
+ position: absolute;
113
+ .f-r-num {
114
+ font-weight: 700;
115
+ .fz(10px, 13px);
116
+ .w(100%);
117
+ color: rgba(0, 0, 0, 0.5);
118
+ padding-left: 37.5%;
119
+ }
120
+ }
121
+ .f-r-line {
122
+ .h(5px);
123
+ background: #ff7cab;
124
+ border-radius: 0px 5px 5px 0px;
125
+ }
126
+ .f-r-mb {
127
+ .mb(2.5px);
128
+ }
129
+ .f-r-w-80 {
130
+ .w(100%);
131
+ }
132
+ .f-r-w-70 {
133
+ .w(87.5%);
134
+ }
135
+ .f-r-w-30 {
136
+ .w(37.5%);
137
+ }
138
+ .f-r-w-20 {
139
+ .w(25%);
140
+ }
141
+ }
142
+ }
143
+ .f-avatar {
144
+ .mt(10px);
145
+ height: 30px;
146
+ .f-avatar-num {
147
+ .fz(10px);
148
+ color: #434343;
149
+ font-weight: 700;
150
+ }
151
+ }
152
+ .f-bottom {
153
+ .h(13px);
154
+ .mt(10px);
155
+ .fz(10px, 13px);
156
+ font-weight: 400;
157
+ color: rgba(0, 0, 0, 0.5);
158
+ }
159
+ }
160
+ </style>
@@ -229,6 +229,8 @@ export default {
229
229
  }
230
230
 
231
231
  .u-left {
232
+ display: flex;
233
+ align-items: center;
232
234
  .fz(14px,24px);
233
235
  .u-label {
234
236
  .mr(10px);
@@ -242,6 +244,9 @@ export default {
242
244
  .y;
243
245
  vertical-align: text-bottom;
244
246
  }
247
+ .u-charge{
248
+ .ml(8px);
249
+ }
245
250
  .el-progress {
246
251
  margin: 10px;
247
252
  }