From 5f4967d154f9c633b74744d3b1aafd2cf401a196 Mon Sep 17 00:00:00 2001 From: zhaojs <349234519@qq.com> Date: 星期二, 27 六月 2023 10:06:34 +0800 Subject: [PATCH] no message --- public/assets/index/js/xiguazhu5.js | 322 ++++++++++++++++++++++++++++++++++++++++ application/index/view/user/registersms.html | 127 +++++++++++++++ application/index/controller/User.php | 12 + 3 files changed, 460 insertions(+), 1 deletions(-) diff --git a/application/index/controller/User.php b/application/index/controller/User.php index 3a710f1..73a4d5f 100644 --- a/application/index/controller/User.php +++ b/application/index/controller/User.php @@ -20,7 +20,7 @@ class User extends Frontend { protected $layout = ''; - protected $noNeedLogin = ['login', 'register','register1', 'getInvitationInfo','phoneIsRegister']; + protected $noNeedLogin = ['login', 'registersms','register','register1', 'getInvitationInfo','phoneIsRegister']; protected $noNeedRight = ['*']; public function _initialize() @@ -44,6 +44,16 @@ return $this->view->fetch(); } + /** + * 娉ㄥ唽浼氬憳 + */ + public function registersms() + { + + $this->assign('appName',config('site.name')); + return $this->view->fetch(); + } + public function getInvitationInfo() { $invite_code = request()->param('code','','trim'); diff --git a/application/index/view/user/registersms.html b/application/index/view/user/registersms.html new file mode 100644 index 0000000..fabae88 --- /dev/null +++ b/application/index/view/user/registersms.html @@ -0,0 +1,127 @@ +<!doctype HTML> +<html> + <head> + <meta http-equiv="content-type" content="text/html; charset=utf-8" /> + <meta content="telephone=no" name="format-detection" /> + <meta name="viewport" + content="width=device-width,initial-scale=1,maximum-scale=1.0,user-scalable=no,viewport-fit=cover" /> + <title>{$appName}</title> + <!-- 寮曞叆vuejs妗嗘灦 --> + <script src="__CDN__/assets/index/js/vue.js"></script> + <script type="text/javascript" src="https://public.ffquan.cn/lib/clipboard.min.js"></script> + <script src="__CDN__/assets/index/js/axios.min.js"></script> + <script src="__CDN__/assets/index/js/md5.js"></script> + <script src="__CDN__/assets/index/js/xiguazhu.js"></script> + <script src="__CDN__/assets/index/js/xiguazhu2.js"></script> + <link rel="stylesheet" href="__CDN__/assets/index/css/index.css"> + </head> + + <body> + <div class="g-doc"> + <div id="app" v-cloak> + <div class="hander"> + <img src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/reg_2.png"> + </div> + <div class="user"> + <div class="user-name"> + <div class="userimg"> + <img :src="invitationInfo.avatar" style="border-radius: 1rem;"> + </div> + <div> + <div><span class="telPhon">{{invitationInfo.nickname}} </span></div> + <div class="remck">姝e湪閭�璇锋偍涓嬭浇{{appName}} </div> + + </div> + </div> + + <div class="yqm" style="margin: 20px 0;" @click="handleClipboard"><span style="display:block ;text-align:center;font-size:21px;">閭�璇风爜: + {{invitationInfo.invitation_code}}</span><span style="display: block; text-align:center;font-size:12px;color:#999999;">(鐐瑰嚮澶嶅埗閭�璇风爜)</span></div> + <div class="btn" @click="goDownload"> + 绔嬪嵆涓嬭浇 + </div> + + </div> + <div class="btnList"> + <div class="iconStyle"> + <div class="iconStyleImg"> + <img src="__CDN__/assets/index/img/img1.png" alt=""> + </div> + <div style="text-align: center;"> + 棰嗗埜涓嬪崟涓嶆鐪佺櫨鍏� + </div> + </div> + <div class="iconStyle"> + <div class="iconStyleImg"> + <img src="__CDN__/assets/index/img/img2.png" alt=""> + </div> + <div style="text-align: center;"> + 璐墿杩斾剑鏈�楂�100% + </div> + </div> + <div class="iconStyle"> + <div class="iconStyleImg"> + <img src="__CDN__/assets/index/img/img3.png" alt=""> + </div> + <div style="text-align: center;"> + 閭�璇锋柊浜哄姞鍏ュ鍔� + </div> + </div> + <div class="iconStyle"> + <div class="iconStyleImg"> + <img src="__CDN__/assets/index/img/img4.png" alt=""> + </div> + <div style="text-align: center;"> + 瀹樻柟鎵舵寔0鎴愭湰璧氶挶 + </div> + </div> + </div> + <div class="goodsList"> +<img class="goodsList" src="https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/reg_1.png"/> + </div> +<!-- <div style="margin-top: 100px;"></div> --> + <!-- <div class="goodsList"> + <div class="henderTitle"> + <img src="__CDN__/assets/index/img/titleimg.png" /> + </div> + + <div class="goodsListCen"> + <div class="goods" v-for="(item,index) in goodslist" :key="index"> + <img class="goodsImg" :src="item.image" alt=""> + <div class="goodsTitle">{{item.title}}</div> + <div class="goodsBtn">鍏嶈垂棰嗗彇</div> + </div> + </div> + </div>--> + <div class="footer"> + <div>{{beian}}</div> + </div> + <!-- 寮圭獥 --> + + <div v-if="showType" class="shadow"> + <div class="popup"> + <div class="logo"> + <img :src="appLogo" /> + </div> + <div class="popupCongratulate"> {{tips}} </div> + <div class="popupSon">{{tips2}}</div> + <div class="btnApp" @click="goDownload"> + 绔嬪嵆涓嬭浇App + </div> + </div> + </div> + + </div> + </div> + </body> + + + <script> + const apiUrl = "浣犵殑鍩熷悕"; + const appName2 = ""; + + </script> + <!-- 璇锋眰鍩熷悕濡傛灉涓嶆兂鐩存帴鏆撮湶鍑烘潵 --> + <script src="__CDN__/assets/index/js/xiguazhu5.js?v=1.0.1"></script> + + +</html> diff --git a/public/assets/index/js/xiguazhu5.js b/public/assets/index/js/xiguazhu5.js new file mode 100644 index 0000000..2ba8b22 --- /dev/null +++ b/public/assets/index/js/xiguazhu5.js @@ -0,0 +1,322 @@ +new Vue({ + el: '#app', // 閫夋嫨鍣� + data: { + show: 0, + count: '', + timer: null, + agreeType: true, // + tel: "", //鎵嬫満鍙� + verification: '', //楠岃瘉鐮� + showType: false, + invitationInfo: "", + privacyAgreement:"", + userAgreement:"", + appName: "", + appLogo:"", + beian:"", + iosUrl:"", + androidUrl:"", + tips: "鎭枩浣狅紝娉ㄥ唽鎴愬姛~", + tips2: "娆㈣繋鎮ㄥ姞鍏ワ紝璧剁揣涓嬭浇APP锛岄鍙栨偍鐨勬柊浜哄厤鍗曚笓灞炵鍒╁惂~", + goodslist: [ + {"image": "https://img.alicdn.com/i3/880734502/O1CN01eDKk7i1j7xhJ5c7jV_!!880734502.jpg_310x310.jpg_.webp", + "title": "鎵嬫挄闈㈠寘2鏂�" + }, + {"image": "https://img.alicdn.com/imgextra/i2/2201188731272/O1CN01sR96eg1LGcSFr2aTK_!!2201188731272.jpg_310x310.jpg_.webp", + "title": "Unifree娲楄劯宸�" + }, + {"image": "https://img.alicdn.com/imgextra/i4/2479240580/O1CN01g1cwOs1G9gTFkXFGZ_!!2479240580.png_310x310.jpg_.webp", + "title": "鎵嬫寔灏忛鎵�" + }, + {"image": "https://img.alicdn.com/i4/2203738468138/O1CN01glAoIC29zFvNJAGhW_!!2203738468138.jpg_310x310.jpg_.webp", + "title": "鐗涙补鏋滄矏娴撮湶" + }, + {"image": "https://img.alicdn.com/imgextra/i4/438927567/O1CN01vaRzJN25ljmb0wxZR_!!438927567.jpg_310x310.jpg_.webp", + "title": "鏃犵硸钖勮嵎绯�" + }, + {"image": "https://img.alicdn.com/imgextra/i1/503512336/O1CN01wTeXWv1T7vxTSWEr2_!!503512336.jpg_310x310.jpg_.webp", + "title": "楂樿泲鐧介浮鑳歌倝" + }, + {"image": "https://img.alicdn.com/imgextra/i4/441512085/O1CN017tZRxE1RGyY2vgJF2_!!441512085.jpg_310x310.jpg_.webp", + "title": "4鍙矞鑲夌步瀛�" + }, + {"image": "https://img.alicdn.com/imgextra/i1/1952819637/O1CN01rQrJu32L3nddEPV0l_!!1952819637.jpg_310x310.jpg_.webp", + "title": "鍔犲帤鏃犺姱鍗风焊" + }, + {"image": "https://img.alicdn.com/i1/54801414/O1CN01jaEMbE1MJemh7RYJK_!!54801414.jpg_310x310.jpg_.webp", + "title": "澶фū妗冭溅鍘樺瓙" + }], + }, + created() { + this.getInvitationInfo(); + this. judgeWeb(); + this.goDownload(); + }, + mounted() { + + // 璁块棶vm1 data鐨勬暟鎹� + }, + methods: { + getcode() { + const times = 60; // 鍊掕鏃舵椂闂� + if (!this.timer) { + this.count = times; + this.show = 1; + this.timer = setInterval(() => { + if (this.count > 0 && this.count <= times) { + this.count--; + } else { + this.show = 2; + clearInterval(this.timer); + this.timer = null; + } + }, 1000) + } + }, + //绔嬪嵆涓嬭浇 + download() { + this.showType = true; + }, + //娉ㄥ唽鍗冲悓鎰� + agreeCen() { + this.agreeType = !this.agreeType + }, + //澶嶅埗 + handleClipboard() { + var _this = this; + var clipboardImg = new Clipboard('.yqm', { + text: function() { + return _this.invitationInfo.invitation_code; + }, + }); + clipboardImg.on('success', function(e) { + alert("閭�璇风爜澶嶅埗鎴愬姛锛岃刀蹇笅杞紸PP锛屽敖浜紭鎯犲惂~") + }); + + clipboardImg.on('error', function(e) { + alert("閭�璇风爜澶嶅埗澶辫触锛屾偍鍙洿鎺ヨ嚦APP涓敞鍐屽悗濉啓姝ら個璇风爜") + }); + }, + getInvitationInfo() { + var code = vmRequest("code"); + //alert(code); + //浠aram灞炴�х殑褰㈠紡鏉ヤ紶閫掑弬鏁� + axios({ + method: "post", //璇锋眰鏂瑰紡 + url: "/index/user/getInvitationInfo", //璇锋眰璺緞 + params: { + "code": code + } //浼犻�掑弬鏁� + //浣跨敤 绠ご琛ㄨ揪寮�=> 鍦ㄤ唬鏇垮師鏈夌殑function鏉ュ仛鍥炶皟鍑芥暟 + }).then(result => { + if (result.data.code == 1) { + alert(result.data.msg); + } else { + this.invitationInfo = result.data.info.user; + this.appName = result.data.info.appName; + this.privacyAgreement = result.data.info.privacyAgreement; + this.userAgreement = result.data.info.userAgreement; + this.appLogo = result.data.info.logo; + this.beian = result.data.info.beian; + this.iosUrl = result.data.info.appIosDownUrl; + this.androidUrl = result.data.info.appAndroidDownUrl; + } + }) + + }, + phoneIsRegister() { + if (!this.tel) { + alert("鎵嬫満鍙蜂笉鑳戒负绌�") + return false; + } + axios({ + method: "post", //璇锋眰鏂瑰紡 + url: "/index/user/phoneIsRegister", //璇锋眰璺緞 + params: { + "phone": this.tel + } //浼犻�掑弬鏁� + //浣跨敤 绠ご琛ㄨ揪寮�=> 鍦ㄤ唬鏇垮師鏈夌殑function鏉ュ仛鍥炶皟鍑芥暟 + }).then(result => { + if (result.data.code == 1) { + alert(result.data.msg); + } else { + // 鍙风爜鏈敞鍐� 鍙戦�侀獙璇佺爜璇锋眰 + // 鍙风爜宸茬粡娉ㄥ唽 + console.log(result.data) + if(result.data.is_registered == 1){ + this.tips = "鎮ㄧ殑甯愬彿宸茬粡娉ㄥ唽"; + this.tips2 = "娆㈣繋鎮ㄥ姞鍏�"+this.appName+"锛岃刀绱т笅杞紸PP锛岃禋鍙栦剑閲戝惂~"; + this.showType = true; + this.show = 1 //缁撴潫楠岃瘉鐮� + //alert(result.data.message); + }else{ + this.sendCode(); + } + + + } + }) + + }, + + // 鍙戦�侀獙璇佺爜 + sendCode() { + console.log("鍙戦�侀獙璇佺爜") + var timerChuo = new Date().getTime() + // 鎷煎噾鏁版嵁 + var sendInfo = { + event: 'register', + mobile: this.tel, + }; + axios({ + method: "post", //璇锋眰鏂瑰紡 + url: "/api/sms/send", //璇锋眰璺緞 + data: sendInfo + // headers: { + // 'Content-Type': 'application/json;charset=UTF-8' + // }, + //浼犻�掑弬鏁� + //浣跨敤 绠ご琛ㄨ揪寮�=> 鍦ㄤ唬鏇垮師鏈夌殑function鏉ュ仛鍥炶皟鍑芥暟 + }).then(result => { + if (result.data.code == 1) { + // 鍙风爜宸茬粡娉ㄥ唽 + alert( result.data.msg); + } else { + // 鍙风爜鏈敞鍐� 鍙戦�侀獙璇佺爜璇锋眰 + //alert("楠岃瘉鐮佸彂閫佹垚鍔�" + result.data.message); + this.getcode(); + } + }) + }, + goDownload() { + // 鍒ゆ柇鏄疘OS杩樻槸瀹夊崜锛� 璺宠浆瀵瑰簲涓嬭浇椤甸潰 + /* var u = navigator.userAgent; + var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); + var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android缁堢 + if (isiOS) { + //window.location = this.iosUrl; + window.location="https://apps.apple.com/cn/app/id6449449829" + } else if (isAndroid) { + window.location = this.androidUrl; + } */ + var agen=this.verifyBrand(); + var marketUrl=this.androidUrl; + switch(agen) + { + case'iphone': + marketUrl="https://apps.apple.com/cn/app/id6449449829"; + break; + case'xiaomi': + marketUrl="mimarket://details?id=com.dafanguan.app"; + break; + case'huawei': + marketUrl="appmarket://details?id=com.dafanguan.app"; + break; + case'oppo': + marketUrl="oppomarket://details?packagename=com.dafanguan.app"; + break; + case'vivo': + marketUrl="vivomarket://details?id=com.dafanguan.app"; + break; + default: + marketUrl = this.androidUrl; + } + window.location = marketUrl; + }, + verifyBrand() + {//鍒ゆ柇鏈哄瓙绫诲瀷 + const userAgent = navigator.userAgent.toLowerCase() + const isIphone = userAgent.match(/(iphone|ipad|ipod)/i); + const isHuawei = userAgent.match(/huawei/i); + const isHonor = userAgent.match(/honor/i); + const isOppo = userAgent.match(/oppo/i); + const isOppoR15 = userAgent.match(/PACM00/i); + const isVivo = userAgent.match(/vivo/i); + const isXiaomi = userAgent.match(/mi\s/i); + const isXIAOMI = userAgent.match(/xiaomi/i); + const isXiaomi2s = userAgent.match(/mix\s/i); + const isRedmi = userAgent.match(/redmi/i); + + if (isIphone) { + return 'iphone' + } else if (isHuawei || isHonor) { + return 'huawei'; + } else if (isOppo || isOppoR15) { + return 'oppo'; + } else if (isVivo) { + return 'vivo'; + } else if (isXiaomi || isRedmi || isXiaomi2s || isXIAOMI) { + return 'xiaomi'; + } else { + return 'other'; + } + }, + judgeWeb() + { + var webName=this.isNeizhi(); + if(webName=='weixin') + { + alert("璇风偣鍑诲彸涓婅锛岄�夋嫨'鍦ㄦ祻瑙堝櫒鎵撳紑'~"); + } + else if(webName=='QQ') + { + alert("璇风偣鍑诲彸涓婅锛岄�夋嫨'娴忚鍣�'锛屾墦寮�鏈綉鍧�~"); + } + }, + isNeizhi() + {//鍒ゆ柇鏄惁鍐呯疆娴忚鍣� + var ua = navigator.userAgent.toLowerCase(); + // var browserName = "unknow"; + if (ua.match(/MicroMessenger/i) == "micromessenger") { + return "weixin"; + } else if (ua.match(/QQ/i) == "qq") { + return "QQ"; + } else if (ua.match(/Alipay/i) == "alipay" && payway == 2) { + return "alipay"; + } + }, + /* 鐢ㄦ埛娉ㄥ唽 */ + userRegist() { + if (!this.tel) { + alert("鎵嬫満鍙蜂笉鑳戒负绌�") + return false; + } + if (!this.verification) { + alert("楠岃瘉鐮佷笉鑳戒负绌�") + return false; + } + if (this.agreeType) { + alert("璇峰厛闃呰骞跺悓鎰忋��"+this.appName+"鐢ㄦ埛鍗忚銆嬨�婇殣绉佹斂绛栥��") + return false; + } + // 鎷煎噾鏁版嵁 + var sendInfo = { + mobile: this.tel, + captcha: this.verification, + invitation_code: this.invitationInfo.invitation_code + }; + axios({ + method: "post", //璇锋眰鏂瑰紡 + url: "/api/user/register", //璇锋眰璺緞 + data: sendInfo, + headers: { + 'Content-Type': 'application/json;charset=UTF-8' + }, + //浼犻�掑弬鏁� + //浣跨敤 绠ご琛ㄨ揪寮�=> 鍦ㄤ唬鏇垮師鏈夌殑function鏉ュ仛鍥炶皟鍑芥暟 + }).then(result => { + if (result.data.code == 0) { + // 娉ㄥ唽鎴愬姛 + this.tips2 = "娆㈣繋鎮ㄥ姞鍏�"+this.appName+"锛岃刀绱т笅杞紸PP锛岃禋鍙栦剑閲戝惂~"; + this.showType = true; + } else { + //澶辫触 + alert("娉ㄥ唽澶辫触" + result.data.message); + + } + }) + + }, + } + +}) \ No newline at end of file -- Gitblit v1.9.3