Commit 0399b05a authored by xd's avatar xd

解决冲突

parents 512b44fc b886a06a
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
build/ build/
tests/ tests/
node_modules/ node_modules/
node_modules
# D2CRUD 演示 # D2CRUD 演示
src/views/demo/d2-crud/ src/views/demo/d2-crud/
......
...@@ -3,8 +3,7 @@ ...@@ -3,8 +3,7 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>亿百分</title> <title>亿百分</title>
<script type="text/javascript" src="js/jquery-3.4.1.min.js"></script> <script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
......
<!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) {
}
});
}
</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: '/invite',
name: 'register',
component: () => import('@/views/sideNav/register/index')
},
{ {
path: '/mainSale', path: '/mainSale',
name: 'MainSale', name: 'MainSale',
......
...@@ -28,10 +28,10 @@ async function getXToken() { ...@@ -28,10 +28,10 @@ async function getXToken() {
} else { } else {
console.log('%c--->getXToken: N/A. ', 'background: red;') console.log('%c--->getXToken: N/A. ', 'background: red;')
this.$message({ // this.$message({
message: res.errorMsg, // message: res.errorMsg,
type: 'error' // type: 'error'
}) // })
} }
}).catch(err => { }).catch(err => {
console.log('!==>getXToken: err:', err) console.log('!==>getXToken: err:', err)
...@@ -100,7 +100,7 @@ Vue.prototype.getAgentAuth = function () { ...@@ -100,7 +100,7 @@ Vue.prototype.getAgentAuth = function () {
// JS-SDK配置信息验证失败时会进入此方法 // JS-SDK配置信息验证失败时会进入此方法
wx.error(function (res) { wx.error(function (res) {
alert("JS-SDK配置信息验证失败 \r\n" + JSON.stringify(res)); // alert("JS-SDK配置信息验证失败 \r\n" + JSON.stringify(res));
}) })
// 配置成功后验证API接口在当前客户端是否支持:判断当前客户端版本是否支持指定JS接口 // 配置成功后验证API接口在当前客户端是否支持:判断当前客户端版本是否支持指定JS接口
...@@ -108,11 +108,8 @@ Vue.prototype.getAgentAuth = function () { ...@@ -108,11 +108,8 @@ Vue.prototype.getAgentAuth = function () {
{ {
jsApiList: ['agentConfig', 'sendChatMessage'], jsApiList: ['agentConfig', 'sendChatMessage'],
success: function (res) { success: function (res) {
// alert(`--->zCommon.js: getJsSdkSignature: then: wx.ready: wx.checkJsApi: success.`)
// alert(`--->zCommon.js: getJsSdkSignature: then: wx.ready: wx.checkJsApi: success. res =${JSON.stringify(res)}`)
if (res.errMsg != "checkJsApi:ok") { if (res.errMsg != "checkJsApi:ok") {
alert("JS-SDK接口检测失败:" + JSON.stringify(res)); // alert("JS-SDK接口检测失败:" + JSON.stringify(res));
return false; return false;
} else { } else {
wxRequest('/workWx/auth/base/getAgentJsSdkSignature', qs.stringify(postData), header) wxRequest('/workWx/auth/base/getAgentJsSdkSignature', qs.stringify(postData), header)
...@@ -160,10 +157,10 @@ Vue.prototype.getAgentAuth = function () { ...@@ -160,10 +157,10 @@ Vue.prototype.getAgentAuth = function () {
) )
}) })
} else { } else {
this.$message({ // this.$message({
type: 'error', // type: 'error',
message: res.errorMsg // message: res.errorMsg
}) // })
} }
}) })
.catch(err => { .catch(err => {
...@@ -192,7 +189,7 @@ function configWx(to) { ...@@ -192,7 +189,7 @@ function configWx(to) {
debug: false, //调试的时候可以开启 debug: false, //调试的时候可以开启
appId: config.jsApiSignature.appId, // 必填,公众号的唯一标识 appId: config.jsApiSignature.appId, // 必填,公众号的唯一标识
timestamp: config.jsApiSignature.timestamp, // 必填,生成签名的时间戳 timestamp: config.jsApiSignature.timestamp, // 必填,生成签名的时间戳
nonceStr: config.jsApiSignature.nonceStr, // 必填,生成签名的随机串 nonceStr: config.jsApiSignature.nonceStr, // 必填,生成签名的随机串
signature: config.jsApiSignature.signature, // 必填,签名 signature: config.jsApiSignature.signature, // 必填,签名
// 根据自己的需求,填写 jsapilist 内容 // 根据自己的需求,填写 jsapilist 内容
jsApiList: ['agentConfig', 'getCurExternalContact'] jsApiList: ['agentConfig', 'getCurExternalContact']
...@@ -210,7 +207,7 @@ function configWx(to) { ...@@ -210,7 +207,7 @@ function configWx(to) {
// router.push(to) // router.push(to)
if (res.errMsg != "checkJsApi:ok") { if (res.errMsg != "checkJsApi:ok") {
alert("JS-SDK接口检测失败:" + JSON.stringify(res)); // alert("JS-SDK接口检测失败:" + JSON.stringify(res));
return false; return false;
} }
} }
...@@ -236,7 +233,7 @@ function configWx(to) { ...@@ -236,7 +233,7 @@ function configWx(to) {
signature: agentConfig.agentJsApiSignature.signature,// 必填,签名,agentConfig所以为应用签名 signature: agentConfig.agentJsApiSignature.signature,// 必填,签名,agentConfig所以为应用签名
jsApiList: ['getCurExternalContact'], //必填 jsApiList: ['getCurExternalContact'], //必填
success: function (res) { success: function (res) {
// alert('agentConfig:ok') // alert('agentConfig:ok')
// alert(`--->configWx/getJsSdkSignature/getAgentJsSdkSignature: then: agentConfig: res =${res}`) // alert(`--->configWx/getJsSdkSignature/getAgentJsSdkSignature: then: agentConfig: res =${res}`)
// alert(`--->configWx/getJsSdkSignature/getAgentJsSdkSignature: then: agentConfig: to =${JSON.stringify(to)}`) // alert(`--->configWx/getJsSdkSignature/getAgentJsSdkSignature: then: agentConfig: to =${JSON.stringify(to)}`)
sessionStorage.setItem('zConfigWx', 'Pass') sessionStorage.setItem('zConfigWx', 'Pass')
...@@ -265,10 +262,10 @@ function configWx(to) { ...@@ -265,10 +262,10 @@ function configWx(to) {
}) })
}) })
} else { } else {
this.$message({ // this.$message({
type: 'error', // type: 'error',
message: res.errorMsg // message: res.errorMsg
}) // })
} }
}).catch(err => { }).catch(err => {
console.log(err, 'err') console.log(err, 'err')
......
<template> <template>
<!-- <div> <div class="main">
<button @click="disClick">discount</button> <div class="lists">
<button @click="mainSaleClick">mainSale</button>但事实上所所所你吧nnnnn <div v-for="(item, index) of list.main" :key="index">
</div>--> <div class="list" @click="listClick(item.redirect)">
<div class="main"> <div>
<!-- <div class="tops"></div> --> <img class="list-logo" :src="item.logoUrl" alt/>
<div class="lists"> </div>
<!-- <div <div class="list-infos">
v-if="this.$route.query.code !== undefined" <div class="list-info-title">{{item.name}}</div>
style="font-size: 14px;" <div class="list-info-dsc">{{item.dsc}}</div>
>Code: {{this.$route.query.code}}</div> --> </div>
<div v-for="(item, index) of list.main" :key="index"> </div>
<div class="list" @click="listClick(item.redirect)"> </div>
<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>
<!-- <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>
</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);
const zlog = console.log.bind(console);
export default {
name: "home", export default {
data() { name: "home",
return { data() {
zcache: { return {
nowUrl: "", zcache: {
preAuthCodeUrl: "", nowUrl: "",
code: "", preAuthCodeUrl: "",
userId: "", code: "",
userInfoResOld: "", userId: "",
userInfoResNew: "" userInfoResOld: "",
}, userInfoResNew: ""
list: { },
main: [ list: {
{ main: [
name: "顾客画像", {
dsc: name: "顾客画像",
"亿百分会员画像,通过一方消费者数据结合三方数据为营业员展示顾客特点", 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",
"亿百分会员画像,通过一方消费者数据结合三方数据为营业员展示顾客特点", logoUrl: "/mainSale/3.png"
redirect: "GoodPost", },
logoUrl: "/mainSale/3.png" {
} name: "营销工具箱",
] dsc: "欧亚营销工具箱,通过营销工具箱可以为营业员提供更多的在线营销工具",
} redirect: "register",
}; logoUrl: "/mainSale/4.png"
}, }
mounted() { ]
this.zReadyUserId(); }
this.zTestGetNowUrlInfo(); };
},
created() {
// alert(`--->home: created.`)
// this.zReadyUserId()
// this.zReadyUserId();
// this.zTestGetNowUrlInfo();
},
methods: {
// 判断是否有code
zReadyUserId() {
zlog(
"%c--->this.zcache.code =",
"color: orange;",
this.$route.query.code
);
if (this.$route.query.code === undefined) {
this.zTestPreAuthCode();
} else {
this.zTestGetNowUrlInfo();
this.zTestGetUserInfoByOldToken();
}
// if(this.zcache.code === "") {
// this.zTestGetUserInfoByOldToken()
// } else {
// this.zTestPreAuthCode()
// }
}, },
// 测试-获取当前Url信息 mounted() {
zTestGetNowUrlInfo() { this.zReadyUserId();
this.zcache.nowUrl = JSON.stringify(this.$route.query); this.zTestGetNowUrlInfo();
this.zcache.code = String(this.$route.query.code);
// alert(`--->nowUrl and code =${this.zcache.nowUrl}`)
zlog("%c--->zTestGetNowUrlInfo: ", "color: orange;", this.zcache.nowUrl);
}, },
// 测试-获取预授权码 created() {
// redirectUrI: encodeURIComponent(location.href.split('#')[0]),
zTestPreAuthCode() {
// alert(`--->home: zTestPreAuthCode: IN.`)
const basicInfo = {
head: "https://open.weixin.qq.com/connect/oauth2/authorize?",
// appId: "wwd1cdbca7b8b2b6c4",
appId: "ww4df265003b43fa0d",
redirectUrI: encodeURIComponent("qywx2.100smartdata.com"),
responseType: "code",
scope: "snsapi_base",
state: "ztest",
tail: "#wechat_redirect"
};
let url =
basicInfo.head +
"appid=" +
basicInfo.appId +
"&redirect_uri=" +
basicInfo.redirectUrI +
"&response_type=" +
basicInfo.responseType +
"&scope=" +
basicInfo.scope +
"&state=" +
basicInfo.state +
basicInfo.tail;
zlog("%c--->zTestPreAuthCode: Url =", "background: orange", url);
this.zcache.preAuthCodeUrl = url;
window.location.href = url;
}, },
// 测试-获取用户信息 methods: {
zTestGetUserInfoByOldToken() { zReadyUserId() {
let postData = { zlog(
code: this.zcache.code, "%c--->this.zcache.code =",
}; "color: orange;",
let headerData = { this.$route.query.code
// agentId: "1000015", );
// corpId: "wwd1cdbca7b8b2b6c4"
agentId: "1000032", if (this.$route.query.code === undefined){
corpId: "ww4df265003b43fa0d"
}; this.zTestPreAuthCode()
// url: "http://139.155.48.151:8085/workWx/auth/oauth2/getUserInfo", } else {
// headers: header, this.zTestGetNowUrlInfo();
this.zTestGetUserInfoByOldToken();
// alert( }
// `--->home.vue: zTestGetUserInfoByOldToken: postData =${JSON.stringify( },
// postData // 测试-获取当前Url信息
// )}` zTestGetNowUrlInfo() {
// ); this.zcache.nowUrl = JSON.stringify(this.$route.query);
// alert( this.zcache.code = String(this.$route.query.code);
// `--->home.vue: zTestGetUserInfoByOldToken: headerData =${JSON.stringify( zlog("%c--->zTestGetNowUrlInfo: ", "color: orange;", this.zcache.nowUrl);
// headerData },
// )}` zTestPreAuthCode() {
// ); const basicInfo = {
head: "https://open.weixin.qq.com/connect/oauth2/authorize?",
this.zcache.userInfoResOld = "PostData:" + JSON.stringify(postData); // appId: "wwd1cdbca7b8b2b6c4",
appId: "ww4df265003b43fa0d",
redirectUrI: encodeURIComponent("qywx2.100smartdata.com"),
axios({ responseType: "code",
url: "http://139.155.48.151:8085/workWx/auth/oauth2/getUserInfo?code=" + this.zcache.code, scope: "snsapi_base",
method: "post", state: "ztest",
headers: headerData, tail: "#wechat_redirect"
// data: postData };
})
.then(res => { let url =
// alert(`--->home.vue: zTestGetUserInfoByOldToken: axios: res.`); basicInfo.head +
// alert( "appid=" +
// `--->home.vue: zTestGetUserInfoByOldToken: axios: res =${JSON.stringify( basicInfo.appId +
// res "&redirect_uri=" +
// )}` basicInfo.redirectUrI +
// ); "&response_type=" +
// this.zcache.userInfoResNew = "RESOK:" + JSON.stringify(res.data); basicInfo.responseType +
// 一些用户信息 "&scope=" +
this.zcache.userInfoResNew = "RESOK:" + res.data.data.userId; basicInfo.scope +
sessionStorage.setItem("userId", String(res.data.data.userId)); "&state=" +
this.zcache.userId = String(res.data.data.userId); basicInfo.state +
basicInfo.tail;
zlog("%c--->zTestPreAuthCode: Url =", "background: orange", url);
this.zcache.preAuthCodeUrl = url;
window.location.href = url;
},
// 测试-获取用户信息
zTestGetUserInfoByOldToken() {
let postData = {
code: this.zcache.code,
};
let headerData = {
agentId: "1000032",
corpId: "ww4df265003b43fa0d"
};
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,
}) })
.catch(err => { .then(res => {
// alert(`--->home.vue: zTestGetUserInfoByOldToken: axios: err.`); this.zcache.userInfoResNew = "RESOK:" + res.data.data.userId;
// alert( sessionStorage.setItem("userId", String(res.data.data.userId));
// `--->home.vue: zTestGetUserInfoByOldToken: axios: res =${JSON.stringify( this.zcache.userId = String(res.data.data.userId);
// err })
// )}` .catch(err => {
// ); this.zcache.userInfoResNew = "RESERR.";
this.zcache.userInfoResNew = "RESERR."; });
},
listClick(inData) {
this.$router.push({
name: inData,
params: {userId: this.zcache.userId}
}); });
}, },
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 }
});
// this.$router.push({name: inData, params: {userId: 'SEGA'}})
},
buttonSingleMarketingClick() {
// this.$router.push("");
},
buttonMainMarketingClick() {
this.$router.push("MainSale");
},
testButton(inCode) {},
// 获取店铺Id
getStoreId() {
} }
} };
};
</script> </script>
<style scoped> <style scoped lang="scss">
/* button { .main {
border: 1px solid gray; background-color: white;
margin: 2px; width: 100%;
border-radius: 4px; height: 100%;
padding: 4px;
} */
.main { display: flex;
background-color: white; flex-direction: column;
width: 100%; justify-content: start;
height: 100%; overflow: scroll;
}
display: flex; .lists {
flex-direction: column; height: auto;
justify-content: start; padding: 4px 12px;
overflow: scroll; padding-bottom: 40px;
}
.lists {
/* border: 2px solid red; */
height: auto;
padding: 4px 12px;
/* margin-bottom: 20px; */
padding-bottom: 40px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: flex-start; justify-content: flex-start;
align-items: flex-start; align-items: flex-start;
overflow: scroll; overflow: scroll;
} }
.list {
height: 140px;
/* border: 2px solid orange; */
box-shadow: 0px 2px 4px 0px rgb(187, 187, 187);
margin: 6px 0px;
padding: 0px 12px;
border-radius: 6px;
display: flex; .list {
flex-direction: row; height: 140px;
justify-content: flex-start; box-shadow: 0px 2px 4px 0px rgb(187, 187, 187);
align-items: center; margin: 6px 0px;
} padding: 0px 12px;
.list-logo { border-radius: 6px;
/* border: 1px solid red; */
width: 100px; display: flex;
height: 100px; flex-direction: row;
border-radius: 6px; justify-content: flex-start;
} align-items: center;
.list-infos { }
/* border: 1px solid orange; */
width: 100;
height: 100px;
padding-left: 12px;
display: flex; .list-logo {
flex-direction: column; /* border: 1px solid red; */
justify-content: flex-start; width: 100px;
align-items: flex-start; height: 100px;
} border-radius: 6px;
.list-info-title { }
width: 100%;
height: 18px;
font-size: 16px; .list-infos {
font-weight: bold; /* border: 1px solid orange; */
line-height: 18px; height: 100px;
} padding-left: 12px;
.list-info-dsc {
margin-top: 6px;
width: 100%;
height: 16px;
font-size: 12px; display: flex;
font-weight: normal; flex-direction: column;
line-height: 18px; justify-content: flex-start;
} align-items: flex-start;
}
.menus { .list-info-title {
border-top: 1px solid rgb(194, 194, 194); width: 100%;
height: 18px;
position: fixed; font-size: 16px;
bottom: 0px; font-weight: bold;
left: 0px; line-height: 18px;
width: 100%; }
height: 50px;
background-color: white;
display: flex; .list-info-dsc {
flex-direction: row; margin-top: 6px;
justify-content: start; width: 100%;
align-items: center; height: 16px;
}
.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> font-size: 12px;
.testButton { font-weight: normal;
border: 1px solid red; line-height: 18px;
/* 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> <template>
<div class="main"> <div class="main">
<!-- <div class="tops"></div> -->
<div class="contents"> <div class="contents">
<!-- <div style="font-size: 12px;">userId={{zcache.userId}}</div> -->
<!-- <div style="font-size: 12px;">storeId={{zcache.userInfo}}</div> -->
<div class="zListActive"> <div class="zListActive">
<div class="inputs"> <div class="inputs">
<!-- <div class="button" @click="zTest">Redirect</div>
<div class="button" @click="zReadyDelVoucherList">Clear</div>-->
<div class="button" @click="zReadySetVoucherList">ReLoad</div> <div class="button" @click="zReadySetVoucherList">ReLoad</div>
</div> </div>
<!-- <div class="lists">
<div
class="item"
v-for="item in zlist.voucher"
:key="item.coupon_id"
@click="zVoucherPick(item.action_id, item.coupon_id)"
>
<div>优惠券ID: {{ item.coupon_id }}</div>
<div>活动ID: {{ item.action_id }}</div>
<div>活动标题: {{ item.coupon_title }}</div>
<div>活动列表: {{ item.coupon_link }}</div>
</div>
</div>-->
<!-- <div class="lists">
<div v-if="zlist.voucherUrl !== ''" class="voucherUrl">
<div @click="zpick">小程序Url: {{ zlist.voucherUrl }}</div>
</div>
</div>-->
</div> </div>
<!--@click="zVoucherPick(item.action_id, item.coupon_id)"--> <div v-for="item of zlist.voucher" :key="item.coupon_id" >
<div
v-for="item of zlist.voucher"
:key="item.coupon_id"
>
<div class="content"> <div class="content">
<div class="content-imgs"> <div class="content-imgs">
<img class="imgs-img" :src="zcache.defaultImgUrl" alt /> <img class="imgs-img" :src="zcache.defaultImgUrl" alt />
...@@ -56,38 +28,7 @@ ...@@ -56,38 +28,7 @@
</div> </div>
</div> </div>
</div> </div>
<!--<div class="zListActive">-->
<!-- <div class="lists">-->
<!-- <div v-if="zlist.voucherUrl !== ''" class="voucherUrl" @click="zpick('h5', String(zlist.voucherUrl))">-->
<!-- &lt;!&ndash; <div @click="zpick">小程序Url:{{ String(zlist.voucherUrl).slice(-2) }}</div> &ndash;&gt;-->
<!-- <div>小程序Url:{{ String(zlist.voucherUrl).slice(-2) }}</div>-->
<!-- <div>{{ zlist.voucherUrl }}</div>-->
<!-- </div>-->
<!-- </div>-->
<!--</div>-->
<!--<div class="zListActive">-->
<!-- <div class="lists">-->
<!-- <div v-if="zlist.voucherUrl !== ''" class="voucherUrl">-->
<!-- &lt;!&ndash; <div @click="zpick">小程序Url:{{ String(zlist.voucherUrl).slice(-2) }}</div> &ndash;&gt;-->
<!-- <div>小程序Url:{{ String(zlist.voucherUrl).slice(-2) }}</div>-->
<!-- <div-->
<!-- v-if="String(zlist.voucherUrl).slice(-2) === '97'"-->
<!-- @click="zpick('h5', String(zlist.voucherUrl))"-->
<!-- >{{ zlist.voucherUrl }}</div>-->
<!-- <div-->
<!-- v-if="String(zlist.voucherUrl).slice(-2) !== '97'"-->
<!-- @click="zpick('h5', String(zlist.voucherUrl))"-->
<!-- >{{ zlist.voucherUrl }}</div>-->
<!-- </div>-->
<!-- </div>-->
<!--</div>-->
</div> </div>
<!-- <div class="menus">
<div class="menu" @click="buttonMainMarketingClick">精准营销</div>
<div class="menu activeMenu" @click="buttonSingleMarketingClick">一对一营销侧边栏</div>
</div> -->
</div> </div>
</template> </template>
...@@ -147,18 +88,11 @@ export default { ...@@ -147,18 +88,11 @@ export default {
}; };
}, },
created() { created() {
zlog("%c--->Created.", "color: orange");
// alert(`--->discount: IN.`);
// configWx()
this.zcache.userId = this.$route.params.userId; this.zcache.userId = this.$route.params.userId;
// zlog('%c--->userId =', this.zcache.userId)
this.zReadyGetUserFromId(); this.zReadyGetUserFromId();
// this.zReadySetVoucherList();
this.getAgentAuth(); this.getAgentAuth();
}, },
mounted() { mounted() {
// zlog("%c--->Mounted.", "color: orange");
// this.getAgentAuth();
}, },
methods: { methods: {
// 测试-获取预授权码 // 测试-获取预授权码
...@@ -187,23 +121,14 @@ export default { ...@@ -187,23 +121,14 @@ export default {
"&state=" + "&state=" +
basicInfo.state + basicInfo.state +
basicInfo.tail; basicInfo.tail;
zlog("%c--->zTestPreAuthCode: Url =", "background: orange", url); zlog("%c--->zTestPreAuthCode: Url =", "background: orange", url);
// window.location.href = url // window.location.href = url
}, },
// 测试-测试函数调用
zTest() {
this.zTestPreAuthCode();
},
zReadyGetUserFromId() { zReadyGetUserFromId() {
let postData = { let postData = {
param: this.zcache.userId param: this.zcache.userId
// param: 'ZhouHeQiang' // param: 'ZhouHeQiang'
}; };
// alert(`--->userInfoFromId: postData = ${JSON.stringify(postData)}`); // alert(`--->userInfoFromId: postData = ${JSON.stringify(postData)}`);
getUserInfoByUserId(postData) getUserInfoByUserId(postData)
.then(res => { .then(res => {
...@@ -266,9 +191,10 @@ export default { ...@@ -266,9 +191,10 @@ export default {
}, },
zpick(inMsgType, inUrl) { zpick(inMsgType, inUrl) {
alert(`--->discount.vue: zpick: IN.`); // alert(`--->discount.vue: zpick: IN.`);
switch (inMsgType) { switch (inMsgType) {
case "text": case "text":
wx.invoke( wx.invoke(
"sendChatMessage", "sendChatMessage",
...@@ -290,7 +216,7 @@ export default { ...@@ -290,7 +216,7 @@ export default {
); );
break; break;
case "h5": case "h5":
alert(`--->discount.vue: zpick: H5: IN.`); // alert(`--->discount.vue: zpick: H5: IN.`);
wx.invoke( wx.invoke(
"sendChatMessage", "sendChatMessage",
...@@ -305,12 +231,12 @@ export default { ...@@ -305,12 +231,12 @@ export default {
}, },
function(res) { function(res) {
if (res.err_msg == "sendChatMessage:ok") { if (res.err_msg == "sendChatMessage:ok") {
alert("--->discount.vue: zpick: h5 分享成功!"); // alert("--->discount.vue: zpick: h5 分享成功!");
} else if (res.err_msg != "sendChatMessage:ok") { } else if (res.err_msg != "sendChatMessage:ok") {
alert(`--->discount.vue: zpick: h5 分享失败.`); // alert(`--->discount.vue: zpick: h5 分享失败.`);
alert( // alert(
`--->discount.vue: zpick: h5 分享失败: res =${res.err_msg}` // `--->discount.vue: zpick: h5 分享失败: res =${res.err_msg}`
); // );
} }
} }
); );
......
<template>
<div class="register_container">
<div v-for="(item, index) of list" :key="index" >
<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>
<button class="button-send" @click="sendMessage">邀请</button>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'register',
data() {
return {
list:[
{
name: "会员拉新",
dsc: "推荐完成注册,完成会员拉新",
logoUrl: "/mainSale/4.png"
}
]
}
},
created() {
this.getAgentAuth();
},
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: 80px;
height: 80px;
border-radius: 6px;
}
.list-infos {
height: 80px;
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;
}
.button-send {
border: 0px solid blue;
margin-left: 5px;
height: 40px;
width: 84px;
border-radius: 4px;
background-color: rgba(68, 93, 251, 1);
color: white;
font-size: 16px;
}
}
}
</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