udxcms 1.0.3 → 1.0.5

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 (37) hide show
  1. package/dist/api/common.d.ts +28 -28
  2. package/dist/api/h5/axios.d.ts +1 -1
  3. package/dist/api/index.d.ts +2 -2
  4. package/dist/api/index.js +144 -2
  5. package/dist/utils/axiosRetry.d.ts +7 -0
  6. package/dist/utils/axiosRetry.js +14 -0
  7. package/dist/utils/connect.d.ts +6 -0
  8. package/dist/utils/connect.js +7 -2
  9. package/dist/utils/index.d.ts +55 -1
  10. package/dist/utils/index.js +712 -3
  11. package/dist/utils/parse.d.ts +5 -0
  12. package/dist/utils/parse.js +12 -0
  13. package/dist/utils/pdf.d.ts +4 -0
  14. package/dist/utils/pdf.js +5 -2
  15. package/dist/views/customService/academy.vue +78 -0
  16. package/dist/views/customService/api.vue +120 -0
  17. package/dist/views/customService/dapp.vue +42 -0
  18. package/dist/views/customService/dappDetail.vue +124 -0
  19. package/dist/views/customService/detail.vue +155 -0
  20. package/dist/views/customService/doc.vue +124 -0
  21. package/dist/views/customService/ecosystem/index.vue +374 -0
  22. package/dist/views/customService/help/entry.vue +29 -0
  23. package/dist/views/customService/help/helpDetail.vue +167 -0
  24. package/dist/views/customService/help/index.vue +145 -0
  25. package/dist/views/customService/help/nav.vue +68 -0
  26. package/dist/views/customService/recruit.vue +133 -0
  27. package/dist/views/customService/sdk.vue +126 -0
  28. package/dist/views/customService/team.vue +245 -0
  29. package/dist/views/customService/term.vue +88 -0
  30. package/dist/views/customService/vote.vue +133 -0
  31. package/dist/views/customService/whitepaper.vue +126 -0
  32. package/dist/views/customService/wiki.vue +126 -0
  33. package/dist/views/error/error404.vue +76 -0
  34. package/dist/views/error/error500.vue +74 -0
  35. package/dist/views/index.js +23 -48
  36. package/dist/views/login/login_wallet.vue +229 -0
  37. package/package.json +7 -3
@@ -0,0 +1,245 @@
1
+ <template>
2
+ <div class='team'>
3
+ <div class="visible-pc">
4
+ <Header :showMiddleInfo="true" />
5
+ </div>
6
+ <div class="visible-h5">
7
+ <Top class="top" />
8
+ </div>
9
+ <div>
10
+ <div class='team-content'>
11
+ <div class='top'>
12
+ <div class='top-title'>Our Team</div>
13
+ </div>
14
+ <div class='item-list-box'>
15
+ <div class='item'>
16
+ <div class='head'>
17
+ <img :src="aboutConfig.team_logo_1"/>
18
+ <div class='name'>{{$t('cms_about_team_user1_name')}}</div>
19
+ </div>
20
+ <div class='description'>
21
+ {{$t('cms_about_team_user1_description')}}
22
+ </div>
23
+ </div>
24
+ <div class='item item-left'>
25
+ <div class='description'>{{$t('cms_about_team_user2_description')}}</div>
26
+ <div class='head'>
27
+ <img :src="aboutConfig.team_logo_2">
28
+ <div class='name'>{{$t('cms_about_team_user2_name')}}</div>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ <div class='mission-box'>
33
+ <div class='msg'>
34
+ <div class='title'>{{$t('cms_about_team_item1_title')}}</div>
35
+ <div class='desc'>{{$t('cms_about_team_item1_content')}}</div>
36
+ </div>
37
+ <div class='mission-bg'></div>
38
+ </div>
39
+ <div class='putting'>
40
+ <div class='msg'>
41
+ <div class='content'>
42
+ <div class='title'>
43
+ {{$t('cms_about_team_item2_title')}}
44
+ </div>
45
+ <div class='desc'>
46
+ {{$t('cms_about_team_item2_content')}}
47
+ </div>
48
+ </div>
49
+ </div>
50
+ <div class='img'>
51
+ <img src="../../assets/component_img/putting.png" alt="" />
52
+ </div>
53
+ </div>
54
+ </div>
55
+ <Footer />
56
+ </div>
57
+ </div>
58
+ </template>
59
+
60
+ <script>
61
+ export default {
62
+ name: 'team',
63
+ computed: {
64
+ aboutConfig() {
65
+ return this.$store.state.theme?.common?.common_conf?.aboutConfig;
66
+ }
67
+ }
68
+ }
69
+ </script>
70
+
71
+ <style lang="less" scoped>
72
+ .team-content {
73
+ background: white;
74
+ .top {
75
+ height: 120px;
76
+ background: url('../../assets/component_img/about-team-bg2.png');
77
+ background-size: contain;
78
+ background-repeat: no-repeat;
79
+ line-height: 120px;
80
+ text-align: center;
81
+ font-size: 40px;
82
+ font-family: FontBold;
83
+ color: white;
84
+ }
85
+ .item-list-box {
86
+ padding: 60px 30px 80px 30px;
87
+ .item {
88
+ display: grid;
89
+ gap: 30px;
90
+ grid-template-columns: 80px 1fr;
91
+ &:not(:last-child) {
92
+ margin-bottom: 80px;
93
+ }
94
+ &.item-left {
95
+ grid-template-columns: 1fr 80px;
96
+ }
97
+ .head {
98
+ width: 80px;
99
+ img {
100
+ width: 80px;
101
+ height: 80px;
102
+ border-radius: 50%;
103
+ }
104
+ .name {
105
+ margin-top: 18px;
106
+ text-align: center;
107
+ font-size: 14px;
108
+ color: #000000;
109
+ white-space: nowrap;
110
+ }
111
+ }
112
+ .description {
113
+ flex: 1;
114
+ height: 100%;
115
+ display: flex;
116
+ align-items: center;
117
+ font-size: 16px;
118
+ color:#4F4F4F;
119
+ line-height: 24px;
120
+ }
121
+ }
122
+ }
123
+ .mission-box {
124
+ padding: 0 30px 80px 30px;
125
+ text-align: center;
126
+ .msg {
127
+ .title {
128
+ font-family: FontSemiBold;
129
+ color: var(--text-color);
130
+ font-size: 40px;
131
+ line-height: 48px;
132
+ }
133
+ .desc {
134
+ display: inline-block;
135
+ width: 550px;
136
+ max-width: 100%;
137
+ margin: auto 0;
138
+ margin-top: 24px;
139
+ font-size: 16px;
140
+ line-height: 24px;
141
+ color: #4F4F4F;
142
+ }
143
+ }
144
+ .mission-bg {
145
+ margin-top: 64px;
146
+ height: 130px;
147
+ background: url('../../assets/component_img/mission-bg.png');
148
+ background-size: cover;
149
+ background-repeat: no-repeat;
150
+ }
151
+ }
152
+ .putting {
153
+ padding: 20px 30px 80px 30px;
154
+ display: flex;
155
+ justify-content: space-between;
156
+ flex-wrap: wrap;
157
+ .msg {
158
+ flex: 1;
159
+ display: flex;
160
+ align-content: center;
161
+
162
+ .content {
163
+ .title {
164
+ font-size: 40px;
165
+ font-family: FontBold;
166
+ color: var(--text-color);
167
+ line-height: 48px;
168
+ }
169
+ .desc {
170
+ margin-top: 24px;
171
+ font-size: 16px;
172
+ line-height: 24px;
173
+ color: #4F4F4F;
174
+ }
175
+ }
176
+ }
177
+ .img {
178
+ margin-top: 30px;
179
+ width: 550px;
180
+ max-width: 100%;
181
+ img {
182
+ width: 100%;
183
+ height: auto;
184
+ }
185
+ }
186
+ }
187
+ }
188
+
189
+ @media screen and (min-width: 1200px) {
190
+ .team-content {
191
+ .top {
192
+ height: 320px;
193
+ background-size: cover;
194
+ line-height: 320px;
195
+ }
196
+ .item-list-box {
197
+ max-width: 1440px;
198
+ margin: 0 auto;
199
+ padding: 100px 120px 140px 120px;
200
+ .item {
201
+ display: grid;
202
+ gap: 72px;
203
+ grid-template-columns: 240px 1fr;
204
+ &.item-left {
205
+ grid-template-columns: 1fr 240px;
206
+ }
207
+ .head {
208
+ width: 240px;
209
+ img {
210
+ width: 240px;
211
+ height: 240px;
212
+ }
213
+ .name {
214
+ margin-top: 24px;
215
+ font-size: 24px;
216
+ }
217
+ }
218
+ }
219
+ }
220
+ .mission-box {
221
+ max-width: 1440px;
222
+ margin: 0 auto;
223
+ padding: 0 120px 150px 120px;
224
+ .mission-bg {
225
+ margin-top: 64px;
226
+ height: 260px;
227
+ background: url('../../assets/component_img/mission-bg.png');
228
+ background-size: contain;
229
+ background-repeat: no-repeat;
230
+ }
231
+ }
232
+ .putting {
233
+ max-width: 1440px;
234
+ margin: 0 auto;
235
+ padding: 0px 120px 150px 120px;
236
+ .msg {
237
+ padding-right: 128px;
238
+ }
239
+ .img {
240
+ margin-top: 0;
241
+ }
242
+ }
243
+ }
244
+ }
245
+ </style>
@@ -0,0 +1,88 @@
1
+ <!--
2
+ * @Author:
3
+ * @Date: 2021-01-15 10:25:20
4
+ * @LastEditTime: 2021-08-06 00:24:46
5
+ * @LastEditors: Lewis
6
+ * @Description:
7
+ -->
8
+ <template>
9
+ <div class='events-view term'>
10
+ <Header :scrollTop="500"/>
11
+ <PowxBread :list="navList">
12
+ </PowxBread>
13
+ <div class='whitepaper-content ivu-scroll'>
14
+ <div class='title'>{{term.title || 'Terms of Service'}}</div>
15
+ <p class='content' v-html='term.description'>
16
+ </p>
17
+ </div>
18
+ </div>
19
+ </template>
20
+
21
+ <script>
22
+ import { getService } from '../../api/common'
23
+ export default {
24
+ name: 'term',
25
+ data() {
26
+ return {
27
+ navList: [
28
+ {name: 'Home', path: '/'},
29
+ {name: 'Term', path: ''}
30
+ ],
31
+ term: {
32
+ title: 'Terms of Service',
33
+ description: ''
34
+ }
35
+ }
36
+ },
37
+ mounted() {
38
+ this.init()
39
+ },
40
+ methods: {
41
+ init() {
42
+ getService().then(res => {
43
+ this.term = res.data && res.data.data || {}
44
+ }).catch(e => e)
45
+ }
46
+ }
47
+ }
48
+ </script>
49
+
50
+ <style lang="less" scoped>
51
+ .pdfobject-container {
52
+ height: 600px;
53
+ }
54
+ .events-view {
55
+ width:1200px;
56
+ padding-top: 60px;
57
+ margin:0 auto;
58
+ .whitepaper-down {
59
+ font-size: 16px;
60
+ font-family: Font;
61
+ text-decoration: underline;
62
+ text-align: left;
63
+ color: var(--primary-color);
64
+ cursor: pointer;
65
+ margin-top: 7px;
66
+ }
67
+ .whitepaper-content {
68
+ border: 1px solid var(--border-color-base);
69
+ border-radius: 6px;
70
+ box-shadow: 0px 4px 12px 0px rgba(17,51,83,0.02);
71
+ }
72
+ .title {
73
+ padding: 36px 0;
74
+ font-size: 24px;
75
+ font-family: Font;
76
+ color: var(--text-color);
77
+ text-align: center;
78
+ }
79
+ .content {
80
+ text-indent: 2em;
81
+ font-size: 14px;
82
+ font-family: Font;
83
+ color: var(--text-color);
84
+ line-height: 24px;
85
+ padding: 0 40px 40px 40px;
86
+ }
87
+ }
88
+ </style>
@@ -0,0 +1,133 @@
1
+ <!--
2
+ * @Author: Sneed
3
+ * @Date: 2021-03-17 11:11:58
4
+ * @LastEditTime: 2021-09-02 16:20:01
5
+ * @LastEditors: Lewis
6
+ * @Description:
7
+ -->
8
+ <template>
9
+ <div class="vote">
10
+ <Header :scrollTop="500" />
11
+ <PowxBread :list="navList"> </PowxBread>
12
+ <div class="vote-content">
13
+ <div class="vote-title" v-html="arr[0]"></div>
14
+ <div class="vote-des">
15
+ <p v-html="arr[1]"></p>
16
+ <!-- <p>A minimum threhold of 1 % of the total MOBI supply is required to submit proposals .</p> -->
17
+ </div>
18
+ <div class="vote-des">
19
+ <p v-html="arr[2]"></p>
20
+ <!-- <p>A minimum threhold of 1 % of the total MOBI supply is required to submit proposals .</p> -->
21
+ </div>
22
+ <div class="read">
23
+ <a href="">{{ arr[3] }}</a>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </template>
28
+
29
+ <script>
30
+ import conf from "../../config/index"
31
+ import { loadImportScript } from "../../utils/index"
32
+ import { mapState } from "vuex"
33
+ export default {
34
+ name: "",
35
+ data() {
36
+ return {
37
+ navList: [
38
+ { name: this.$t("cms_announcement_home"), path: "/" },
39
+ { name: this.$t("index_header_menu_vote"), path: "/cms/vote" },
40
+ ],
41
+ arr: [],
42
+ };
43
+ },
44
+ computed: mapState({
45
+ lang: (state) => state.language,
46
+ localHostname: (state) => state.localHostname,
47
+ }),
48
+ created() {
49
+ // 接口CDN化。
50
+ loadImportScript(
51
+ `${conf.sitePath}${window.mainHostname}/help/APPROVE_${this.lang}.js`
52
+ )
53
+ .then(() => {
54
+ const data = window.message;
55
+ let reg = /<\/?.+?\/?>/g;
56
+ let arr = data.description.split("<br>").map((item) => {
57
+ return item.replace(reg, "");
58
+ });
59
+ this.arr = arr;
60
+ })
61
+ .catch(() => false);
62
+ // getAnnouncement('APPROVE').then(res=>{
63
+ // let reg=/<\/?.+?\/?>/g;
64
+ // let arr = res.data.content.split('<br>').map(item=>{
65
+ // return item.replace(reg,'')
66
+ // })
67
+ // this.arr = arr;
68
+ // })
69
+ },
70
+ };
71
+ </script>
72
+
73
+ <style lang="less" scoped>
74
+ .vote {
75
+ width: 1200px;
76
+ padding-top: 60px;
77
+ margin: 0 auto;
78
+ .vote-content {
79
+ width: 640px;
80
+ margin: 0 auto;
81
+ margin-top: 30px;
82
+ overflow: hidden;
83
+ .vote-title {
84
+ width: 100%;
85
+ height: 140px;
86
+ padding: 36px 40px;
87
+ background: url("../../assets/img/vote-bg.png") 0 0 no-repeat;
88
+ background-size: contain;
89
+ font-size: 20px;
90
+ font-family: Font;
91
+
92
+ text-align: left;
93
+ color: #ffffff;
94
+ line-height: 34px;
95
+ }
96
+ .vote-des {
97
+ margin-top: 20px;
98
+ width: 640px;
99
+ height: 124px;
100
+ background: #ffffff;
101
+ border-radius: 20px;
102
+ padding: 20px 40px;
103
+ p:first-child {
104
+ font-size: 20px;
105
+ font-family: Font;
106
+
107
+ text-align: left;
108
+ color: var(--text-color);
109
+ line-height: 20px;
110
+ }
111
+ p:last-child {
112
+ margin-top: 16px;
113
+ font-size: 16px;
114
+ font-family: Font;
115
+
116
+ text-align: left;
117
+ color: #708599;
118
+ line-height: 24px;
119
+ }
120
+ }
121
+ .read {
122
+ margin-top: 20px;
123
+ text-align: center;
124
+ font-size: 16px;
125
+ font-family: Font;
126
+
127
+ text-align: center;
128
+ color: var(--primary-color);
129
+ line-height: 16px;
130
+ }
131
+ }
132
+ }
133
+ </style>
@@ -0,0 +1,126 @@
1
+ <!--
2
+ * @Author:
3
+ * @Date: 2020-12-11 15:32:29
4
+ * @LastEditTime: 2021-08-24 18:19:57
5
+ * @LastEditors: Lewis
6
+ * @Description:
7
+ -->
8
+ <template>
9
+ <div class="events-view">
10
+ <!-- <nav-inner :nav='navList'>
11
+
12
+ </nav-inner> -->
13
+ <Header :scrollTop="500" />
14
+ <PowxBread :list="navList">
15
+ <div class="whitepaper-down opcHover" @click="downLoad">Download »</div>
16
+ </PowxBread>
17
+ <div class="whitepaper-content ivu-scroll">
18
+ <div class="title">{{ whitePaper.title || "whitePaper" }}</div>
19
+ <p class="content" v-html="whitePaper.content" v-if="false"></p>
20
+ <div id="whitePaper"></div>
21
+ </div>
22
+ </div>
23
+ </template>
24
+
25
+ <script>
26
+ import { getWhitePaper } from "../../api/common";
27
+ import { Pdfembed } from "../../utils/pdf.js";
28
+ export default {
29
+ name: "whitepaper",
30
+ data() {
31
+ return {
32
+ navList: [
33
+ { name: "Home", path: "/" },
34
+ { name: "Whitepaper", path: "" },
35
+ ],
36
+ whitePaper: {
37
+ title: "",
38
+ content: "",
39
+ file_url: "",
40
+ },
41
+ isDownLoad: false,
42
+ };
43
+ },
44
+ mounted() {
45
+ this.getWhitePaperFunc();
46
+ this.init();
47
+ },
48
+ methods: {
49
+ init() {},
50
+ getWhitePaperFunc() {
51
+ getWhitePaper({ announcement_type: "white_paper" }).then((res) => {
52
+ if (res.data.code == 200) {
53
+ let resData = res.data.data;
54
+ this.whitePaper.title = resData.title;
55
+ this.whitePaper.content = resData.content;
56
+ this.whitePaper.file_url = resData.file_url;
57
+ Pdfembed().embed("./boo.pdf", "#whitePaper", {
58
+ pdfOpenParams: {
59
+ view: "FitV",
60
+ pagemode: "thumbs",
61
+ search: "lorem ipsum",
62
+ },
63
+ forcePDFJS: true,
64
+ });
65
+ }
66
+ }).catch(e => e);
67
+ },
68
+ downLoad() {
69
+ var reg = /([^\\/]+)\.([^\\/]+)/i;
70
+ let filename = "./boo.pdf";
71
+ var a = document.createElement("a");
72
+ a.href = filename;
73
+ a.download = reg.exec(filename)[1];
74
+ var body = document.getElementsByTagName("body")[0];
75
+ body.appendChild(a);
76
+ a.click();
77
+ body.removeChild(a);
78
+ },
79
+ removeEmbed() {
80
+ var body = document.getElementsByTagName("body")[0];
81
+ let initembed = document.getElementById("embed");
82
+ if (initembed) body.removeChild(initembed);
83
+ },
84
+ },
85
+ };
86
+ </script>
87
+
88
+ <style lang="less" scoped>
89
+ .pdfobject-container {
90
+ height: 600px;
91
+ }
92
+ .events-view {
93
+ width: 1200px;
94
+ padding-top: 60px;
95
+ margin: 0 auto;
96
+ .whitepaper-down {
97
+ font-size: 16px;
98
+ font-family: Font;
99
+ text-decoration: underline;
100
+ text-align: left;
101
+ color: var(--primary-color);
102
+ cursor: pointer;
103
+ margin-top: 7px;
104
+ }
105
+ .whitepaper-content {
106
+ border: 1px solid var(--border-color-base);
107
+ border-radius: 6px;
108
+ box-shadow: 0px 4px 12px 0px rgba(17, 51, 83, 0.02);
109
+ }
110
+ .title {
111
+ padding: 36px 0;
112
+ font-size: 24px;
113
+ font-family: Font;
114
+ color: var(--text-color);
115
+ text-align: center;
116
+ }
117
+ .content {
118
+ text-indent: 2em;
119
+ font-size: 14px;
120
+ font-family: Font;
121
+ color: var(--text-color);
122
+ line-height: 24px;
123
+ padding: 0 40px 40px 40px;
124
+ }
125
+ }
126
+ </style>