Authored by 郭成尧

Merge branch 'release/6.0' into feature/loginview

... ... @@ -183,7 +183,7 @@ module.exports = class extends global.yoho.BaseModel {
friendInviteData = Object.assign(friendInviteData, result[0].data);
friendInviteData.imgSrc = _.get(result[2], 'data[0].src', '');
friendInviteData.goUrl = result[0].data ? helpers.urlFormat('/reg.html', {
inviteCode: result[0].data.trendWord ? result[0].data.trendWord : result[0].data.inviteCode
inviteCode: _.get(result[0], 'data.inviteCode', '')
}) : '//m.yohobuy.com/reg.html';
return friendInviteData;
... ...
... ... @@ -3,7 +3,7 @@
<div class="banner">
<span class="title">您的好友{{nickname}}<br><b>邀请您来有货玩潮流</b></span>
<div class="tip-text">
<img src="{{image imgSrc 636 311}}">
<img src="{{image2 imgSrc w=951 h=522 q=100}}">
</div>
<a class="btn" href="{{goUrl}}"></a>
</div>
... ... @@ -31,7 +31,7 @@
<span class="market-price">¥{{round .}}</span>
{{/market_price}}
</div>
<div class="name">{{product_name}}</div>
<div class="name">{{brand_name}}</div>
</div>
<span class="good-shop">/SHOP NOW/</span>
</a>
... ...
... ... @@ -21,7 +21,7 @@
<span class="item-title">领取资格</span>
</div>
<div class="item-right">
<span>您在领取时,<b class="color">必须是有货VIP金卡、白金卡用户。</b><a href="//m.yohobuy.com/home/grade">(了解您当前的VIP级别)</a> 金卡会员3张运费券,白金会员5张运费券。
<span>您在领取时,<b class="color">必须是有货VIP金卡、白金卡用户。</b><a href='//m.yohobuy.com/home/grade?openby:yohobuy={"action":"go.vipInfo"}'>(了解您当前的VIP级别)</a>金卡会员3张运费券,白金会员5张运费券。
</span>
</div>
</div>
... ... @@ -33,7 +33,7 @@
</div>
<div class="item-right">
<span>
下单时默认选择使用账户内运费券扣减相应金额运费,<b class="color">可与优惠券叠加使用,</b>如订单提交后产生拒收、取消(商品出库后)、退货等行为,使用的运费券不予返还。
下单时提示选择使用账户内运费券扣减相应金额运费,<b class="color">可与优惠券叠加使用,</b>如订单提交后产生拒收、取消(商品出库后)、退货等行为,使用的运费券不予返还。
</span>
</div>
</div>
... ...
... ... @@ -101,7 +101,7 @@
</span>
{{^}}
<span class="count">{{#if selectedAmount}}已选{{selectedAmount}}{{^}}{{count}}张可用{{/if}}</span>
<span class="coupon-info pull-right">
<span class="coupon-info pull-right{{#isEqualOr info '无可用'}} no-can-use{{/isEqualOr}}">
{{info}}
<i class="iconfont">&#xe614;</i>
</span>
... ...
<div class="yoho-page select-coupon-page my-coupon-page">
<div class="coupon-page-title">
<form id="new-coupon" class="new-coupon" method="POST" action="">
<form id="new-coupon" class="new-coupon clearfix" method="POST" action="">
<input type="text" name="couponCode" value="" placeholder="输入优惠券码">
<button type="submit" class="submit">兑换</button>
</form>
<div class="coupon-use-manual">
说明:普通优惠券可以与运费券同时使用
说明:优惠券码需先兑换成优惠券后再使用,普通优惠券可以和运费券叠加使用。
</div>
<div class="coupon-tab">
<ul class="tab-navs" data-sticky>
... ...
... ... @@ -45,6 +45,7 @@ module.exports = class extends global.yoho.BaseModel {
finaData = Object.assign(finaData, result[0]);
finaData.imgSrc = _.get(result[1], 'data[0].src', '');
finaData.resourcesUrl = _.get(result[1], 'data[0].url', '');
return finaData;
});
... ...
... ... @@ -65,8 +65,8 @@ router.post('/orders/changeAddress', orderDetailController.changeAddress); //
router.post('/orders/sure', auth, orderController.sure); // 确认收货
router.get('/', homeController.index); // 个人中心首页
router.get('/mydetails', auth, homeController.myDetails); // 个人基本资料页面
router.get('/', disableBFCache, homeController.index); // 个人中心首页
router.get('/mydetails', auth, disableBFCache, homeController.myDetails); // 个人基本资料页面
// router.get('/grade', auth, homeController.grade); // 会员等级页
router.get('/privilege', homeController.preferential); // 会员特权列表页
... ...
... ... @@ -15,7 +15,9 @@
{{/if}}
</div>
<img src="{{image imgSrc 690 650}}" class="resources">
<a href="{{resourcesUrl}}">
<img src="{{image imgSrc 1035 983}}" class="resources">
</a>
</div>
{{/ invitionDta}}
</div>
\ No newline at end of file
... ...
... ... @@ -10,7 +10,6 @@ const mRoot = '../models';
const headerModel = require('../../../doraemon/models/header');
const listModel = require(`${mRoot}/list`);
const _ = require('lodash');
const crypto = global.yoho.crypto;
const helpers = global.yoho.helpers;
const productProcess = require(`${utils}/product-process`);
const searchModel = require(`${mRoot}/search`);
... ... @@ -496,87 +495,6 @@ const shopCategory = (req, res, next) => {
};
/**
* 用戶領券
* @param req
* @param res
* @param next
*/
const userCoupon = (req, res, next) => {
let allowOrigin = _.get(req, 'headers.origin', null) ?
req.headers.origin : req.protocol + '://' + req.headers.host;
res.setHeader('Access-Control-Allow-Origin', allowOrigin);
res.setHeader('Access-Control-Allow-Credentials', 'true');
if (!req.body.couponID) {
return;
}
let cryptCouponId = crypto.decrypt('', req.body.couponID);
let uid = req.body.uid || req.user.uid;
let isApp = req.body.app_version || req.body.appVersion || false;
let data = {};
cryptCouponId = parseInt(cryptCouponId, 10);
uid = parseInt(uid, 10);
if (uid) {
listModel.receiveCoupon(
uid,
cryptCouponId
).then(result => {
res.json(result);
return;
}).catch(next);
} else {
data.code = 4401;// 401错误已经被接口占用
let refer = req.get('referer');
let toUrl = helpers.urlFormat('/signin.html', {refer: refer});
if (isApp) {
toUrl += '&openby:yohobuy={"action":"go.weblogin","params":{"jumpurl":{"url":"' + refer +
'","param":{}},"requesturl":{"param":{"method":"app.promotion.getCoupon","couponId":"' +
cryptCouponId + '"},"url":"' + _.get(global, 'yoho.API.ApiUrl', '') + '"},"priority":"Y"}}';
}
data.url = toUrl;
res.json(data);
}
};
/**
* 获取店铺优惠券列表
* @param req
* @param res
* @param next
*/
const getShopCouponsList = (req, res, next) => {
let allowOrigin = _.get(req, 'headers.origin', null) ?
req.headers.origin : req.protocol + '://' + req.headers.host;
res.setHeader('Access-Control-Allow-Origin', allowOrigin);
res.setHeader('Access-Control-Allow-Credentials', 'true');
let uid = req.user.uid || req.query.uid;
let shopId = parseInt(req.query.shopId, 10);
let param = {};
if (shopId) {
if (uid) {
param.uid = uid;
}
param.shop_id = shopId;
listModel.shopCouponsList(param).then(result => {
res.json(result);
}).catch(next);
} else {
res.json([]);
}
};
/**
* 获取品牌优惠券列表
* @param req
* @param res
... ... @@ -589,7 +507,7 @@ const getBrandCouponsList = (req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', allowOrigin);
res.setHeader('Access-Control-Allow-Credentials', 'true');
let uid = req.user.uid || req.query.uid;
let uid = req.user.uid;
let brandId = parseInt(req.query.brandId, 10);
let param = {};
... ... @@ -618,7 +536,5 @@ module.exports = {
shopFav,
baseShopFav,
shopCategory,
userCoupon,
getShopCouponsList,
getBrandCouponsList
};
... ...
... ... @@ -6,10 +6,12 @@
const mRoot = '../models';
const utils = '../../../utils';
const shopModel = require(`${mRoot}/shop`);
const couponModel = require(`${mRoot}/coupon`);
const searchModel = require(`${mRoot}/search`);
const headerModel = require('../../../doraemon/models/header');
const _ = require('lodash');
const helpers = global.yoho.helpers;
const crypto = global.yoho.crypto;
const productProcess = require(`${utils}/product-process`);
const shopPrcs = require(`${utils}/shop-process`);
const co = require('bluebird').coroutine;
... ... @@ -80,7 +82,7 @@ const shop = {
} else if (shopId || req.shopInfo.isShop) { // 非红人店铺的店铺
return shop.list(req, res, next);
} else { // 什么都没有,去首页
return res.redirect(helpers.urlFormat('', {go: '-1'}));
return res.redirect(helpers.urlFormat('', {go: 1}));
}
})().catch(next);
},
... ... @@ -183,11 +185,12 @@ const shop = {
}
co(function* () {
let [bannerData, favCountData, decoratorsData, categoryData] = yield Promise.all([
let [bannerData, favCountData, decoratorsData, categoryData, couponData] = yield Promise.all([
shopModel.getBanner(shopId),
shopModel.favCount(shopId, uid, channel, udid),
shopModel.getShopsdecorator(shopId),
shopModel.getShopCategory(shopId, channel)
shopModel.getShopCategory(shopId, channel),
couponModel.shopCouponsList({shop_id: shopId})
]);
let banner = _.get(bannerData, 'data.banner');
... ... @@ -228,6 +231,7 @@ const shop = {
localCss: true,
module: 'product',
page: 'shop-reds',
couponData,
shopId,
banner, shopInfo, favCount, decorators, category
});
... ... @@ -251,7 +255,10 @@ const shop = {
page: 1
};
let goodsListApi = yield searchModel.getShopGoods(searchParam);
let [goodsListApi, couponData] = yield Promise.all([
searchModel.getShopGoods(searchParam),
couponModel.shopCouponsList({shop_id: shopId})
]);
let goodsList = productProcess.processProductList(_.get(goodsListApi, 'data.product_list', []));
if (shopInfo.isShop) {
... ... @@ -279,7 +286,8 @@ const shop = {
goodsList: goodsList,
shopPage: true,
_noLazy: true,
localCss: true
localCss: true,
couponData
});
})().catch(next);
... ... @@ -305,6 +313,87 @@ const shop = {
page: 'all-brand',
});
}).catch(next);
},
/**
* 获取店铺优惠券列表
* @param req
* @param res
* @param next
*/
getShopCouponsList(req, res, next) {
let allowOrigin = _.get(req, 'headers.origin', null) ?
req.headers.origin : req.protocol + '://' + req.headers.host;
res.setHeader('Access-Control-Allow-Origin', allowOrigin);
res.setHeader('Access-Control-Allow-Credentials', 'true');
let uid = req.user.uid;
let shopId = parseInt(req.query.shopId, 10);
let param = {};
if (shopId) {
if (uid) {
param.uid = uid;
}
param.shop_id = shopId;
couponModel.shopCouponsList(param).then(result => {
res.json(result);
}).catch(next);
} else {
res.json([]);
}
},
/**
* 用戶領券
* @param req
* @param res
* @param next
*/
userCoupon(req, res, next) {
let allowOrigin = _.get(req, 'headers.origin', null) ?
req.headers.origin : req.protocol + '://' + req.headers.host;
res.setHeader('Access-Control-Allow-Origin', allowOrigin);
res.setHeader('Access-Control-Allow-Credentials', 'true');
if (!req.body.couponID) {
return;
}
let cryptCouponId = crypto.decrypt('', req.body.couponID);
let uid = req.user.uid;
let isApp = req.body.app_version || req.body.appVersion || false;
let data = {};
cryptCouponId = parseInt(cryptCouponId, 10);
uid = parseInt(uid, 10);
if (uid) {
couponModel.receiveCoupon(
uid,
cryptCouponId
).then(result => {
res.json(result);
return;
}).catch(next);
} else {
data.code = 4401;// 401错误已经被接口占用
let refer = req.get('referer');
let toUrl = helpers.urlFormat('/signin.html', {refer: refer});
if (isApp) {
toUrl += '&openby:yohobuy={"action":"go.weblogin","params":{"jumpurl":{"url":"' + refer +
'","param":{}},"requesturl":{"param":{"method":"app.promotion.getCoupon","couponId":"' +
cryptCouponId + '"},"url":"' + _.get(global, 'yoho.API.ApiUrl', '') + '"},"priority":"Y"}}';
}
data.url = toUrl;
res.json(data);
}
}
};
... ...
'use strict';
const _ = require('lodash');
const crypto = global.yoho.crypto;
const api = global.yoho.API;
/**
... ... @@ -30,3 +32,57 @@ exports.getCoupon = (uid, couponId) => {
return api.post('', param);
};
/**
* [获取店铺优惠券列表]
* @param {[type]} params [参数]
* @return {[type]} []
*/
exports.shopCouponsList = (params) => {
return api.get('', Object.assign({
method: 'shop.coupons.list'
}, params), {
cache: params.uid ? false : 180
}).then(result => {
let shopCoupons = [];
let couPonstatus;
if (result && result.data) {
_.forEach(result.data, value => {
couPonstatus = parseInt(value.status, 10);
if (couPonstatus === 1 || couPonstatus === 3) {
shopCoupons.push({
validity: value.couponValidity,
id: crypto.encryption('', value.coupon_id + ''),
name: value.coupon_name,
pic: value.coupon_pic,
money: parseInt(value.money, 10),
status: couPonstatus === 1
});
}
});
}
return {
couponsOne: shopCoupons.length <= 1,
coupons: shopCoupons
};
});
};
/**
* 用戶領券
* @param uid
* @param couponId
* @returns {*|Promise.<TResult>}
*/
exports.receiveCoupon = (uid, couponId) => {
return api.get('', {
method: 'app.promotion.getCoupon',
couponId: couponId,
uid: uid
}).then(result => {
return result;
});
};
... ...
... ... @@ -273,22 +273,6 @@ const getBrandFavStatus = (params) => {
};
/**
* 用戶領券
* @param uid
* @param couponId
* @returns {*|Promise.<TResult>}
*/
const receiveCoupon = (uid, couponId) => {
return api.get('', {
method: 'app.promotion.getCoupon',
couponId: couponId,
uid: uid
}).then(result => {
return result;
});
};
/**
* 获取店铺下面的所有品牌
* @param {int} shopId 店铺id
*/
... ... @@ -799,42 +783,6 @@ const getShopCategory = (params) => {
};
/**
* 获取店铺优惠券列表
* @return {[array]}
* @param params
*/
const shopCouponsList = (params) => {
return api.get('', Object.assign({
method: 'shop.coupons.list'
}, params)).then(result => {
let shopCoupons = [];
let couPonstatus;
if (result && result.data) {
_.forEach(result.data, value => {
couPonstatus = parseInt(value.status, 10);
if (couPonstatus === 1 || couPonstatus === 3) {
shopCoupons.push({
validity: value.couponValidity,
id: crypto.encryption('', value.coupon_id + ''),
name: value.coupon_name,
pic: value.coupon_pic,
money: parseInt(value.money, 10),
status: couPonstatus === 1
});
}
});
}
return {
couponsOne: shopCoupons.length <= 1,
coupons: shopCoupons
};
});
};
/**
* 获取品牌优惠券列表
* @param {[int]} brand_id 品牌id
* @param {[int]} uid 当前用户id,空则不传
... ... @@ -884,8 +832,6 @@ module.exports = {
getShopIntro,
getShopBrands,
getShopCategory,
receiveCoupon,
shopCouponsList,
brandCouponsList,
getShopFav,
getBrandFavStatus,
... ...
... ... @@ -159,8 +159,6 @@ router.get('/index/shopAppCookie', list.shopAppCookie);
router.get('/index/shopFav', list.shopFav);
router.get('/index/category', list.shopCategory);
router.post('/index/userCoupon', list.userCoupon);
router.get('/index/getShopCouponsList', list.getShopCouponsList);
router.get('/index/getBrandCouponsList', list.getBrandCouponsList);
// 店铺重构
... ... @@ -168,6 +166,8 @@ router.get('/shop', newShop.entry); // 统一店铺入口
router.get('/index/brand', newShop.entry); // 旧的路由,走到新的 controller
router.get('/index/brandFav', newShop.brandFav);
router.get('/new/shop/hotlist', newShop.shopHotList);
router.get('/index/getShopCouponsList', newShop.getShopCouponsList);
router.post('/index/userCoupon', newShop.userCoupon);
router.get('/red-shop', newShop.redShop);
... ...
... ... @@ -27,7 +27,9 @@
{{/ shopInfo}}
<!-- 优惠卷 -->
<div class="coupon-group"></div>
<div class="coupon-group">
{{> reds-shop/coupon}}
</div>
<!-- /基础店铺页面 -->
{{!--筛选tab--}}
... ...
... ... @@ -41,7 +41,9 @@
<div class="tab-panels">
{{!--shop-tab: 首页--}}
<div id="red-index" class="tab-panel red-shop-index active">
<div class="shop-coupon coupon-group"></div>
<div class="shop-coupon coupon-group">
{{> reds-shop/coupon}}
</div>
{{> reds-shop/modules}}
<div id="indexGoodsContainer" class="goods-container">
<div class="default-goods container clearfix"></div>
... ...
{{#couponData}}
<div class="coupon-content">
<div class="swiper-wrapper">
{{#if couponsOne}}
{{#each coupons}}
<div class="swiper-slide coupon-big" data-id = "{{id}}">
<div class='coupon-left'>
<span class="coupon-left-price">
<span class="coupon-sign">¥</span>
<span class="coupon-price">{{money}}</span>
</span>
<span class="coupon-left-name">
{{name}}
</span>
</div>
<div class='coupon-right receive-btn'>
立即领取
</div>
</div><!--/coupon-big-->
{{/each}}
{{^}}
{{#each coupons}}
<div class="swiper-slide coupon-small" data-id = "{{id}}">
<div class='coupon-left'>
<span class="coupon-left-price">
<span class="coupon-sign">¥</span>
<span class="coupon-price">{{money}}</span>
</span>
<span class="coupon-left-name">
{{name}}
</span>
</div>
<div class='coupon-right receive-btn'>
立即领取
</div>
</div><!--/coupon-small-->
{{/each}}
{{/if}}
</div>
</div>
{{/couponData}}
\ No newline at end of file
... ...
... ... @@ -6,7 +6,8 @@
</div>
<div class="main">
<div class="title"></div>
<textarea type="text" class="trend-world-area trend-code" placeholder="请设置15字以内的潮流口令">{{#if trendWord}}{{trendWord}}{{/if}}</textarea>
<textarea type="text" class="trend-world-area trend-code" maxlength="15"
placeholder="请设置15位以内的潮流口令">{{#if trendWord}}{{trendWord}}{{/if}}</textarea>
<div class="explain">
<span class="explain-title">玩转潮流口令,超值福利等你拿</span>
<div class="show-explain">
... ...
... ... @@ -4,7 +4,6 @@
<div class="coupon-content">
<div class="content-left pull-left">
<div class="value">{{ couponValue }}</div>
<div class="requirement">使用条件</div>
</div>
<div class="content-middle pull-left">{{ couponValidity}}</div>
</div>
... ...

10.7 KB | W: | H:

16.7 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
... ... @@ -2,7 +2,6 @@
* @Author: Targaryen
* @Date: 2017-06-23 11:43:44
* @Last Modified by: Targaryen
* @Last Modified time: 2017-07-24 17:49:36
*/
require('cart/select-coupon.page.css');
const qs = require('yoho-qs');
... ... @@ -25,9 +24,6 @@ let $couponUnavailable = $('#couponUnavailable');
let $useCoupon = $('#useCoupon');
let $notUseCoupon = $('#notUseCoupon');
// let $couponUsableUsual;
// let $couponUsableFree;
let winH = $(window).height();
require('common');
... ... @@ -80,6 +76,7 @@ $newCoupon.on('submit', function() {
tip.show(res.message);
}
if (res.code === 200) {
orderInfo('usable_usual_code', res.data.coupon_code);
tip.show('优惠券可用');
setTimeout(function() {
location.reload();
... ... @@ -106,7 +103,11 @@ $useCoupon.on('click', function() {
}
orderInfo('coupon_code', couponCodeArray.join(','));
goToBack();
if (couponCodeArray.length > 0) {
goToBack();
} else {
tip.show('请选择优惠券');
}
});
/**
... ...
... ... @@ -3,6 +3,20 @@
* @Date: 2017-06-27 17:18:56
* @Last Modified by: Targaryen
*/
const $couponCodeInput = $('input[name=couponCode]');
const $submit = $('.submit');
$('.select-coupon-page').css('min-height', function() {
return $(window).height() - $('#yoho-header').height();
});
/**
* 优惠券码输入监听
*/
$couponCodeInput.bind('input', () => {
if ($couponCodeInput.val()) {
$submit.addClass('active');
} else {
$submit.removeClass('active');
}
});
... ...
... ... @@ -23,9 +23,6 @@ let $couponUnavailable = $('#couponUnavailable');
let $useCoupon = $('#useCoupon');
let $notUseCoupon = $('#notUseCoupon');
// let $couponUsableUsual;
// let $couponUsableFree;
let winH = $(window).height();
require('common');
... ... @@ -74,6 +71,7 @@ $newCoupon.on('submit', function() {
tip.show(res.message);
}
if (res.code === 200) {
orderInfo('usable_usual_code', res.data.coupon_code);
tip.show('优惠券可用');
setTimeout(function() {
location.reload();
... ... @@ -100,7 +98,11 @@ $useCoupon.on('click', function() {
}
orderInfo('couponCode', couponCodeArray.join(','));
goToBack();
if (couponCodeArray.length > 0) {
goToBack();
} else {
tip.show('请选择优惠券');
}
});
/**
... ...
... ... @@ -82,7 +82,3 @@ $('.withhold').click(function() {
point(2);
$('.set-trend-world').hide();
});
$('.back').click(function() {
$('.set-trend-world').hide();
});
... ...
... ... @@ -9,7 +9,6 @@ let shopCoupon = {};
shopCoupon = {
common: {
appVersion: window.queryString.app_version || window.queryString.appVersion,
uid: window.queryString.uid,
shopId: parseInt($('.shop-id').val() || $('.shopId').val(), 10) || null,
couponTemplate: require('product/shop/coupon.hbs')
},
... ... @@ -36,8 +35,7 @@ shopCoupon = {
method: 'GET',
url: _url,
data: {
shopId: that.common.shopId,
uid: that.common.uid
shopId: that.common.shopId
},
xhrFields: {
withCredentials: true
... ...
import app from './yoho-app';
import $ from 'yoho-jquery';
import qs from 'yoho-qs';
class Page {
constructor() {
this.app = app;
this.qs = qs;
this.$event = $(document);
}
on(name, ...cb) {
name = `yohoevent.${name}`;
this.event.on(name, ...cb);
}
emit(name, ...data) {
this.$event.trigger(name, ...data);
}
ajax(options = {}) {
return Promise.resolve($.ajax(options));
}
}
export default Page;
... ...
... ... @@ -29,6 +29,7 @@
.tip-text {
width: 628px;
margin: 10px;
display: block;
}
.btn {
... ... @@ -43,12 +44,12 @@
.recommend-goods {
.title {
width: 100%;
height: 156px;
width: 384px;
height: 132px;
background-image: resolve("activity/expand-new/recommed-title.png");
background-size: 100%;
background-repeat: no-repeat;
margin-bottom: 30px;
margin: 0 auto 30px;
}
}
... ... @@ -94,7 +95,7 @@
height: 90px;
color: #fff;
background-color: #000;
line-height: 64px;
line-height: 66px;
font-size: 36px;
text-align: center;
text-overflow: ellipsis;
... ... @@ -112,7 +113,7 @@
line-height: 60px;
position: absolute;
left: 65px;
bottom: -25px;
bottom: -35px;
font-size: 28px;
}
}
... ...
... ... @@ -511,6 +511,10 @@
a {
display: block;
}
.no-can-use {
color: #999;
}
}
.title {
... ... @@ -519,8 +523,9 @@
}
.count {
background-color: #ff5558;
padding: 2px;
background-color: #ff575c;
margin-left: 9px;
padding: 4px 15px;
color: #fff;
}
... ...
... ... @@ -2,14 +2,14 @@ $couponRadius: 8px;
$rosyPink: #f06a6b;
$backgroudColor: #f2f2f2;
$fontColor: #444;
$fontGrayLight: #b0b0b0;
$fontGrayLight: #e0e0e0;
$fontSizeSmall: 16px;
@define-extend line {
content: "";
position: absolute;
top: 50%;
border-top: 1px solid #b0b0b0;
border-top: 1px solid $fontGrayLight;
width: 120px;
height: 0;
}
... ... @@ -39,6 +39,7 @@ $fontSizeSmall: 16px;
border: 1px solid #b0b0b0;
border-radius: 0.1rem;
outline: 0;
float: left;
}
.submit {
... ... @@ -50,6 +51,11 @@ $fontSizeSmall: 16px;
border-radius: 0.1rem;
border: none;
outline: 0;
float: left;
}
.active {
background: #444;
}
}
... ... @@ -113,6 +119,7 @@ $fontSizeSmall: 16px;
.content-left {
width: 120px;
height: 100px;
border-right: 2px solid $fontColor;
}
... ... @@ -121,6 +128,7 @@ $fontSizeSmall: 16px;
height: 76px;
text-align: center;
font-size: 52px;
line-height: 100px;
color: $fontColor;
}
... ...
... ... @@ -29,6 +29,10 @@
position: absolute;
top: 50%;
transform: translateY(-50%);
border-radius: 38px;
background-image: resolve("home/index/user-avatar.png");
background-size: 100%;
overflow: hidden;
}
.invite-name {
... ...
... ... @@ -2,7 +2,7 @@
.back {
width: 100%;
height: 100%;
position: absolute;
position: fixed;
left: 0;
right: 0;
top: 0;
... ... @@ -18,7 +18,7 @@
margin-top: 205px;
margin-left: -270px;
background-color: #fff;
position: absolute;
position: fixed;
top: 0;
left: 50%;
border-bottom-right-radius: 10px;
... ... @@ -124,3 +124,15 @@
.set-trend-hide {
display: none;
}
.dialog-wrapper {
z-index: 5;
.dialog-box {
border-radius: 8px;
}
.dialog-content {
padding: 64px 60px 40px;
}
}
... ...
... ... @@ -105,7 +105,7 @@
.code-set {
margin-left: 8px;
width: 40px;
width: 36px;
height: 32px;
background: url("/home/index/code-set.png");
background-size: 100%;
... ...
... ... @@ -47,6 +47,7 @@
line-height: 1.2em;
align-items: center;
display: flex;
transform: scale(0.88);
}
}
... ... @@ -101,6 +102,7 @@
line-height: 1.2em;
align-items: center;
display: flex;
transform: scale(0.88);
}
}
}
... ...