Commit 581a9b8a authored by xulili's avatar xulili

会员注册

parent df550118
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>会员拉新</title>
<script src="../js/jquery-3.4.1.min.js"></script>
<style>
html,body{
width: 100%;
height: 100%;
margin: 0;
padding: 0;
font-size: 16px;
color: #ffffff;
}
.register_container{
height: 100%;
background-color: rgba(15, 106, 184, 0.99);
margin: 0;
padding: 2.5rem 2rem;
box-sizing: border-box;
text-align: center;
}
.register_titles .title{
font-size: 3rem;
line-height: 5rem;
}
.register_qrcode #image{
display: inline-block;
width: 60%;
height: auto;
margin: 3rem 0;
}
.register_qrcode .qrcodeTip{
font-size: 2rem;
}
</style>
</head>
<body>
<div class="register_container">
<div class="register_titles">
<div class="title">扫码注册成为会员</div>
</div>
<div class="register_qrcode">
<img class="qrcode" id="image" src="" alt />
<div class="qrcodeTip">长按识别二维码</div>
</div>
</div>
<script>
$(function () {
showQRInfo()
});
const showQRInfo = () => {
// let pageUri = `${nowUrl}&detailid=${voucherId}&actionid=${activeId}&unionid=${unionId}`;
let storecode = "181"
let pageUri = `pages/user/register/register?storeCode=
${storecode}`;
let pageUrl = `http://139.155.48.151:8085/workWx/auth/oauth2/wxMiniQrCode?pageUri=${pageUri}`;
$.ajax({
type: "POST",
url: pageUrl,
data: {},
success: function (res) {
$('#image').attr('src', res.data)
},
error: function (data) {
alert(`--->qrCode: ajax: err.`)
alert(`--->qrCode: ajax: err: err =${JSON.stringify(err)}`)
alert('error' + JSON.stringify(data))
console.log(data);
}
});
}
</script>
</body>
</html>
...@@ -42,6 +42,11 @@ const routes = [ ...@@ -42,6 +42,11 @@ const routes = [
name: 'Discount', name: 'Discount',
component: () => import('@/views/sideNav/discount/index') component: () => import('@/views/sideNav/discount/index')
}, },
{
path: '/register',
name: 'register',
component: () => import('@/views/sideNav/register/index')
},
{ {
path: '/mainSale', path: '/mainSale',
name: 'MainSale', name: 'MainSale',
......
<template> <template>
<!-- <div>
<button @click="disClick">discount</button>
<button @click="mainSaleClick">mainSale</button>
</div>-->
<div class="main"> <div class="main">
<!-- <div class="tops"></div> -->
<div class="lists"> <div class="lists">
<!-- <div
v-if="this.$route.query.code !== undefined"
style="font-size: 14px;"
>Code: {{this.$route.query.code}}</div> -->
<div v-for="(item, index) of list.main" :key="index"> <div v-for="(item, index) of list.main" :key="index">
<div class="list" @click="listClick(item.redirect)"> <div class="list" @click="listClick(item.redirect)">
<div> <div>
<img class="list-logo" :src="item.logoUrl" alt /> <img class="list-logo" :src="item.logoUrl" alt/>
</div> </div>
<div class="list-infos"> <div class="list-infos">
<div class="list-info-title">{{item.name}}</div> <div class="list-info-title">{{item.name}}</div>
...@@ -21,38 +12,19 @@ ...@@ -21,38 +12,19 @@
</div> </div>
</div> </div>
</div> </div>
<!-- <button class="testButton" @click="zTestPreAuthCode">preAuthCodeUrl</button>
<div class="fkwindow">{{zcache.preAuthCodeUrl}}</div>-->
<!--
<button class="testButton" @click="zTestGetNowUrlInfo">nowUrlInfo</button>
<div class="fkwindow">{{zcache.nowUrl}}</div>-->
<!-- <button class="testButton" @click="zTestGetUserInfoByOldToken">GetUserInfoByOldToken</button>
<div class="fkwindow">{{zcache.userInfoResOld}}</div>-->
<!-- <button class="testButton" @click="zTestGetUserInfoByNewToken">GetUserInfoByNewToken</button> -->
<!-- <button class="testButton" @click="zTestGetUserInfoByNewToken">RES</button> -->
<!-- <div
style="border:1px solid limegreen;padding:4px;height: 100px; width: 100%; overflow: auto; font-size:14px;word-wrap:break-word;"
>{{zcache.userInfoResNew}}</div>-->
</div> </div>
<!-- <div class="menus">
<div class="menu" @click="buttonMainMarketingClick">精准营销</div>
<div class="menu activeMenu" @click="buttonSingleMarketingClick">一对一营销侧边栏</div>
</div>-->
</div> </div>
</template> </template>
<script> <script>
import { ApiTestCfPost, ApiTestEaPost } from "@/api/test/test"; import {ApiTestCfPost, ApiTestEaPost} from "@/api/test/test";
import { configWx, getUserInfo } from "@/utils/aCommon"; import {configWx, getUserInfo} from "@/utils/aCommon";
import * as APIHome from "@/api/sidebar/home"; import * as APIHome from "@/api/sidebar/home";
import axios from "axios"; import axios from "axios";
const zlog = console.log.bind(console);
export default { const zlog = console.log.bind(console);
export default {
name: "home", name: "home",
data() { data() {
return { return {
...@@ -68,24 +40,27 @@ export default { ...@@ -68,24 +40,27 @@ export default {
main: [ main: [
{ {
name: "顾客画像", name: "顾客画像",
dsc: dsc: "欧亚会员画像,通过一方消费者数据结合三方数据为营业员展示顾客特点",
"亿百分会员画像,通过一方消费者数据结合三方数据为营业员展示顾客特点",
redirect: "ManInfo", redirect: "ManInfo",
logoUrl: "/mainSale/1.png" logoUrl: "/mainSale/1.png"
}, },
{ {
name: "优惠券推送", name: "优惠券推送",
dsc: dsc: "欧亚会员画像,通过一方消费者数据结合三方数据为营业员展示顾客特点",
"亿百分会员画像,通过一方消费者数据结合三方数据为营业员展示顾客特点",
redirect: "Discount", redirect: "Discount",
logoUrl: "/mainSale/2.png" logoUrl: "/mainSale/2.png"
}, },
{ {
name: "爆品推送", name: "爆品推送",
dsc: dsc: "欧亚会员画像,通过一方消费者数据结合三方数据为营业员展示顾客特点",
"亿百分会员画像,通过一方消费者数据结合三方数据为营业员展示顾客特点",
redirect: "GoodPost", redirect: "GoodPost",
logoUrl: "/mainSale/3.png" logoUrl: "/mainSale/3.png"
},
{
name: "营销工具箱",
dsc: "欧亚营销工具箱,通过营销工具箱可以为营业员提供更多的在线营销工具",
redirect: "register",
logoUrl: "/mainSale/4.png"
} }
] ]
} }
...@@ -96,10 +71,6 @@ export default { ...@@ -96,10 +71,6 @@ export default {
this.zTestGetNowUrlInfo(); this.zTestGetNowUrlInfo();
}, },
created() { created() {
// alert(`--->home: created.`)
// this.zReadyUserId()
// this.zReadyUserId();
// this.zTestGetNowUrlInfo();
}, },
methods: { methods: {
zReadyUserId() { zReadyUserId() {
...@@ -109,32 +80,22 @@ export default { ...@@ -109,32 +80,22 @@ export default {
this.$route.query.code this.$route.query.code
); );
if (this.$route.query.code === undefined) { if (this.$route.query.code === undefined){
this.zTestPreAuthCode();
this.zTestPreAuthCode()
} else { } else {
this.zTestGetNowUrlInfo(); this.zTestGetNowUrlInfo();
this.zTestGetUserInfoByOldToken(); this.zTestGetUserInfoByOldToken();
} }
// if(this.zcache.code === "") {
// this.zTestGetUserInfoByOldToken()
// } else {
// this.zTestPreAuthCode()
// }
}, },
// 测试-获取当前Url信息 // 测试-获取当前Url信息
zTestGetNowUrlInfo() { zTestGetNowUrlInfo() {
this.zcache.nowUrl = JSON.stringify(this.$route.query); this.zcache.nowUrl = JSON.stringify(this.$route.query);
this.zcache.code = String(this.$route.query.code); this.zcache.code = String(this.$route.query.code);
// alert(`--->nowUrl and code =${this.zcache.nowUrl}`)
zlog("%c--->zTestGetNowUrlInfo: ", "color: orange;", this.zcache.nowUrl); zlog("%c--->zTestGetNowUrlInfo: ", "color: orange;", this.zcache.nowUrl);
}, },
// 测试-获取预授权码
// redirectUrI: encodeURIComponent(location.href.split('#')[0]),
zTestPreAuthCode() { zTestPreAuthCode() {
// alert(`--->home: zTestPreAuthCode: IN.`)
const basicInfo = { const basicInfo = {
head: "https://open.weixin.qq.com/connect/oauth2/authorize?", head: "https://open.weixin.qq.com/connect/oauth2/authorize?",
// appId: "wwd1cdbca7b8b2b6c4", // appId: "wwd1cdbca7b8b2b6c4",
...@@ -171,120 +132,36 @@ export default { ...@@ -171,120 +132,36 @@ export default {
code: this.zcache.code, code: this.zcache.code,
}; };
let headerData = { let headerData = {
// agentId: "1000015",
// corpId: "wwd1cdbca7b8b2b6c4"
agentId: "1000032", agentId: "1000032",
corpId: "ww4df265003b43fa0d" corpId: "ww4df265003b43fa0d"
}; };
// url: "http://139.155.48.151:8085/workWx/auth/oauth2/getUserInfo",
// headers: header,
// alert(
// `--->home.vue: zTestGetUserInfoByOldToken: postData =${JSON.stringify(
// postData
// )}`
// );
// alert(
// `--->home.vue: zTestGetUserInfoByOldToken: headerData =${JSON.stringify(
// headerData
// )}`
// );
this.zcache.userInfoResOld = "PostData:" + JSON.stringify(postData); this.zcache.userInfoResOld = "PostData:" + JSON.stringify(postData);
axios({ axios({
url: "http://139.155.48.151:8085/workWx/auth/oauth2/getUserInfo?code=" + this.zcache.code, url: "http://139.155.48.151:8085/workWx/auth/oauth2/getUserInfo?code=" + this.zcache.code,
method: "post", method: "post",
headers: headerData, headers: headerData,
// data: postData
}) })
.then(res => { .then(res => {
// alert(`--->home.vue: zTestGetUserInfoByOldToken: axios: res.`);
// alert(
// `--->home.vue: zTestGetUserInfoByOldToken: axios: res =${JSON.stringify(
// res
// )}`
// );
// this.zcache.userInfoResNew = "RESOK:" + JSON.stringify(res.data);
this.zcache.userInfoResNew = "RESOK:" + res.data.data.userId; this.zcache.userInfoResNew = "RESOK:" + res.data.data.userId;
sessionStorage.setItem("userId", String(res.data.data.userId)); sessionStorage.setItem("userId", String(res.data.data.userId));
this.zcache.userId = String(res.data.data.userId); this.zcache.userId = String(res.data.data.userId);
}) })
.catch(err => { .catch(err => {
// alert(`--->home.vue: zTestGetUserInfoByOldToken: axios: err.`);
// alert(
// `--->home.vue: zTestGetUserInfoByOldToken: axios: res =${JSON.stringify(
// err
// )}`
// );
this.zcache.userInfoResNew = "RESERR."; this.zcache.userInfoResNew = "RESERR.";
}); });
}, },
zTestGetUserInfoByNewToken() {
// let basicInfo = {
// token: sessionStorage.getItem("XToken"),
// code: this.$route.query
// };
// getUserInfo()
// .then(res => {
// zlog('%c--->getUserInfo: res =', 'background: red;')
// })
// let token =
// "2CjH4hx8dtY_uQYjRggRk0NxtuBrpYC9Z7kqytWgys2AlIUWzCFEGeYfVCM3Ywq16M-WA7n7oMWMNMJl8JXxEgiTNIsil-Z7YzoDoeVaoilwIaukTBfppmkqQZd7uxfxK8I5CDXDB2GtZI_ufke6ln9n30vfq7p6Q8BzBplmoRLXR21qLgVmcfEcaHO0UbcnVTyHStG0FVad-dZY_AsJ-g";
// let code = this.zcache.code;
// let url = `https://qyapi.weixin.qq.com/cgi-bin/service/getuserinfo3rd?suite_access_token=${token}&code=${code}`;
// axios
// .get(url)
// .then(function(res) {
// zcache("$c--->axios: res.", "background: red.");
// this.zcache.userInfoResNew = JSON.stringify(res);
// })
// .catch(function(err) {
// zcache("$c--->axios: err.", "background: red.");
// });
},
// disClick() {
// this.$router.push("Discount");
// },
// mainSaleClick() {
// this.$router.push("MainSale");
// },
listClick(inData) { listClick(inData) {
// this.$router.push(inData);
// this.$router.push({name: inData, transData: {userId: this.zcache.code}})
// alert(`--->listClick: IN.`)
// alert(`--->listClick: indata =${inData}. userId =${this.zcache.userId}`)
this.$router.push({ this.$router.push({
name: inData, name: inData,
params: { userId: this.zcache.userId } params: {userId: this.zcache.userId}
}); });
// this.$router.push({name: inData, params: {userId: 'SEGA'}})
}, },
buttonSingleMarketingClick() {
// this.$router.push("");
},
buttonMainMarketingClick() {
this.$router.push("MainSale");
},
testButton(inCode) {}
} }
}; };
</script> </script>
<style scoped> <style scoped lang="scss">
/* button { .main {
border: 1px solid gray;
margin: 2px;
border-radius: 4px;
padding: 4px;
} */
.main {
background-color: white; background-color: white;
width: 100%; width: 100%;
height: 100%; height: 100%;
...@@ -293,12 +170,11 @@ export default { ...@@ -293,12 +170,11 @@ export default {
flex-direction: column; flex-direction: column;
justify-content: start; justify-content: start;
overflow: scroll; overflow: scroll;
} }
.lists {
/* border: 2px solid red; */ .lists {
height: auto; height: auto;
padding: 4px 12px; padding: 4px 12px;
/* margin-bottom: 20px; */
padding-bottom: 40px; padding-bottom: 40px;
display: flex; display: flex;
...@@ -306,10 +182,10 @@ export default { ...@@ -306,10 +182,10 @@ export default {
justify-content: flex-start; justify-content: flex-start;
align-items: flex-start; align-items: flex-start;
overflow: scroll; overflow: scroll;
} }
.list {
.list {
height: 140px; height: 140px;
/* border: 2px solid orange; */
box-shadow: 0px 2px 4px 0px rgb(187, 187, 187); box-shadow: 0px 2px 4px 0px rgb(187, 187, 187);
margin: 6px 0px; margin: 6px 0px;
padding: 0px 12px; padding: 0px 12px;
...@@ -319,16 +195,17 @@ export default { ...@@ -319,16 +195,17 @@ export default {
flex-direction: row; flex-direction: row;
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center;
} }
.list-logo {
.list-logo {
/* border: 1px solid red; */ /* border: 1px solid red; */
width: 100px; width: 100px;
height: 100px; height: 100px;
border-radius: 6px; border-radius: 6px;
} }
.list-infos {
.list-infos {
/* border: 1px solid orange; */ /* border: 1px solid orange; */
width: 100;
height: 100px; height: 100px;
padding-left: 12px; padding-left: 12px;
...@@ -336,16 +213,18 @@ export default { ...@@ -336,16 +213,18 @@ export default {
flex-direction: column; flex-direction: column;
justify-content: flex-start; justify-content: flex-start;
align-items: flex-start; align-items: flex-start;
} }
.list-info-title {
.list-info-title {
width: 100%; width: 100%;
height: 18px; height: 18px;
font-size: 16px; font-size: 16px;
font-weight: bold; font-weight: bold;
line-height: 18px; line-height: 18px;
} }
.list-info-dsc {
.list-info-dsc {
margin-top: 6px; margin-top: 6px;
width: 100%; width: 100%;
height: 16px; height: 16px;
...@@ -353,54 +232,5 @@ export default { ...@@ -353,54 +232,5 @@ export default {
font-size: 12px; font-size: 12px;
font-weight: normal; font-weight: normal;
line-height: 18px; line-height: 18px;
} }
.menus {
border-top: 1px solid rgb(194, 194, 194);
position: fixed;
bottom: 0px;
left: 0px;
width: 100%;
height: 50px;
background-color: white;
display: flex;
flex-direction: row;
justify-content: start;
align-items: center;
}
.menu {
/* border: 1px solid red; */
height: 50px;
/* width: 120px; */
width: 50%;
line-height: 50px;
text-align: center;
font-size: 14px;
color: black;
}
.activeMenu {
color: lightcoral;
}
</style>
<style scoped>
.testButton {
border: 1px solid red;
/* width: 140px; */
width: auto;
font-size: 14px;
margin-top: 4px;
padding-bottom: 4px;
}
.fkwindow {
border: 1px solid limegreen;
padding: 4px;
height: 100px;
width: 100%;
overflow: auto;
font-size: 14px;
word-wrap: break-word;
}
</style> </style>
<template>
<div class="register_container">
<div v-for="(item, index) of list" :key="index" @click="sendMessage">
<div class="list">
<div>
<img class="list-logo" :src="item.logoUrl" alt/>
</div>
<div class="list-infos">
<div class="list-info-title">{{item.name}}</div>
<div class="list-info-dsc">{{item.dsc}}</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'register',
data() {
return {
list:[
{
name: "会员拉新",
dsc: "推送给顾客成为欧亚会员,完成拉新任务",
logoUrl: "/mainSale/4.png"
}
]
}
},
mounted(){
},
methods:{
sendMessage(){
wx.invoke(
"sendChatMessage",
{
msgtype: "text", //消息类型,必填
news: {
link: `http://qywx2.100smartdata.com/register`, //H5消息页面url 必填
title: "会员拉新", //H5消息标题
desc: '注册成为欧亚会员', //H5消息摘要
imgUrl: "" //H5消息封面图片URL
}
},
function(res) {
if (res.err_msg == "sendChatMessage:ok") {
alert("--->register.vue: zpick: h5 分享成功!");
} else if (res.err_msg != "sendChatMessage:ok") {
alert(`--->register.vue: zpick: h5 分享失败.`);
}
}
);
}
}
}
</script>
<style lang="scss" scoped>
.register_container{
padding: 4px 12px 40px 12px;
.list {
height: 140px;
box-shadow: 0px 2px 4px 0px rgb(187, 187, 187);
margin: 6px 0px;
padding: 0px 12px;
border-radius: 6px;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
.list-logo {
width: 100px;
height: 100px;
border-radius: 6px;
}
.list-infos {
height: 100px;
padding-left: 12px;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
}
.list-info-title {
width: 100%;
height: 18px;
font-size: 16px;
font-weight: bold;
line-height: 18px;
}
.list-info-dsc {
margin-top: 6px;
width: 100%;
height: 16px;
font-size: 12px;
font-weight: normal;
line-height: 18px;
}
}
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment