var content = { 'cn': { nav1: "", nav2: "立即参与", headers1: '惊喜大放送 现金嘉年华!', headers2: '宝藏获得者', headers3: '$500宝藏获得者:', headers4: '$1', headers5: '$100', headers6: '$10', headers7: '$200', headers8: '点击抽奖', headers9: '$50', headers10: '$5', headers11: '$20', headers12: '感谢参与', headers13: '剩余', headers14: '抽数不足', table1: '每日都有机会抽取现金好礼', table2: '最高$500宝藏奖励等您拿!', table3: '精彩奖金等您揽获', table4: '每次入金与交易,皆为成功大奖的起点!!!', table5: '入金即有机会', table6: '每满$100入金,即获得一次抽奖机会,每日最多10次!', table7: '获取更多机会', table8: '每一笔有效存款都有机会激活额外的任务,抽奖更多现金奖励!', table9: '奖励加码', table10: '抽奖次数越多,获取$500美金宝藏概率越大。', table11: '真实奖励', table12: '奖励自动添加至您的客户钱包,无取款限制!', table13: '*如需了解更多规则和条款,请登录CWG客户专区活动中心。', step1: '如何参与抽奖', step2: '步骤1', step3: '登录您的CWG客户专区并完成入金要求', step4: '步骤2', step5: '在客户专区-活动中心找到现金嘉年华活动', step6: '步骤3', step7: '按下按钮,开启您的惊喜现金奖励', step1_1: '存款金额和获取抽奖次数示例:', step1_2: '存款金额', step1_3: '$100', step1_4: '$330', step1_5: '$690', step1_6: '$1500', step1_7: '可获取抽奖次数', step1_8: '1', step1_9: '3', step1_10: '6', step1_11: '10', footer1: '宝藏探秘者访谈', footer2: '头像', footer3: '姓名', footer4: '账号', footer5: '交易心得&获奖感言', footer6: '探索CWG宝藏嘉年华,即刻启程!每次转动,都蕴藏着您交易旅程的精彩时刻。别再观望,行动起来,让奖励之风席卷而至!', box1item4: '欢迎来到CWG Markets', box1item4_1: '请填写这些字段', box1item5: '国家地区', box1item6: '联系电话', box1item7: '电子邮箱', box1item8: '邮箱验证码', box1item9: '设置密码', box1item10: '本人声明并确认本人并非美国公民或居民。', box1item11: '注册', box1item12: '已有账户', code: '获取验证码', country: "请选择您所在国家", email: "邮箱格式错误", phone: "电话格式错误", password: "使用8到15个字符,同时使用大写和小写字母,使用数字和英文字母的组合", codeInput: "请输入验证码", agree: "请同意声明", CodeSuccess: "验证码获取成功", emailempty: "邮箱不能为空", waitCode1: "等待 ", waitCode2: "s ", registerSuc: "注册成功,正在登录...", SystemError: "系统错误,请稍后再试。", LoginSuccess: "登录成功,马上进入系统。", st1: "使用8到15个字符", nd2: "同时使用大写和小写字母", rd3: "使用数字和英文字母的组合", }, 'en': { "nav1": "", "nav2": "Join Now", "headers1": "Exciting Cash Carnival!", "headers2": "Treasure Winners", "headers3": "$500 Treasure Winners:", "headers4": "$1", "headers5": "$100", "headers6": "$10", "headers7": "$200", "headers8": "Click to Draw", "headers9": "$50", "headers10": "$5", "headers11": "$20", "headers12": "Thank You for Participating", "headers13": "Remaining", "headers14": "Insufficient Draws", "table1": "Daily Chances to Win Cash Prizes", "table2": "Up to $500 Treasure Awaits You!", "table3": "Exciting Bonuses Await You", "table4": "Every deposit and trade is a chance to win big prizes!", "table5": "Deposit for a Chance", "table6": "For every $100 deposited, you get a chance to draw, up to 10 times a day!", "table7": "Get More Chances", "table8": "Each successful deposit can activate extra tasks for more cash rewards!", "table9": "Bonus Boost", "table10": "The more draws you make, the higher your chance of winning a $500 treasure.", "table11": "Real Rewards", "table12": "Rewards are automatically added to your customer wallet with no withdrawal limits!", "table13": "*For more rules and terms, please visit the CWG Client Zone Promotion Center.", "step1": "How to Participate in the Draw", "step2": "Step 1", "step3": "Log in to your CWG Client Zone and meet the deposit requirements", "step4": "Step 2", "step5": "Find the Cash Carnival event in the Client Zone - Promotion Center", "step6": "Step 3", "step7": "Click the button to unlock your surprise cash rewards", "step1_1": "Deposit Amount and Number of Draw Entries Example:", "step1_2": "Deposit Amount", "step1_3": "$100", "step1_4": "$330", "step1_5": "$690", "step1_6": "$1500", "step1_7": "Number of Draw Entries", "step1_8": "1", "step1_9": "3", "step1_10": "6", "step1_11": "10", "footer1": "Treasure Explorer Interviews", "footer2": "Avatar", "footer3": "Name", "footer4": "Account", "footer5": "Trading Experience & Reflections", "footer6": "Explore the CWG Treasure Carnival and set sail now! Every spin holds exciting moments of your trading journey. Don't wait any longer; take action and let the rewards come rolling in!", box1item4: 'Welcome To CWG Markets', box1item4_1: 'Please fill out this field', box1item5: 'Country / Region', box1item6: 'Phone Number', box1item7: 'Email Address', box1item8: 'Email Varification Code', box1item9: 'Set Password', box1item10: 'I declared and confirmed that I am not a citizen or resident of the United States.', box1item11: 'Register', box1item12: 'Already have an account', code: 'Generate', country: "Please select your country", email: "Email Address Format Error", phone: "Phone Format Error", password: "Must be between 8 to 15 characters,Contain both uppercase and lowercase letter,Use a combination of numbers and letters", codeInput: "Please enter the Email verification code", agree: "Please agree to the declaration", CodeSuccess: "Verification code has been successfully obtained ", emailempty: "Email Address cannot be empty", waitCode1: "Please wait ", waitCode2: "s ", registerSuc: "Registration successful, log in now...", SystemError: "System Error, please try again.", LoginSuccess: "Login Successful", st1: "Must be between 8 to 15 characters", nd2: "Contain both uppercase and lowercase letter", rd3: "Use a combination of numbers and letters", }, } let vm = new Vue({ el: "#active1", data: { //多语言 langList: { en: "ENGLISH", cn: "中文简体", zhHant: "中文繁體", vn: "Tiếng Việt", de: "Deutsch", es: "Español", id: "Indonesian", ms: "Melayu", th: "ภาษาไทย", ar: "العربية", ko: "한국어", pt: "Português", fa: "زبان پارسی", }, language: "en", lang: {}, flag: false, loading: false, mock_options: { account:'', name:'', raffleResidueNumber:'0', list:[] }, mock_optionsC: [], // img_logo: logo, timer: 59, interval: null, getCodeString: "", notCountry:[ 'AF','AI','AG','BS','BY', 'BZ','BA','BI','CF','CD','CU', 'ET','FJ','PS','GN','GW','HT', 'IR','IQ','LB','LY','ML','MM', 'NI','KP','PW','RU','SO','SS', 'SD','SY','UA','US','VE','YE','ZW','MY' ], // 表单参数 params: { agentId: null, comPoint: null, sourceCode:null, subId: "", email: "", password: "", country: "", emailCode: "", phone: "", w: "", agree: false, linkValue: null, }, dialogFormVisible:false, clientWidth:'', pagerInfo: {row: 10, current: 1, pageTotal: 0, rowTotal: 0},//分页 pictLoading:false, // 验证规则 rules: { country: [ { validator: (rule, value, callback) => { if (value != "" && value != null) { callback(); } else { callback(new Error(content[sessionStorage.getItem('lang')].country)); } }, trigger: "blur", }, ], email: [ { validator: (rule, value, callback) => { if (/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(value)) { callback(); } else { callback(new Error(content[sessionStorage.getItem('lang')].email)); } }, trigger: "blur", }, ], emailCode: [ { validator: (rule, value, callback) => { if ( value != "" && value != null ) { callback(); } else { callback(new Error(content[sessionStorage.getItem('lang')].codeInput)); } }, trigger: "blur", }, ], password: [ { validator: (rule, value, callback) => { if (/^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?!.*([~!@&%$^\\(\\)#_]).*\\1.*\\1.*\\1)[A-Za-z0-9~!@&%$^\\(\\)#_]{8,16}$/.test(value)) { callback(); } else { callback(new Error(content[sessionStorage.getItem('lang')].password)); } }, trigger: "blur", }, ], agree: [ { validator: (rule, value, callback) => { if (value) { callback(); } else { callback(new Error(content[sessionStorage.getItem('lang')].agree)); } }, trigger: "change", }, ], phone: [ { validator: (rule, value, callback) => { if (/^[0-9]\d*$/.test(value)) { callback(); } else { callback(new Error(content[sessionStorage.getItem('lang')].phone)); } }, trigger: "blur", }, ], }, notRegisterMsg:"", notRegisterMsgOpen:false, imgUrl: '', ho: '', isPc:null, centerDialogVisible:false, token:'', CompetitionData:{},//基础信息 rankingList:{},//排名列表 Countdown:{ d:'0', h:'0', m:'0', s:'0', }, CountdownFlag:true, curLuckyDrawTimes:0,// 用户剩余的抽奖次数,由接口返回,这里用于测试初始化为10 prizeFlag:0,// 记录抽奖转盘当前的状态; 0:待开始;1-进行中;2-已完成 prizeIndex:null,// 记录本次抽奖的奖品下标 curIndex:-1, // 当前抽奖转盘转动过程中轮询到的九宫格下标 counts:3, // 定义转盘抽奖过程中可转的圈数 timerFlag:null, prizeList:[], }, computed: { rule1: function () { if (!this.params.password) { return false; } return /^.{8,16}$/.test(this.params.password); }, rule2: function () { return /^(?=.*?[a-z])(?=.*?[A-Z]).*$/.test(this.params.password); }, rule3: function () { return /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?!.*([~!@&%$^\\(\\)#_]).*\\1.*\\1)[A-Za-z0-9~!@&%$^\\(\\)#_]{8,16}$/.test( this.params.password ); }, }, methods: { // 语言切换函数 chooseLang(key) { this.lang = content[key]; this.language = key; sessionStorage.setItem("lang", this.language); location.reload(); }, //分页返回数据 handleSizeChange (val) { this.pagerInfo.row = val; this.searchFunc(); }, handleCurrentChange (val) { this.pagerInfo.current = val; this.searchFunc(); }, //获取国家列表 async getCountry() { axios.post(this.imgUrl + '/country/get', { ...this.params //参数 }).then(res => {//请求成功后的处理函数 if (res.data.code == 200) { this.mock_optionsC = res.data.data; } else { this.$message.error(res.data.msg); } }).catch(err => {//请求失败后的处理函数 }) }, //获取当前国家编码 async getCountryMsg() { axios.get(this.imgUrl + '/country/get', { //参数 }).then(res => {//请求成功后的处理函数 if (res.data.code == 200) { this.notRegisterMsg = res.data.msg if ((res.data.msg == "GB"||res.data.msg == "IE")&&res.data.data.indexOf('//195.224.141.218') == -1) { window.location.href = 'https://www.cwgmarkets.co.uk'; } else { document.getElementById("pre").style.display = 'none' } } else { document.getElementById("pre").style.display = 'none' this.$message.error(res.data.msg); } }).catch(err => {//请求失败后的处理函数 }) }, //获取当前国家编码 async getCountryCode() { axios.post(this.imgUrl + '/country/getCodeByIp', { //参数 }).then(res => {//请求成功后的处理函数 if (res.data.code == 200) { if (this.notCountry.indexOf(res.data.msg)==-1) { this.params.country = res.data.msg; } if (!sessionStorage.getItem("timer")) { let lang = sessionStorage.getItem("lang") ? sessionStorage.getItem("lang") : this.params.country == "CN" ? "cn" : "en"; sessionStorage.clear(); sessionStorage.setItem("lang", lang); } else { let timer = sessionStorage.getItem("timer"); let lang = sessionStorage.getItem("lang") ? sessionStorage.getItem("lang") : this.params.country == "CN" ? "cn" : "en"; sessionStorage.clear(); sessionStorage.setItem("lang", lang); sessionStorage.setItem("timer", timer); } this.language = sessionStorage.getItem("lang"); this.lang = content[this.language]; this.initTimer(); } else { this.$message.error(res.data.msg); } }).catch(err => {//请求失败后的处理函数 }) }, // 注册 register: async function () { if (this.notRegisterMsg == 'MY') { this.notRegisterMsgOpen = true; return } this.$refs["params"].validate(async (valid) => { if (valid) { if (this.flag) { return; } else { this.flag = true; } axios.post(this.imgUrl + '/custom/register', { ...this.params //参数 }).then(res => {//请求成功后的处理函数 if (res.data.code == 200) { this.loading = true; this.$message({ message: this.lang.registerSuc, type: 'success' }); this.login(); this.flag = false; } else { this.$message.error(res.data.msg); this.flag = false; } }).catch(err => {//请求失败后的处理函数 }) } else { return false; } }); }, // 登陆 login: async function () { axios.post(this.imgUrl + '/custom/login', { loginName: this.params.email, password: this.params.password, //参数 }).then(res => {//请求成功后的处理函数 if (res.data.code == 200) { sessionStorage.setItem("access_token", res.data.data); axios.defaults.headers.common["Access-Token"] = res.data.data; this.getLoginInfo(); } else { this.$message.error(res.data.msg); } }).catch(err => {//请求失败后的处理函数 }) }, //获取登录信息 async getLoginInfo() { axios.post(this.imgUrl + '/custom/info', { //参数 }).then(res => {//请求成功后的处理函数 if (res.data.code == 200) { this.loading = true; // this.$store.commit("InitInfo", res.data.data); this.$message({ message: this.lang.LoginSuccess, type: 'success' }); setTimeout(() => { this.loading = false; Session.Set("user", JSON.stringify(res.data.data), true) window.location.href = this.imgUrl + '/#/customer/index'; }, 1000); } else { this.$message.error(this.lang.SystemError); } }).catch(err => {//请求失败后的处理函数 }) }, // 获取验证码 getCode: async function (val) { if (val) { if (!this.params.country) { this.$message.error(content[sessionStorage.getItem("lang")].country); return; } if (!this.params.email) { this.$message.error(content[sessionStorage.getItem("lang")].emailempty); return; } if (!/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(this.params.email)) { this.$message.error(content[sessionStorage.getItem("lang")].email); return; } } this.getCodeString = content[sessionStorage.getItem("lang")].waitCode1 + this.timer + content[sessionStorage.getItem("lang")].waitCode2; let that = this; if (!this.interval) { this.getCode1(val); this.interval = setInterval(() => { that.timer--; sessionStorage.setItem("timer", that.timer); that.getCodeString = content[sessionStorage.getItem("lang")].waitCode1 + that.timer + content[sessionStorage.getItem("lang")].waitCode2; if (that.timer == 0) { this.getCodeString = content[sessionStorage.getItem("lang")].code; clearInterval(that.interval); that.interval = null; that.timer = 59; sessionStorage.setItem("timer", that.timer); } }, 1000); } }, //验证码 async getCode1(val) { if (val) { axios.post(this.imgUrl + '/custom/register/send/code', { ...this.params //参数 }).then(res => {//请求成功后的处理函数 if (res.data.code == 200) { this.$message({ message: this.lang.CodeSuccess, type: 'success' }); } else { this.$message.error(res.data.msg); } }).catch(err => {//请求失败后的处理函数 }) } }, // 初始化定时器 initTimer: function () { let t = sessionStorage.getItem("timer") || this.timer; if (t == 59) { this.getCodeString = content[sessionStorage.getItem("lang")].code; } else { this.timer = sessionStorage.getItem("timer"); this.getCode(0); } }, getQueryStringRegExp(name){ var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "i"); if (reg.test(location.href)) return unescape(RegExp.$2.replace(/\+/g, " ")); return ""; }, getCodeQuery(){ this.token = decodeURIComponent(this.getQueryStringRegExp('token')); this.params.sourceCode = this.getQueryStringRegExp('ex') this.params.w = this.getQueryStringRegExp('w') this.params.subId = this.getQueryStringRegExp('SUBID') this.params.agentId = Number(this.getQueryStringRegExp('mmdi')) || null; this.params.linkValue = this.getQueryStringRegExp('mmF') switch (this.getQueryStringRegExp('mmF')) { case "F0": this.params.comPoint = 0; break; case "F1": this.params.comPoint = 10; break; case "F2": this.params.comPoint = 20; break; case "F3": this.params.comPoint = 30; break; } switch (this.getQueryStringRegExp('mmB')) { case "B0": this.params.ibInvalid = 0; break; case "B1": this.params.ibInvalid = 1; break; } }, }, watch:{ }, mounted() { this.getCodeQuery(); this.ho = window.location.host.split('.')[1]; this.imgUrl = window.location.origin; // this.ho = 'cwgvu' // this.imgUrl = 'https://secure.cwgvu.com/'; // this.imgUrl = 'http://193.134.208.230:8000' this.getCountryMsg() if (sessionStorage.getItem("lang")) { this.language = sessionStorage.getItem("lang"), this.lang = content[sessionStorage.getItem("lang")]; } else { this.language = 'en' this.lang = content['en']; sessionStorage.setItem("lang", this.language); } this.getCountryCode(); this.getCountry(); }, destroyed() { clearInterval(this.interval); }, });