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 = [
name: 'Discount',
component: () => import('@/views/sideNav/discount/index')
},
{
path: '/register',
name: 'register',
component: () => import('@/views/sideNav/register/index')
},
{
path: '/mainSale',
name: 'MainSale',
......
<template>
<!-- <div>
<button @click="disClick">discount</button>
<button @click="mainSaleClick">mainSale</button>
</div>-->
<div class="main">
<!-- <div class="tops"></div> -->
<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 class="list" @click="listClick(item.redirect)">
<div>
<img class="list-logo" :src="item.logoUrl" alt />
<img class="list-logo" :src="item.logoUrl" alt/>
</div>
<div class="list-infos">
<div class="list-info-title">{{item.name}}</div>
......@@ -21,38 +12,19 @@
</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 class="menus">
<div class="menu" @click="buttonMainMarketingClick">精准营销</div>
<div class="menu activeMenu" @click="buttonSingleMarketingClick">一对一营销侧边栏</div>
</div>-->
</div>
</template>
<script>
import { ApiTestCfPost, ApiTestEaPost } from "@/api/test/test";
import { configWx, getUserInfo } from "@/utils/aCommon";
import * as APIHome from "@/api/sidebar/home";
import axios from "axios";
const zlog = console.log.bind(console);
import {ApiTestCfPost, ApiTestEaPost} from "@/api/test/test";
import {configWx, getUserInfo} from "@/utils/aCommon";
import * as APIHome from "@/api/sidebar/home";
import axios from "axios";
export default {
const zlog = console.log.bind(console);
export default {
name: "home",
data() {
return {
......@@ -68,24 +40,27 @@ export default {
main: [
{
name: "顾客画像",
dsc:
"亿百分会员画像,通过一方消费者数据结合三方数据为营业员展示顾客特点",
dsc: "欧亚会员画像,通过一方消费者数据结合三方数据为营业员展示顾客特点",
redirect: "ManInfo",
logoUrl: "/mainSale/1.png"
},
{
name: "优惠券推送",
dsc:
"亿百分会员画像,通过一方消费者数据结合三方数据为营业员展示顾客特点",
dsc: "欧亚会员画像,通过一方消费者数据结合三方数据为营业员展示顾客特点",
redirect: "Discount",
logoUrl: "/mainSale/2.png"
},
{
name: "爆品推送",
dsc:
"亿百分会员画像,通过一方消费者数据结合三方数据为营业员展示顾客特点",
dsc: "欧亚会员画像,通过一方消费者数据结合三方数据为营业员展示顾客特点",
redirect: "GoodPost",
logoUrl: "/mainSale/3.png"
},
{
name: "营销工具箱",
dsc: "欧亚营销工具箱,通过营销工具箱可以为营业员提供更多的在线营销工具",
redirect: "register",
logoUrl: "/mainSale/4.png"
}
]
}
......@@ -96,10 +71,6 @@ export default {
this.zTestGetNowUrlInfo();
},
created() {
// alert(`--->home: created.`)
// this.zReadyUserId()
// this.zReadyUserId();
// this.zTestGetNowUrlInfo();
},
methods: {
zReadyUserId() {
......@@ -109,32 +80,22 @@ export default {
this.$route.query.code
);
if (this.$route.query.code === undefined) {
this.zTestPreAuthCode();
if (this.$route.query.code === undefined){
this.zTestPreAuthCode()
} else {
this.zTestGetNowUrlInfo();
this.zTestGetUserInfoByOldToken();
}
// if(this.zcache.code === "") {
// this.zTestGetUserInfoByOldToken()
// } else {
// this.zTestPreAuthCode()
// }
},
// 测试-获取当前Url信息
zTestGetNowUrlInfo() {
this.zcache.nowUrl = JSON.stringify(this.$route.query);
this.zcache.code = String(this.$route.query.code);
// alert(`--->nowUrl and code =${this.zcache.nowUrl}`)
zlog("%c--->zTestGetNowUrlInfo: ", "color: orange;", this.zcache.nowUrl);
},
// 测试-获取预授权码
// redirectUrI: encodeURIComponent(location.href.split('#')[0]),
zTestPreAuthCode() {
// alert(`--->home: zTestPreAuthCode: IN.`)
const basicInfo = {
head: "https://open.weixin.qq.com/connect/oauth2/authorize?",
// appId: "wwd1cdbca7b8b2b6c4",
......@@ -171,120 +132,36 @@ export default {
code: this.zcache.code,
};
let headerData = {
// agentId: "1000015",
// corpId: "wwd1cdbca7b8b2b6c4"
agentId: "1000032",
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);
axios({
url: "http://139.155.48.151:8085/workWx/auth/oauth2/getUserInfo?code=" + this.zcache.code,
method: "post",
headers: headerData,
// data: postData
})
.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;
sessionStorage.setItem("userId", String(res.data.data.userId));
this.zcache.userId = String(res.data.data.userId);
})
.catch(err => {
// alert(`--->home.vue: zTestGetUserInfoByOldToken: axios: err.`);
// alert(
// `--->home.vue: zTestGetUserInfoByOldToken: axios: res =${JSON.stringify(
// err
// )}`
// );
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) {
// 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({
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>
<style scoped>
/* button {
border: 1px solid gray;
margin: 2px;
border-radius: 4px;
padding: 4px;
} */
.main {
<style scoped lang="scss">
.main {
background-color: white;
width: 100%;
height: 100%;
......@@ -293,12 +170,11 @@ export default {
flex-direction: column;
justify-content: start;
overflow: scroll;
}
.lists {
/* border: 2px solid red; */
}
.lists {
height: auto;
padding: 4px 12px;
/* margin-bottom: 20px; */
padding-bottom: 40px;
display: flex;
......@@ -306,10 +182,10 @@ export default {
justify-content: flex-start;
align-items: flex-start;
overflow: scroll;
}
.list {
}
.list {
height: 140px;
/* border: 2px solid orange; */
box-shadow: 0px 2px 4px 0px rgb(187, 187, 187);
margin: 6px 0px;
padding: 0px 12px;
......@@ -319,16 +195,17 @@ export default {
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
.list-logo {
}
.list-logo {
/* border: 1px solid red; */
width: 100px;
height: 100px;
border-radius: 6px;
}
.list-infos {
}
.list-infos {
/* border: 1px solid orange; */
width: 100;
height: 100px;
padding-left: 12px;
......@@ -336,16 +213,18 @@ export default {
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
}
.list-info-title {
}
.list-info-title {
width: 100%;
height: 18px;
font-size: 16px;
font-weight: bold;
line-height: 18px;
}
.list-info-dsc {
}
.list-info-dsc {
margin-top: 6px;
width: 100%;
height: 16px;
......@@ -353,54 +232,5 @@ export default {
font-size: 12px;
font-weight: normal;
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>
<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