overseas 0.0.1

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 (178) hide show
  1. package/README.md +12 -0
  2. package/lib/base/bottom-popup.js +550 -0
  3. package/lib/base/button.js +400 -0
  4. package/lib/base/dialog.js +979 -0
  5. package/lib/base/icon.js +273 -0
  6. package/lib/base/image.js +309 -0
  7. package/lib/base/material-list.js +357 -0
  8. package/lib/base/popup.js +364 -0
  9. package/lib/business/basic-image.js +325 -0
  10. package/lib/business/bottom-fixed-button.js +350 -0
  11. package/lib/business/class-choose.js +1717 -0
  12. package/lib/business/grade-panel.js +683 -0
  13. package/lib/business/material-panel.js +778 -0
  14. package/lib/business/notified-panel.js +2141 -0
  15. package/lib/business/page-render.js +364 -0
  16. package/lib/business/registration-panel.js +1071 -0
  17. package/lib/business/selector-panel.js +667 -0
  18. package/lib/business/student-info.js +1172 -0
  19. package/lib/business/switch-student.js +1407 -0
  20. package/lib/business/tips-popup.js +626 -0
  21. package/lib/business/user-login.js +816 -0
  22. package/lib/index.js +1 -0
  23. package/lib/network/api.js +64 -0
  24. package/lib/network/apiUrl.js +68 -0
  25. package/lib/overseas-ui.common.js +8771 -0
  26. package/lib/static/logo.b6015b3.png +0 -0
  27. package/lib/static/logo.b6015b30.png +0 -0
  28. package/lib/theme-style/bottom-fixed-button.css +1 -0
  29. package/lib/theme-style/bottom-popup.css +1 -0
  30. package/lib/theme-style/button.css +1 -0
  31. package/lib/theme-style/class-choose.css +1 -0
  32. package/lib/theme-style/common.css +1 -0
  33. package/lib/theme-style/dialog.css +1 -0
  34. package/lib/theme-style/grade-panel.css +1 -0
  35. package/lib/theme-style/icon.css +1 -0
  36. package/lib/theme-style/image.css +1 -0
  37. package/lib/theme-style/img/body_bg.png +0 -0
  38. package/lib/theme-style/img/pdf.png +0 -0
  39. package/lib/theme-style/img/title_bg.png +0 -0
  40. package/lib/theme-style/index.css +1 -0
  41. package/lib/theme-style/material-list.css +1 -0
  42. package/lib/theme-style/material-panel.css +1 -0
  43. package/lib/theme-style/notified-panel.css +1 -0
  44. package/lib/theme-style/page-render.css +1 -0
  45. package/lib/theme-style/registration-panel.css +1 -0
  46. package/lib/theme-style/selector-panel.css +1 -0
  47. package/lib/theme-style/student-info.css +1 -0
  48. package/lib/theme-style/switch-student.css +1 -0
  49. package/lib/theme-style/tips-popup.css +1 -0
  50. package/lib/theme-style/user-login.css +1 -0
  51. package/lib/utils/dom.js +60 -0
  52. package/lib/utils/filters.js +87 -0
  53. package/lib/utils/merge.js +19 -0
  54. package/lib/utils/phone.js +156 -0
  55. package/lib/utils/popup/index.js +132 -0
  56. package/lib/utils/popup/popup-manager.js +198 -0
  57. package/lib/utils/storage.js +27 -0
  58. package/lib/utils/utils.js +65 -0
  59. package/package.json +80 -0
  60. package/packages/.DS_Store +0 -0
  61. package/packages/base/bottom-popup/index.js +10 -0
  62. package/packages/base/bottom-popup/src/bottom-popup.vue +151 -0
  63. package/packages/base/button/index.js +10 -0
  64. package/packages/base/button/src/button.vue +108 -0
  65. package/packages/base/dialog/index.js +10 -0
  66. package/packages/base/dialog/src/dialog.vue +173 -0
  67. package/packages/base/icon/index.js +10 -0
  68. package/packages/base/icon/src/icon.vue +15 -0
  69. package/packages/base/image/index.js +10 -0
  70. package/packages/base/image/src/image.vue +40 -0
  71. package/packages/base/material-list/index.js +10 -0
  72. package/packages/base/material-list/src/material-list.vue +48 -0
  73. package/packages/base/popup/index.js +10 -0
  74. package/packages/base/popup/src/popup.vue +44 -0
  75. package/packages/business/basic-image/index.js +10 -0
  76. package/packages/business/basic-image/src/basicImage.vue +51 -0
  77. package/packages/business/bottom-fixed-button/index.js +10 -0
  78. package/packages/business/bottom-fixed-button/src/bottomFixedButton.vue +66 -0
  79. package/packages/business/class-choose/index.js +10 -0
  80. package/packages/business/class-choose/src/courseCard.vue +142 -0
  81. package/packages/business/class-choose/src/img/icon_close_bottomcard.svg +14 -0
  82. package/packages/business/class-choose/src/img/icon_date.svg +21 -0
  83. package/packages/business/class-choose/src/img/icon_full.svg +27 -0
  84. package/packages/business/class-choose/src/img/icon_full_EL.svg +49 -0
  85. package/packages/business/class-choose/src/img/icon_selected.svg +18 -0
  86. package/packages/business/class-choose/src/img/icon_star_selected.svg +13 -0
  87. package/packages/business/class-choose/src/img/icon_star_unselect.svg +13 -0
  88. package/packages/business/class-choose/src/index.vue +316 -0
  89. package/packages/business/grade-panel/index.js +10 -0
  90. package/packages/business/grade-panel/src/gradePanel.vue +150 -0
  91. package/packages/business/material-panel/index.js +10 -0
  92. package/packages/business/material-panel/src/index.vue +136 -0
  93. package/packages/business/notified-panel/index.js +10 -0
  94. package/packages/business/notified-panel/src/areaCodeList.js +181 -0
  95. package/packages/business/notified-panel/src/index.vue +491 -0
  96. package/packages/business/page-render/index.js +10 -0
  97. package/packages/business/page-render/src/pageRender.vue +73 -0
  98. package/packages/business/registration-panel/index.js +10 -0
  99. package/packages/business/registration-panel/src/areaCodeList.js +181 -0
  100. package/packages/business/registration-panel/src/img/icon_off.png +0 -0
  101. package/packages/business/registration-panel/src/img/icon_on.png +0 -0
  102. package/packages/business/registration-panel/src/index.vue +329 -0
  103. package/packages/business/registration-panel/src/languageList.js +41 -0
  104. package/packages/business/selector-panel/index.js +10 -0
  105. package/packages/business/selector-panel/src/selectorPanel.vue +134 -0
  106. package/packages/business/student-info/index.js +10 -0
  107. package/packages/business/student-info/src/api/index.js +10 -0
  108. package/packages/business/student-info/src/config.js +11 -0
  109. package/packages/business/student-info/src/studentInfo.vue +145 -0
  110. package/packages/business/switch-student/index.js +10 -0
  111. package/packages/business/switch-student/src/api/index.js +28 -0
  112. package/packages/business/switch-student/src/switchStudent.vue +245 -0
  113. package/packages/business/tips-popup/index.js +10 -0
  114. package/packages/business/tips-popup/src/tipsPopup.vue +76 -0
  115. package/packages/business/user-login/index.js +10 -0
  116. package/packages/business/user-login/src/api/index.js +23 -0
  117. package/packages/business/user-login/src/img/logo.png +0 -0
  118. package/packages/business/user-login/src/index.vue +149 -0
  119. package/packages/theme-style/lib/bottom-fixed-button.css +1 -0
  120. package/packages/theme-style/lib/bottom-popup.css +1 -0
  121. package/packages/theme-style/lib/button.css +1 -0
  122. package/packages/theme-style/lib/class-choose.css +1 -0
  123. package/packages/theme-style/lib/common.css +1 -0
  124. package/packages/theme-style/lib/dialog.css +1 -0
  125. package/packages/theme-style/lib/grade-panel.css +1 -0
  126. package/packages/theme-style/lib/icon.css +1 -0
  127. package/packages/theme-style/lib/image.css +1 -0
  128. package/packages/theme-style/lib/img/body_bg.png +0 -0
  129. package/packages/theme-style/lib/img/pdf.png +0 -0
  130. package/packages/theme-style/lib/img/title_bg.png +0 -0
  131. package/packages/theme-style/lib/index.css +1 -0
  132. package/packages/theme-style/lib/material-list.css +1 -0
  133. package/packages/theme-style/lib/material-panel.css +1 -0
  134. package/packages/theme-style/lib/notified-panel.css +1 -0
  135. package/packages/theme-style/lib/page-render.css +1 -0
  136. package/packages/theme-style/lib/registration-panel.css +1 -0
  137. package/packages/theme-style/lib/selector-panel.css +1 -0
  138. package/packages/theme-style/lib/student-info.css +1 -0
  139. package/packages/theme-style/lib/switch-student.css +1 -0
  140. package/packages/theme-style/lib/tips-popup.css +1 -0
  141. package/packages/theme-style/lib/user-login.css +1 -0
  142. package/packages/theme-style/package.json +38 -0
  143. package/packages/theme-style/src/bottom-fixed-button.scss +31 -0
  144. package/packages/theme-style/src/bottom-popup.scss +87 -0
  145. package/packages/theme-style/src/button.scss +110 -0
  146. package/packages/theme-style/src/class-choose.scss +251 -0
  147. package/packages/theme-style/src/common/popup.scss +39 -0
  148. package/packages/theme-style/src/common/var.scss +6 -0
  149. package/packages/theme-style/src/common.scss +97 -0
  150. package/packages/theme-style/src/dialog.scss +130 -0
  151. package/packages/theme-style/src/grade-panel.scss +76 -0
  152. package/packages/theme-style/src/icon.scss +369 -0
  153. package/packages/theme-style/src/image.scss +8 -0
  154. package/packages/theme-style/src/img/body_bg.png +0 -0
  155. package/packages/theme-style/src/img/pdf.png +0 -0
  156. package/packages/theme-style/src/img/title_bg.png +0 -0
  157. package/packages/theme-style/src/index.scss +20 -0
  158. package/packages/theme-style/src/material-list.scss +118 -0
  159. package/packages/theme-style/src/material-panel.scss +2 -0
  160. package/packages/theme-style/src/notified-panel.scss +207 -0
  161. package/packages/theme-style/src/page-render.scss +3 -0
  162. package/packages/theme-style/src/registration-panel.scss +158 -0
  163. package/packages/theme-style/src/selector-panel.scss +86 -0
  164. package/packages/theme-style/src/student-info.scss +114 -0
  165. package/packages/theme-style/src/switch-student.scss +176 -0
  166. package/packages/theme-style/src/tips-popup.scss +60 -0
  167. package/packages/theme-style/src/user-login.scss +93 -0
  168. package/src/index.js +74 -0
  169. package/src/network/api.js +53 -0
  170. package/src/network/apiUrl.js +65 -0
  171. package/src/utils/dom.js +54 -0
  172. package/src/utils/filters.js +82 -0
  173. package/src/utils/merge.js +16 -0
  174. package/src/utils/phone.js +153 -0
  175. package/src/utils/popup/index.js +115 -0
  176. package/src/utils/popup/popup-manager.js +178 -0
  177. package/src/utils/storage.js +22 -0
  178. package/src/utils/utils.js +49 -0
@@ -0,0 +1,1071 @@
1
+ module.exports =
2
+ /******/ (function(modules) { // webpackBootstrap
3
+ /******/ // The module cache
4
+ /******/ var installedModules = {};
5
+ /******/
6
+ /******/ // The require function
7
+ /******/ function __webpack_require__(moduleId) {
8
+ /******/
9
+ /******/ // Check if module is in cache
10
+ /******/ if(installedModules[moduleId]) {
11
+ /******/ return installedModules[moduleId].exports;
12
+ /******/ }
13
+ /******/ // Create a new module (and put it into the cache)
14
+ /******/ var module = installedModules[moduleId] = {
15
+ /******/ i: moduleId,
16
+ /******/ l: false,
17
+ /******/ exports: {}
18
+ /******/ };
19
+ /******/
20
+ /******/ // Execute the module function
21
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22
+ /******/
23
+ /******/ // Flag the module as loaded
24
+ /******/ module.l = true;
25
+ /******/
26
+ /******/ // Return the exports of the module
27
+ /******/ return module.exports;
28
+ /******/ }
29
+ /******/
30
+ /******/
31
+ /******/ // expose the modules object (__webpack_modules__)
32
+ /******/ __webpack_require__.m = modules;
33
+ /******/
34
+ /******/ // expose the module cache
35
+ /******/ __webpack_require__.c = installedModules;
36
+ /******/
37
+ /******/ // define getter function for harmony exports
38
+ /******/ __webpack_require__.d = function(exports, name, getter) {
39
+ /******/ if(!__webpack_require__.o(exports, name)) {
40
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
41
+ /******/ }
42
+ /******/ };
43
+ /******/
44
+ /******/ // define __esModule on exports
45
+ /******/ __webpack_require__.r = function(exports) {
46
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
47
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
48
+ /******/ }
49
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
50
+ /******/ };
51
+ /******/
52
+ /******/ // create a fake namespace object
53
+ /******/ // mode & 1: value is a module id, require it
54
+ /******/ // mode & 2: merge all properties of value into the ns
55
+ /******/ // mode & 4: return value when already ns object
56
+ /******/ // mode & 8|1: behave like require
57
+ /******/ __webpack_require__.t = function(value, mode) {
58
+ /******/ if(mode & 1) value = __webpack_require__(value);
59
+ /******/ if(mode & 8) return value;
60
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
61
+ /******/ var ns = Object.create(null);
62
+ /******/ __webpack_require__.r(ns);
63
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
64
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
65
+ /******/ return ns;
66
+ /******/ };
67
+ /******/
68
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
69
+ /******/ __webpack_require__.n = function(module) {
70
+ /******/ var getter = module && module.__esModule ?
71
+ /******/ function getDefault() { return module['default']; } :
72
+ /******/ function getModuleExports() { return module; };
73
+ /******/ __webpack_require__.d(getter, 'a', getter);
74
+ /******/ return getter;
75
+ /******/ };
76
+ /******/
77
+ /******/ // Object.prototype.hasOwnProperty.call
78
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
79
+ /******/
80
+ /******/ // __webpack_public_path__
81
+ /******/ __webpack_require__.p = "/dist/";
82
+ /******/
83
+ /******/
84
+ /******/ // Load entry module and return exports
85
+ /******/ return __webpack_require__(__webpack_require__.s = 31);
86
+ /******/ })
87
+ /************************************************************************/
88
+ /******/ ({
89
+
90
+ /***/ 0:
91
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
92
+
93
+ "use strict";
94
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
95
+ /* globals __VUE_SSR_CONTEXT__ */
96
+
97
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
98
+ // This module is a runtime utility for cleaner component module output and will
99
+ // be included in the final webpack user bundle.
100
+
101
+ function normalizeComponent (
102
+ scriptExports,
103
+ render,
104
+ staticRenderFns,
105
+ functionalTemplate,
106
+ injectStyles,
107
+ scopeId,
108
+ moduleIdentifier, /* server only */
109
+ shadowMode /* vue-cli only */
110
+ ) {
111
+ // Vue.extend constructor export interop
112
+ var options = typeof scriptExports === 'function'
113
+ ? scriptExports.options
114
+ : scriptExports
115
+
116
+ // render functions
117
+ if (render) {
118
+ options.render = render
119
+ options.staticRenderFns = staticRenderFns
120
+ options._compiled = true
121
+ }
122
+
123
+ // functional template
124
+ if (functionalTemplate) {
125
+ options.functional = true
126
+ }
127
+
128
+ // scopedId
129
+ if (scopeId) {
130
+ options._scopeId = 'data-v-' + scopeId
131
+ }
132
+
133
+ var hook
134
+ if (moduleIdentifier) { // server build
135
+ hook = function (context) {
136
+ // 2.3 injection
137
+ context =
138
+ context || // cached call
139
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
140
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
141
+ // 2.2 with runInNewContext: true
142
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
143
+ context = __VUE_SSR_CONTEXT__
144
+ }
145
+ // inject component styles
146
+ if (injectStyles) {
147
+ injectStyles.call(this, context)
148
+ }
149
+ // register component module identifier for async chunk inferrence
150
+ if (context && context._registeredComponents) {
151
+ context._registeredComponents.add(moduleIdentifier)
152
+ }
153
+ }
154
+ // used by ssr in case component is cached and beforeCreate
155
+ // never gets called
156
+ options._ssrRegister = hook
157
+ } else if (injectStyles) {
158
+ hook = shadowMode
159
+ ? function () {
160
+ injectStyles.call(
161
+ this,
162
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
163
+ )
164
+ }
165
+ : injectStyles
166
+ }
167
+
168
+ if (hook) {
169
+ if (options.functional) {
170
+ // for template-only hot-reload because in that case the render fn doesn't
171
+ // go through the normalizer
172
+ options._injectStyles = hook
173
+ // register for functional component in vue file
174
+ var originalRender = options.render
175
+ options.render = function renderWithStyleInjection (h, context) {
176
+ hook.call(context)
177
+ return originalRender(h, context)
178
+ }
179
+ } else {
180
+ // inject component registration as beforeCreate hook
181
+ var existing = options.beforeCreate
182
+ options.beforeCreate = existing
183
+ ? [].concat(existing, hook)
184
+ : [hook]
185
+ }
186
+ }
187
+
188
+ return {
189
+ exports: scriptExports,
190
+ options: options
191
+ }
192
+ }
193
+
194
+
195
+ /***/ }),
196
+
197
+ /***/ 10:
198
+ /***/ (function(module, exports) {
199
+
200
+ module.exports = require("vant/es/field");
201
+
202
+ /***/ }),
203
+
204
+ /***/ 11:
205
+ /***/ (function(module, exports) {
206
+
207
+ module.exports = require("vant/es/button");
208
+
209
+ /***/ }),
210
+
211
+ /***/ 31:
212
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
213
+
214
+ "use strict";
215
+ __webpack_require__.r(__webpack_exports__);
216
+
217
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/business/registration-panel/src/index.vue?vue&type=template&id=1f26e73a&
218
+ var render = function () {
219
+ var _vm = this
220
+ var _h = _vm.$createElement
221
+ var _c = _vm._self._c || _h
222
+ return _c(
223
+ "div",
224
+ {
225
+ ref: "registration-panel",
226
+ staticClass: "registration-panel",
227
+ style: [_vm.backgroundColorStyle, _vm.backgroundImgStyle],
228
+ attrs: { id: "registration-panel" },
229
+ },
230
+ [
231
+ _c(
232
+ "div",
233
+ { staticClass: "registration-form" },
234
+ [
235
+ _c("van-form", { on: { submit: _vm.onSubmit } }, [
236
+ _c("div", { staticClass: "form-item" }, [
237
+ _c(
238
+ "div",
239
+ { staticClass: "item-body phone-body" },
240
+ [
241
+ _c("van-field", {
242
+ staticStyle: { width: "120px", "margin-right": "-1px" },
243
+ attrs: {
244
+ readonly: "",
245
+ clickable: "",
246
+ value: "+" + _vm.areaCodeValue,
247
+ name: "areaCode",
248
+ "right-icon": "arrow-down",
249
+ },
250
+ on: {
251
+ click: function ($event) {
252
+ _vm.showAreaPicker = true
253
+ },
254
+ },
255
+ }),
256
+ _c(
257
+ "van-popup",
258
+ {
259
+ attrs: { round: "", position: "bottom" },
260
+ model: {
261
+ value: _vm.showAreaPicker,
262
+ callback: function ($$v) {
263
+ _vm.showAreaPicker = $$v
264
+ },
265
+ expression: "showAreaPicker",
266
+ },
267
+ },
268
+ [
269
+ _c("van-picker", {
270
+ attrs: {
271
+ "show-toolbar": "",
272
+ columns: _vm.areaCodeList.map(function (e) {
273
+ return "(" + e.text + ") " + e.name
274
+ }),
275
+ },
276
+ on: {
277
+ cancel: function ($event) {
278
+ _vm.showAreaPicker = false
279
+ },
280
+ confirm: _vm.onConfirmArea,
281
+ },
282
+ }),
283
+ ],
284
+ 1
285
+ ),
286
+ _c("van-field", {
287
+ attrs: {
288
+ name: "phone",
289
+ placeholder: _vm.languagetxt.enterPhone,
290
+ rules: [
291
+ {
292
+ required: true,
293
+ message: _vm.languagetxt.enterPhonePlease,
294
+ },
295
+ {
296
+ validator: _vm.validatorPhone,
297
+ message: _vm.languagetxt.invalidPhone,
298
+ },
299
+ ],
300
+ },
301
+ on: { input: _vm.phoneRules },
302
+ model: {
303
+ value: _vm.phone,
304
+ callback: function ($$v) {
305
+ _vm.phone = $$v
306
+ },
307
+ expression: "phone",
308
+ },
309
+ }),
310
+ ],
311
+ 1
312
+ ),
313
+ _c(
314
+ "div",
315
+ {
316
+ staticClass: "item-body code-body",
317
+ staticStyle: { "margin-top": "16px" },
318
+ },
319
+ [
320
+ _c("van-field", {
321
+ attrs: {
322
+ name: "phoneCode",
323
+ placeholder: _vm.languagetxt.enterCode,
324
+ rules: [
325
+ {
326
+ required: true,
327
+ message: _vm.languagetxt.enterCodePlease,
328
+ },
329
+ ],
330
+ },
331
+ on: { input: _vm.phoneRules },
332
+ model: {
333
+ value: _vm.phoneCode,
334
+ callback: function ($$v) {
335
+ _vm.phoneCode = $$v
336
+ },
337
+ expression: "phoneCode",
338
+ },
339
+ }),
340
+ _vm.isCodeSu == 1
341
+ ? _c(
342
+ "div",
343
+ {
344
+ staticClass: "code-box",
345
+ class: { hide: _vm.codeType },
346
+ on: { click: _vm.getCode },
347
+ },
348
+ [
349
+ _c("div", { staticClass: "pa-box" }, [
350
+ _vm._v(
351
+ "\n " +
352
+ _vm._s(_vm.languagetxt.send) +
353
+ "\n "
354
+ ),
355
+ ]),
356
+ ]
357
+ )
358
+ : _vm.isCodeSu == 2
359
+ ? _c("div", { staticClass: "code-box countdown" }, [
360
+ _c("div", { staticClass: "pa-box" }, [
361
+ _vm._v(
362
+ "\n " +
363
+ _vm._s(
364
+ _vm.countdown + _vm.languagetxt.countdown
365
+ ) +
366
+ "\n "
367
+ ),
368
+ _c("span", [_vm._v(_vm._s(_vm.languagetxt.resend))]),
369
+ ]),
370
+ ])
371
+ : _c(
372
+ "div",
373
+ {
374
+ staticClass: "code-box",
375
+ class: { hide: _vm.codeType },
376
+ on: { click: _vm.getCode },
377
+ },
378
+ [
379
+ _c("div", { staticClass: "pa-box" }, [
380
+ _vm._v(
381
+ "\n " +
382
+ _vm._s(_vm.languagetxt.resend) +
383
+ "\n "
384
+ ),
385
+ ]),
386
+ ]
387
+ ),
388
+ ],
389
+ 1
390
+ ),
391
+ ]),
392
+ _c(
393
+ "div",
394
+ [
395
+ _c(
396
+ "van-button",
397
+ {
398
+ class: { hide: _vm.btnType },
399
+ attrs: {
400
+ round: "",
401
+ block: "",
402
+ type: "info",
403
+ color: _vm.buttonProps.backgroundColor,
404
+ "native-type": "submit",
405
+ },
406
+ },
407
+ [
408
+ _vm._v(
409
+ "\n " +
410
+ _vm._s(_vm.buttonProps.text) +
411
+ "\n "
412
+ ),
413
+ ]
414
+ ),
415
+ ],
416
+ 1
417
+ ),
418
+ _c(
419
+ "div",
420
+ {
421
+ staticClass: "agreement-box",
422
+ on: {
423
+ click: function () {
424
+ _vm.agreement = !_vm.agreement
425
+ _vm.phoneRules()
426
+ },
427
+ },
428
+ },
429
+ [
430
+ _c("span", {
431
+ staticClass: "icon",
432
+ class: { on: _vm.agreement },
433
+ }),
434
+ _c("div", {
435
+ staticClass: "text",
436
+ domProps: { innerHTML: _vm._s(_vm.languagetxt.policyText) },
437
+ }),
438
+ ]
439
+ ),
440
+ ]),
441
+ ],
442
+ 1
443
+ ),
444
+ ]
445
+ )
446
+ }
447
+ var staticRenderFns = []
448
+ render._withStripped = true
449
+
450
+
451
+ // CONCATENATED MODULE: ./packages/business/registration-panel/src/index.vue?vue&type=template&id=1f26e73a&
452
+
453
+ // EXTERNAL MODULE: external "vant/es/button"
454
+ var button_ = __webpack_require__(11);
455
+ var button_default = /*#__PURE__*/__webpack_require__.n(button_);
456
+
457
+ // EXTERNAL MODULE: external "vant/es/field"
458
+ var field_ = __webpack_require__(10);
459
+ var field_default = /*#__PURE__*/__webpack_require__.n(field_);
460
+
461
+ // EXTERNAL MODULE: external "vant/es/form"
462
+ var form_ = __webpack_require__(9);
463
+ var form_default = /*#__PURE__*/__webpack_require__.n(form_);
464
+
465
+ // EXTERNAL MODULE: external "vant/es/picker"
466
+ var picker_ = __webpack_require__(8);
467
+ var picker_default = /*#__PURE__*/__webpack_require__.n(picker_);
468
+
469
+ // EXTERNAL MODULE: external "vant/es/popup"
470
+ var popup_ = __webpack_require__(7);
471
+ var popup_default = /*#__PURE__*/__webpack_require__.n(popup_);
472
+
473
+ // CONCATENATED MODULE: ./packages/business/registration-panel/src/areaCodeList.js
474
+ /**
475
+ * 国际区号配置
476
+ */
477
+ var areaCodeList = [{
478
+ // 美国
479
+ value: '1',
480
+ text: '+1',
481
+ code: 'us',
482
+ name: 'United States',
483
+ reg: /^\d{10}$/
484
+ }, {
485
+ // 英国
486
+ value: '44',
487
+ text: '+44',
488
+ code: 'uk',
489
+ name: 'United Kingdom',
490
+ reg: /(^[0-9]{10,11}$)/
491
+ }, {
492
+ // 新加坡
493
+ value: '65',
494
+ text: '+65',
495
+ code: 'sg',
496
+ name: 'Singapore',
497
+ reg: /^\d{8}$/
498
+ }, {
499
+ // 中国
500
+ value: '86',
501
+ text: '+86',
502
+ code: 'cn',
503
+ name: 'China',
504
+ reg: /^\d{11}$/
505
+ }, {
506
+ // 澳大利亚
507
+ value: '61',
508
+ text: '+61',
509
+ code: 'au',
510
+ name: 'Australia',
511
+ reg: /(^[0-9]{1,99}$)/
512
+ }, {
513
+ // 柬埔寨
514
+ value: '855',
515
+ text: '+855',
516
+ code: 'kh',
517
+ name: 'Cambodia',
518
+ reg: /^\d{10}$/
519
+ }, {
520
+ // 加拿大
521
+ value: '1',
522
+ text: '+1',
523
+ code: 'ca',
524
+ name: 'Canada',
525
+ reg: /(^[0-9]{1,99}$)/
526
+ }, {
527
+ // 法国
528
+ value: '33',
529
+ text: '+33',
530
+ code: 'fr',
531
+ name: 'France',
532
+ reg: /^\d{10}$/
533
+ }, {
534
+ // 德国
535
+ value: '49',
536
+ text: '+49',
537
+ code: 'de',
538
+ name: 'Germany',
539
+ reg: /^\d{11}$/
540
+ }, {
541
+ // 香港
542
+ value: '852',
543
+ text: '+852',
544
+ code: 'hk',
545
+ name: 'Hong Kong, China',
546
+ reg: /^\d{8}$/
547
+ }, {
548
+ // 印度
549
+ value: '91',
550
+ text: '+91',
551
+ code: 'in',
552
+ name: 'India',
553
+ reg: /^\d{10}$/
554
+ }, {
555
+ // 印度尼西亚
556
+ value: '62',
557
+ text: '+62',
558
+ code: 'id',
559
+ name: 'Indonesia',
560
+ reg: /^\d{11}$/
561
+ }, {
562
+ // 爱尔兰
563
+ value: '353',
564
+ text: '+353',
565
+ code: 'ie',
566
+ name: 'Ireland',
567
+ reg: /^\d{9,10}$/
568
+ }, {
569
+ // 意大利
570
+ value: '39',
571
+ text: '+39',
572
+ code: 'it',
573
+ name: 'Italy',
574
+ reg: /^\d{10}$/
575
+ }, {
576
+ // 日本
577
+ value: '81',
578
+ text: '+81',
579
+ code: 'jp',
580
+ name: 'Japan',
581
+ reg: /^\d{11}$/
582
+ }, {
583
+ // 澳门
584
+ value: '853',
585
+ text: '+853',
586
+ code: 'mo',
587
+ name: 'Macau, China',
588
+ reg: /^\d{6,7}$/
589
+ }, {
590
+ // 马来西亚
591
+ value: '60',
592
+ text: '+60',
593
+ code: 'ms',
594
+ name: 'Malaysia',
595
+ reg: /(^[0-9]{1,99}$)/
596
+ }, {
597
+ // 挪威
598
+ value: '47',
599
+ text: '+47',
600
+ code: 'no',
601
+ name: 'Norway',
602
+ reg: /^\d{8}$/
603
+ }, {
604
+ // 波兰
605
+ value: '48',
606
+ text: '+48',
607
+ code: 'pl',
608
+ name: 'Poland',
609
+ reg: /^\d{9}$/
610
+ }, {
611
+ // 韩国
612
+ value: '82',
613
+ text: '+82',
614
+ code: 'kr',
615
+ name: 'South Korea',
616
+ reg: /^\d{11}$/
617
+ }, {
618
+ // 西班牙
619
+ value: '34',
620
+ text: '+34',
621
+ code: 'es',
622
+ name: 'Spain',
623
+ reg: /^\d{10}$/
624
+ }, {
625
+ // 泰国
626
+ value: '66',
627
+ text: '+66',
628
+ code: 'th',
629
+ name: 'Thailand',
630
+ reg: /^\d{10}$/
631
+ }];
632
+ // CONCATENATED MODULE: ./packages/business/registration-panel/src/languageList.js
633
+ var languageList = {
634
+ us: {
635
+ enterPhone: 'Phone number',
636
+ enterCode: 'SMS verification code',
637
+ send: 'Send',
638
+ resend: 'Resend',
639
+ countdown: 's',
640
+ enterPhonePlease: 'Please enter your phone number',
641
+ invalidPhone: 'Invalid phone number',
642
+ enterCodePlease: 'Please enter the verification code',
643
+ codeErr: 'Verification code incorrect',
644
+ confirmPlease: 'Please confirm the policies to continue',
645
+ policyText: 'By continuing, you need to be the parents or legal guardian of the students to agree to Think Academy\u2019s <a class="link-text" href="/terms-of-use" target="_blank">\u3010Term of Use\u3011</a> and confirm that you have read the <a class="link-text" href="/privacy-policy" target="_blank">\u3010Privacy Policy\u3011</a>'
646
+ },
647
+ cn: {
648
+ enterPhone: '请输入手机号',
649
+ enterCode: '请输入验证码',
650
+ send: '获取验证码',
651
+ resend: '重新获取',
652
+ countdown: '秒',
653
+ enterPhonePlease: '请输入手机号',
654
+ invalidPhone: '手机号格式不正确',
655
+ enterCodePlease: '请输入验证码',
656
+ codeErr: '验证码错误',
657
+ confirmPlease: '请在下方点击同意用户协议',
658
+ policyText: '\u7EE7\u7EED\u5373\u4EE3\u8868\u60A8\u5DF2\u9605\u8BFB\u5E76\u540C\u610FThink Academy\u7684<a class="link-text" href="/terms-of-use" target="_blank">\u3010\u7528\u6237\u534F\u8BAE\u3011</a>\u3001<a class="link-text" href="/privacy-policy" target="_blank">\u3010\u9690\u79C1\u653F\u7B56\u3011</a>'
659
+ },
660
+ hk: {
661
+ enterPhone: '請輸入手機號',
662
+ enterCode: '請輸入驗證碼',
663
+ send: '獲取驗證碼',
664
+ resend: '重新獲取',
665
+ countdown: '秒',
666
+ enterPhonePlease: '請輸入手機號',
667
+ invalidPhone: '手機號格式不正確',
668
+ enterCodePlease: '請輸入驗證碼',
669
+ codeErr: '驗證碼錯誤',
670
+ confirmPlease: '請在下方點擊同意用戶協議',
671
+ policyText: '\u7E7C\u7E8C\u5373\u4EE3\u8868\u60A8\u5DF2\u95B1\u8B80\u4E26\u540C\u610F\u9999\u6E2F\u5B78\u800C\u601D\u7684<a class="link-text" href="/terms-of-use" target="_blank">\u3010\u7528\u6236\u5354\u8B70\u3011</a>\u3001<a class="link-text" href="/privacy-policy" target="_blank">\u3010\u96B1\u79C1\u653F\u7B56\u548C\u5152\u7AE5\u96B1\u79C1\u653F\u7B56\u3011</a>'
672
+ }
673
+ };
674
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/business/registration-panel/src/index.vue?vue&type=script&lang=js&
675
+ var _components;
676
+
677
+ //
678
+ //
679
+ //
680
+ //
681
+ //
682
+ //
683
+ //
684
+ //
685
+ //
686
+ //
687
+ //
688
+ //
689
+ //
690
+ //
691
+ //
692
+ //
693
+ //
694
+ //
695
+ //
696
+ //
697
+ //
698
+ //
699
+ //
700
+ //
701
+ //
702
+ //
703
+ //
704
+ //
705
+ //
706
+ //
707
+ //
708
+ //
709
+ //
710
+ //
711
+ //
712
+ //
713
+ //
714
+ //
715
+ //
716
+ //
717
+ //
718
+ //
719
+ //
720
+ //
721
+ //
722
+ //
723
+ //
724
+ //
725
+ //
726
+ //
727
+ //
728
+ //
729
+ //
730
+ //
731
+ //
732
+ //
733
+ //
734
+ //
735
+ //
736
+ //
737
+ //
738
+ //
739
+ //
740
+ //
741
+ //
742
+ //
743
+ //
744
+ //
745
+ //
746
+ //
747
+ //
748
+ //
749
+ //
750
+ //
751
+ //
752
+ //
753
+ //
754
+ //
755
+ //
756
+ //
757
+ //
758
+ //
759
+ //
760
+ //
761
+ //
762
+ //
763
+ //
764
+ //
765
+ //
766
+ //
767
+ //
768
+ //
769
+ //
770
+ //
771
+ //
772
+ //
773
+ //
774
+ //
775
+ //
776
+ //
777
+ //
778
+ //
779
+ //
780
+ //
781
+ //
782
+ //
783
+ //
784
+ //
785
+ //
786
+ //
787
+ //
788
+ //
789
+
790
+
791
+
792
+
793
+
794
+
795
+
796
+
797
+ /* harmony default export */ var srcvue_type_script_lang_js_ = ({
798
+ name: "TsRegistrationPanel",
799
+ components: (_components = {}, _components[button_default.a.name] = button_default.a, _components[form_default.a.name] = form_default.a, _components[field_default.a.name] = field_default.a, _components[picker_default.a.name] = picker_default.a, _components[popup_default.a.name] = popup_default.a, _components),
800
+ props: {
801
+ crmTagList: {
802
+ type: Array,
803
+ default: function _default() {
804
+ return [];
805
+ }
806
+ },
807
+ areacodeText: {
808
+ type: String,
809
+ default: "us"
810
+ },
811
+ buttonProps: {
812
+ type: Object,
813
+ default: function _default() {
814
+ return {
815
+ text: "Submit",
816
+ backgroundColor: "#FF9F0A",
817
+ eventName: "registration-submit",
818
+ dialogType: "alert",
819
+ alert: {
820
+ title: "Successfully Submitted",
821
+ message: "",
822
+ buttonText: "ok",
823
+ buttonBgColor: "#FF9F0A"
824
+ }
825
+ };
826
+ }
827
+ },
828
+ backgroundImgUrl: {
829
+ type: String,
830
+ default: "https://img2.baidu.com/it/u=3202947311,1179654885&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500"
831
+ },
832
+ backgroundColor: {
833
+ type: String,
834
+ default: ""
835
+ },
836
+ languageType: {
837
+ type: String,
838
+ default: "us"
839
+ },
840
+ isCodeSuProps: {
841
+ type: Number,
842
+ default: 1
843
+ }
844
+ },
845
+ data: function data() {
846
+ return {
847
+ areaCodeList: areaCodeList,
848
+ languagetxt: languageList.us,
849
+ phone: "",
850
+ areaCode: "us",
851
+ areaCodeValue: "1",
852
+ gradeList: [],
853
+ showAreaPicker: false,
854
+ showCustomizePicker: {},
855
+ phoneReg: /^\d{1,99}$/,
856
+ phoneCode: "",
857
+ countdown: 60,
858
+ isCodeSu: 1,
859
+ agreement: false,
860
+ codeType: true,
861
+ btnType: true
862
+ };
863
+ },
864
+
865
+ computed: {
866
+ areaCodeNameList: function areaCodeNameList() {
867
+ return this.areaCodeList.map(function (area) {
868
+ return {
869
+ value: area.value,
870
+ text: area.text
871
+ };
872
+ });
873
+ },
874
+ backgroundImgStyle: function backgroundImgStyle() {
875
+ if (this.backgroundImgUrl) {
876
+ return {
877
+ backgroundImage: "url(" + this.backgroundImgUrl + ")",
878
+ backgroundSize: "cover",
879
+ backgroundRepeat: "no-repeat"
880
+ };
881
+ } else {
882
+ return {};
883
+ }
884
+ },
885
+ backgroundColorStyle: function backgroundColorStyle() {
886
+ if (this.backgroundColor) {
887
+ return {
888
+ backgroundColor: this.backgroundColor
889
+ };
890
+ } else {
891
+ return {};
892
+ }
893
+ }
894
+ },
895
+ watch: {
896
+ languageType: {
897
+ handler: function handler(newValue) {
898
+ console.log("languageType", newValue);
899
+ switch (this.languageType) {
900
+ case "us":
901
+ this.languagetxt = languageList.us;
902
+ break;
903
+ case "cn":
904
+ this.languagetxt = languageList.cn;
905
+ break;
906
+ case "hk":
907
+ this.languagetxt = languageList.hk;
908
+ break;
909
+ }
910
+ },
911
+
912
+ deep: true,
913
+ immediate: true
914
+ },
915
+ areacodeText: {
916
+ handler: function handler(newValue) {
917
+ var _this = this;
918
+
919
+ console.log("areacodeText", newValue);
920
+ var areaCodeObj = this.areaCodeList.find(function (e) {
921
+ return e.code === _this.areacodeText;
922
+ });
923
+ this.areaCodeValue = areaCodeObj.value;
924
+ this.phoneReg = areaCodeObj.reg;
925
+ },
926
+
927
+ deep: true,
928
+ immediate: true
929
+ },
930
+ isCodeSuProps: {
931
+ handler: function handler(newValue) {
932
+ var _this2 = this;
933
+
934
+ console.log("isCodeSuProps", newValue);
935
+ if (this.isCodeSuProps !== 1) {
936
+ this.isCodeSu = 2;
937
+ var time = setInterval(function () {
938
+ if (_this2.countdown > 0) {
939
+ _this2.countdown--;
940
+ } else {
941
+ clearTimeout(time);
942
+ _this2.isCodeSu = 3;
943
+ _this2.countdown = 60;
944
+ }
945
+ }, 1000);
946
+ }
947
+ },
948
+
949
+ deep: true,
950
+ immediate: true
951
+ }
952
+ },
953
+ mounted: function mounted() {
954
+ console.log("form", this.form);
955
+ },
956
+ destroyed: function destroyed() {},
957
+
958
+ methods: {
959
+ validator: function validator(val) {
960
+ return !val || /^([A-Za-z0-9_\-.])+@([A-Za-z0-9_\-.])+.([A-Za-z]{2,8})$/.test(val);
961
+ },
962
+ validatorPhone: function validatorPhone(val) {
963
+ return !val || this.phoneReg.test(val);
964
+ },
965
+
966
+ // 设置区号
967
+ onConfirmArea: function onConfirmArea(value, index) {
968
+ console.log("onConfirmArea", value, index);
969
+ var areaObj = this.areaCodeList[index];
970
+ this.phoneReg = areaObj.reg;
971
+ this.areaCodeValue = areaObj.value;
972
+ this.showAreaPicker = false;
973
+ },
974
+
975
+ // 验证码
976
+ getCode: function getCode() {
977
+ if (!this.phone) return this.$toast(this.languagetxt.enterPhonePlease);
978
+ if (!this.phoneReg.test(this.phone)) return this.$toast(this.languagetxt.enterPhonePlease);
979
+ console.log("send code");
980
+ var params = {
981
+ contactInfo: this.phone,
982
+ countryCallingCode: this.areaCodeValue
983
+ };
984
+ this.$emit("btn-click", "registration-submit-getCode", params);
985
+ },
986
+
987
+ // 注册
988
+ onSubmit: function onSubmit() {
989
+ if (!this.agreement) return this.$toast(this.languagetxt.confirmPlease);
990
+ var params = {
991
+ crmTagList: this.crmTagList,
992
+ contactInfo: this.phone,
993
+ countryCallingCode: this.areaCodeValue,
994
+ verificationCode: this.phoneCode
995
+ };
996
+ this.$emit("btn-click", "registration-submit", params);
997
+ },
998
+ phoneRules: function phoneRules() {
999
+ this.codeType = !this.phoneReg.test(this.phone);
1000
+ if (!this.codeType && this.agreement && this.phoneCode) {
1001
+ this.btnType = false;
1002
+ } else {
1003
+ this.btnType = true;
1004
+ }
1005
+ }
1006
+ }
1007
+ });
1008
+ // CONCATENATED MODULE: ./packages/business/registration-panel/src/index.vue?vue&type=script&lang=js&
1009
+ /* harmony default export */ var registration_panel_srcvue_type_script_lang_js_ = (srcvue_type_script_lang_js_);
1010
+ // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
1011
+ var componentNormalizer = __webpack_require__(0);
1012
+
1013
+ // CONCATENATED MODULE: ./packages/business/registration-panel/src/index.vue
1014
+
1015
+
1016
+
1017
+
1018
+
1019
+ /* normalize component */
1020
+
1021
+ var component = Object(componentNormalizer["a" /* default */])(
1022
+ registration_panel_srcvue_type_script_lang_js_,
1023
+ render,
1024
+ staticRenderFns,
1025
+ false,
1026
+ null,
1027
+ null,
1028
+ null
1029
+
1030
+ )
1031
+
1032
+ /* hot reload */
1033
+ if (false) { var api; }
1034
+ component.options.__file = "packages/business/registration-panel/src/index.vue"
1035
+ /* harmony default export */ var src = (component.exports);
1036
+ // CONCATENATED MODULE: ./packages/business/registration-panel/index.js
1037
+
1038
+
1039
+ // install 是默认的方法,供按需引入
1040
+ // 当外界在 use 这个组件的时候,就会调用本身的install方法,同时传一个Vue这个类的参数
1041
+
1042
+ src.install = function (Vue) {
1043
+ Vue.component(src.name, src);
1044
+ };
1045
+
1046
+ /* harmony default export */ var registration_panel = __webpack_exports__["default"] = (src);
1047
+
1048
+ /***/ }),
1049
+
1050
+ /***/ 7:
1051
+ /***/ (function(module, exports) {
1052
+
1053
+ module.exports = require("vant/es/popup");
1054
+
1055
+ /***/ }),
1056
+
1057
+ /***/ 8:
1058
+ /***/ (function(module, exports) {
1059
+
1060
+ module.exports = require("vant/es/picker");
1061
+
1062
+ /***/ }),
1063
+
1064
+ /***/ 9:
1065
+ /***/ (function(module, exports) {
1066
+
1067
+ module.exports = require("vant/es/form");
1068
+
1069
+ /***/ })
1070
+
1071
+ /******/ });