@jx3box/jx3box-common-ui 6.7.8 → 6.8.0

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.
package/src/App.vue CHANGED
@@ -1,110 +1,133 @@
1
1
  <template>
2
- <div class="container-page">
3
- <Header></Header>
4
- <Breadcrumb name="频道名称" slug="slug" root="/slug" :publishEnable="true" :feedbackEnable="true" :adminEnable="true">
5
- <img slot="logo" svg-inline src="../assets/img/jx3.svg" />
6
- bread info
7
- </Breadcrumb>
8
-
9
- <LeftSidebar :open="true" :uid="8">
10
- <LeftSideToggle :mobileOnly="true" />
11
- <Author :author="author" :uid="8" />
12
- </LeftSidebar>
13
-
14
- <Main :withoutLeft="false" :withoutRight="false">
15
- <el-tabs v-model="tab" type="card">
16
- <el-tab-pane label="CMS作品" name="post">
17
- <el-radio-group v-model="post_id">
18
- <el-radio label="41346">临时测试</el-radio>
19
- <el-radio label="35605">Markdown</el-radio>
20
- <el-radio label="32035">仅小册</el-radio>
21
- <el-radio label="30017">仅联合创作者</el-radio>
22
- <el-radio label="30582">小册和联合创作者</el-radio>
23
- <el-radio label="31129">无小册和联合创作者</el-radio>
24
- </el-radio-group>
25
- <singlebox :post="post" @extendUpdate="updateExtend" />
26
- </el-tab-pane>
27
- <el-tab-pane label="通用组件" name="widget">
28
- <PostHeader :post="post" />
29
- <Creators :postId="30432" style="margin-bottom: 10px" />
30
- <Collection :id="59" :defaultVisible="true" />
31
- <UserPop title="添加用户" v-model="visible" @confirm="addUser" />
32
- <el-button @click="visible = true">用户POP</el-button>
33
- <!-- :postId="23865" -->
34
- <Thx postType="bbs" postTitle="bbs23865的标题" type="batchReward" :userId="7" :adminBoxcoinEnable="true"
35
- :userBoxcoinEnable="true" :postId="[{ user_id: 10, article_id: '11111', article_type: '' }]" />
36
- <hr />
37
- <Like mode="heart" :count="100" :showCount="true" />
38
- <Down :count="100" :showCount="true" />
39
- <Mark label="KEY" value="VALUE" BGL="#000" BGR="#F39" />
40
- <Fav post-id="90" post-type="jx3dat" post-title="jx3dat测试标题" />
41
- <Feed post-id="90" post-type="jx3dat" />
42
- <Print title="传入标题" />
43
- <QRcode />
44
- <Sharing />
45
-
46
- <hr />
47
-
48
- <markBy />
49
- <menuBy :data="['test1', 'test2']" />
50
- <orderBy />
51
- <tagBy :data="['PVE', 'PVX']" :type="tag" />
52
- <clientBy type="" />
53
- <zlpBy />
54
-
55
- <hr />
56
- <uploadImage v-model="upload" info="非必选。首页海报尺寸1100*300(推荐2200*600支持高分屏),最大20M。"></uploadImage>
57
- <AuthorMedal :author-id="8"></AuthorMedal>
58
- </el-tab-pane>
59
- <el-tab-pane label="百科组件" name="wiki">
60
- <WikiPanel :wiki-post="wikiPost">
61
- <template slot="head-title">
62
- <i class="el-icon-location-information"></i>
63
- <span class="u-title">通识正文</span>
64
- </template>
65
- <template slot="head-actions">
66
- <a class="el-button el-button--primary u-publish">
67
- <i class="el-icon-edit"></i>
68
- <span>完善百科通识</span>
69
- </a>
70
- <span class="u-more">查看更多</span>
71
- </template>
72
- <template slot="body">正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容</template>
73
- </WikiPanel>
74
- <hr />
75
-
76
- <WikiRevisions type="achievement" source-id="2996" />
77
- <hr />
78
-
79
- <WikiComments type="achievement" source-id="2996" />
80
- <hr />
81
- </el-tab-pane>
82
- <el-tab-pane label="头像" name="avatar">
83
- <el-radio-group v-model="avatar_size">
84
- <el-radio label="xxs">xxs-36/48</el-radio>
85
- <el-radio label="xs">xs-48/68</el-radio>
86
- <el-radio label="s">s-68/88</el-radio>
87
- <el-radio label="m">m-88/123</el-radio>
88
- <el-radio label="l">l-120/168</el-radio>
89
- <el-radio label="xl">xl-150/210</el-radio>
90
- </el-radio-group>
91
- <div style="padding:60px;background-color: #e3e3e3;">
92
- <Avatar :id="8" url="https://console.cnyixun.com/upload/avatar/2022/3/2/8_9860765.png" :size="avatar_size"
93
- frame="moon_1" />
94
- </div>
95
- </el-tab-pane>
96
- </el-tabs>
97
-
98
- <RightSidebar>
99
- <RightSideMsg>Hello</RightSideMsg>
100
- <div id="directory"></div>
101
- <PostCollection :id="59" />
102
- </RightSidebar>
103
-
104
- <Footer></Footer>
105
- <Bottom></Bottom>
106
- </Main>
107
- </div>
2
+ <div class="container-page">
3
+ <Header></Header>
4
+ <Breadcrumb
5
+ name="频道名称"
6
+ slug="slug"
7
+ root="/slug"
8
+ :publishEnable="true"
9
+ :feedbackEnable="true"
10
+ :adminEnable="true"
11
+ >
12
+ <img slot="logo" svg-inline src="../assets/img/jx3.svg" />
13
+ bread info
14
+ </Breadcrumb>
15
+
16
+ <LeftSidebar :open="true" :uid="8">
17
+ <LeftSideToggle :mobileOnly="true" />
18
+ <Author :author="author" :uid="6037" />
19
+ </LeftSidebar>
20
+
21
+ <Main :withoutLeft="false" :withoutRight="false">
22
+ <el-tabs v-model="tab" type="card">
23
+ <el-tab-pane label="CMS作品" name="post">
24
+ <el-radio-group v-model="post_id">
25
+ <el-radio label="41346">临时测试</el-radio>
26
+ <el-radio label="35605">Markdown</el-radio>
27
+ <el-radio label="32035">仅小册</el-radio>
28
+ <el-radio label="30017">仅联合创作者</el-radio>
29
+ <el-radio label="30582">小册和联合创作者</el-radio>
30
+ <el-radio label="31129">无小册和联合创作者</el-radio>
31
+ </el-radio-group>
32
+ <singlebox :post="post" @extendUpdate="updateExtend" />
33
+ </el-tab-pane>
34
+ <el-tab-pane label="通用组件" name="widget">
35
+ <PostHeader :post="post" />
36
+ <Creators :postId="30432" style="margin-bottom: 10px" />
37
+ <Collection :id="59" :defaultVisible="true" />
38
+ <UserPop title="添加用户" v-model="visible" @confirm="addUser" />
39
+ <el-button @click="visible = true">用户POP</el-button>
40
+ <!-- :postId="23865" -->
41
+ <Thx
42
+ postType="bbs"
43
+ postTitle="bbs23865的标题"
44
+ type="batchReward"
45
+ :userId="7"
46
+ :adminBoxcoinEnable="true"
47
+ :userBoxcoinEnable="true"
48
+ :postId="[{ user_id: 10, article_id: '11111', article_type: '' }]"
49
+ />
50
+ <hr />
51
+ <Like mode="heart" :count="100" :showCount="true" />
52
+ <Down :count="100" :showCount="true" />
53
+ <Mark label="KEY" value="VALUE" BGL="#000" BGR="#F39" />
54
+ <Fav post-id="90" post-type="jx3dat" post-title="jx3dat测试标题" />
55
+ <Feed post-id="90" post-type="jx3dat" />
56
+ <Print title="传入标题" />
57
+ <QRcode />
58
+ <Sharing />
59
+
60
+ <hr />
61
+
62
+ <markBy />
63
+ <menuBy :data="['test1', 'test2']" />
64
+ <orderBy />
65
+ <tagBy :data="['PVE', 'PVX']" :type="tag" />
66
+ <clientBy type="" />
67
+ <zlpBy />
68
+
69
+ <hr />
70
+ <uploadImage
71
+ v-model="upload"
72
+ info="非必选。首页海报尺寸1100*300(推荐2200*600支持高分屏),最大20M。"
73
+ ></uploadImage>
74
+ <AuthorMedal :author-id="8"></AuthorMedal>
75
+ </el-tab-pane>
76
+ <el-tab-pane label="百科组件" name="wiki">
77
+ <WikiPanel :wiki-post="wikiPost">
78
+ <template slot="head-title">
79
+ <i class="el-icon-location-information"></i>
80
+ <span class="u-title">通识正文</span>
81
+ </template>
82
+ <template slot="head-actions">
83
+ <a class="el-button el-button--primary u-publish">
84
+ <i class="el-icon-edit"></i>
85
+ <span>完善百科通识</span>
86
+ </a>
87
+ <span class="u-more">查看更多</span>
88
+ </template>
89
+ <template slot="body"
90
+ >正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容正文内容</template
91
+ >
92
+ </WikiPanel>
93
+ <hr />
94
+
95
+ <WikiRevisions type="achievement" source-id="2996" />
96
+ <hr />
97
+
98
+ <WikiComments type="achievement" source-id="2996" />
99
+ <hr />
100
+ </el-tab-pane>
101
+ <el-tab-pane label="头像" name="avatar">
102
+ <el-radio-group v-model="avatar_size">
103
+ <el-radio label="xxs">xxs-36/48</el-radio>
104
+ <el-radio label="xs">xs-48/68</el-radio>
105
+ <el-radio label="s">s-68/88</el-radio>
106
+ <el-radio label="m">m-88/123</el-radio>
107
+ <el-radio label="l">l-120/168</el-radio>
108
+ <el-radio label="xl">xl-150/210</el-radio>
109
+ </el-radio-group>
110
+ <div style="padding: 60px; background-color: #e3e3e3">
111
+ <Avatar
112
+ :id="8"
113
+ url="https://console.cnyixun.com/upload/avatar/2022/3/2/8_9860765.png"
114
+ :size="avatar_size"
115
+ frame="moon_1"
116
+ />
117
+ </div>
118
+ </el-tab-pane>
119
+ </el-tabs>
120
+
121
+ <RightSidebar>
122
+ <RightSideMsg>Hello</RightSideMsg>
123
+ <div id="directory"></div>
124
+ <PostCollection :id="59" />
125
+ </RightSidebar>
126
+
127
+ <Footer></Footer>
128
+ <Bottom></Bottom>
129
+ </Main>
130
+ </div>
108
131
  </template>
109
132
 
110
133
  <script>
@@ -160,107 +183,107 @@ import { __server } from "@jx3box/jx3box-common/data/jx3box.json";
160
183
  import { wiki } from "@jx3box/jx3box-common/js/wiki";
161
184
 
162
185
  export default {
163
- name: "App",
164
- components: {
165
- Header,
166
- Breadcrumb,
167
- LeftSidebar,
168
- LeftSideToggle,
169
- Main,
170
- Footer,
171
- Bottom,
172
- RightSidebar,
173
-
174
- // cmsList,
175
- singlebox,
176
- PostHeader,
177
- PostCollection,
178
-
179
- Thx,
180
- Collection,
181
- Creators,
182
-
183
- RightSideMsg,
184
- Author,
185
- Avatar,
186
-
187
- Mark,
188
- Like,
189
- Down,
190
- Fav,
191
- Feed,
192
-
193
- Print,
194
- Sharing,
195
- QRcode,
196
-
197
- markBy,
198
- menuBy,
199
- orderBy,
200
- tagBy,
201
- clientBy,
202
- zlpBy,
203
-
204
- uploadImage,
205
- AuthorMedal,
206
-
207
- WikiPanel,
208
- WikiRevisions,
209
- WikiComments,
210
-
211
- UserPop,
212
- },
213
- data: function () {
214
- return {
215
- tab: "avatar",
216
-
217
- post: "",
218
- post_id: "35605",
219
-
220
- author: "",
221
- wikiPost: null,
222
- tag: "",
223
- visible: false,
224
-
225
- avatar_size: 'xl',
226
-
227
- upload: "",
228
- text: `<Text>text="使用:<BUFF 3222 1 desc>,持续<BUFF 3222 1 time>。\\\n" font=105 </text><Text>text="红豆沙做馅儿,精致细腻的广式月饼。" font=100 </text><Text>text="使用:能在唐门套装供应商处换取如下装备。\\\n" font=105 </text><Text>text="[燕云·重泉靴]" name="iteminfolink" eventid=513 script="this.nVersion=0 this.dwTabType=7 this.dwIndex=35244 this.OnItemLButtonDown=function() OnItemLinkDown(this) end" font=100 r=255 g=40 b=255 </text><Text>text="," font=105 </text><Text>text="[燕云·铭松靴]" name="iteminfolink" eventid=513 script="this.nVersion=0 this.dwTabType=7 this.dwIndex=35245 this.OnItemLButtonDown=function() OnItemLinkDown(this) end" font=100 r=255 g=40 b=255 </text><Text>text="。" font=100 </text>`,
229
- };
230
- },
231
- created: function () {
232
- wiki.getById(25594).then((res) => {
233
- res = res.data;
234
- this.wikiPost = res.data;
235
- });
236
- },
237
- methods: {
238
- addUser: function (val) {
239
- console.log(val);
186
+ name: "App",
187
+ components: {
188
+ Header,
189
+ Breadcrumb,
190
+ LeftSidebar,
191
+ LeftSideToggle,
192
+ Main,
193
+ Footer,
194
+ Bottom,
195
+ RightSidebar,
196
+
197
+ // cmsList,
198
+ singlebox,
199
+ PostHeader,
200
+ PostCollection,
201
+
202
+ Thx,
203
+ Collection,
204
+ Creators,
205
+
206
+ RightSideMsg,
207
+ Author,
208
+ Avatar,
209
+
210
+ Mark,
211
+ Like,
212
+ Down,
213
+ Fav,
214
+ Feed,
215
+
216
+ Print,
217
+ Sharing,
218
+ QRcode,
219
+
220
+ markBy,
221
+ menuBy,
222
+ orderBy,
223
+ tagBy,
224
+ clientBy,
225
+ zlpBy,
226
+
227
+ uploadImage,
228
+ AuthorMedal,
229
+
230
+ WikiPanel,
231
+ WikiRevisions,
232
+ WikiComments,
233
+
234
+ UserPop,
240
235
  },
241
- loadPost: function () {
242
- axios.get(`/api/cms/post/${this.post_id}`).then((res) => {
243
- this.post = res.data.data;
244
- this.$forceUpdate();
245
- });
236
+ data: function () {
237
+ return {
238
+ tab: "avatar",
239
+
240
+ post: "",
241
+ post_id: "35605",
242
+
243
+ author: "",
244
+ wikiPost: null,
245
+ tag: "",
246
+ visible: false,
247
+
248
+ avatar_size: "xl",
249
+
250
+ upload: "",
251
+ text: `<Text>text="使用:<BUFF 3222 1 desc>,持续<BUFF 3222 1 time>。\\\n" font=105 </text><Text>text="红豆沙做馅儿,精致细腻的广式月饼。" font=100 </text><Text>text="使用:能在唐门套装供应商处换取如下装备。\\\n" font=105 </text><Text>text="[燕云·重泉靴]" name="iteminfolink" eventid=513 script="this.nVersion=0 this.dwTabType=7 this.dwIndex=35244 this.OnItemLButtonDown=function() OnItemLinkDown(this) end" font=100 r=255 g=40 b=255 </text><Text>text="," font=105 </text><Text>text="[燕云·铭松靴]" name="iteminfolink" eventid=513 script="this.nVersion=0 this.dwTabType=7 this.dwIndex=35245 this.OnItemLButtonDown=function() OnItemLinkDown(this) end" font=100 r=255 g=40 b=255 </text><Text>text="。" font=100 </text>`,
252
+ };
253
+ },
254
+ created: function () {
255
+ wiki.getById(25594).then((res) => {
256
+ res = res.data;
257
+ this.wikiPost = res.data;
258
+ });
246
259
  },
247
- updateExtend: function (val) {
248
- console.log(val);
260
+ methods: {
261
+ addUser: function (val) {
262
+ console.log(val);
263
+ },
264
+ loadPost: function () {
265
+ axios.get(`/api/cms/post/${this.post_id}`).then((res) => {
266
+ this.post = res.data.data;
267
+ this.$forceUpdate();
268
+ });
269
+ },
270
+ updateExtend: function (val) {
271
+ console.log(val);
272
+ },
249
273
  },
250
- },
251
- watch: {
252
- post_id: {
253
- immediate: true,
254
- handler: function (val) {
255
- this.loadPost();
256
- },
274
+ watch: {
275
+ post_id: {
276
+ immediate: true,
277
+ handler: function (val) {
278
+ this.loadPost();
279
+ },
280
+ },
257
281
  },
258
- },
259
282
  };
260
283
  </script>
261
284
 
262
285
  <style lang="less">
263
286
  body {
264
- padding-top: 0;
287
+ padding-top: 0;
265
288
  }
266
289
  </style>
package/src/Author.vue CHANGED
@@ -7,12 +7,12 @@
7
7
  <AuthorGift :uid="uid" />
8
8
  </div>
9
9
  <!-- <AuthorMsg :uid="uid" /> -->
10
- <AuthorLink class="u-links" :uid="uid" :data="data" />
11
- <AuthorMedals class="u-trophy" :uid="uid" />
12
- <AuthorTeams class="u-teams" :uid="uid" />
13
- <AuthorFans class="u-fans" :uid="uid" />
10
+ <AuthorLink class="u-block u-links" :uid="uid" :data="data" />
11
+ <AuthorMedals class="u-block u-trophy" :uid="uid" />
12
+ <AuthorTeams class="u-block u-teams" :uid="uid" />
13
+ <AuthorFans class="u-block u-fans" :uid="uid" />
14
14
  <slot></slot>
15
- <AuthorPosts class="u-posts" :uid="uid" />
15
+ <AuthorPosts class="u-block u-posts" :uid="uid" />
16
16
  </template>
17
17
  </div>
18
18
  </template>
@@ -1,22 +1,8 @@
1
1
  <template>
2
2
  <div class="c-author-fans" v-if="list && list.length">
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
3
  <div class="u-label">
19
- <i class="el-icon-star-off"></i>
4
+ <!-- <i class="el-icon-star-off"></i> -->
5
+ <img svg-inline src="../../assets/img/leftsidebar/fans.svg" />
20
6
  <span>粉丝榜</span>
21
7
  </div>
22
8
  <div class="f-avatar">
@@ -29,11 +15,11 @@
29
15
  :key="item.pay_user_id"
30
16
  >
31
17
  <a class="u-fan" :href="authorLink(item.pay_user_id)"
32
- ><el-avatar class="u-avatar" shape="circle" :size="26" :src="showAvatar(item.pay_user.avatar)"
18
+ ><el-avatar class="u-avatar" shape="circle" :size="20" :src="showAvatar(item.pay_user.avatar)"
33
19
  ><i class="el-icon-s-custom"></i></el-avatar
34
20
  ></a>
35
21
  </el-tooltip>
36
- <el-avatar class="u-avatar u-more" shape="circle" :size="26" v-if="total > MAX_LENGTH">
22
+ <el-avatar class="u-avatar u-more" shape="circle" :size="20" v-if="total > MAX_LENGTH">
37
23
  <span class="f-avatar-num" v-if="total > 99">···</span>
38
24
  <span class="f-avatar-num" v-else>+{{ total - MAX_LENGTH }}</span>
39
25
  </el-avatar>
@@ -57,7 +43,7 @@ export default {
57
43
  return {
58
44
  list: [],
59
45
  total: 0,
60
- MAX_LENGTH : 6,
46
+ MAX_LENGTH : 8,
61
47
  };
62
48
  },
63
49
  methods: {
@@ -81,7 +67,7 @@ export default {
81
67
  };
82
68
  </script>
83
69
 
84
- <style lang="less" scoped>
70
+ <style lang="less">
85
71
  .c-author-fans {
86
72
  box-sizing: border-box;
87
73
  // padding: 10px;
@@ -156,7 +142,6 @@ export default {
156
142
  }
157
143
  }
158
144
  .f-avatar {
159
- .mt(10px);
160
145
  height: 30px;
161
146
  .f-avatar-num {
162
147
  .fz(12px);
@@ -168,10 +153,12 @@ export default {
168
153
  }
169
154
  }
170
155
  .f-bottom {
171
- .mt(10px);
156
+ .mt(5px);
172
157
  .fz(12px, 14px);
173
158
  font-weight: 400;
174
- color: rgba(0, 0, 0, 0.5);
159
+ color: #888;
160
+ transform: scale(0.8);
161
+ transform-origin: 0 0;
175
162
  }
176
163
  }
177
164
  </style>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="c-author-link">
2
+ <div class="c-author-link" v-if="isExist">
3
3
  <!-- <AuthorMsg :uid="uid"/> -->
4
4
  <a
5
5
  v-if="data.weibo_name"
@@ -22,6 +22,7 @@
22
22
  <a
23
23
  v-if="data.tv_type && data.tv_id"
24
24
  class="u-link u-link__tv"
25
+ :class="'u-link__' + data.tv_type"
25
26
  :href="tv_link"
26
27
  target="_blank"
27
28
  :title="`房间号:${data.tv_id}`"
@@ -48,6 +49,9 @@ export default {
48
49
  tv_link: function () {
49
50
  return tvLink(this.data.tv_type, this.data.tv_id) || "";
50
51
  },
52
+ isExist(){
53
+ return this.data.weibo_name || this.data.github_name || (this.data.tv_type && this.data.tv_id)
54
+ }
51
55
  },
52
56
  watch: {},
53
57
  methods: {
@@ -58,7 +62,8 @@ export default {
58
62
  return "https://github.com/" + val;
59
63
  },
60
64
  getIcon: function (val) {
61
- return __imgPath + "image/author/" + val + ".svg";
65
+ // return __imgPath + "image/author/" + val + ".svg";
66
+ return require("../../assets/img/author/" + val + ".svg");
62
67
  },
63
68
  },
64
69
  created: function () {},
@@ -68,13 +73,38 @@ export default {
68
73
 
69
74
  <style scoped lang="less">
70
75
  .c-author-link {
71
- padding:0 2px;
76
+ padding: 0 2px;
77
+ .flex;
78
+ align-items: center;
72
79
  .u-link {
73
80
  .mr(3px);
81
+ .r(50%);
82
+ .flex;
83
+ justify-content: center;
84
+ align-items: center;
85
+ .size(18px);
86
+ box-sizing: border-box;
74
87
  }
75
88
  img,
76
89
  svg {
77
90
  .size(18px);
78
91
  }
92
+ .u-link__weibo {
93
+ background-color: #ffbf5f;
94
+ padding: 2px;
95
+ }
96
+ .u-link__bilibili {
97
+ padding: 3px;
98
+ background-color: #ff549d;
99
+ svg {
100
+ fill: #fff;
101
+ }
102
+ }
103
+ .u-link__huya{
104
+ padding: 2px;
105
+ background-color: #ffbf5f;
106
+ }
107
+ .u-link__douyu{
108
+ }
79
109
  }
80
110
  </style>