@jx3box/jx3box-ui 2.0.1 → 2.0.3

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.
Files changed (119) hide show
  1. package/README.md +50 -2
  2. package/assets/css/bread/admin.less +32 -0
  3. package/assets/css/bread/breadcrumb.less +38 -0
  4. package/assets/css/bread/crumb.less +6 -0
  5. package/assets/css/comment/quick-reply.less +12 -1
  6. package/assets/css/common/bottom.less +4 -0
  7. package/assets/css/common/footer.less +23 -0
  8. package/assets/css/common/left-sidebar.less +28 -0
  9. package/assets/css/common/main.less +21 -0
  10. package/assets/css/common/right-sidebar.less +31 -0
  11. package/assets/css/common/suspend-common.less +51 -0
  12. package/assets/css/editor/combo.less +51 -0
  13. package/assets/css/editor/resource.less +64 -0
  14. package/assets/css/editor/tinymce.less +20 -0
  15. package/assets/css/editor/upload.less +25 -0
  16. package/assets/css/filters/client-by.less +6 -0
  17. package/assets/css/header/box.less +34 -0
  18. package/assets/css/interact/like2.less +4 -0
  19. package/assets/css/interact/share2.less +17 -0
  20. package/assets/css/mixin.less +3 -24
  21. package/assets/css/module/author.less +41 -0
  22. package/assets/css/module/buff.less +10 -0
  23. package/assets/css/module/directory.less +22 -0
  24. package/assets/css/module/icon.less +4 -0
  25. package/assets/css/module/item.less +50 -0
  26. package/assets/css/module/item_simple.less +7 -0
  27. package/assets/css/module/jx3_element.less +2 -1
  28. package/assets/css/module/macro.less +17 -0
  29. package/assets/css/module/npc.less +46 -1
  30. package/assets/css/module/resource.less +13 -0
  31. package/assets/css/module/skill.less +9 -0
  32. package/assets/css/module/talent.less +71 -0
  33. package/assets/css/single/author.less +24 -10
  34. package/assets/css/single/cms-single.less +16 -0
  35. package/assets/css/single/thx.less +51 -0
  36. package/assets/css/tinymce/_.less +7 -1
  37. package/assets/css/tinymce/a.less +5 -0
  38. package/assets/css/tinymce/code.less +22 -0
  39. package/assets/css/tinymce/combo.less +12 -0
  40. package/assets/css/tinymce/fold.less +12 -0
  41. package/assets/css/tinymce/h.less +10 -0
  42. package/assets/css/tinymce/hr.less +2 -0
  43. package/assets/css/tinymce/img.less +3 -0
  44. package/assets/css/tinymce/imgpreview.less +6 -1
  45. package/assets/css/tinymce/latex.less +7 -1
  46. package/assets/css/tinymce/list.less +12 -0
  47. package/assets/css/tinymce/macro.less +7 -1
  48. package/assets/css/tinymce/nextpage.less +14 -0
  49. package/assets/css/tinymce/p.less +2 -0
  50. package/assets/css/tinymce/pz.less +6 -0
  51. package/assets/css/tinymce/qixue.less +6 -0
  52. package/assets/css/tinymce/quote.less +2 -0
  53. package/assets/css/tinymce/table.less +13 -1
  54. package/assets/css/tinymce/video.less +18 -0
  55. package/assets/img/author/rss.svg +1 -0
  56. package/assets/img/common/logo-v2.svg +14 -0
  57. package/index.js +2 -0
  58. package/package.json +1 -1
  59. package/service/comment.js +56 -96
  60. package/src/App.vue +31 -31
  61. package/src/Breadcrumb.vue +16 -20
  62. package/src/Icon.vue +53 -0
  63. package/src/author/AuthorFans.vue +15 -5
  64. package/src/author/AuthorFollow.vue +1 -1
  65. package/src/author/AuthorGift.vue +9 -9
  66. package/src/author/AuthorHonor.vue +9 -8
  67. package/src/author/AuthorInfo.vue +10 -1
  68. package/src/author/AuthorLink.vue +8 -1
  69. package/src/author/AuthorPosts.vue +14 -8
  70. package/src/author/AuthorRss.vue +28 -34
  71. package/src/bread/Admin.vue +19 -6
  72. package/src/bread/Crumb.vue +7 -2
  73. package/src/bread/DesignTask.vue +44 -37
  74. package/src/comment/Avatar.vue +26 -8
  75. package/src/comment/CommentContent.vue +62 -17
  76. package/src/comment/CommentContentSimple.vue +54 -15
  77. package/src/comment/CommentWithReply.vue +22 -1
  78. package/src/comment/ReplyForReply.vue +14 -1
  79. package/src/comment/ReplyItem.vue +10 -1
  80. package/src/comment/ReplyList.vue +19 -1
  81. package/src/editor/BoxResource.vue +2 -2
  82. package/src/editor/Resource.vue +6 -6
  83. package/src/filters/clientBy.vue +14 -1
  84. package/src/filters/menuBy.vue +14 -1
  85. package/src/filters/orderBy.vue +1 -1
  86. package/src/filters/tagBy.vue +10 -1
  87. package/src/filters/versionBy.vue +6 -1
  88. package/src/filters/zlpBy.vue +6 -1
  89. package/src/header/asset.vue +16 -1
  90. package/src/header/box.vue +6 -1
  91. package/src/header/box2.vue +232 -233
  92. package/src/header/client.vue +6 -1
  93. package/src/header/logo.vue +1 -1
  94. package/src/header/manage.vue +0 -1
  95. package/src/header/nav.vue +1 -1
  96. package/src/header/userInfo.vue +15 -1
  97. package/src/interact/BoxcoinAdmin.vue +46 -5
  98. package/src/interact/BoxcoinRecords.vue +22 -1
  99. package/src/interact/BoxcoinUser.vue +49 -8
  100. package/src/interact/Contributors.vue +7 -11
  101. package/src/interact/Fav.vue +22 -1
  102. package/src/interact/Like.vue +10 -1
  103. package/src/interact/Share.vue +18 -1
  104. package/src/interact/WatchLater.vue +3 -3
  105. package/src/main.js +3 -1
  106. package/src/single/Author.vue +15 -10
  107. package/src/single/Collection.vue +10 -1
  108. package/src/single/Comment.vue +20 -3
  109. package/src/single/Creators.vue +10 -1
  110. package/src/single/PostDirectory.vue +1 -1
  111. package/src/single/PostHeader.vue +18 -1
  112. package/src/single/SimpleThx.vue +2 -2
  113. package/src/single/Thx.vue +45 -27
  114. package/src/single/cms-single.vue +10 -1
  115. package/assets/img/author/msg.svg +0 -55
  116. package/src/Bottom.vue +0 -23
  117. package/src/Box.vue +0 -149
  118. package/src/author/AuthorMsg.vue +0 -25
  119. package/src/bread/AdminButton.vue +0 -31
@@ -1,17 +1,26 @@
1
1
  <template>
2
- <el-dialog class="m-design-task" :width="isPhone ? '95%' : '600px'" :model-value="modelValue" @close="close" title="快捷推送" append-to-body>
2
+ <el-dialog
3
+ class="m-design-task"
4
+ :width="isPhone ? '95%' : '600px'"
5
+ :model-value="modelValue"
6
+ @close="close"
7
+ title="快捷推送"
8
+ append-to-body
9
+ >
3
10
  <el-form :model="form" ref="form" :label-position="isPhone ? 'top' : 'left'" label-width="80px">
4
11
  <el-form-item label="标题">
5
12
  <el-input v-model="form.title" placeholder="请输入标题"></el-input>
6
13
  </el-form-item>
7
14
  <el-form-item label="类型">
8
- <el-select v-model="form.type" placeholder="请选择类型" style="width:100%;" filterable>
15
+ <el-select v-model="form.type" placeholder="请选择类型" style="width: 100%" filterable>
9
16
  <el-option v-for="item in config" :key="item.id" :label="item.label" :value="item.name"></el-option>
10
17
  </el-select>
11
18
  </el-form-item>
12
19
  <el-form-item label="版本">
13
20
  <el-radio-group v-model="form.version">
14
- <el-radio-button v-for="(label, key) in versions" :key="key" :label="key">{{ label }}</el-radio-button>
21
+ <el-radio-button v-for="(label, key) in versions" :key="key" :value="key">{{
22
+ label
23
+ }}</el-radio-button>
15
24
  </el-radio-group>
16
25
  </el-form-item>
17
26
  <el-form-item label="备注">
@@ -22,19 +31,17 @@
22
31
  </el-form-item>
23
32
  </el-form>
24
33
 
25
- <el-divider content-position="left">
26
- 近期推送
27
- </el-divider>
34
+ <el-divider content-position="left"> 近期推送 </el-divider>
28
35
  <template v-if="logs && logs.length">
29
36
  <el-table :data="logs" border size="small" max-height="300px">
30
37
  <el-table-column label="推送时间" prop="push_at" align="center">
31
- <template #default="{row}">
38
+ <template #default="{ row }">
32
39
  {{ formatTime(row.push_at) }}
33
40
  </template>
34
41
  </el-table-column>
35
42
  <el-table-column label="推送人" prop="pusher.display_name" align="center"></el-table-column>
36
43
  <el-table-column label="星级" prop="star" align="center">
37
- <template #default="{row}">
44
+ <template #default="{ row }">
38
45
  <el-rate v-model="row.star" disabled :colors="colors"></el-rate>
39
46
  </template>
40
47
  </el-table-column>
@@ -51,7 +58,7 @@
51
58
 
52
59
  <script>
53
60
  import { createDesignTask, getDesignTask, getConfigBannerTypes } from "../../service/design";
54
- import {pick} from "lodash";
61
+ import { pick } from "lodash";
55
62
  import dayjs from "dayjs";
56
63
  import User from "@jx3box/jx3box-common/js/user";
57
64
  export default {
@@ -59,16 +66,16 @@ export default {
59
66
  props: {
60
67
  modelValue: {
61
68
  type: Boolean,
62
- default: false
69
+ default: false,
63
70
  },
64
71
  post: {
65
72
  type: Object,
66
- default: () => {}
67
- }
73
+ default: () => {},
74
+ },
68
75
  },
69
76
  model: {
70
77
  prop: "modelValue",
71
- event: "update:modelValue"
78
+ event: "update:modelValue",
72
79
  },
73
80
  emits: ["update:modelValue"],
74
81
  data() {
@@ -78,9 +85,9 @@ export default {
78
85
  remark: "",
79
86
  star: 0,
80
87
  subtype: "",
81
- version: "std"
88
+ version: "std",
82
89
  },
83
- colors: ['#99A9BF', '#F7BA2A', '#FF9900'],
90
+ colors: ["#99A9BF", "#F7BA2A", "#FF9900"],
84
91
 
85
92
  logs: [],
86
93
  config: [],
@@ -89,12 +96,12 @@ export default {
89
96
  isEditor: User.isEditor(),
90
97
 
91
98
  versions: {
92
- "std": "剑三",
93
- "origin": "缘起",
94
- "wujie": "无界",
95
- "test": "体服"
96
- }
97
- }
99
+ std: "剑三",
100
+ origin: "缘起",
101
+ wujie: "无界",
102
+ test: "体服",
103
+ },
104
+ };
98
105
  },
99
106
  watch: {
100
107
  modelValue(val) {
@@ -108,11 +115,11 @@ export default {
108
115
  this.loadConfig();
109
116
  }
110
117
  }
111
- }
118
+ },
112
119
  },
113
120
  methods: {
114
- close(){
115
- this.$emit("update:modelValue",false)
121
+ close() {
122
+ this.$emit("update:modelValue", false);
116
123
  },
117
124
  clearForm() {
118
125
  this.form = {
@@ -121,7 +128,7 @@ export default {
121
128
  star: 0,
122
129
  subtype: "",
123
130
  version: "std",
124
- }
131
+ };
125
132
 
126
133
  this.$refs?.form?.clearValidate();
127
134
  },
@@ -142,7 +149,7 @@ export default {
142
149
  createDesignTask(data).then(() => {
143
150
  this.$message.success("提交成功");
144
151
  this.close();
145
- })
152
+ });
146
153
  },
147
154
  onCancel() {
148
155
  this.close();
@@ -150,28 +157,28 @@ export default {
150
157
  },
151
158
  loadLogs() {
152
159
  if (!this.post?.ID) return;
153
- getDesignTask({ source_id: this.post?.ID }).then(res => {
160
+ getDesignTask({ source_id: this.post?.ID }).then((res) => {
154
161
  this.logs = res.data.data || [];
155
- })
162
+ });
156
163
  },
157
164
  loadConfig() {
158
- getConfigBannerTypes({ _no_page: 1 }).then(res => {
165
+ getConfigBannerTypes({ _no_page: 1 }).then((res) => {
159
166
  this.config = res.data.data || [];
160
- this.config = this.config.filter(item => item.parent_id == 1);
161
- })
167
+ this.config = this.config.filter((item) => item.parent_id == 1);
168
+ });
162
169
  },
163
170
  formatTime(time) {
164
171
  return dayjs(time).format("YYYY-MM-DD HH:mm:ss");
165
- }
166
- }
167
- }
172
+ },
173
+ },
174
+ };
168
175
  </script>
169
176
 
170
177
  <style lang="less">
171
178
  .m-design-task {
172
- .el-form-item {
173
- margin-bottom: 12px;
174
- }
179
+ .el-form-item {
180
+ margin-bottom: 12px;
181
+ }
175
182
  .m-star-line {
176
183
  .el-form-item__content {
177
184
  top: 10px;
@@ -28,14 +28,32 @@ import JX3BOX from "@jx3box/jx3box-common/data/jx3box.json";
28
28
  const { __imgPath } = JX3BOX;
29
29
  export default {
30
30
  name: "CommentAvatar",
31
- props: [
32
- "avatarSize",
33
- "userAvatar",
34
- "userHref",
35
- "username",
36
- "avatarFrame",
37
- "withFrame",
38
- ],
31
+ props: {
32
+ avatarSize: {
33
+ type: Number,
34
+ default: 48,
35
+ },
36
+ userAvatar: {
37
+ type: String,
38
+ default: "",
39
+ },
40
+ userHref: {
41
+ type: String,
42
+ default: "",
43
+ },
44
+ username: {
45
+ type: String,
46
+ default: "",
47
+ },
48
+ avatarFrame: {
49
+ type: String,
50
+ default: "",
51
+ },
52
+ withFrame: {
53
+ type: Boolean,
54
+ default: false,
55
+ },
56
+ },
39
57
  data: function() {
40
58
  return {};
41
59
  },
@@ -203,23 +203,68 @@ function fillZero(num) {
203
203
  return num > 9 ? num : `0${num}`;
204
204
  }
205
205
  export default {
206
- props: [
207
- "content",
208
- "date",
209
- "hasReply",
210
- "canDelete",
211
- "canSetTop",
212
- "canCancelTop",
213
- "canHide",
214
- "isLike", // 是否已点赞
215
- "likes", // 点赞数
216
- "canSetStar",
217
- "canCancelStar",
218
- "attachments",
219
- "commentId",
220
- "canAddWhite", // 是否可以添加到过滤白名单, 因为对于一般用户,它看不到非白名单的评论,所以“可以添加到白名单”的权限不要在加一次用户层面的权限判定
221
- "canRemoveWhite", // 是否可以从过滤白名单移除
222
- ],
206
+ props: {
207
+ content: {
208
+ type: String,
209
+ default: "",
210
+ },
211
+ date: {
212
+ type: [String, Number, Date],
213
+ default: "",
214
+ },
215
+ hasReply: {
216
+ type: Boolean,
217
+ default: false,
218
+ },
219
+ canDelete: {
220
+ type: Boolean,
221
+ default: false,
222
+ },
223
+ canSetTop: {
224
+ type: Boolean,
225
+ default: false,
226
+ },
227
+ canCancelTop: {
228
+ type: Boolean,
229
+ default: false,
230
+ },
231
+ canHide: {
232
+ type: Boolean,
233
+ default: false,
234
+ },
235
+ isLike: {
236
+ type: Boolean,
237
+ default: false,
238
+ },
239
+ likes: {
240
+ type: Number,
241
+ default: 0,
242
+ },
243
+ canSetStar: {
244
+ type: Boolean,
245
+ default: false,
246
+ },
247
+ canCancelStar: {
248
+ type: Boolean,
249
+ default: false,
250
+ },
251
+ attachments: {
252
+ type: Array,
253
+ default: () => [],
254
+ },
255
+ commentId: {
256
+ type: [Number, String],
257
+ default: 0,
258
+ },
259
+ canAddWhite: {
260
+ type: Boolean,
261
+ default: false,
262
+ },
263
+ canRemoveWhite: {
264
+ type: Boolean,
265
+ default: false,
266
+ },
267
+ },
223
268
  components: {
224
269
  Uploader,
225
270
  Emotion,
@@ -96,21 +96,60 @@ function fillZero(num) {
96
96
  return num > 9 ? num : `0${num}`;
97
97
  }
98
98
  export default {
99
- props: [
100
- "commentId",
101
- "content",
102
- "attachments",
103
- "date",
104
- "hasReply",
105
- "canDelete",
106
- "canHide",
107
- "canReply",
108
- "isLike", // 是否已点赞
109
- "likes", // 点赞数
110
- "userHref",
111
- "replyForUsername",
112
- "replyForUserId",
113
- ],
99
+ props: {
100
+ commentId: {
101
+ type: [Number, String],
102
+ default: 0,
103
+ },
104
+ content: {
105
+ type: String,
106
+ default: "",
107
+ },
108
+ attachments: {
109
+ type: Array,
110
+ default: () => [],
111
+ },
112
+ date: {
113
+ type: [String, Number, Date],
114
+ default: "",
115
+ },
116
+ hasReply: {
117
+ type: Boolean,
118
+ default: false,
119
+ },
120
+ canDelete: {
121
+ type: Boolean,
122
+ default: false,
123
+ },
124
+ canHide: {
125
+ type: Boolean,
126
+ default: false,
127
+ },
128
+ canReply: {
129
+ type: Boolean,
130
+ default: false,
131
+ },
132
+ isLike: {
133
+ type: Boolean,
134
+ default: false,
135
+ },
136
+ likes: {
137
+ type: Number,
138
+ default: 0,
139
+ },
140
+ userHref: {
141
+ type: String,
142
+ default: "",
143
+ },
144
+ replyForUsername: {
145
+ type: String,
146
+ default: "",
147
+ },
148
+ replyForUserId: {
149
+ type: [Number, String],
150
+ default: 0,
151
+ },
152
+ },
114
153
  data: function () {
115
154
  return {
116
155
  showInput: false,
@@ -74,7 +74,28 @@ import JX3BOX from "@jx3box/jx3box-common/data/jx3box.json";
74
74
  const { __imgPath } = JX3BOX;
75
75
  const DECORATION_KEY = "decoration_comment_";
76
76
  export default {
77
- props: ["item", "baseApi", "power", "user-href", "username"],
77
+ props: {
78
+ item: {
79
+ type: Object,
80
+ required: true,
81
+ },
82
+ baseApi: {
83
+ type: String,
84
+ required: true,
85
+ },
86
+ power: {
87
+ type: Object,
88
+ required: true,
89
+ },
90
+ userHref: {
91
+ type: String,
92
+ default: "",
93
+ },
94
+ username: {
95
+ type: String,
96
+ default: "",
97
+ },
98
+ },
78
99
  components: {
79
100
  CommentContent,
80
101
  ReplyList,
@@ -51,7 +51,20 @@
51
51
  import Uploader from "./Upload.vue";
52
52
  import Emotion from "@jx3box/jx3box-emotion/src/Emotion2.vue";
53
53
  export default {
54
- props: ["username", "userHref", "currentId"],
54
+ props: {
55
+ username: {
56
+ type: String,
57
+ default: "",
58
+ },
59
+ userHref: {
60
+ type: String,
61
+ default: "",
62
+ },
63
+ currentId: {
64
+ type: [Number, String],
65
+ default: 0,
66
+ },
67
+ },
55
68
  data: function () {
56
69
  return {
57
70
  content: "",
@@ -46,7 +46,16 @@ import ReplyForReply from "./ReplyForReply.vue";
46
46
  import CommentAvatar from "./Avatar.vue";
47
47
 
48
48
  export default {
49
- props: ["reply", "power"],
49
+ props: {
50
+ reply: {
51
+ type: Object,
52
+ required: true,
53
+ },
54
+ power: {
55
+ type: Object,
56
+ required: true,
57
+ },
58
+ },
50
59
  components: {
51
60
  CommentAvatar,
52
61
  CommentContentSimple,
@@ -35,7 +35,25 @@
35
35
  <script>
36
36
  import ReplyItem from "./ReplyItem.vue";
37
37
  export default {
38
- props: ["data", "power", "pager"],
38
+ props: {
39
+ data: {
40
+ type: Array,
41
+ default: () => [],
42
+ },
43
+ power: {
44
+ type: Object,
45
+ default: () => ({}),
46
+ },
47
+ pager: {
48
+ type: Object,
49
+ default: () => ({
50
+ index: 1,
51
+ pageSize: 10,
52
+ pageTotal: 1,
53
+ total: 0,
54
+ }),
55
+ },
56
+ },
39
57
  components: {
40
58
  ReplyItem,
41
59
  },
@@ -10,8 +10,8 @@
10
10
  <div class="c-resource-content" v-loading="loading">
11
11
  <div class="m-database-search">
12
12
  <el-radio-group class="u-client" v-model="comboClient" @change="search" v-if="type === 'combo'">
13
- <el-radio-button label="std">剑三</el-radio-button>
14
- <el-radio-button label="origin">缘起</el-radio-button>
13
+ <el-radio-button value="std">剑三</el-radio-button>
14
+ <el-radio-button value="origin">缘起</el-radio-button>
15
15
  </el-radio-group>
16
16
  <el-input
17
17
  class="u-input"
@@ -10,8 +10,8 @@
10
10
  <div class="c-resource-content" v-loading="loading">
11
11
  <div class="m-database-search">
12
12
  <el-radio-group class="u-client" v-model="client" @change="search">
13
- <el-radio-button label="std">剑三</el-radio-button>
14
- <el-radio-button label="origin">缘起</el-radio-button>
13
+ <el-radio-button value="std">剑三</el-radio-button>
14
+ <el-radio-button value="origin">缘起</el-radio-button>
15
15
  </el-radio-group>
16
16
  <el-input
17
17
  class="u-input"
@@ -47,8 +47,8 @@
47
47
  <div class="u-mode">
48
48
  插入模式:
49
49
  <el-radio-group v-model="buff_mode" size="small" @change="changeMode">
50
- <el-radio-button label="simple">简版</el-radio-button>
51
- <el-radio-button label="full">完整版</el-radio-button>
50
+ <el-radio-button value="simple">简版</el-radio-button>
51
+ <el-radio-button value="full">完整版</el-radio-button>
52
52
  </el-radio-group>
53
53
  </div>
54
54
  </div>
@@ -91,8 +91,8 @@
91
91
  <div class="u-mode">
92
92
  插入模式:
93
93
  <el-radio-group v-model="skill_mode" size="small" @change="changeMode">
94
- <el-radio-button label="simple">简版</el-radio-button>
95
- <el-radio-button label="full">完整版</el-radio-button>
94
+ <el-radio-button value="simple">简版</el-radio-button>
95
+ <el-radio-button value="full">完整版</el-radio-button>
96
96
  </el-radio-group>
97
97
  </div>
98
98
  </div>
@@ -26,7 +26,20 @@ const clients = {
26
26
  export default {
27
27
  name: "clientBy",
28
28
  emits: ["filter"],
29
- props: ["type", "clients", "showWujie"],
29
+ props: {
30
+ type: {
31
+ type: String,
32
+ default: "",
33
+ },
34
+ clients: {
35
+ type: Object,
36
+ default: () => null,
37
+ },
38
+ showWujie: {
39
+ type: Boolean,
40
+ default: false,
41
+ },
42
+ },
30
43
  data: function () {
31
44
  return {
32
45
  client: this.type || "",
@@ -23,7 +23,20 @@
23
23
  export default {
24
24
  name: "menuBy",
25
25
  emits: ["filter"],
26
- props: ["data", "type", "placeholder"],
26
+ props: {
27
+ data: {
28
+ type: Object,
29
+ default: () => ({}),
30
+ },
31
+ type: {
32
+ type: String,
33
+ default: "menu",
34
+ },
35
+ placeholder: {
36
+ type: String,
37
+ default: "",
38
+ },
39
+ },
27
40
  data: function () {
28
41
  return {
29
42
  value: "",
@@ -40,7 +40,7 @@ const order_map = {
40
40
  export default {
41
41
  name: "orderBy",
42
42
  emits: ["filter"],
43
- props: [],
43
+ props: {},
44
44
  data: function () {
45
45
  return {
46
46
  visible: false,
@@ -43,7 +43,16 @@
43
43
  export default {
44
44
  name: "tagBy",
45
45
  emits: ["filter"],
46
- props: ["data", "type"],
46
+ props: {
47
+ data: {
48
+ type: Object,
49
+ default: () => ({}),
50
+ },
51
+ type: {
52
+ type: String,
53
+ default: "tag",
54
+ },
55
+ },
47
56
  data: function () {
48
57
  return {
49
58
  visible: false,
@@ -18,7 +18,12 @@
18
18
  <script>
19
19
  export default {
20
20
  name: "versionBy",
21
- props: ["value"],
21
+ props: {
22
+ value: {
23
+ type: [String, Number],
24
+ default: "",
25
+ },
26
+ },
22
27
  emits: ["filter"],
23
28
  data: function () {
24
29
  return {
@@ -29,7 +29,12 @@ import zlps from "@jx3box/jx3box-common/data/jx3_zlp.json";
29
29
  export default {
30
30
  name: "zlpBy",
31
31
  emits: ["filter"],
32
- props: ["client"],
32
+ props: {
33
+ client: {
34
+ type: String,
35
+ default: "",
36
+ },
37
+ },
33
38
  data: function () {
34
39
  return {
35
40
  value: "",
@@ -84,7 +84,19 @@ export default {
84
84
  components: {
85
85
  // coinIcon,
86
86
  },
87
- props: ["asset"],
87
+ props: {
88
+ asset: {
89
+ type: Object,
90
+ default: () => ({
91
+ experience: 0,
92
+ box_coin: 0,
93
+ points: 0,
94
+ ext_info: {
95
+ keycode: 0,
96
+ },
97
+ }),
98
+ },
99
+ },
88
100
  data() {
89
101
  return {
90
102
  // VIP
@@ -108,6 +120,9 @@ export default {
108
120
  </script>
109
121
 
110
122
  <style lang="less">
123
+ @import '../../assets/css/mixin.less';
124
+
125
+
111
126
  // 用户资产
112
127
  .c-header-assets {
113
128
  position: relative;