@jx3box/jx3box-ui 2.0.6 → 2.0.7

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.
@@ -7,6 +7,9 @@ import {
7
7
  mockCommentPower,
8
8
  mockCreators,
9
9
  mockHonor,
10
+ mockWikiComments,
11
+ mockWikiRevisions,
12
+ mockWikiStat,
10
13
  mockMedals,
11
14
  mockSearchUser,
12
15
  mockTeams,
@@ -117,6 +120,18 @@ export function resolveStorybookMock(config) {
117
120
  return respond(config, { data: mockBoxcoinRecords });
118
121
  }
119
122
 
123
+ if (method === 'get' && path.match(/^\/api\/summary-any\/.+\/stat$/)) {
124
+ return respond(config, { data: mockWikiStat, status: 200 });
125
+ }
126
+
127
+ if (method === 'get' && path === '/api/cms/wiki/comment') {
128
+ return respond(config, { data: mockWikiComments });
129
+ }
130
+
131
+ if (method === 'get' && path.match(/^\/api\/cms\/wiki\/post\/type\/.+\/source\/.+\/versions$/)) {
132
+ return respond(config, { data: mockWikiRevisions });
133
+ }
134
+
120
135
  if (method === 'get' && path.match(/^\/api\/next2\/comment\/.+\/i-am-author$/)) {
121
136
  return respond(config, mockCommentPower);
122
137
  }
@@ -154,6 +169,14 @@ export function resolveStorybookMock(config) {
154
169
  return respond(config, { code: 0, data: {} });
155
170
  }
156
171
 
172
+ if (['post', 'put', 'delete'].includes(method) && path.startsWith('/api/cms/wiki/comment')) {
173
+ return respond(config, { code: 0, data: {} });
174
+ }
175
+
176
+ if (method === 'put' && path.match(/^\/api\/cms\/manage\/wiki\/comment\/\d+\/(star|top)$/)) {
177
+ return respond(config, { code: 0, data: {} });
178
+ }
179
+
157
180
  if (['post', 'delete'].includes(method) && path.startsWith('/api/next2/rss/')) {
158
181
  return respond(config, { code: 0, data: { subscribed: method === 'post' } });
159
182
  }
package/README.md CHANGED
@@ -6,45 +6,54 @@
6
6
  ## 模块
7
7
 
8
8
  ### 全局
9
- - CommonHeader 公共头
10
- - Breadcrumb 面包屑
11
- - Main 默认内容框架(非必须)
12
- - LeftSidebar 左侧边栏(非必须)
13
- - LeftSideToggle 左侧边栏触发器(非必须,可独立使用)
14
- - RightSidebar 右侧边栏(非必须)
15
- - CommonFooter 公共底
16
- - SuspendCommon 移动侧浮窗底(此组件需要手动引入)
9
+
10
+ - CommonHeader 公共头
11
+ - Breadcrumb 面包屑
12
+ - Main 默认内容框架(非必须)
13
+ - LeftSidebar 左侧边栏(非必须)
14
+ - LeftSideToggle 左侧边栏触发器(非必须,可独立使用)
15
+ - RightSidebar 右侧边栏(非必须)
16
+ - CommonFooter 公共底
17
+ - SuspendCommon 移动侧浮窗底(此组件需要手动引入)
17
18
 
18
19
  ### 内容单页 single
19
20
 
20
21
  主要是用于详情页的展示内容
21
22
 
22
- - CmsSingle 单页框架
23
- - Author 侧边栏作者信息整合
24
- - PostDirectory 目录
25
- - PostHeader 创作信息
26
- - Creators 联合创作
27
- - Collection 小册
28
- - Thx 交互组件
29
- - SimpleThx 交互组件简化版(仅PVP栏目使用,需要手动引入)
30
- - Comment 评论
31
- - RightAffix 固钉
32
- - PostGuide 快速跳转至上下篇
33
- - PostVersion 修改历史
34
- - PostCollection 关联小册
23
+ - CmsSingle 单页框架
24
+ - Author 侧边栏作者信息整合
25
+ - PostDirectory 目录
26
+ - PostHeader 创作信息
27
+ - Creators 联合创作
28
+ - Collection 小册
29
+ - Thx 交互组件
30
+ - SimpleThx 交互组件简化版(仅 PVP 栏目使用,需要手动引入)
31
+ - Comment 评论
32
+ - RightAffix 固钉
33
+ - PostGuide 快速跳转至上下篇
34
+ - PostVersion 修改历史
35
+ - PostCollection 关联小册
35
36
 
36
37
  ### 筛选模块 list
37
38
 
38
39
  主要用于各栏目的列表筛选
39
40
 
40
- - clientBy 客户端筛选
41
- - markBy 标记筛选
42
- - menuBy 通用筛选
43
- - orderBy 排序筛选
44
- - tagBy 标签筛选
45
- - topicBy 主题筛选
46
- - versionBy 版本筛选
47
- - zlpBy 资料片筛选
41
+ - clientBy 客户端筛选
42
+ - markBy 标记筛选
43
+ - menuBy 通用筛选
44
+ - orderBy 排序筛选
45
+ - tagBy 标签筛选
46
+ - topicBy 主题筛选
47
+ - versionBy 版本筛选
48
+ - zlpBy 资料片筛选
49
+
50
+ ### 百科模块 wiki
51
+
52
+ - GamePrice 游戏价格组件
53
+ - WikiPanel 百科面板
54
+ - WikiComments 百科评论
55
+ - WikiRevisions 百科修订
48
56
 
49
57
  ### 其他
50
- - UserPop 搜索用户弹窗
58
+
59
+ - UserPop 搜索用户弹窗
@@ -0,0 +1,69 @@
1
+ .w-qrcode {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ .pr;
5
+ z-index: 200;
6
+ width: fit-content;
7
+ white-space: nowrap;
8
+ .u-icon {
9
+ .mr(5px);
10
+ .size(14px);
11
+ .y(-2px);
12
+ fill: @color;
13
+ }
14
+ .u-text {
15
+ .fz(13px);
16
+ user-select: none;
17
+ }
18
+ .pointer;
19
+ transition: 0.1s ease-in-out;
20
+ &:hover {
21
+ color: @pink;
22
+ .u-icon {
23
+ fill: @pink;
24
+ }
25
+ }
26
+
27
+ .u-pic {
28
+ .size(100px);
29
+ .mb(5px);
30
+ }
31
+ }
32
+ .u-qrcode-popup {
33
+ position: fixed;
34
+ transform: translateX(-50%);
35
+ padding: 10px;
36
+ border: 1px solid #e8e8e8;
37
+ z-index: 9999;
38
+ background: #fff;
39
+ border-radius: 3px;
40
+ font-size: 12px;
41
+ text-align: center;
42
+ color: #888;
43
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
44
+ }
45
+ @media screen and (max-width: @phone) {
46
+ .w-qrcode {
47
+ .none;
48
+ }
49
+ }
50
+ .w-qrcode-static {
51
+ .u-qrcode {
52
+ .ps;
53
+ }
54
+ .u-icon {
55
+ .mr(5px);
56
+ .size(14px);
57
+ .y(-2px);
58
+ fill: @color;
59
+ }
60
+ .u-pic {
61
+ background-color: #fff;
62
+ padding: 7px 7px 7px 8px;
63
+ }
64
+ .u-txt {
65
+ padding: 0 5px;
66
+ .db;
67
+ .fz(12px,2);
68
+ }
69
+ }
@@ -0,0 +1,176 @@
1
+ .c-wiki-comments {
2
+ .u-empty {
3
+ padding: 5px 0;
4
+ text-align: center;
5
+ }
6
+
7
+ .el-button {
8
+ user-select: none;
9
+
10
+ &.el-button--default:focus,
11
+ &.el-button--default:active {
12
+ background: white;
13
+ border: 1px solid #dcdfe6;
14
+ }
15
+
16
+ &.el-button--primary:focus,
17
+ &.el-button--primary:active {
18
+ background-color: #0366d6;
19
+ border-color: #0366d6;
20
+ }
21
+ }
22
+
23
+ .u-pagination-box {
24
+ margin-top: 12px;
25
+ }
26
+
27
+ .m-comments-panel {
28
+ font-size: 14px;
29
+
30
+ .u-comments {
31
+ padding-left: 0;
32
+ list-style: none;
33
+ }
34
+
35
+ .u-nickname-panel {
36
+ .u-nickname {
37
+ font-weight: 600;
38
+ color: #666666;
39
+ }
40
+
41
+ .u-nickname[href] {
42
+ color: blueviolet;
43
+ }
44
+
45
+ span + .u-nickname {
46
+ opacity: 0.7;
47
+ }
48
+ }
49
+
50
+ .u-comment {
51
+ padding: 5px 0;
52
+ border-bottom: 1px solid #eeeeee;
53
+ overflow: hidden;
54
+ }
55
+
56
+ .u-mark {
57
+ font-style: normal;
58
+ font-size: 12px;
59
+ padding: 2px 5px;
60
+ border-radius: 2px;
61
+ color: #fff;
62
+ margin-left: 5px;
63
+ cursor: default;
64
+ display: inline-flex;
65
+ align-items: center;
66
+ height: 21px;
67
+ box-sizing: border-box;
68
+ }
69
+ .u-top {
70
+ background-color: #6f42c1;
71
+ i {
72
+ transform: rotate(180deg);
73
+ }
74
+ }
75
+ .u-star {
76
+ background-color: #fba524;
77
+ i {
78
+ margin-right: 2px;
79
+ }
80
+ }
81
+
82
+ .u-content {
83
+ margin: 10px 0;
84
+ opacity: 0.8;
85
+ }
86
+
87
+ .m-reply {
88
+ padding-bottom: 10px;
89
+
90
+ .u-reply {
91
+ font-size: 13px;
92
+ padding: 6px 10px;
93
+ }
94
+
95
+ .u-time {
96
+ float: right;
97
+ margin-top: 5px;
98
+ font-size: 12px;
99
+ opacity: 0.5;
100
+ }
101
+ }
102
+
103
+ & > .u-comments {
104
+ margin: 0;
105
+ padding: 0;
106
+ }
107
+
108
+ & > .u-comments > .u-comment-panel > .u-comments {
109
+ padding-left: 15px;
110
+ }
111
+ }
112
+
113
+ // 回复表单样式
114
+ .m-reply-form {
115
+ overflow: hidden;
116
+
117
+ @border-style: 1px solid #cccccc;
118
+
119
+ .u-title {
120
+ .mt(15px);
121
+ .mb(10px);
122
+ .pb(10px);
123
+ color: #666666;
124
+ border-bottom: @border-style;
125
+
126
+ i,
127
+ span {
128
+ .dbi;
129
+ .mr(5px);
130
+ vertical-align: middle;
131
+ font-size: 16px;
132
+ }
133
+ }
134
+
135
+ .u-reply-content {
136
+ width: 100%;
137
+ height: 4em;
138
+ padding: 5px;
139
+ line-height: 1.5em;
140
+ box-sizing: border-box;
141
+ border: @border-style;
142
+ resize: vertical;
143
+ .r(3px);
144
+ }
145
+
146
+ .u-author {
147
+ .fl;
148
+
149
+ input {
150
+ .fz(14px, 28px);
151
+ .h(28px);
152
+ border: @border-style;
153
+ .r(3px);
154
+ padding: 0 5px;
155
+ }
156
+ }
157
+
158
+ .u-submit {
159
+ .fr;
160
+ padding: 7px 16px;
161
+ }
162
+ }
163
+
164
+ @media screen and (max-width: 360px) {
165
+ .m-reply-form {
166
+ .u-author,
167
+ .u-submit {
168
+ float: none;
169
+ }
170
+
171
+ .u-submit {
172
+ .mt(5px);
173
+ }
174
+ }
175
+ }
176
+ }
@@ -0,0 +1,177 @@
1
+ .c-wiki-panel {
2
+ .db;
3
+ .mb(15px);
4
+ background-color: #fafbfc;
5
+ border: 1px solid #eeeeee;
6
+ border-radius: 5px;
7
+ font-size: 14px;
8
+
9
+ img {
10
+ height: auto;
11
+ }
12
+
13
+ b,
14
+ strong {
15
+ font-weight: bold;
16
+ }
17
+
18
+ &.border-none {
19
+ background-color: transparent;
20
+ border: none;
21
+
22
+ .m-panel-head {
23
+ background-color: transparent;
24
+ }
25
+ }
26
+
27
+ .m-panel-head {
28
+ .pr;
29
+ padding: 0 15px;
30
+ background-color: #f5f7fa;
31
+ border-bottom: 1px solid #eeeeee;
32
+
33
+ & .m-panel-actions {
34
+ .pa;
35
+ right: 15px;
36
+ top: 50%;
37
+ transform: translateY(-50%);
38
+ font-size: 12px;
39
+ z-index: 30;
40
+
41
+ .u-more,
42
+ .el-button {
43
+ .dbi;
44
+ .ml(15px);
45
+
46
+ &:first-child {
47
+ .ml(0);
48
+ }
49
+ }
50
+
51
+ .u-more {
52
+ color: @color-link;
53
+ }
54
+
55
+ .el-button {
56
+ padding: 7px 10px 9px;
57
+ font-size: 12px;
58
+ }
59
+ }
60
+
61
+ & .m-panel-title {
62
+ padding: 10px 0;
63
+ color: #6c645c;
64
+ margin: 0;
65
+ font-weight: 500;
66
+ }
67
+ }
68
+
69
+ .m-panel-body {
70
+ padding: 15px;
71
+ line-height: 1.6em;
72
+ word-break: break-all;
73
+ }
74
+
75
+ .m-wiki-metas {
76
+ .mb(5px);
77
+ font-size: 12px;
78
+
79
+ .u-meta,
80
+ .u-label,
81
+ .u-value {
82
+ .dbi;
83
+ vertical-align: middle;
84
+ }
85
+
86
+ .u-meta {
87
+ .mr(15px);
88
+ .mt(5px);
89
+
90
+ &:last-child {
91
+ .mr(0);
92
+ }
93
+
94
+ @media screen and (max-width: @phone) {
95
+ .db;
96
+ .mr(0);
97
+ .mb(5px);
98
+
99
+ &:last-child {
100
+ .mb(0);
101
+ }
102
+ }
103
+ }
104
+
105
+ .u-label {
106
+ .mr(10px);
107
+ padding: 3px 8px;
108
+ background-color: #f2f2f2;
109
+ .r(2px);
110
+ font-style: normal;
111
+ color: #666;
112
+ }
113
+
114
+ .el-icon-star-on {
115
+ color: yellowgreen;
116
+ font-size: 16px;
117
+ }
118
+
119
+ .u-creator {
120
+ .dbi;
121
+ .w(24px);
122
+ .h(24px);
123
+ .mr(5px);
124
+ .r(50%);
125
+ overflow: hidden;
126
+
127
+ &:last-child {
128
+ .mr(0);
129
+ }
130
+
131
+ img {
132
+ .w(100%);
133
+ .h(auto);
134
+ }
135
+ }
136
+
137
+ @media screen and (max-width: @phone) {
138
+ white-space: nowrap;
139
+ overflow: hidden;
140
+ text-overflow: ellipsis;
141
+ }
142
+ }
143
+
144
+ // 详情场景
145
+ &.m-detail-scene {
146
+ .m-panel-title {
147
+ img,
148
+ svg,
149
+ i,
150
+ span {
151
+ .dbi;
152
+ vertical-align: middle;
153
+ }
154
+
155
+ img,
156
+ svg,
157
+ i {
158
+ width: 28px;
159
+ height: 28px;
160
+ line-height: 28px;
161
+ color: @color-link;
162
+ fill: @color-link;
163
+ font-size: 22px;
164
+ }
165
+
166
+ img,
167
+ svg {
168
+ .mr(7px);
169
+ }
170
+
171
+ span {
172
+ font-size: 17px;
173
+ font-weight: 300;
174
+ }
175
+ }
176
+ }
177
+ }
@@ -0,0 +1,62 @@
1
+ .c-wiki-revisions {
2
+ .u-empty {
3
+ padding: 5px 0;
4
+ text-align: center
5
+ }
6
+
7
+ .m-histories {
8
+ width: 100%;
9
+ margin: -5px 0;
10
+ opacity: 0.8;
11
+ font-size: 14px;
12
+ text-align: left;
13
+ border-collapse: collapse;
14
+ border-spacing: 0;
15
+
16
+ th,
17
+ td {
18
+ min-width: 100px;
19
+ padding: 8px 10px;
20
+ font-weight: normal;
21
+ line-height: 1.6;
22
+
23
+ &:first-child{
24
+ min-width: 35px;
25
+ }
26
+
27
+ @media screen and (max-width: @phone) {
28
+ min-width: 35px;
29
+ padding: 3px;
30
+ font-size: 12px;
31
+
32
+ &:first-child{
33
+ min-width: 15px;
34
+ }
35
+ }
36
+ }
37
+
38
+ a {
39
+ color: @color;
40
+
41
+ &[href] {
42
+ color: @color-link;
43
+
44
+ &:hover {
45
+ box-shadow: 0 1px 0 @color-link;
46
+ }
47
+ }
48
+ }
49
+
50
+ th {
51
+ border-bottom: 2px solid #dddddd;
52
+ }
53
+
54
+ td {
55
+ border-bottom: 1px solid #dddddd;
56
+ }
57
+
58
+ tr:last-child td {
59
+ border-bottom: none;
60
+ }
61
+ }
62
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jx3box/jx3box-ui",
3
- "version": "2.0.6",
3
+ "version": "2.0.7",
4
4
  "description": "JX3BOX Vue3 UI",
5
5
  "main": "index.js",
6
6
  "scripts": {