| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595 |
- var content = {
- 'cn': {
- headers1: '登录',
- headers2: 'CWG Markets',
- headers3: '匠鑫学院CWG杯<br>实盘交易大赛',
- table1: '交易排名',
- table2: '最近更新:',
- table3: '排名',
- table4: '姓名',
- table5: '交易账号',
- table6: '盈利百分比',
- table7: '暂无数据',
- footer1: '© 2023 CWG MARKETS',
- footer2: '隐私政策',
- footer3: '条款和条件',
- },
- 'en': {
- headers1: 'Login',
- headers2: 'CWG Markets',
- headers3: 'Craftsmen Academy CWG<br>Cup Live Trading Competition',
- table1: 'Transaction Ranking',
- table2: 'Last Updated: ',
- table3: 'Rank',
- table4: 'Name',
- table5: 'Trading Account',
- table6: 'Profitability',
- table7: 'Not Data',
- footer1: '© 2023 CWG MARKETS',
- footer2: 'Privacy Policy',
- footer3: 'Terms & Conditions',
- }
- }
- let vm = new Vue({
- el: "#active1",
- data: {
- //多语言
- langList: {
- en: "ENGLISH",
- cn: "中文简体"
- },
- language: "en",
- lang: {},
- flag: false,
- loading: false,
- mock_options: {
- time:'',
- list:[]
- },
- // 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,
- },
- 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,
- },
- 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();
- this.initTimer();
- },
- //分页返回数据
- handleSizeChange (val) {
- this.pagerInfo.row = val;
- this.searchFunc();
- },
- handleCurrentChange (val) {
- this.pagerInfo.current = val;
- this.searchFunc();
- },
- //获取列表数据
- async searchFunc () {
- this.pictLoading = true;
- axios.post(this.imgUrl + '/custom/activity/hundred/agent/ranking', {
- page: {
- current: this.pagerInfo.current,
- row: this.pagerInfo.row
- }
- //参数
- }).then(res => {//请求成功后的处理函数
- if (res.data.code == 200) {
- if (res.data.data && res.data.data.length) {
- this.mock_options.list = res.data.data;
- this.mock_options.time = res.data.data[0].addTime.split(' ')[0];
- }
-
- if (res.data.page != null) {
- this.pagerInfo.rowTotal = res.data.page.rowTotal;
- this.pagerInfo.pageTotal = res.data.page.pageTotal;
- } else {
- this.pagerInfo.rowTotal = 0;
- }
- this.pictLoading = false;
- } else {
- this.$message.error(res.data.msg);
- this.pictLoading = false;
- }
- }).catch(err => {//请求失败后的处理函数
- this.pictLoading = false;
- })
- },
- //获取国家列表
- async getCountry() {
- axios.post(this.imgUrl + '/country/get', {
- ...this.params
- //参数
- }).then(res => {//请求成功后的处理函数
- if (res.data.code == 200) {
- this.mock_options = 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.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;
- }
- },
- //判断pc、移动
- IsPC() {
- var userAgentInfo = navigator.userAgent;
- var Agents = ['Android', 'iPhone',
- 'SymbianOS', 'Windows Phone',
- 'iPad', 'iPod'
- ];
- var flag = true;
- for (var i = 0; i < Agents.length; i++) {
- if (userAgentInfo.indexOf(Agents[i]) != -1) {
- flag = false;
- break;
- }
- }
- return flag;
- },
- openMP4(){
- this.centerDialogVisible = true;
- },
- },
- watch:{
- 'centerDialogVisible'(val){
- if (!val) {
- document.getElementById("videoplayer").pause();
- }
- }
- },
- mounted() {
- // console.log(document.body.clientWidth);
- // this.clientWidth = document.body.clientWidth;
- // if (window.location.search.indexOf('&ex=') != '-1') {
- // this.params.sourceCode = window.location.search.split('&ex=')[1] || null;
- // } else if (window.location.search.indexOf('?ex=') != '-1') {
- // this.params.sourceCode = window.location.search.split('?ex=')[1] || null;
- // }
-
- // this.getCodeQuery();
-
-
- this.ho = window.location.host.split('.')[1];
- this.imgUrl = window.location.origin;
- // this.imgUrl = 'http://45.136.12.50:8000';
- this.getCountryMsg()
-
- if (sessionStorage.getItem("lang")) {
- this.language = sessionStorage.getItem("lang"),
- this.lang = content[sessionStorage.getItem("lang")];
- } else {
- var jsSrc =(navigator.language || navigator.browserLanguage).toLowerCase();
- if(jsSrc.indexOf('zh') >= 0){
- this.language = 'cn'
- this.lang = content['cn'];
- }else{
- this.language = 'en'
- this.lang = content['en'];
- }
- sessionStorage.setItem("lang", this.language);
- }
- this.searchFunc();//获取列表数据
-
- //获取国家
- // this.getCountryCode();
- // this.getCountry();
- // this.initTimer();
- //是否pc
- // if (this.IsPC()) {
- // this.isPc = true;
- // } else {
- // this.isPc = false;
- // }
- },
- destroyed() {
- clearInterval(this.interval);
- },
- });
|