c631d055 by simon

no message

1 parent 032992c4
Showing 96 changed files with 1515 additions and 418 deletions
...@@ -11,7 +11,7 @@ module.exports = { ...@@ -11,7 +11,7 @@ module.exports = {
11 "enabledQcloud": false, //是否开启腾讯云COS 上传功能 11 "enabledQcloud": false, //是否开启腾讯云COS 上传功能
12 // 腾讯云COS 上传功能配置表 12 // 腾讯云COS 上传功能配置表
13 "qcloud": { 13 "qcloud": {
14 "appid": "1111111", 14 "appid": "wx7122e6d18bb8f6ea",
15 "secretId": "xxx", 15 "secretId": "xxx",
16 "secretKey": "xxxxx", 16 "secretKey": "xxxxx",
17 "bucket": "xxxx", 17 "bucket": "xxxx",
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
8 "minified": true, 8 "minified": true,
9 "newFeature": true 9 "newFeature": true
10 }, 10 },
11 "appid": "wxc57ed87f2569f701", 11 "appid": "wx7122e6d18bb8f6ea",
12 "projectname": "gulp-example", 12 "projectname": "gulp-example",
13 "condition": {} 13 "condition": {}
14 } 14 }
......
...@@ -8,18 +8,74 @@ let store = require('./utils/stroage'); ...@@ -8,18 +8,74 @@ let store = require('./utils/stroage');
8 require('./http/mock-data'); 8 require('./http/mock-data');
9 9
10 App({ 10 App({
11 get: fetchApi.fetch, 11 get: fetchApi.fetch,
12 post: (params) => { 12 post: (params) => {
13 params.method = 'post'; 13 params.method = 'post';
14 return fetchApi.fetch(params); 14 return fetchApi.fetch(params);
15 }, 15 },
16 api: api, 16 api: api,
17 config: config, 17 config: config,
18 router: router, 18 router: router,
19 store: store, 19 store: store,
20 onLaunch: function () {}, 20 onLaunch: function () {
21 globalData: { 21 this.share()
22 indexInfo: null, 22 },
23 userInfo: null 23 globalData: {
24 } 24 indexInfo: null,
25 userInfo: null,
26 wxcode: store.getItem("wxcode"),
27 tlMemberCode: "",
28 },
29 //重写分享方法
30 share: function () {
31 //监听路由切换
32 //间接实现全局设置分享内容
33 wx.onAppRoute(function (res) {
34 //获取加载的页面
35 let pages = getCurrentPages();
36 //获取当前页面的对象
37 let view = pages[pages.length - 1];
38 let data;
39 if (view) {
40 data = view.data;
41 if (!data.isOverShare) {
42 data.isOverShare = true;
43 view.onShareAppMessage = function (res) {
44 //分享配置
45 return {
46 title: '志亮·深士照明',
47 path: 'pages/index/index'
48 };
49 };
50 }
51 }
52 })
53 },
54 // 获取用户基本信息
55 queryIndex(query = {
56 auth: true
57 }) {
58 return new Promise((resolve, reject) => {
59 this.post({
60 url: this.api.index,
61 data: {},
62 loading: true,
63 }).then((result) => {
64 this.globalData.indexInfo = result;
65 this.globalData.userInfo = result.userInfo;
66 if (result.isNeedAuth == 1 && auth == true) {
67 //需要授权
68 this.router.push({
69 path: "authorize"
70 })
71 reject();
72 // resolve();
73 } else {
74 resolve(result)
75 }
76 }).catch((err) => {
77 reject();
78 });
79 });
80 }
25 }) 81 })
......
1 { 1 {
2 "pages": [ 2 "pages": [
3 "pages/contact-table/contact-table",
4 "pages/contact/contact",
5 "pages/user-center/user-center",
3 "pages/index/index", 6 "pages/index/index",
4 "pages/authorize/authorize", 7 "pages/authorize/authorize",
5 "pages/gift-shop/gift-shop", 8 "pages/gift-shop/gift-shop",
...@@ -12,11 +15,8 @@ ...@@ -12,11 +15,8 @@
12 "pages/my-qrcode/my-qrcode", 15 "pages/my-qrcode/my-qrcode",
13 "pages/my-order/my-order", 16 "pages/my-order/my-order",
14 "pages/my-message/my-message", 17 "pages/my-message/my-message",
15 "pages/contact/contact",
16 "pages/contact-table/contact-table",
17 "pages/vip-login/vip-login", 18 "pages/vip-login/vip-login",
18 "pages/vip-verify/vip-verify", 19 "pages/vip-verify/vip-verify",
19 "pages/user-center/user-center",
20 "pages/sign-in-record/sign-in-record", 20 "pages/sign-in-record/sign-in-record",
21 "pages/rank/rank", 21 "pages/rank/rank",
22 "pages/rank-gift/rank-gift", 22 "pages/rank-gift/rank-gift",
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
26 "window": { 26 "window": {
27 "backgroundTextStyle": "light", 27 "backgroundTextStyle": "light",
28 "navigationBarBackgroundColor": "#3680EB", 28 "navigationBarBackgroundColor": "#3680EB",
29 "navigationBarTitleText": "志亮照明", 29 "navigationBarTitleText": "深士照明",
30 "navigationBarTextStyle": "white" 30 "navigationBarTextStyle": "white"
31 }, 31 },
32 "tabBar": { 32 "tabBar": {
...@@ -36,22 +36,26 @@ ...@@ -36,22 +36,26 @@
36 "backgroundColor": "#ffffff", 36 "backgroundColor": "#ffffff",
37 "list": [{ 37 "list": [{
38 "pagePath": "pages/index/index", 38 "pagePath": "pages/index/index",
39 "iconPath": "image/tabbar/scan_bar.png", 39 "iconPath": "image/tabbar/scan-bar.png",
40 "selectedIconPath": "image/tabbar/scan_bar_selected.png", 40 "selectedIconPath": "image/tabbar/scan-bar-selected.png",
41 "text": "扫码积分" 41 "text": "扫码积分"
42 }, 42 },
43 { 43 {
44 "pagePath": "pages/gift-shop/gift-shop", 44 "pagePath": "pages/gift-shop/gift-shop",
45 "iconPath": "image/tabbar/gift_bar.png", 45 "iconPath": "image/tabbar/gift-bar.png",
46 "selectedIconPath": "image/tabbar/gift_bar_selected.png", 46 "selectedIconPath": "image/tabbar/gift-bar-selected.png",
47 "text": "礼物兑换" 47 "text": "礼物兑换"
48 }, 48 },
49 { 49 {
50 "pagePath": "pages/user-center/user-center", 50 "pagePath": "pages/user-center/user-center",
51 "iconPath": "image/tabbar/user_bar.png", 51 "iconPath": "image/tabbar/user-bar.png",
52 "selectedIconPath": "image/tabbar/user_bar_selected.png", 52 "selectedIconPath": "image/tabbar/user-bar-selected.png",
53 "text": "个人中心" 53 "text": "个人中心"
54 } 54 }
55 ] 55 ]
56 },
57 "usingComponents": {
58 "authorize-comp": "../../component/authorize-comp/authorize-comp",
59 "van-popup": "../../ui/vant-weapp/popup/index"
56 } 60 }
57 } 61 }
......
...@@ -100,3 +100,27 @@ ...@@ -100,3 +100,27 @@
100 background-color: transparent; 100 background-color: transparent;
101 border: 0; 101 border: 0;
102 } 102 }
103
104
105 // 居中按钮样式
106 @mixin btc($width, $height) {
107 width: $width;
108 height: $height;
109 line-height: $height;
110 text-align: center;
111 }
112
113
114 // 通用按钮
115 @mixin cb($width:320px, $height:84px, $fontSize:32px) {
116 color: #FFFFFF;
117 position: relative;
118 width: $width;
119 height: $height;
120 line-height: $height;
121 text-align: center;
122 font-size: $fontSize;
123 border-radius: 8px;
124 background-color: #3680EB;
125
126 }
......
1 let app = getApp();
2 Component({
3 properties: {
4 // 这里定义了innerText属性,属性值可以在组件使用时指定
5 innerText: {
6 type: String,
7 value: 'default value',
8 }
9 },
10 data: {
11 // 这里是一些组件内部数据
12 someData: {}
13 },
14 methods: {
15 // 这里是一个自定义方法
16 customMethod() {
17 this.triggerEvent('evtcomp', {
18 name: "_evt_custom"
19 })
20 },
21 // 隐藏蒙层
22 hideMask() {
23 this.triggerEvent('evtcomp', {
24 name: "_evt_hide_mask"
25 });
26 },
27 authComplete() {
28 this.triggerEvent('evtcomp', {
29 name: "_evt_auth_complete"
30 });
31 },
32 bindGetUserInfo(e) {
33 wx.showLoading();
34 this.getUserInfo(e.detail);
35 },
36 getUserInfo(e) {
37 let _this = this;
38 app.globalData.userInfo = e.userInfo;
39 app.post({
40 url: app.api.register,
41 sid: false,
42 data: {
43 encryptedData: e.encryptedData,
44 iv: e.iv,
45 code: app.store.getItem("wxcode"),
46 tlMemberCode: app.globalData.tlMemberCode
47 }
48 }).then((res2) => {
49 wx.hideLoading();
50 if (res2 && res2.sessionId) {
51 app.store.setItem('sessionId', res2.sessionId);
52 }
53 _this.hideMask();
54 _this.authComplete();
55 }).catch((err) => {})
56 },
57 }
58 })
1 @import '../../assets/scss/mixins';
2 @import '../../assets/scss/utils';
3
4
5 .comp-item {
6 width: 650px;
7 min-height: 496px;
8 border-radius: 10px;
9 background-color: #ffffff;
10
11 .cspace {
12 height: 80px;
13 }
14
15 .cont {
16 text-align: center;
17 width: 520px;
18 margin: 0 auto;
19
20 .logo {
21 margin: 0 auto;
22 width: 200px;
23 height: 153px;
24
25 image {
26 width: 200px;
27 height: 153px;
28 }
29 }
30
31 .tit {
32 font-size: 40px;
33 color: #333333;
34 }
35
36 .tips {
37 margin-top: 28px;
38 font-size: 32px;
39 color: #333333;
40 padding-bottom: 244px;
41 }
42 }
43
44 .btn {
45 @include cb(300px, 80px);
46 position: absolute;
47 left: 0;
48 right: 0;
49 bottom: 80px;
50 margin: 0 auto;
51 }
52
53 }
1 <view class="comp-item">
2 <view class="cspace"></view>
3 <view class="cont">
4 <!-- <view class="logo">
5 <image mode="widthFix" src="../../image/logo.png" />
6 </view> -->
7 <view class="tit">深士照明</view>
8 <view class="tips">
9 <text >需要获取您的微信昵称等信息才可以获取积分和兑换奖品哦</text>
10 </view>
11 </view>
12 <button class="btn" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">确认授权</button>
13 </view>
1 let app = getApp();
1 Component({ 2 Component({
2 properties: { 3 properties: {
3 // 这里定义了innerText属性,属性值可以在组件使用时指定 4 // 这里定义了innerText属性,属性值可以在组件使用时指定
......
...@@ -4,6 +4,10 @@ Component({ ...@@ -4,6 +4,10 @@ Component({
4 innerText: { 4 innerText: {
5 type: String, 5 type: String,
6 value: 'default value', 6 value: 'default value',
7 },
8 productInfo: {
9 type: Object,
10 value: {},
7 } 11 }
8 }, 12 },
9 data: { 13 data: {
......
...@@ -26,13 +26,24 @@ ...@@ -26,13 +26,24 @@
26 border: 1px solid #F0F0F0; 26 border: 1px solid #F0F0F0;
27 border-radius: 4px; 27 border-radius: 4px;
28 28
29 .swiper {} 29 .swiper {
30 width: 610px;
31 height: 322px;
32
33 .swiper-image {
34 width: 610px;
35 height: 322px;
36 }
37 }
30 } 38 }
31 39
32 .desc { 40 .desc {
33 color: #333333; 41 color: #333333;
34 font-size: 28px; 42 font-size: 28px;
43 height: 404px;
44 line-height: 48px;
35 } 45 }
46
36 } 47 }
37 48
38 .close { 49 .close {
......
1 <view class="comp-item"> 1 <view class="comp-item">
2 <view class="cont"> 2 <view class="cont">
3 <view class="tit">LED大功率球泡灯</view> 3 <view class="tit">{{productInfo.productName}}</view>
4 <view class="img-wrap"> 4 <view class="img-wrap">
5 <view class="swiper"></view> 5 <swiper class="swiper" indicator-color="rgba(0,0,0,.3)" indicator-active-color="rgba(255,255,255,1)" indicator-dots="{{true}}" autoplay="{{true}}" interval="{{5000}}" duration="{{500}}">
6 </view> 6 <block wx:for="{{productInfo.productImages}}" wx:key="{{index}}">
7 <view class="desc">产品特点:</view> 7 <swiper-item>
8 <view class="desc"> 8 <image class="swiper-image" src="{{item}}" mode="aspectFill" />
9 节能白光LED的能耗仅为白炽灯的1/10,节能灯的1/4,超长寿命50.000小时以上,是传统钨丝灯的50倍以上,固态封装,方便运输和安装;环保,没有汞的有害物质。采用PWM恒流技术,效率高,热量低,恒流精度高。宽电压范围,全球通用,85V-265VAC全电压范围恒流。保证寿命及亮度不受电压波动影响。 9 </swiper-item>
10 </block>
11 </swiper>
10 </view> 12 </view>
13 <scroll-view scroll-y="{{true}}" class="desc">
14 <text class="t1">产品特点:</text>
15 <text class="t2">
16 {{productInfo.productInfo}}
17 </text>
18 </scroll-view>
11 </view> 19 </view>
12 <view class="close"> 20 <view class="close">
13 <image bindtap="hideMask" class="btn" src="../../image/index/index_close.png" /> 21 <image bindtap="hideMask" class="btn" src="../../image/index/index-close.png" />
14 </view> 22 </view>
15 </view> 23 </view>
......
1 module.exports = { 1 module.exports = {
2 mockApi: 'http://mock.simonfungc.com', 2 mockApi: 'http://mock.simonfungc.com',
3 Dev: { 3 Dev: {
4 baseApi: 'https://dev-api.xxx.com' 4 baseApi: 'https://ow.go.qudone.com/zlzmapi'
5 }, 5 },
6 Test: { 6 Test: {
7 baseApi: 'https://test-api.xxx.com' 7 baseApi: 'https://test-api.xxx.com'
...@@ -10,6 +10,6 @@ module.exports = { ...@@ -10,6 +10,6 @@ module.exports = {
10 baseApi: 'https://slave-api.xxx.com' 10 baseApi: 'https://slave-api.xxx.com'
11 }, 11 },
12 Prod: { 12 Prod: {
13 baseApi: 'https://api.xxx.com' 13 baseApi: 'https://api.k.wxpai.cn/bizproxy/zlzmapi'
14 } 14 }
15 } 15 }
......
1 module.exports = { 1 module.exports = {
2 index: '/xxx/index', // Index 接口 2 login: "/login", // post 通过wxcode换取sessionId
3 register: '/xxx/register', // 解析用户信息 3 register: '/register', // post 注册(用户授权)
4 product: '/product', // post 首页商品概览
5 bannerList: '/banner/list', // post 轮播图列表
6 pointsOverview: '/points/overview', // post 查看积分概览
7 commodityList: '/commodity/list', // post 积分商城浏览 商品列表
8 commodityVeridcation: '/commodity/veridcation', // post 兑换礼物 红包和实物兑换礼物接口 , 实物会返回地址信息,红包校验通过会直接兑换
9 commodityExchange: '/commodity/exchange', // post 兑换礼物2 实物兑换,需要带上地址的唯一标识uuid
10 receiver: '/receiver', // post 地址 地址列表接口
11 receiverSave: '/receiver/save', // post 新建地址 地址信息新建 、保存
12 receiverDelete: '/receiver/delete', // post 地址删除
13 member: '/member', // post 个人首页 个人首页的详细信息
14 memberType: '/member/type', // post 用户类型 获取用户类型
15 memberPhone: '/member/phone', // post 获取手机验证码 获取验证码
16 memberIdCommit: '/member/id/commit', // post 信息验证提交
17 memberIdUpdate: '/member/id/update', // post 验证信息修改-----忽略
18 memberIdQuery: '/member/id/query', // post 审核信息查看接口
19 announcementList: '/announcement/list', // post 我的消息 我的消息列表
20 announcementUpdate: '/announcement/update', // post 我的消息标已读 用户注册接口
21 announcementDelete: '/announcement/delete', // post 我的消息删除 删除已读消息
22 announcementDeleteOne: 'announcement/delete/one', // post 我的消息删除---单个 删除单条消息 单个的英文是single
23 messageSave: '/message/save', // post 用户留言
24 contact: '/contact', // post 联系方式
25 order: '/order', // post 订单状态 订单列表
26 activity: '/activity', // post 推广积分排行
27 activityHistory: '/activity/history', // post 历史推广排行
28 activityAll: '/activity/all', // post 总排行--忽略
29 activityPrize: '/activity/prize', // post 排行奖励明细
30 activityPrizeGet: '/activity/prize/get', // post 领取奖励 活动奖励获取
31 scanIntegralQrcode: '/scan/integral/qrcode', // post 扫积分码功能 扫积分码
32 scanPersonQrcode: '/scan/person/qrcode', // post 扫个人二维码
33 signInfo: '/sign/info', // post 签到信息 用户注册接口
34 sign: '/sign', // post 签到动作 用户注册接口
35 sginRecord: '/sgin/record', // post 签到记录 用户注册接口
4 } 36 }
......
1 let config = require('./../config'); 1 let config = require('./../config');
2 let Store = require('./../utils/stroage'); 2 let Store = require('./../utils/stroage');
3 const reason = '服务异常,请稍后重试'; 3 let Router = require('./../router/index');
4 const errMsg = '服务异常,请稍后重试';
4 5
5 // 检查并获取sessionid sid:是否需要验证sessionId 6 // let isWxLogin = false;
6 function checkSessionId(sid) { 7
7 return new Promise((resolve, reject) => { 8 function wxLogin() {
8 if (!sid) { 9 return new Promise((resolve, reject) => {
9 resolve(); 10 wx.login({
10 return; 11 success: function (res) {
11 } 12 // isWxLogin = true;
12 let sessionId = Store.getItem('sessionId'); 13 Store.setItem('wxcode', res.code);
13 if (sessionId) { 14 resolve();
14 resolve(sessionId); 15 }
15 } else { 16 });
16 // 身份失效 17 });
17 //登陆失效的回调
18 // Store.clear("sessionId");
19 // wx.reLaunch({
20 // // url: '/pages/authorize/authorize'
21 // url: '/pages/login/login',
22 // })
23 }
24 });
25 } 18 }
26 19
27 const fetch = function ({
28 loading = false,
29 toast = true,
30 sid = true,
31 mode,
32 isMock,
33 url,
34 data,
35 method
36 }) {
37 // 自定义参数
38 // const clientInfo = {
39 // user_id: 1
40 // }
41 // 日志埋点不需要出现loading
42 if (loading && mode != 'log') wx.showLoading();
43 // if (loading && mode != 'log') Util.showLoading();
44 20
45 // 新建promise对象 21 // 检查并获取sessionid
46 let promise = new Promise((resolve, reject) => { 22 function checkSessionId(sid) {
47 /** 23 return new Promise((resolve, reject) => {
48 * isMock设置单个接口Mock开启 24 if (!sid) {
49 * mode:目前针对不同业务的接口进行处理,log标识本地埋点上传 25 resolve();
50 */ 26 return;
51 let baseUrl = config.NET_CONFIG.baseApi; 27 }
52 if (isMock && mode != 'log') { 28 let sessionId = Store.getItem('sessionId');
53 baseUrl = config.MOCKAPI; //环境配置 29 if (sessionId) {
54 } 30 resolve();
31 } else {
32 // 没有sessionId则获取并埋值
33 login().then((result) => {
34 resolve();
35 }).catch((err) => {
36 reject();
37 });
38 }
39 });
40 }
55 41
56 checkSessionId().then((result) => { 42 // session丢失
57 if (sid) { 43 function login() {
58 url += "?sessionId=" + Store.getItem("sessionId") 44 return new Promise((resolve, reject) => {
59 } 45 wxLogin().then((result) => {
60 // console.log("url:", url); 46 let baseUrl = config.NET_CONFIG.baseApi;
61 wx.request({ 47 wx.request({
62 url: baseUrl + url, //请求地址 48 url: baseUrl + '/login',
63 data: data, //自定义参数 49 sid: false,
64 method: method || 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT 50 data: {
65 // header: {}, // 设置请求的 header的默认参数,根据项目需求添加 51 code: Store.getItem('wxcode')
66 // header: { 52 },
67 // 'clientInfo': JSON.stringify(clientInfo), 53 method: 'POST',
68 // 'Server-Token':'xxx' 54 success: function (res2) {
69 // }, 55 let {
70 success: function (result) { 56 code,
71 // 日志上传不需要处理结果 57 content
72 if (mode == 'log') return; 58 } = res2.data;
73 let res = result.data; 59 if (code == 200 && content.sessionId) {
74 // 登陆失效拦截,根据项目需要添加自己的配置 60 Store.setItem('sessionId', content.sessionId);
75 if (res.code == 404) { 61 resolve();
76 // wx.showToast({ 62 } else {
77 // title: '当前登陆失效,请重新登陆', 63 wx.hideLoading();
78 // icon: 'none', 64 let pages = getCurrentPages();
79 // mask: true, 65 let view = pages[pages.length - 1];
80 // success: () => { 66 if (view) {
81 // return; 67 try {
82 // } 68 wx.login({
83 // }) 69 success: function (res) {
84 //登陆失效的回调 70 Store.setItem('wxcode', res.code);
85 Store.clear("sessionId"); 71 view.showAuth();
86 wx.reLaunch({ 72 }
87 url: '/pages/authorize/authorize' 73 });
88 }) 74 } catch (error) {}
89 } 75 }
90 // 内部统一的成功code拦截码 76 reject();
91 if (res.code === 200) { 77 }
92 if (loading) { 78 }
93 wx.hideLoading(); 79 })
94 } 80 })
95 // resolve(res);
96 // 直接返回content
97 resolve(res.content);
98 } else {
99 // 有些特殊状况不需要toast 需要弹窗
100 if (toast) {
101 wx.showToast({
102 title: res.errMsg || errMsg,
103 icon: 'none'
104 })
105 } else {
106 wx.hideLoading();
107 }
108 // 返回错误信息
109 reject(res);
110 }
111 },
112 fail: function (e = {
113 CODE: -1,
114 msg: errMsg,
115 errMsg
116 }) {
117 let msg = e.errMsg;
118 if (e.errMsg == 'request:fail timeout') {
119 msg = '服务请求超时,请稍后重试'
120 }
121 wx.showToast({
122 title: msg,
123 icon: 'none'
124 });
125 reject(e)
126 },
127 complete: function () {
128 // complete
129 }
130 })
131 })
132 81
82 });
83 }
133 84
134 }); 85 const fetch = function ({
135 return promise; 86 loading = true,
87 toast = true,
88 sid = true,
89 auth = true,
90 mode,
91 isMock,
92 url,
93 data,
94 method
95 }) {
96 if (loading && mode != 'log') wx.showLoading();
97 // 新建promise对象
98 let promise = new Promise((resolve, reject) => {
99 /**
100 * isMock设置单个接口Mock开启
101 * mode:目前针对不同业务的接口进行处理,log标识本地埋点上传
102 */
103 let baseUrl = config.NET_CONFIG.baseApi;
104 if (isMock && mode != 'log') {
105 baseUrl = config.MOCKAPI; //环境配置
106 }
107 checkSessionId(sid).then((result) => {
108 wx.request({
109 url: baseUrl + url, //请求地址
110 data: data, //自定义参数
111 method: method || 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
112 header: {
113 sessionId: Store.getItem("sessionId")
114 },
115 success: function (result) {
116 // 日志上传不需要处理结果
117 if (mode == 'log') return;
118 let res = result.data;
119 // 登陆失效拦截,根据项目需要添加自己的配置
120 if (res.code == 404) {
121 //登陆失效的回调
122 Store.clear("sessionId");
123 // wx.reLaunch({
124 // url: '/pages/index/index'
125 // })
126 // 404后拉取登陆后再做一次
127 login().then((resultLogin) => {
128 wx.request({
129 url: baseUrl + url, //请求地址
130 data: data, //自定义参数
131 method: method || 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
132 header: {
133 sessionId: Store.getItem("sessionId")
134 },
135 success: function (result) {
136 // 日志上传不需要处理结果
137 if (mode == 'log') return;
138 let res = result.data;
139 if (res.code === 200) {
140 if (loading) {
141 wx.hideLoading();
142 }
143 resolve(res.content);
144 } else {
145 // 有些特殊状况不需要toast 需要弹窗
146 if (toast) {
147 wx.showToast({
148 title: res.errMsg || errMsg,
149 icon: 'none'
150 })
151 } else {
152 wx.hideLoading();
153 }
154 // 返回错误信息
155 reject(res);
156 }
157 }
158 });
159 })
160 return;
161 }
162 // 内部统一的成功code拦截码
163 if (res.code === 200) {
164 if (loading) {
165 wx.hideLoading();
166 }
167 resolve(res.content);
168 } else {
169 // 有些特殊状况不需要toast 需要弹窗
170 if (toast) {
171 wx.showToast({
172 title: res.errMsg || errMsg,
173 icon: 'none'
174 })
175 } else {
176 wx.hideLoading();
177 }
178 // 返回错误信息
179 reject(res);
180 }
181 },
182 fail: function (e = {
183 CODE: -1,
184 msg: errMsg,
185 errMsg
186 }) {
187 let msg = e.errMsg;
188 if (e.errMsg == 'request:fail timeout') {
189 msg = '服务请求超时,请稍后重试'
190 }
191 wx.showToast({
192 title: msg,
193 icon: 'none'
194 });
195 reject(e)
196 },
197 complete: function () {
198 // complete
199 }
200 })
201 })
202 });
203 return promise;
136 } 204 }
137 205
138 module.exports = { 206 module.exports = {
139 fetch 207 fetch
140 } 208 }
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: { 3 data: {
4 authorizeVisible: false,
4 value: "", 5 value: "",
5 checked: true, 6 checked: true,
6 }, 7 },
8 onShareAppMessage() {},
9 showAuth() {
10 this.setData({
11 authorizeVisible: true
12 })
13 },
7 onLoad(options) {}, 14 onLoad(options) {},
8 onChange(event) { 15 onChange(event) {
9 this.setData({ 16 this.setData({
......
...@@ -32,3 +32,6 @@ ...@@ -32,3 +32,6 @@
32 </view> 32 </view>
33 </view> 33 </view>
34 </view> 34 </view>
35 <van-popup show="{{ authorizeVisible }}" >
36 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
37 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {}, 12 onLoad(options) {},
5 // 编辑收货地址 13 // 编辑收货地址
6 onAddressEditHandler() { 14 onAddressEditHandler() {
......
...@@ -54,3 +54,6 @@ ...@@ -54,3 +54,6 @@
54 </view> 54 </view>
55 </view> 55 </view>
56 </view> 56 </view>
57 <van-popup show="{{ authorizeVisible }}" >
58 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
59 </van-popup>
......
1 let app = getApp();
2
3 Page({
4 data: {
5 barHeight: app.globalData.barHeight,
6 navbarData: {
7 showCapsule: 0, //是否显示左上角图标 1表示显示 0表示不显示
8 title: '微信授权' //导航栏 中间的标题
9 },
10 loginData: null,
11 authorized: false,
12 canIUse: wx.canIUse('button.open-type.getUserInfo'),
13 },
14 onShareAppMessage() {},
15 onLoad(options) {},
16 onReady() {
17 // app.store.clear("sessionId");
18 let _this = this;
19 wx.login({
20 success: function (res) {
21 _this.data.loginData = res;
22 }
23 });
24 },
25 bindGetUserInfo(e) {
26 wx.showLoading();
27 this.getUserInfo(e.detail);
28 },
29 getUserInfo(e) {
30 let _this = this;
31 app.globalData.userInfo = e.userInfo;
32 // console.log("loginData:",_this.data.loginData);
33 app.post({
34 url: app.api.register,
35 sid: false,
36 data: {
37 encryptedData: e.encryptedData,
38 iv: e.iv,
39 code: _this.data.loginData.code,
40 }
41 }).then((res2) => {
42 app.store.setItem('sessionId', res2.sessionId);
43 _this.setData({
44 authorized: true
45 })
46 _this.toIndex();
47 }).catch((err) => {
48 console.log("@authorize || err:", err);
49 })
50 },
51 toIndex() {
52 console.log("@authorize || toIndex ");
53 setTimeout(() => {
54 app.router.push({
55 path: "index",
56 query: {},
57 openType: "redirect"
58 })
59 wx.hideLoading();
60 }, 2000);
61 }
62 })
1 {
2 "usingComponents": {
3 "navbar": "../../component/navbar/index"
4 },
5 "navigationStyle": "custom"
6 }
1 @import '../../assets/scss/mixins';
2
3 .page {
4 position: relative;
5 overflow: hidden;
6
7 .bgc {
8 // background-color: transparent;
9 // background-color: black;
10 background-color: #fafafc;
11 }
12
13
14 .main {
15
16 position: relative;
17
18 .top-space {
19 height: 60px;
20 }
21
22
23 .login {
24 position: relative;
25 width: 650px;
26 margin: 0 auto;
27 text-align: center;
28
29 &-logo {
30 width: 140px;
31 height: 140px;
32 }
33
34 &-name {
35 margin-top: 32px;
36 font-size: 32px;
37 color: #333333;
38 }
39
40 &-line {
41 margin-top: 70px;
42 width: 650px;
43 height: 2px;
44 background-color: #eaeaec;
45 }
46
47 &-title {
48 margin-top: 40px;
49 font-size: 32px;
50 text-align: left;
51 color: #333333;
52 }
53
54
55 &-tips {
56 margin-top: 28px;
57 font-size: 26px;
58 text-align: left;
59 color: #666666;
60 }
61
62 &-btn {
63 margin-top: 102px;
64 width: 650px;
65 height: 90px;
66 line-height: 90px;
67 border-radius: 8px;
68 background-color: #00c200;
69 font-size: 32px;
70 color: #ffffff;
71 }
72
73 }
74
75 }
76
77 }
1 <navbar navbar-data='{{navbarData}}'></navbar>
2 <view style='height: {{barHeight}}px'></view>
3 <view class="page-authorize page">
4 <view class="app__bgc bgc"></view>
5 <view class="app__bg bg"></view>
6 <!-- <view class="app__top-shadow"></view> -->
7 <view class="app__content main">
8 <view class="top-space"></view>
9 <view class="login">
10 <image class="login-logo" src="../../image/logo.png" mode="aspectFit" />
11 <view class="login-name">志亮·深士照明</view>
12 <view class="login-line"></view>
13 <view class="login-title">完整体验小程序功能,需要您的微信授权</view>
14 <view class="login-tips">· 获取您的公开信息(昵称、头像等)</view>
15 <button type="default" class="login-btn" wx:if="{{!authorized}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">
16 确认授权
17 </button>
18 </view>
19 </view>
20 </view>
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {} 12 onLoad(options) {}
5 }) 13 })
......
1 { 1 {
2 "navigationBarTitleText": "more" 2 "navigationBarTitleText": "联系我们"
3 } 3 }
......
1 @import '../../assets/scss/mixins'; 1 @import '../../assets/scss/mixins';
2 @import '../../assets/scss/utils'; 2 @import '../../assets/scss/utils';
3 3
4 $contentWidth:690px;
5
4 .page { 6 .page {
5 .bgc {} 7 .bgc {}
6 8
...@@ -8,11 +10,73 @@ ...@@ -8,11 +10,73 @@
8 10
9 .main { 11 .main {
10 .top-space { 12 .top-space {
11 height: 0px; 13 height: 40px;
12 } 14 }
13 15
14 .content { 16 .content {
15 position: relative; 17 position: relative;
18
19 .form {
20 color: #333333;
21 &-item {
22 font-size: 28px;
23 display: flex;
24 justify-content: space-between;
25 margin: 30px auto;
26
27 .label {
28 color: #666666;
29 width: 120px;
30 margin-right: 20px;
31 }
32
33 .val {
34 flex: 1;
35 color: #333333;
36 }
37
38 .net {
39 color: #3680EB;
40 }
41
42 .exts {
43 @extend .fcc;
44
45 .icon {
46 width: 36px;
47 height: 35px;
48 margin-right: 10px;
49 }
50 }
51
52
53 }
54
55 .upload{
56 margin-top: 30px;
57 .tips{
58 font-size: 28px;
59 color: #666666;
60 }
61 .upload{}
62 }
63
64 .textarea {
65 background: #F8F8F8;
66 @extend .bb;
67 padding: 20px;
68 font-size: 28px;
69 }
70 }
16 } 71 }
17 } 72 }
18 } 73 }
74
75 .border {
76 width: $contentWidth;
77 @extend .shadow;
78 background-color: #ffffff;
79 @extend .bb;
80 padding: 40px 34px;
81 margin: 0 auto 20px;
82 }
......
...@@ -3,6 +3,28 @@ ...@@ -3,6 +3,28 @@
3 <view class="app__bg bg"></view> 3 <view class="app__bg bg"></view>
4 <view class="app__content main"> 4 <view class="app__content main">
5 <view class="top-space"></view> 5 <view class="top-space"></view>
6 <view class="content"></view> 6 <view class="content">
7 <view class="border table">
8 <view class="form">
9 <view class="form-item">
10 <view class="label">用户姓名</view>
11 <view class="val">深圳市龙岗区龙信工业区A栋</view>
12 </view>
13 <view class="form-item">
14 <view class="label">联系方式</view>
15 <view class="val">深圳市龙岗区龙信工业区A栋</view>
16 </view>
17 <view class="form-item"></view>
18 <textarea class="textarea" placeholder="不超过500字"></textarea>
19 <view class="upload">
20 <view class="tips">上传照片</view>
21 <!-- <view class="up"></view> -->
22 </view>
23 </view>
24 </view>
25 </view>
7 </view> 26 </view>
8 </view> 27 </view>
28 <van-popup show="{{ authorizeVisible }}">
29 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
30 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {} 12 onLoad(options) {}
5 }) 13 })
......
1 { 1 {
2 "navigationBarTitleText": "more" 2 "navigationBarTitleText": "联系我们"
3 } 3 }
......
1 @import '../../assets/scss/mixins'; 1 @import '../../assets/scss/mixins';
2 @import '../../assets/scss/utils'; 2 @import '../../assets/scss/utils';
3 3
4 $contentWidth:690px;
5
4 .page { 6 .page {
7 border-bottom: $pageBottom;
8
5 .bgc {} 9 .bgc {}
6 10
7 .bg {} 11 .bg {}
8 12
9 .main { 13 .main {
10 .top-space { 14 .top-space {
11 height: 0px; 15 height: 20px;
12 } 16 }
13 17
14 .content { 18 .content {
15 position: relative; 19 position: relative;
20
21 // banner
22 .banner {
23 width: 726px;
24 margin: 0 auto;
25
26 image {
27 width: 726px;
28 }
29 }
30
31 // 表单
32 .table {
33 .form {
34 &-item {
35 font-size: 28px;
36 display: flex;
37 justify-content: space-between;
38 margin: 30px auto;
39
40 .label {
41 color: #666666;
42 width: 120px;
43 margin-right: 20px;
44 }
45
46 .val {
47 flex: 1;
48 color: #333333;
49 }
50
51 .net {
52 color: #3680EB;
53 }
54
55 .exts {
56 @extend .fcc;
57
58 .icon {
59 width: 36px;
60 height: 35px;
61 margin-right: 10px;
62 }
63 }
64 }
65 }
66 }
67
68 // 关注
69 .focus {
70 text-align: center;
71
72 .qrcode {
73 margin-top: 16px;
74 width: 280px;
75 }
76
77 .tips {
78 margin-top: 10px;
79 font-size: 28px;
80 color: #333333;
81 }
82
83 .btn {
84 // @extend .bc
85 @include cb();
86 margin: 40px auto 24px;
87 }
88
89 }
16 } 90 }
17 } 91 }
18 } 92 }
93
94
95
96 .border {
97 width: $contentWidth;
98 @extend .shadow;
99 background-color: #ffffff;
100 @extend .bb;
101 padding: 24px 30px;
102 margin: 0 auto 20px;
103 }
......
...@@ -3,6 +3,51 @@ ...@@ -3,6 +3,51 @@
3 <view class="app__bg bg"></view> 3 <view class="app__bg bg"></view>
4 <view class="app__content main"> 4 <view class="app__content main">
5 <view class="top-space"></view> 5 <view class="top-space"></view>
6 <view class="content"></view> 6 <view class="content">
7 <!-- banner -->
8 <view class="banner">
9 <image class="image" mode="widthFix" src="../../image/contact/contact-c1.png" />
10 </view>
11 <!-- 表单 -->
12 <view class="border table">
13 <view class="form">
14 <view class="form-item">
15 <view class="label">生产地址</view>
16 <view class="val">深圳市龙岗区龙信工业区A栋</view>
17 </view>
18 <view class="form-item">
19 <view class="label">电话</view>
20 <view class="val">0755-28839576</view>
21 <view class="exts">
22 <image class="icon" mode="aspectFit" src="../../image/contact/contact-c2.png" />
23 </view>
24 </view>
25 <view class="form-item">
26 <view class="label">手机</view>
27 <view class="val">0755-28839576</view>
28 <view class="exts">
29 <image class="icon" mode="aspectFit" src="../../image/contact/contact-c2.png" />
30 </view>
31 </view>
32 <view class="form-item">
33 <view class="label">网址</view>
34 <view class="val net">www.zgzlzm.com</view>
35 </view>
36 <view class="form-item">
37 <view class="label">E-mail</view>
38 <view class="val net">www.zgzlzm.com</view>
39 </view>
40 </view>
41 </view>
42 <!-- 关注 -->
43 <view class="border focus">
44 <image class="qrcode" mode="widthFix" src="../../image/qrcode/qrcode-focus.png" />
45 <view class="tips">更多讯息,欢迎关注我们的公众号</view>
46 <view class="btn">一键关注</view>
47 </view>
48 </view>
7 </view> 49 </view>
8 </view> 50 </view>
51 <van-popup show="{{ authorizeVisible }}">
52 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
53 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {}, 12 onLoad(options) {},
5 /** 13 /**
6 * 确认兑换 / 提交订单 14 * 确认兑换 / 提交订单
......
...@@ -58,3 +58,6 @@ ...@@ -58,3 +58,6 @@
58 </view> 58 </view>
59 </view> 59 </view>
60 </view> 60 </view>
61 <van-popup show="{{ authorizeVisible }}" >
62 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
63 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: { 3 data: {
4 authorizeVisible: false,
4 productList: ["", "", ""] 5 productList: ["", "", ""]
5 }, 6 },
7 onShareAppMessage() {},
8 showAuth() {
9 this.setData({
10 authorizeVisible: true
11 })
12 },
6 onLoad(options) {}, 13 onLoad(options) {},
7 /** 14 /**
8 * 显示礼物详情 15 * 显示礼物详情
......
...@@ -6,17 +6,17 @@ ...@@ -6,17 +6,17 @@
6 <div class="top-wrap"> 6 <div class="top-wrap">
7 <view class="search"> 7 <view class="search">
8 <input class="ipt" placeholder="输入关键字搜索" /> 8 <input class="ipt" placeholder="输入关键字搜索" />
9 <image class="icon" mode="aspectFit" src="../../image/icon/icon_search.png" /> 9 <image class="icon" mode="aspectFit" src="../../image/icon/icon-search.png" />
10 </view> 10 </view>
11 <view class="filter"> 11 <view class="filter">
12 积分排序 12 积分排序
13 <view wx:if="{{1>0}}" class="icon-wrap"> 13 <view wx:if="{{1>0}}" class="icon-wrap">
14 <image class="icon up" src="../../image/icon/icon_filter_up_on.png" mode="widthFix" /> 14 <image class="icon up" src="../../image/icon/icon-filter-up-on.png" mode="widthFix" />
15 <image class="icon down" src="../../image/icon/icon_filter_down.png" mode="widthFix" /> 15 <image class="icon down" src="../../image/icon/icon-filter-down.png" mode="widthFix" />
16 </view> 16 </view>
17 <view wx:else class="icon-wrap"> 17 <view wx:else class="icon-wrap">
18 <image class="icon up" src="../../image/icon/icon_filter_up.png" mode="widthFix" /> 18 <image class="icon up" src="../../image/icon/icon-filter-up.png" mode="widthFix" />
19 <image class="icon down" src="../../image/icon/icon_filter_down_on.png" mode="widthFix" /> 19 <image class="icon down" src="../../image/icon/icon-filter-down-on.png" mode="widthFix" />
20 </view> 20 </view>
21 </view> 21 </view>
22 </div> 22 </div>
...@@ -39,3 +39,6 @@ ...@@ -39,3 +39,6 @@
39 </view> 39 </view>
40 </view> 40 </view>
41 </view> 41 </view>
42 <van-popup show="{{ authorizeVisible }}" >
43 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
44 </van-popup>
......
1 import {
2 getBindtapData
3 } from '../../utils/util';
4
1 let app = getApp(); 5 let app = getApp();
2 Page({ 6 Page({
3 data: { 7 data: {
8 authorizeVisible: false,
4 productDetailVisible: false, 9 productDetailVisible: false,
10 bannerList: [], // 轮播图列表
11 total: 0,
12 page: 1,
13 size: 10,
14 productList: [], // 产品列表
15 curProductDetail: {} // 选中的产品详情
5 }, 16 },
6 onLoad(options) {}, 17 onShareAppMessage() {},
7 18 showAuth() {
8 // 子组件事件 19 this.setData({
9 evtcomp(evt) { 20 authorizeVisible: true
10 let { 21 })
11 name, 22 },
12 data 23 onLoad(options) {
13 } = evt.detail; 24 this.queryProduct();
14 switch (name) { 25 this.queryBanner();
15 26 },
16 case "_evt_hide_product_detail_mask": 27 // 到达底部
28 onReachBottom() {
29 if (this.data.productList.length < this.data.total) {
30 this.setData({
31 page: this.data.page + 1
32 });
33 this.queryProduct();
34 }
35 },
36 // 重置页面列表 点击搜索条件时需要
37 resetPage() {
38 this.setData({
39 page: 1,
40 productList: []
41 })
42 },
43 /**
44 * 请求产品
45 */
46 queryProduct() {
47 return new Promise((resolve, reject) => {
48 app.post({
49 sid: false,
50 url: app.api.product,
51 data: {
52 page: this.data.page,
53 size: this.data.size,
54 },
55 }).then((result) => {
56 let productList = result.list;
57 productList = this.data.productList.concat(productList);
17 this.setData({ 58 this.setData({
18 productDetailVisible: false 59 productList: productList,
60 total: result.total
19 }) 61 })
20 break; 62 resolve();
21 63 })
22 default: 64 });
23 break;
24 }
25 }, 65 },
26 /** 66 /**
67 * 请求bannder
68 */
69 queryBanner() {
70 return new Promise((resolve, reject) => {
71 app.post({
72 sid: false,
73 url: app.api.bannerList,
74 data: {},
75 }).then((result) => {
76 this.setData({
77 bannerList: result
78 })
79 resolve();
80 })
81 });
82 },
83
84 /**
27 * 点击详情 85 * 点击详情
28 */ 86 */
29 onProductItemHandler() { 87 onProductItemHandler(evt) {
88 let curProductDetail = getBindtapData(evt);
30 this.setData({ 89 this.setData({
90 curProductDetail: curProductDetail,
31 productDetailVisible: true 91 productDetailVisible: true
32 }) 92 })
33 }, 93 },
...@@ -42,5 +102,23 @@ Page({ ...@@ -42,5 +102,23 @@ Page({
42 let result = res.result; 102 let result = res.result;
43 } 103 }
44 }) 104 })
45 } 105 },
106 // 子组件事件
107 evtcomp(evt) {
108 let {
109 name,
110 data
111 } = evt.detail;
112 switch (name) {
113
114 case "_evt_hide_product_detail_mask":
115 this.setData({
116 productDetailVisible: false
117 })
118 break;
119
120 default:
121 break;
122 }
123 },
46 }) 124 })
......
...@@ -14,7 +14,7 @@ $contentWidth:670px; ...@@ -14,7 +14,7 @@ $contentWidth:670px;
14 .main { 14 .main {
15 15
16 .top { 16 .top {
17 position: fixed; 17 position: relative;
18 width: 750px; 18 width: 750px;
19 z-index: 11; 19 z-index: 11;
20 20
...@@ -24,13 +24,18 @@ $contentWidth:670px; ...@@ -24,13 +24,18 @@ $contentWidth:670px;
24 height: 300px; 24 height: 300px;
25 } 25 }
26 26
27 .space1{
28 height: 222px;
29 }
30
27 .search { 31 .search {
28 position: relative; 32 position: relative;
29 width: $contentWidth; 33 width: $contentWidth;
30 height: 100px; 34 height: 100px;
31 background: #FFFFFF; 35 background: #FFFFFF;
32 @extend .shadow; 36 @extend .shadow;
33 margin: 222px auto 0; 37 // margin: 222px auto 0;
38 margin: 0 auto 0;
34 display: flex; 39 display: flex;
35 justify-content: space-between; 40 justify-content: space-between;
36 align-items: center; 41 align-items: center;
...@@ -66,7 +71,8 @@ $contentWidth:670px; ...@@ -66,7 +71,8 @@ $contentWidth:670px;
66 } 71 }
67 72
68 .top-space { 73 .top-space {
69 height: 362px; 74 // height: 362px;
75 height: 80px;
70 } 76 }
71 77
72 .content { 78 .content {
...@@ -78,8 +84,17 @@ $contentWidth:670px; ...@@ -78,8 +84,17 @@ $contentWidth:670px;
78 .banner { 84 .banner {
79 width: $contentWidth; 85 width: $contentWidth;
80 height: 250px; 86 height: 250px;
81 background-color: wheat;
82 margin: 0 auto; 87 margin: 0 auto;
88
89 .swiper {
90 width: $contentWidth;
91 height: 250px;
92
93 .swiper-image {
94 width: $contentWidth;
95 height: 250px;
96 }
97 }
83 } 98 }
84 99
85 // 产品 100 // 产品
...@@ -111,19 +126,21 @@ $contentWidth:670px; ...@@ -111,19 +126,21 @@ $contentWidth:670px;
111 padding-bottom: 12px; 126 padding-bottom: 12px;
112 127
113 .image { 128 .image {
114 background: wheat;
115 width: 322px; 129 width: 322px;
116 height: 322px; 130 height: 322px;
117 } 131 }
118 132
119 .desc { 133 .desc {
120 @extend .bb; 134 @extend .bb;
135 width: 322px;
121 padding: 4px 20px; 136 padding: 4px 20px;
122 font-size: 24px; 137 font-size: 24px;
123 // line-height: 32px; 138 // line-height: 32px;
124 color: #333333; 139 color: #333333;
125 @include ellipsis(3); 140 @include ellipsis(3);
126 } 141 }
142
143
127 } 144 }
128 } 145 }
129 } 146 }
......
...@@ -4,58 +4,40 @@ ...@@ -4,58 +4,40 @@
4 <view class="app__content main"> 4 <view class="app__content main">
5 <!-- Title及搜索框 --> 5 <!-- Title及搜索框 -->
6 <view class="top"> 6 <view class="top">
7 <image class="top-bg" mode="widthFix" src="../../image/index/index_c1.png" /> 7 <image class="top-bg" mode="widthFix" src="../../image/index/index-c1.png" />
8 <view class="space1"></view>
8 <view class="search"> 9 <view class="search">
9 <view class="search-ipt-wrap"> 10 <view class="search-ipt-wrap">
10 <input class="ipt" placeholder="请输入串码" /> 11 <input class="ipt" placeholder="请输入串码" />
11 </view> 12 </view>
12 <view class="search-scan"> 13 <view class="search-scan">
13 <image class="icon" mode="aspectFit" src="../../image/icon/icon_search.png" /> 14 <image class="icon" mode="aspectFit" src="../../image/icon/icon-search.png" />
14 </view> 15 </view>
15 <view class="search-line"></view> 16 <view class="search-line"></view>
16 <view bindtap="onScanHandler" class="search-scan"> 17 <view bindtap="onScanHandler" class="search-scan">
17 <image class="icon" mode="aspectFit" src="../../image/icon/icon_scan.png" /> 18 <image class="icon" mode="aspectFit" src="../../image/icon/icon-scan.png" />
18 </view> 19 </view>
19 </view> 20 </view>
20 </view> 21 </view>
21 <view class="top-space"></view> 22 <view class="top-space"></view>
22 <view class="content"> 23 <view class="content">
23 <!-- 轮播 banner --> 24 <!-- 轮播 banner -->
24 <!-- <swiper indicator-dots="{{true}}" autoplay="{{true}}" interval="{{5000}}" duration="{{500}}"> 25 <view class="banner">
25 <block wx:for="{{imgUrls}}"> 26 <swiper class="swiper" indicator-color="rgba(0,0,0,.3)" indicator-active-color="rgba(255,255,255,1)" indicator-dots="{{true}}" autoplay="{{true}}" interval="{{5000}}" duration="{{500}}">
26 <swiper-item> 27 <block wx:for="{{bannerList}}" wx:key="{{index}}">
27 <image class="swiper-image" src="{{item}}" /> 28 <swiper-item>
28 </swiper-item> 29 <image class="swiper-image" src="{{item}}" mode="aspectFill" />
29 </block> 30 </swiper-item>
30 </swiper> --> 31 </block>
31 <view class="banner"></view> 32 </swiper>
33 </view>
32 <view class="product"> 34 <view class="product">
33 <view class="product-title">产品推荐{{codeStr}}</view> 35 <view class="product-title">产品推荐{{codeStr}}</view>
34 <view class="product-list"> 36 <view class="product-list">
35 <!-- for循环 --> 37 <!-- for循环 -->
36 <view class="item" bindtap="onProductItemHandler"> 38 <view bindtap="onProductItemHandler" data-data="{{item}}" wx:for="{{productList}}" wx:key="{{index}}" class="item">
37 <image class="image" mode="aspectFill" /> 39 <image class="image" mode="aspectFill" src="{{item.productImages[0]}}" />
38 <view class="desc"> 40 <view class="desc">{{item.productInfo}}</view>
39 LED筒灯-3W 5W 7W 9W 12W 15W 18WLED筒灯-3W 5W 7W 9W 12W 15W 18WLED筒灯-3W 5W 7W 9W 12W 15W 18WLED筒灯-3W 5W 7W 9W 12W 15W 18W
40 </view>
41 </view>
42 <view class="item">
43 <image class="image" mode="aspectFill" />
44 <view class="desc">
45 LED筒灯-3W 5W 7W 9W 12W 15W 18WLED筒灯-3W 5W 7W 9W 12W 15W 18WLED筒灯-3W 5W 7W 9W 12W 15W 18WLED筒灯-3W 5W 7W 9W 12W 15W 18W
46 </view>
47 </view>
48 <view class="item">
49 <image class="image" mode="aspectFill" />
50 <view class="desc">
51 LED筒灯-3W 5W 7W 9W 12W 15W 18WLED筒灯-3W 5W 7W 9W 12W 15W 18WLED筒灯-3W 5W 7W 9W 12W 15W 18WLED筒灯-3W 5W 7W 9W 12W 15W 18W
52 </view>
53 </view>
54 <view class="item">
55 <image class="image" mode="aspectFill" />
56 <view class="desc">
57 LED筒灯-3W 5W 7W 9W 12W 15W 18WLED筒灯-3W 5W 7W 9W 12W 15W 18WLED筒灯-3W 5W 7W 9W 12W 15W 18WLED筒灯-3W 5W 7W 9W 12W 15W 18W
58 </view>
59 </view> 41 </view>
60 </view> 42 </view>
61 </view> 43 </view>
...@@ -63,5 +45,8 @@ ...@@ -63,5 +45,8 @@
63 </view> 45 </view>
64 </view> 46 </view>
65 <van-popup show="{{ productDetailVisible }}" position="bottom"> 47 <van-popup show="{{ productDetailVisible }}" position="bottom">
66 <product-detail-comp bind:evtcomp="evtcomp"></product-detail-comp> 48 <product-detail-comp product-info="{{curProductDetail}}" bind:evtcomp="evtcomp"></product-detail-comp>
49 </van-popup>
50 <van-popup show="{{ authorizeVisible }}">
51 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
67 </van-popup> 52 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {} 12 onLoad(options) {}
5 }) 13 })
......
...@@ -6,3 +6,6 @@ ...@@ -6,3 +6,6 @@
6 <view class="content"></view> 6 <view class="content"></view>
7 </view> 7 </view>
8 </view> 8 </view>
9 <van-popup show="{{ authorizeVisible }}" >
10 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
11 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {} 12 onLoad(options) {}
5 }) 13 })
......
...@@ -7,3 +7,6 @@ ...@@ -7,3 +7,6 @@
7 <view class="content"></view> 7 <view class="content"></view>
8 </view> 8 </view>
9 </view> 9 </view>
10 <van-popup show="{{ authorizeVisible }}" >
11 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
12 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {} 12 onLoad(options) {}
5 }) 13 })
......
...@@ -6,3 +6,6 @@ ...@@ -6,3 +6,6 @@
6 <view class="content"></view> 6 <view class="content"></view>
7 </view> 7 </view>
8 </view> 8 </view>
9 <van-popup show="{{ authorizeVisible }}" >
10 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
11 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {} 12 onLoad(options) {}
5 }) 13 })
......
...@@ -6,3 +6,6 @@ ...@@ -6,3 +6,6 @@
6 <view class="content"></view> 6 <view class="content"></view>
7 </view> 7 </view>
8 </view> 8 </view>
9 <van-popup show="{{ authorizeVisible }}" >
10 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
11 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {} 12 onLoad(options) {}
5 }) 13 })
......
...@@ -6,3 +6,6 @@ ...@@ -6,3 +6,6 @@
6 <view class="content"></view> 6 <view class="content"></view>
7 </view> 7 </view>
8 </view> 8 </view>
9 <van-popup show="{{ authorizeVisible }}" >
10 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
11 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {} 12 onLoad(options) {}
5 }) 13 })
......
...@@ -6,3 +6,6 @@ ...@@ -6,3 +6,6 @@
6 <view class="content"></view> 6 <view class="content"></view>
7 </view> 7 </view>
8 </view> 8 </view>
9 <van-popup show="{{ authorizeVisible }}" >
10 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
11 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {} 12 onLoad(options) {}
5 }) 13 })
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {} 12 onLoad(options) {}
5 }) 13 })
......
...@@ -6,3 +6,6 @@ ...@@ -6,3 +6,6 @@
6 <view class="content">scan-result</view> 6 <view class="content">scan-result</view>
7 </view> 7 </view>
8 </view> 8 </view>
9 <van-popup show="{{ authorizeVisible }}" >
10 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
11 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {} 12 onLoad(options) {}
5 }) 13 })
......
...@@ -7,3 +7,6 @@ ...@@ -7,3 +7,6 @@
7 <view class="content"></view> 7 <view class="content"></view>
8 </view> 8 </view>
9 </view> 9 </view>
10 <van-popup show="{{ authorizeVisible }}" >
11 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
12 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 onLoad(options) {} 4 authorizeVisible: false,
5 userInfo: {},
6 },
7 onShareAppMessage() {},
8 showAuth() {
9 this.setData({
10 authorizeVisible: true
11 })
12 },
13 onShow() {
14
15 },
16 onLoad(options) {
17 this.initData();
18 },
19 initData() {
20 this.queryMember();
21 },
22 /**
23 * 获取会员信息
24 */
25 queryMember() {
26 return new Promise((resolve, reject) => {
27 app.post({
28 url: app.api.member,
29 data: {}
30 }).then((result) => {
31 this.setData({
32 userInfo: result
33 })
34 resolve();
35 })
36 });
37 },
38
39 // 子组件事件
40 evtcomp(evt) {
41 let {
42 name,
43 data
44 } = evt.detail;
45 switch (name) {
46
47 case "_evt_auth_complete":
48 this.initData();
49 break;
50
51 case "_evt_hide_mask":
52 break;
53
54 default:
55 break;
56 }
57 },
5 }) 58 })
......
1 @import '../../assets/scss/mixins'; 1 @import '../../assets/scss/mixins';
2 @import '../../assets/scss/utils'; 2 @import '../../assets/scss/utils';
3 3
4 $contentWidth: 690px;
5
4 .page { 6 .page {
7 padding-bottom: $pageBottom;
8
5 .bgc {} 9 .bgc {}
6 10
7 .bg {} 11 .bg {}
8 12
9 .main { 13 .main {
14
15 .top {
16 position: relative;
17 width: 750px;
18 color: #ffffff;
19
20 &-bg {
21 position: absolute;
22 width: 750px;
23 height: 300px;
24 }
25
26 .user {
27 width: 750px;
28 margin: 0 auto 36px;
29 position: relative;
30 padding-top: 42px;
31 display: flex;
32 justify-content: space-between;
33 z-index: 21;
34
35 &-info {
36 display: flex;
37 padding-left: 30px;
38 @extend .bb;
39
40 .avatar {
41 width: 120px;
42 height: 120px;
43 border-radius: 60px;
44 }
45
46 .wrap1 {
47 margin-top: 12px;
48 margin-left: 20px;
49
50 .name {
51 font-size: 36px;
52 }
53
54 .vip {
55 font-size: 24px;
56 margin-top: 8px;
57 background: #FF7B21;
58 border-radius: 4px;
59 padding: 2px 12px;
60 border-radius: 8px;
61 }
62
63 .vip-check{
64 background: #6DD400;
65 }
66 }
67 }
68
69 &-data {
70 display: flex;
71 align-items: center;
72
73
74 .wrap {
75 // width: 120px;
76 padding: 0 40px;
77 text-align: center;
78
79 .t1 {
80 font-size: 40px;
81 }
82
83 .t2 {
84 font-size: 24px;
85 opacity: .7;
86 }
87 }
88
89 .line {
90 height: 80px;
91 width: 2px;
92 opacity: 0.5;
93 background: #FFFFFF;
94 }
95 }
96 }
97 }
98
10 .top-space { 99 .top-space {
11 height: 0px; 100 height: 0px;
12 } 101 }
13 102
14 .content { 103 .content {
15 position: relative; 104 position: relative;
105 color: #ffffff;
106
107 // 场景
108 .sence {
109 width: $contentWidth;
110 margin: 0 auto 0;
111
112 .border {
113 width: $contentWidth;
114 @extend .shadow;
115 background-color: #ffffff;
116 @extend .bb;
117 padding: 24px 26px;
118 margin: 0 auto 20px;
119 }
120
121 // 签到区
122 .sign {
123
124 // 头部
125 .tit {
126 display: flex;
127 justify-content: space-between;
128
129 .t1 {
130 font-size: 28px;
131 color: #333333;
132 font-weight: bold;
133 }
134
135 .t2 {
136 display: flex;
137 align-items: center;
138 font-size: 24px;
139 color: #3680EB;
140
141 .icon {
142 width: 34px;
143 height: 36px;
144 margin-right: 10px;
145 }
146 }
147 }
148
149 // 7天签到
150 .check {
151 position: relative;
152 margin: 32px auto 0;
153 display: flex;
154 justify-content: space-between;
155
156 &-item {
157 width: 68px;
158 height: 100px;
159 border-radius: 8px;
160 text-align: center;
161 background: #F0F0F0;
162 padding: 8px 4px;
163 @extend .bb;
164
165 .no {
166 @extend .fcc;
167 color: #333333;
168 font-size: 28px;
169 height: 40px;
170 }
171
172 .icon {
173 image {
174 margin-top: 4px;
175 width: 40px;
176 height: 40px;
177 }
178 }
179 }
180
181 &-item-act {
182 color: #FFFFFF;
183 background: #3680EB;
184
185 .no {
186 color: #ffffff;
187 }
188 }
189 }
190
191 // 签到按钮
192 &-btn {
193 @include btc(280px, 68px);
194 margin: 42px auto 4px;
195 border-radius: 34px;
196 background: #3680EB;
197 font-size: 28px;
198 color: #FFFFFF;
199 }
200 &-btn-disable{
201 background: #ECECEC;
202 }
203 }
204
205 // 订单区域
206 .order {
207 display: flex;
208 justify-content: space-between;
209 font-size: 24px;
210 color: #131415;
211 text-align: center;
212
213 &-item {
214 width: 110px;
215
216 .icon-wrap {
217 @extend .fcc;
218 height: 100px;
219 height: 100px;
220
221 .icon {
222 height: 64px;
223 height: 64px;
224 }
225 }
226
227 .txt {}
228 }
229 }
230
231 // 功能区
232 .func {
233 color: #333333;
234 font-size: 28px;
235 text-align: center;
236
237 .my-qrcode {
238 width: 620px;
239 // height: 140px;
240 margin: auto 0;
241 background: #F8F8F8;
242 padding: 22px 0;
243
244 .qrcode {
245 width: 56px;
246 height: 56px;
247 }
248
249 .t1 {
250 margin-top: 4px;
251 }
252 }
253
254 &-wrap {
255 margin: 40px auto 4px;
256 display: flex;
257 justify-content: space-between;
258
259 &-item {
260 width: 132px;
261
262 .icon-wrap {
263 @extend .fcc;
264 height: 100px;
265 height: 100px;
266
267 .icon {
268 height: 64px;
269 height: 64px;
270 }
271 }
272
273 .txt {}
274 }
275
276 }
277 }
278
279
280 }
16 } 281 }
17 } 282 }
18 } 283 }
......
...@@ -2,7 +2,144 @@ ...@@ -2,7 +2,144 @@
2 <view class="app__bgc bgc"></view> 2 <view class="app__bgc bgc"></view>
3 <view class="app__bg bg"></view> 3 <view class="app__bg bg"></view>
4 <view class="app__content main"> 4 <view class="app__content main">
5 <view class="top">
6 <image class="top-bg" mode="widthFix" src="../../image/user-center/user-center-top-bg.png" />
7 <!-- 用户信息 -->
8 <view class="user">
9 <!-- 左边栏 -->
10 <view class="user-info">
11 <image class="avatar" mode="aspectFill" src="{{userInfo.avatar}}" />
12 <view class="wrap1">
13 <view class="name">{{userInfo.realName}}</view>
14 <view wx:if="{{userInfo.auditStatus == 'authorization'}}" class="vip vip-check">积分会员</view>
15 <view wx:else class="vip">未验证 ></view>
16 </view>
17 </view>
18 <!-- 右边栏 -->
19 <view class="user-data">
20 <view class="wrap">
21 <view class="t1">1345</view>
22 <view class="t2">我的积分</view>
23 </view>
24 <view class="line"></view>
25 <view class="wrap">
26 <view class="t1">20</view>
27 <view class="t2">推广数据</view>
28 </view>
29 </view>
30 </view>
31 </view>
5 <view class="top-space"></view> 32 <view class="top-space"></view>
6 <view class="content"></view> 33 <view class="content">
34 <!-- 场景 -->
35 <view class="sence">
36 <!-- 签到区 -->
37 <view class="border sign ">
38 <view class="tit">
39 <view class="t1">连续签到7天赢现金红包</view>
40 <view class="t2">
41 <image class="icon" mode="aspectFit" src="../../image/icon/icon-sign-record.png" />
42 签到记录
43 </view>
44 </view>
45 <!-- 7天签到 -->
46 <view class="check">
47 <view class="check-item check-item-act">
48 <view class="no">1</view>
49 <view class="icon">
50 <image mode="aspectFit" src="../../image/icon/icon-check.png" />
51 <!-- <image mode="aspectFit" src="../../image/icon/icon-integral.png" /> -->
52 <!-- <image mode="aspectFit" src="../../image/icon/icon-red-package.png" /> -->
53 </view>
54 </view>
55 <view class="check-item ">
56 <view class="no">2</view>
57 <view class="icon">
58 <image mode="aspectFit" src="../../image/icon/icon-integral.png" />
59 </view>
60 </view>
61 <view class="check-item ">
62 <view class="no">3</view>
63 <view class="icon">
64 <image mode="aspectFit" src="../../image/icon/icon-red-package.png" />
65 </view>
66 </view>
67 </view>
68 <!-- 签到按钮 -->
69 <!-- <view class="sign-btn ">签到 (第4天)</view> -->
70 <view class="sign-btn sign-btn-disable">已签到</view>
71 </view>
72 <!-- 订单区 -->
73 <view class="border order ">
74 <view class="order-item">
75 <view class="icon-wrap">
76 <image class="icon" mode="aspectFit" src="../../image/icon/icon-all-order.png" />
77 </view>
78 <view class="txt">全部订单</view>
79 </view>
80 <view class="order-item">
81 <view class="icon-wrap">
82 <image class="icon" mode="aspectFit" src="../../image/icon/icon-wait-review.png" />
83 </view>
84 <view class="txt">待审核</view>
85 </view>
86 <view class="order-item">
87 <view class="icon-wrap">
88 <image class="icon" mode="aspectFit" src="../../image/icon/icon-review-pass.png" />
89 </view>
90 <view class="txt">已通过</view>
91 </view>
92 <view class="order-item">
93 <view class="icon-wrap">
94 <image class="icon" mode="aspectFit" src="../../image/icon/icon-shipped.png" />
95 </view>
96 <view class="txt">已发货</view>
97 </view>
98 <view class="order-item">
99 <view class="icon-wrap">
100 <image class="icon" mode="aspectFit" src="../../image/icon/icon-up-pass.png" />
101 </view>
102 <view class="txt">未通过</view>
103 </view>
104 </view>
105 <!-- 功能区 -->
106 <view class="border func">
107 <view class="my-qrcode">
108 <image class="qrcode" mode="widthFix" src="../../image/icon/icon-qrcode.png" />
109 <view class="t1">我的二维码</view>
110 </view>
111 <!-- 功能区 -->
112 <view class="func-wrap">
113 <view class="func-wrap-item">
114 <view class="icon-wrap">
115 <image class="icon" mode="aspectFit" src="../../image/icon/icon-integral-rank.png" />
116 </view>
117 <view class="txt">积分排行</view>
118 </view>
119 <view class="func-wrap-item">
120 <view class="icon-wrap">
121 <image class="icon" mode="aspectFit" src="../../image/icon/icon-my-address.png" />
122 </view>
123 <view class="txt">我的地址</view>
124 </view>
125 <view class="func-wrap-item">
126 <view class="icon-wrap">
127 <image class="icon" mode="aspectFit" src="../../image/icon/icon-my-message.png" />
128 </view>
129 <view class="txt">我的消息</view>
130 </view>
131 <view class="func-wrap-item">
132 <view class="icon-wrap">
133 <image class="icon" mode="aspectFit" src="../../image/icon//icon-concat-us.png" />
134 </view>
135 <view class="txt">联系我们</view>
136 </view>
137 </view>
138 </view>
139 </view>
140 </view>
7 </view> 141 </view>
8 </view> 142 </view>
143 <van-popup show="{{ authorizeVisible }}">
144 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
145 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {} 12 onLoad(options) {}
5 }) 13 })
......
...@@ -6,3 +6,6 @@ ...@@ -6,3 +6,6 @@
6 <view class="content"></view> 6 <view class="content"></view>
7 </view> 7 </view>
8 </view> 8 </view>
9 <van-popup show="{{ authorizeVisible }}" >
10 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
11 </van-popup>
......
1 let app = getApp(); 1 let app = getApp();
2 Page({ 2 Page({
3 data: {}, 3 data: {
4 authorizeVisible: false,
5 },
6 onShareAppMessage() {},
7 showAuth() {
8 this.setData({
9 authorizeVisible: true
10 })
11 },
4 onLoad(options) {} 12 onLoad(options) {}
5 }) 13 })
......
...@@ -6,3 +6,6 @@ ...@@ -6,3 +6,6 @@
6 <view class="content"></view> 6 <view class="content"></view>
7 </view> 7 </view>
8 </view> 8 </view>
9 <van-popup show="{{ authorizeVisible }}" >
10 <authorize-comp bind:evtcomp="evtcomp"></authorize-comp>
11 </van-popup>
......