@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
@@ -27,11 +27,11 @@
27
27
  <Contributors v-if="authors && authors.length" :authors="authors" @chosen="handleChosen" />
28
28
  <div class="u-points">
29
29
  <el-radio-group v-model="count">
30
- <el-radio :label="item" v-for="item in fitPoints" :key="item" border>
30
+ <el-radio :value="item" v-for="item in fitPoints" :key="item" border>
31
31
  <b>{{ item }}</b
32
32
  >盒币
33
33
  </el-radio>
34
- <el-radio label="custom" border>自定义</el-radio>
34
+ <el-radio value="custom" border>自定义</el-radio>
35
35
  <el-input
36
36
  v-model="amount"
37
37
  v-show="count === 'custom'"
@@ -71,10 +71,51 @@ import { grantBoxcoin } from "../../service/thx.js";
71
71
  import { getBreadcrumb } from "../../service/breadcrumb.js";
72
72
  import User from "@jx3box/jx3box-common/js/user";
73
73
  import Contributors from "./Contributors.vue";
74
- import JX3BOX from "@jx3box/jx3box-common/data/jx3box.json";
74
+ import JX3BOX from "@jx3box/jx3box-common/data/jx3box.json";
75
75
  export default {
76
76
  name: "BoxcoinAdmin",
77
- props: ["postType", "postId", "userId", "own", "total", "points", "max", "min", "authors", "client"],
77
+ props: {
78
+ postType: {
79
+ type: String,
80
+ default: "",
81
+ },
82
+ postId: {
83
+ type: [String, Number],
84
+ default: "",
85
+ },
86
+ userId: {
87
+ type: [String, Number],
88
+ default: "",
89
+ },
90
+ own: {
91
+ type: Number,
92
+ default: 0,
93
+ },
94
+ total: {
95
+ type: Number,
96
+ default: 0,
97
+ },
98
+ points: {
99
+ type: Array,
100
+ default: () => [],
101
+ },
102
+ max: {
103
+ type: Number,
104
+ default: 0,
105
+ },
106
+ min: {
107
+ type: Number,
108
+ default: 0,
109
+ },
110
+ authors: {
111
+ type: Array,
112
+ default: () => [],
113
+ },
114
+ client: {
115
+ type: String,
116
+ default: "",
117
+ },
118
+ },
78
119
  components: {
79
120
  Contributors,
80
121
  },
@@ -120,7 +161,7 @@ export default {
120
161
  return this.points.filter((item) => item <= this.left);
121
162
  },
122
163
  iconPath() {
123
- return JX3BOX.__cdn + "design/vector/icon/taste.svg"
164
+ return JX3BOX.__cdn + "design/vector/icon/taste.svg";
124
165
  },
125
166
  },
126
167
  watch: {
@@ -67,7 +67,28 @@ import { showAvatar, authorLink } from "@jx3box/jx3box-common/js/utils";
67
67
  import { showTime } from "@jx3box/jx3box-common/js/moment";
68
68
  export default {
69
69
  name: "BoxcoinRecords",
70
- props: ["postType", "postId", "cacheRecord", "postClient", "mode"],
70
+ props: {
71
+ postType: {
72
+ type: String,
73
+ default: "",
74
+ },
75
+ postId: {
76
+ type: [String, Number],
77
+ default: "",
78
+ },
79
+ cacheRecord: {
80
+ type: Object,
81
+ default: () => null,
82
+ },
83
+ postClient: {
84
+ type: String,
85
+ default: "",
86
+ },
87
+ mode: {
88
+ type: String,
89
+ default: "normal",
90
+ },
91
+ },
71
92
  components: {},
72
93
  data: function () {
73
94
  return {
@@ -7,9 +7,9 @@
7
7
  </div>
8
8
  </el-tooltip>
9
9
  <el-tooltip effect="dark" content="您当前等级不够,不能够进行投币。" placement="top" v-else>
10
- <div class="w-boxcoin-block disabled">
10
+ <div class="w-boxcoin-block disabled">
11
11
  <img class="u-icon" svg-inline :src="iconPath" />
12
- <span class="u-count" v-if="boxcoin">{{boxcoin}}</span>
12
+ <span class="u-count" v-if="boxcoin">{{ boxcoin }}</span>
13
13
  </div>
14
14
  </el-tooltip>
15
15
  <el-dialog
@@ -30,11 +30,11 @@
30
30
  <Contributors v-if="authors && authors.length" :authors="authors" @chosen="handleChosen" />
31
31
  <div class="u-points">
32
32
  <el-radio-group v-model="count">
33
- <el-radio :label="item" v-for="item in fitPoints" :key="item" border>
33
+ <el-radio :value="item" v-for="item in fitPoints" :key="item" border>
34
34
  <b>{{ item }}</b
35
35
  >盒币
36
36
  </el-radio>
37
- <el-radio label="custom" border>自定义</el-radio>
37
+ <el-radio value="custom" border>自定义</el-radio>
38
38
  <el-input
39
39
  v-model="amount"
40
40
  v-show="count === 'custom'"
@@ -71,10 +71,51 @@ import { rewardBoxcoin } from "../../service/thx.js";
71
71
  import User from "@jx3box/jx3box-common/js/user";
72
72
  import Contributors from "./Contributors.vue";
73
73
  import { debounce } from "lodash";
74
- import JX3BOX from "@jx3box/jx3box-common/data/jx3box.json";
74
+ import JX3BOX from "@jx3box/jx3box-common/data/jx3box.json";
75
75
  export default {
76
76
  name: "BoxcoinUser",
77
- props: ["boxcoin", "postType", "postId", "userId", "own", "points", "authors", "client","category","canGift"],
77
+ props: {
78
+ boxcoin: {
79
+ type: Number,
80
+ default: 0,
81
+ },
82
+ postType: {
83
+ type: String,
84
+ default: "",
85
+ },
86
+ postId: {
87
+ type: [String, Number],
88
+ default: "",
89
+ },
90
+ userId: {
91
+ type: [String, Number],
92
+ default: "",
93
+ },
94
+ own: {
95
+ type: Number,
96
+ default: 0,
97
+ },
98
+ points: {
99
+ type: Array,
100
+ default: () => [],
101
+ },
102
+ authors: {
103
+ type: Array,
104
+ default: () => [],
105
+ },
106
+ client: {
107
+ type: String,
108
+ default: "",
109
+ },
110
+ category: {
111
+ type: String,
112
+ default: "",
113
+ },
114
+ canGift: {
115
+ type: Boolean,
116
+ default: true,
117
+ },
118
+ },
78
119
  components: {
79
120
  Contributors,
80
121
  },
@@ -115,7 +156,7 @@ export default {
115
156
  return this.points; //.filter(item => item <= this.left)
116
157
  },
117
158
  iconPath() {
118
- return JX3BOX.__cdn + "design/vector/icon/reward.svg"
159
+ return JX3BOX.__cdn + "design/vector/icon/reward.svg";
119
160
  },
120
161
  },
121
162
  watch: {
@@ -145,7 +186,7 @@ export default {
145
186
  rewardBoxcoin(this.postType, this.postId, this.chosen || this.userId, count, {
146
187
  remark: this.remark,
147
188
  client: this.client || this.hostClient,
148
- redirect: this.category ? `/${this.category}/${this.postId}` : undefined
189
+ redirect: this.category ? `/${this.category}/${this.postId}` : undefined,
149
190
  })
150
191
  .then((res) => {
151
192
  this.$message({
@@ -4,15 +4,11 @@
4
4
  <el-radio
5
5
  v-for="(item, i) in authors"
6
6
  v-model="value"
7
- :label="String(item.user_id)"
7
+ :value="String(item.user_id)"
8
8
  :key="i"
9
9
  @change="handleAuthorChange"
10
10
  >
11
- <img
12
- class="u-pic"
13
- :src="showAvatar(item.user_avatar)"
14
- :alt="item.display_name"
15
- />
11
+ <img class="u-pic" :src="showAvatar(item.user_avatar)" :alt="item.display_name" />
16
12
  <span class="u-txt" :title="item.display_name">
17
13
  {{ item.display_name }}
18
14
  </span>
@@ -42,15 +38,15 @@ export default {
42
38
  deep: true,
43
39
  immediate: true,
44
40
  handler(val) {
45
- if (val && val.length) this.value = String(val[0]?.user_id)
46
- }
41
+ if (val && val.length) this.value = String(val[0]?.user_id);
42
+ },
47
43
  },
48
44
  value: {
49
45
  immediate: true,
50
46
  handler(val) {
51
- val && this.$emit('chosen', this.value)
52
- }
53
- }
47
+ val && this.$emit("chosen", this.value);
48
+ },
49
+ },
54
50
  },
55
51
  methods: {
56
52
  handleAuthorChange() {},
@@ -16,7 +16,28 @@ import { hasFav, addFav, delFav } from "../../service/fav";
16
16
  import JX3BOX from "@jx3box/jx3box-common/data/jx3box.json";
17
17
  export default {
18
18
  name: "FavoriteComp",
19
- props: ["postType", "postId", "postTitle", "hiddenNum", "isOld"],
19
+ props: {
20
+ postType: {
21
+ type: String,
22
+ default: "",
23
+ },
24
+ postId: {
25
+ type: [String, Number],
26
+ default: "",
27
+ },
28
+ postTitle: {
29
+ type: String,
30
+ default: "",
31
+ },
32
+ hiddenNum: {
33
+ type: Boolean,
34
+ default: false,
35
+ },
36
+ isOld: {
37
+ type: Boolean,
38
+ default: false,
39
+ },
40
+ },
20
41
  data: function () {
21
42
  return {
22
43
  login: User.isLogin(),
@@ -14,7 +14,16 @@ import { postStat, getStat } from "@jx3box/jx3box-common/js/stat";
14
14
  import JX3BOX from "@jx3box/jx3box-common/data/jx3box.json";
15
15
  export default {
16
16
  name: "LikeComp",
17
- props: ["postType", "postId"],
17
+ props: {
18
+ postType: {
19
+ type: String,
20
+ default: "",
21
+ },
22
+ postId: {
23
+ type: [String, Number],
24
+ default: "",
25
+ },
26
+ },
18
27
  data: function () {
19
28
  return {
20
29
  status: true,
@@ -52,7 +52,24 @@ import QrcodeVue from "qrcode.vue";
52
52
  const { __imgPath } = JX3BOX;
53
53
  export default {
54
54
  name: "ShareComp",
55
- props: ["postType", "postId", "meta", "simple"],
55
+ props: {
56
+ postType: {
57
+ type: String,
58
+ default: "",
59
+ },
60
+ postId: {
61
+ type: [String, Number],
62
+ default: "",
63
+ },
64
+ meta: {
65
+ type: Object,
66
+ default: () => ({}),
67
+ },
68
+ simple: {
69
+ type: Boolean,
70
+ default: false,
71
+ },
72
+ },
56
73
  data: function () {
57
74
  return {
58
75
  apis: {
@@ -26,7 +26,7 @@ export default {
26
26
  default: "",
27
27
  },
28
28
  authorId: {
29
- type: Number,
29
+ type: [Number, String],
30
30
  default: 0,
31
31
  },
32
32
  banner: {
@@ -34,9 +34,9 @@ export default {
34
34
  default: "",
35
35
  },
36
36
  contentId: {
37
- type: Number,
37
+ type: [Number, String],
38
38
  default: 0,
39
- }
39
+ },
40
40
  },
41
41
  data: function () {
42
42
  return {
package/src/main.js CHANGED
@@ -4,7 +4,9 @@ import App from "./App.vue";
4
4
  const app = createApp(App);
5
5
 
6
6
  // 2.Router
7
-
7
+ requestAnimationFrame(() => {
8
+ window.lucide?.createIcons();
9
+ });
8
10
  // 3.Store
9
11
 
10
12
  // 4.i18n
@@ -4,16 +4,15 @@
4
4
  <template v-if="data">
5
5
  <div class="u-interact">
6
6
  <!-- <AuthorFollow style="margin-right: 8px;" :uid="uid" /> -->
7
- <AuthorRss style="margin-right: 8px" :uid="uid" :data="data" />
7
+ <AuthorRss :uid="uid" :data="data" />
8
8
  <!-- <AuthorGift :uid="uid" /> -->
9
- <el-button class="u-btn" size="small" @click="onMessage"><img class="u-msg-icon" svg-inline :src="src" />
10
- 私信</el-button>
9
+ <el-button class="u-btn" size="small" @click="onMessage" icon="Message">私信</el-button
10
+ >
11
11
  </div>
12
- <!-- <AuthorMsg :uid="uid" /> -->
13
12
  <!-- <AuthorLink class="u-block u-links" :uid="uid" :data="data" /> -->
14
13
  <AuthorMedals class="u-block u-trophy" :uid="uid" />
15
- <!-- <AuthorTeams class="u-block u-teams" :uid="uid" /> -->
16
- <!-- <AuthorFans class="u-block u-fans" :uid="uid" /> -->
14
+ <!-- <AuthorTeams class="u-block u-teams" :uid="uid" />
15
+ <AuthorFans class="u-block u-fans" :uid="uid" /> -->
17
16
  <slot></slot>
18
17
  <AuthorPosts class="u-block u-posts" :uid="uid" />
19
18
  </template>
@@ -24,7 +23,6 @@
24
23
  import AuthorInfo from "../author/AuthorInfo.vue";
25
24
  // import AuthorLink from "../author/AuthorLink.vue";
26
25
  // import AuthorFollow from "../author/AuthorFollow.vue";
27
- // import AuthorMsg from "./author/AuthorMsg.vue";
28
26
  // import AuthorGift from "../author/AuthorGift.vue";
29
27
  // import AuthorFans from "../author/AuthorFans.vue";
30
28
  import AuthorMedals from "../author/AuthorMedals.vue";
@@ -34,11 +32,19 @@ import AuthorRss from "../author/AuthorRss.vue";
34
32
  const jx3box = require("@jx3box/jx3box-common/data/jx3box.json");
35
33
  export default {
36
34
  name: "AuthorComp",
37
- props: ["uid", "anonymous"],
35
+ props: {
36
+ uid: {
37
+ type: [Number, String],
38
+ default: 0,
39
+ },
40
+ anonymous: {
41
+ type: [Number, String],
42
+ default: 0,
43
+ },
44
+ },
38
45
  data: function () {
39
46
  return {
40
47
  data: "",
41
- src: jx3box.__cdn + "design/vector/icon/message.svg",
42
48
  };
43
49
  },
44
50
  methods: {
@@ -56,7 +62,6 @@ export default {
56
62
  AuthorInfo,
57
63
  // AuthorLink,
58
64
  // AuthorFollow,
59
- // AuthorMsg,
60
65
  // AuthorGift,
61
66
  AuthorMedals,
62
67
  // AuthorTeams,
@@ -25,7 +25,16 @@ const { getLink } = utilModule;
25
25
  import { getCollection } from "../../service/cms";
26
26
  export default {
27
27
  name: "SingleCollection",
28
- props: ["id", "defaultVisible"],
28
+ props: {
29
+ id: {
30
+ type: [Number, String],
31
+ default: 0,
32
+ },
33
+ defaultVisible: {
34
+ type: Boolean,
35
+ default: false,
36
+ },
37
+ },
29
38
  inject: [],
30
39
  components: {},
31
40
  data: function() {
@@ -6,8 +6,8 @@
6
6
  <div class="u-order">
7
7
  <span class="u-label">排序模式:</span>
8
8
  <el-radio-group v-model="isDesc" @change="changeOrder" size="small">
9
- <el-radio-button label="DESC">最后靠前</el-radio-button>
10
- <el-radio-button label="ASC">最早靠前</el-radio-button>
9
+ <el-radio-button value="DESC">最后靠前</el-radio-button>
10
+ <el-radio-button value="ASC">最早靠前</el-radio-button>
11
11
  </el-radio-group>
12
12
  </div>
13
13
  <div class="u-op">
@@ -89,7 +89,24 @@ import { getConfig } from "../../service/cms";
89
89
  import User from "@jx3box/jx3box-common/js/user";
90
90
  export default {
91
91
  name: "CommentComp",
92
- props: ["id", "category", "normal", "order"],
92
+ props: {
93
+ id: {
94
+ type: [Number, String],
95
+ default: 0,
96
+ },
97
+ category: {
98
+ type: String,
99
+ default: "",
100
+ },
101
+ normal: {
102
+ type: Boolean,
103
+ default: true,
104
+ },
105
+ order: {
106
+ type: String,
107
+ default: "",
108
+ },
109
+ },
93
110
  components: {
94
111
  // CommentAvatar,
95
112
  CommentWithReply,
@@ -37,7 +37,16 @@ import { showAvatar, authorLink, editLink } from "@jx3box/jx3box-common/js/utils
37
37
  import User from "@jx3box/jx3box-common/js/user";
38
38
  export default {
39
39
  name: "SingleCreators",
40
- props: ["postId", "postType"],
40
+ props: {
41
+ postId: {
42
+ type: [Number, String],
43
+ default: 0,
44
+ },
45
+ postType: {
46
+ type: String,
47
+ default: "",
48
+ },
49
+ },
41
50
  components: {},
42
51
  data: function () {
43
52
  return {
@@ -5,7 +5,7 @@
5
5
  <script>
6
6
  export default {
7
7
  name : 'PostDirectory',
8
- props:[],
8
+ props: {},
9
9
  components : {},
10
10
  data : function(){
11
11
  return {
@@ -94,7 +94,24 @@ const { __clients } = JX3BOX;
94
94
 
95
95
  export default {
96
96
  name: "PostHeader",
97
- props: ["post", "stat", "titleExtra", "anonymous",],
97
+ props: {
98
+ post: {
99
+ type: Object,
100
+ default: () => ({}),
101
+ },
102
+ stat: {
103
+ type: Object,
104
+ default: () => ({}),
105
+ },
106
+ titleExtra: {
107
+ type: String,
108
+ default: "",
109
+ },
110
+ anonymous: {
111
+ type: Boolean,
112
+ default: false,
113
+ },
114
+ },
98
115
  data: function () {
99
116
  return {
100
117
  wordCount: 0,
@@ -79,7 +79,7 @@ export default {
79
79
  default: "normal",
80
80
  },
81
81
  postId: {
82
- type: Number,
82
+ type: [Number, String],
83
83
  default: 0,
84
84
  },
85
85
  postType: {
@@ -91,7 +91,7 @@ export default {
91
91
  default: "",
92
92
  },
93
93
  userId: {
94
- type: Number,
94
+ type: [Number, String],
95
95
  default: 0,
96
96
  },
97
97
  authors: {