作者 liaolinfeng

2018年11月27号项目开发,差订单部分的逻辑

正在显示 97 个修改的文件 包含 4799 行增加0 行删除

要显示太多修改。

为保证性能只显示 97 of 97+ 个文件。

/* animation */
.Augly-bounce,
.Augly-flip,
.Augly-flash,
.Augly-shake,
.Augly-swing,
.Augly-wobble,
.Augly-ring {
-webkit-animation: 1s ease;
animation: 1s ease;
}
.Augly-fadein,
.Augly-fadeinT,
.Augly-fadeinR,
.Augly-fadeinB,
.Augly-fadeinL,
.Augly-bouncein,
.Augly-bounceinT,
.Augly-bounceinR,
.Augly-bounceinB,
.Augly-bounceinL,
.Augly-rotatein,
.Augly-rotateinLT,
.Augly-rotateinLB,
.Augly-rotateinRT,
.Augly-rotateinRB,
.Augly-flipin,
.Augly-flipinX,
.Augly-flipinY {
-webkit-animation: 0.6s ease-out backwards;
animation: 0.6s ease-out backwards;
}
.Augly-fadeout,
.Augly-fadeoutT,
.Augly-fadeoutR,
.Augly-fadeoutB,
.Augly-fadeoutL,
.Augly-bounceout,
.Augly-bounceoutT,
.Augly-bounceoutR,
.Augly-bounceoutB,
.Augly-bounceoutL,
.Augly-rotateout,
.Augly-rotateoutLT,
.Augly-rotateoutLB,
.Augly-rotateoutRT,
.Augly-rotateoutRB,
.Augly-flipout,
.Augly-flipoutX,
.Augly-flipoutY {
-webkit-animation: 1s ease-in forwards;
animation: 1s ease-in forwards;
}
/* 淡入 */
Augly-fadeinT .Augly-fadein {
-webkit-animation-name: fadein;
animation-name: fadein;
}
/* 淡入-从上 */
.Augly-fadeinT {
-webkit-animation-name: fadeinT;
animation-name: fadeinT;
}
/* 淡入-从右 */
.Augly-fadeinR {
-webkit-animation-name: fadeinR;
animation-name: fadeinR;
}
/* 淡入-从下 */
.Augly-fadeinB {
-webkit-animation-name: fadeinB;
animation-name: fadeinB;
}
/* 淡入-从左 */
.Augly-fadeinL {
-webkit-animation-name: fadeinL;
animation-name: fadeinL;
}
/* 淡出 */
.Augly-fadeout {
-webkit-animation-name: fadeout;
animation-name: fadeout;
}
/* 淡出-向上 */
.Augly-fadeoutT {
-webkit-animation-name: fadeoutT;
animation-name: fadeoutT;
}
/* 淡出-向右 */
.Augly-fadeoutR {
-webkit-animation-name: fadeoutR;
animation-name: fadeoutR;
}
/* 淡出-向下 */
.Augly-fadeoutB {
-webkit-animation-name: fadeoutB;
animation-name: fadeoutB;
}
/* 淡出-向左 */
.Augly-fadeoutL {
-webkit-animation-name: fadeoutL;
animation-name: fadeoutL;
}
/* 弹跳 */
.Augly-bounce {
-webkit-animation-name: bounce;
animation-name: bounce;
}
/* 弹入 */
.Augly-bouncein {
-webkit-animation-name: bouncein;
animation-name: bouncein;
}
/* 弹入-从上 */
.Augly-bounceinT {
-webkit-animation-name: bounceinT;
animation-name: bounceinT;
}
/* 弹入-从右 */
.Augly-bounceinR {
-webkit-animation-name: bounceinR;
animation-name: bounceinR;
}
/* 弹入-从下 */
.Augly-bounceinB {
-webkit-animation-name: bounceinB;
animation-name: bounceinB;
}
/* 弹入-从左 */
.Augly-bounceinL {
-webkit-animation-name: bounceinL;
animation-name: bounceinL;
}
/* 弹出 */
.Augly-bounceout {
-webkit-animation-name: bounceout;
animation-name: bounceout;
}
/* 弹出-向上 */
.Augly-bounceoutT {
-webkit-animation-name: bounceoutT;
animation-name: bounceoutT;
}
/* 弹出-向右 */
.Augly-bounceoutR {
-webkit-animation-name: bounceoutR;
animation-name: bounceoutR;
}
/* 弹出-向下 */
.Augly-bounceoutB {
-webkit-animation-name: bounceoutB;
animation-name: bounceoutB;
}
/* 弹出-向左 */
.Augly-bounceoutL {
-webkit-animation-name: bounceoutL;
animation-name: bounceoutL;
}
/* 转入 */
.Augly-rotatein {
-webkit-animation-name: rotatein;
animation-name: rotatein;
}
/* 转入-从左上 */
.Augly-rotateinLT {
-webkit-animation-name: rotateinLT;
animation-name: rotateinLT;
}
/* 转入-从左下 */
.Augly-rotateinLB {
-webkit-animation-name: rotateinLB;
animation-name: rotateinLB;
}
/* 转入-从右上 */
.Augly-rotateinRT {
-webkit-animation-name: rotateinRT;
animation-name: rotateinRT;
}
/* 转入-从右下*/
.Augly-rotateinRB {
-webkit-animation-name: rotateinRB;
animation-name: rotateinRB;
}
/* 转出 */
.Augly-rotateout {
-webkit-animation-name: rotateout;
animation-name: rotateout;
}
/* 转出-向左上 */
.Augly-rotateoutLT {
-webkit-animation-name: rotateoutLT;
animation-name: rotateoutLT;
}
/* 转出-向左下 */
.Augly-rotateoutLB {
-webkit-animation-name: rotateoutLB;
animation-name: rotateoutLB;
}
/* 转出-向右上 */
.Augly-rotateoutRT {
-webkit-animation-name: rotateoutRT;
animation-name: rotateoutRT;
}
/* 转出-向右下 */
.Augly-rotateoutRB {
-webkit-animation-name: rotateoutRB;
animation-name: rotateoutRB;
}
/* 翻转 */
.Augly-flip {
-webkit-animation-name: flip;
animation-name: flip;
}
/* 翻入-X轴 */
.Augly-flipinX {
-webkit-animation-name: flipinX;
animation-name: flipinX;
}
/* 翻入-Y轴 */
.Augly-flipin,
.Augly-flipinY {
-webkit-animation-name: flipinY;
animation-name: flipinY;
}
/* 翻出-X轴 */
.Augly-flipoutX {
-webkit-animation-name: flipoutX;
animation-name: flipoutX;
}
/* 翻出-Y轴 */
.Augly-flipout,
.Augly-flipoutY {
-webkit-animation-name: flipoutY;
animation-name: flipoutY;
}
/* 闪烁 */
.Augly-flash {
-webkit-animation-name: flash;
animation-name: flash;
}
/* 震颤 */
.Augly-shake {
-webkit-animation-name: shake;
animation-name: shake;
}
/* 摇摆 */
.Augly-swing {
-webkit-animation-name: swing;
animation-name: swing;
}
/* 摇晃 */
.Augly-wobble {
-webkit-animation-name: wobble;
animation-name: wobble;
}
/* 震铃 */
.Augly-ring {
-webkit-animation-name: ring;
animation-name: ring;
}
/* define */
/* 淡入 */
@-webkit-keyframes fadein {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes fadein {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
/* 淡入-从上 */
@-webkit-keyframes fadeinT {
0% {
opacity: 0;
-webkit-transform: translateY(-100rpx);
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
}
}
@keyframes fadeinT {
0% {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}
/* 淡入-从右 */
@-webkit-keyframes fadeinR {
0% {
opacity: 0;
-webkit-transform: translateX(100px);
}
100% {
opacity: 1;
-webkit-transform: translateX(0);
}
}
@keyframes fadeinR {
0% {
opacity: 0;
-webkit-transform: translateX(100px);
transform: translateX(100px);
}
100% {
opacity: 1;
-webkit-transform: translateX(0);
transform: translateX(0);
}
}
/* 淡入-从下 */
@-webkit-keyframes fadeinB {
0% {
opacity: 0;
-webkit-transform: translateY(100px);
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
}
}
@keyframes fadeinB {
0% {
opacity: 0;
-webkit-transform: translateY(100px);
transform: translateY(100px);
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}
/* 淡入-从左 */
@-webkit-keyframes fadeinL {
0% {
opacity: 0;
-webkit-transform: translateX(-100px);
}
100% {
opacity: 1;
-webkit-transform: translateX(0);
}
}
@keyframes fadeinL {
0% {
opacity: 0;
-webkit-transform: translateX(-100px);
transform: translateX(-100px);
}
100% {
opacity: 1;
-webkit-transform: translateX(0);
transform: translateX(0);
}
}
/* 淡出 */
@-webkit-keyframes fadeout {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@keyframes fadeout {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
/* 淡出-向上 */
@-webkit-keyframes fadeoutT {
0% {
opacity: 1;
-webkit-transform: translateY(0);
}
100% {
opacity: 0;
-webkit-transform: translateY(-100px);
}
}
@keyframes fadeoutT {
0% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
}
/* 淡出-向右 */
@-webkit-keyframes fadeoutR {
0% {
opacity: 1;
-webkit-transform: translateX(0);
}
100% {
opacity: 0;
-webkit-transform: translateX(100px);
}
}
@keyframes fadeoutR {
0% {
opacity: 1;
-webkit-transform: translateX(0);
transform: translateX(0);
}
100% {
opacity: 0;
-webkit-transform: translateX(100px);
transform: translateX(100px);
}
}
/* 淡出-向下 */
@-webkit-keyframes fadeoutB {
0% {
opacity: 1;
-webkit-transform: translateY(0);
}
100% {
opacity: 0;
-webkit-transform: translateY(100px);
}
}
@keyframes fadeoutB {
0% {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
opacity: 0;
-webkit-transform: translateY(100px);
transform: translateY(100px);
}
}
/* 淡出-向左 */
@-webkit-keyframes fadeoutL {
0% {
opacity: 1;
-webkit-transform: translateX(0);
}
100% {
opacity: 0;
-webkit-transform: translateX(-100px);
}
}
@keyframes fadeoutL {
0% {
opacity: 1;
-webkit-transform: translateX(0);
transform: translateX(0);
}
100% {
opacity: 0;
-webkit-transform: translateX(-100px);
transform: translateX(-100px);
}
}
/* 弹跳 */
@-webkit-keyframes bounce {
0%,
20%,
50%,
80%,
100% {
-webkit-transform: translateY(0);
}
40% {
-webkit-transform: translateY(-30px);
}
60% {
-webkit-transform: translateY(-15px);
}
}
@keyframes bounce {
0%,
20%,
50%,
80%,
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
40% {
-webkit-transform: translateY(-30px);
transform: translateY(-30px);
}
60% {
-webkit-transform: translateY(-15px);
transform: translateY(-15px);
}
}
/* 弹入 */
@-webkit-keyframes bouncein {
0% {
opacity: 0;
-webkit-transform: scale(0.3);
}
50% {
opacity: 1;
-webkit-transform: scale(1.05);
}
70% {
-webkit-transform: scale(0.9);
}
100% {
-webkit-transform: scale(1);
}
}
@keyframes bouncein {
0% {
opacity: 0;
-webkit-transform: scale(0.3);
transform: scale(0.3);
}
50% {
opacity: 1;
-webkit-transform: scale(1.05);
transform: scale(1.05);
}
70% {
-webkit-transform: scale(0.9);
transform: scale(0.9);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
}
}
/* 弹入-从上 */
@-webkit-keyframes bounceinT {
0% {
opacity: 0;
-webkit-transform: translateY(-100px);
}
60% {
opacity: 1;
-webkit-transform: translateY(30px);
}
80% {
-webkit-transform: translateY(-10px);
}
100% {
-webkit-transform: translateY(0);
}
}
@keyframes bounceinT {
0% {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
60% {
opacity: 1;
-webkit-transform: translateY(30px);
transform: translateY(30px);
}
80% {
-webkit-transform: translateY(-10px);
transform: translateY(-10px);
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
}
/* 弹入-从右 */
@-webkit-keyframes bounceinR {
0% {
opacity: 0;
-webkit-transform: translateX(100px);
}
60% {
opacity: 1;
-webkit-transform: translateX(-30px);
}
80% {
-webkit-transform: translateX(10px);
}
100% {
-webkit-transform: translateX(0);
}
}
@keyframes bounceinR {
0% {
opacity: 0;
-webkit-transform: translateX(100px);
transform: translateX(100px);
}
60% {
opacity: 1;
-webkit-transform: translateX(-30px);
transform: translateX(-30px);
}
80% {
-webkit-transform: translateX(10px);
transform: translateX(10px);
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
}
/* 弹入-从下 */
@-webkit-keyframes bounceinB {
0% {
opacity: 0;
-webkit-transform: translateY(100px);
}
60% {
opacity: 1;
-webkit-transform: translateY(-30px);
}
80% {
-webkit-transform: translateY(10px);
}
100% {
-webkit-transform: translateY(0);
}
}
@keyframes bounceinB {
0% {
opacity: 0;
-webkit-transform: translateY(100px);
transform: translateY(100px);
}
60% {
opacity: 1;
-webkit-transform: translateY(-30px);
transform: translateY(-30px);
}
80% {
-webkit-transform: translateY(10px);
transform: translateY(10px);
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
}
/* 弹入-从左 */
@-webkit-keyframes bounceinL {
0% {
opacity: 0;
-webkit-transform: translateX(-100px);
}
60% {
opacity: 1;
-webkit-transform: translateX(30px);
}
80% {
-webkit-transform: translateX(-10px);
}
100% {
-webkit-transform: translateX(0);
}
}
@keyframes bounceinL {
0% {
opacity: 0;
-webkit-transform: translateX(-100px);
transform: translateX(-100px);
}
60% {
opacity: 1;
-webkit-transform: translateX(30px);
transform: translateX(30px);
}
80% {
-webkit-transform: translateX(-10px);
transform: translateX(-10px);
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
}
/* 弹出 */
@-webkit-keyframes bounceout {
0% {
-webkit-transform: scale(1);
}
25% {
-webkit-transform: scale(0.95);
}
50% {
opacity: 1;
-webkit-transform: scale(1.1);
}
100% {
opacity: 0;
-webkit-transform: scale(0.3);
}
}
@keyframes bounceout {
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
25% {
-webkit-transform: scale(0.95);
transform: scale(0.95);
}
50% {
opacity: 1;
-webkit-transform: scale(1.1);
transform: scale(1.1);
}
100% {
opacity: 0;
-webkit-transform: scale(0.3);
transform: scale(0.3);
}
}
/* 弹出-向上*/
@-webkit-keyframes bounceoutT {
0% {
-webkit-transform: translateY(0);
}
20% {
opacity: 1;
-webkit-transform: translateY(20px);
}
100% {
opacity: 0;
-webkit-transform: translateY(-100px);
}
}
@keyframes bounceoutT {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
20% {
opacity: 1;
-webkit-transform: translateY(20px);
transform: translateY(20px);
}
100% {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
}
/* 弹出-向右*/
@-webkit-keyframes bounceoutR {
0% {
-webkit-transform: translateX(0);
}
20% {
opacity: 1;
-webkit-transform: translateX(-20px);
}
100% {
opacity: 0;
-webkit-transform: translateX(100px);
}
}
@keyframes bounceoutR {
0% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
20% {
opacity: 1;
-webkit-transform: translateX(-20px);
transform: translateX(-20px);
}
100% {
opacity: 0;
-webkit-transform: translateX(100px);
transform: translateX(100px);
}
}
/* 弹出-向下 */
@-webkit-keyframes bounceoutB {
0% {
-webkit-transform: translateY(0);
}
20% {
opacity: 1;
-webkit-transform: translateY(-20px);
}
100% {
opacity: 0;
-webkit-transform: translateY(100px);
}
}
@keyframes bounceoutB {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
20% {
opacity: 1;
-webkit-transform: translateY(-20px);
transform: translateY(-20px);
}
100% {
opacity: 0;
-webkit-transform: translateY(100px);
transform: translateY(100px);
}
}
/* 弹出-向左 */
@-webkit-keyframes bounceoutL {
0% {
-webkit-transform: translateX(0);
}
20% {
opacity: 1;
-webkit-transform: translateX(20px);
}
100% {
opacity: 0;
-webkit-transform: translateX(-100px);
}
}
@keyframes bounceoutL {
0% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
20% {
opacity: 1;
-webkit-transform: translateX(20px);
transform: translateX(20px);
}
100% {
opacity: 0;
-webkit-transform: translateX(-200px);
transform: translateX(-200px);
}
}
/* 转入 */
@-webkit-keyframes rotatein {
0% {
opacity: 0;
-webkit-transform: rotate(-200deg);
}
100% {
opacity: 1;
-webkit-transform: rotate(0);
}
}
@keyframes rotatein {
0% {
opacity: 0;
-webkit-transform: rotate(-200deg);
transform: rotate(-200deg);
}
100% {
opacity: 1;
-webkit-transform: rotate(0);
transform: rotate(0);
}
}
/* 转入-从左上 */
@-webkit-keyframes rotateinLT {
0% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(-90deg);
opacity: 0;
}
100% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(0);
opacity: 1;
}
}
@keyframes rotateinLT {
0% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
opacity: 0;
}
100% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate(0);
transform: rotate(0);
opacity: 1;
}
}
/* 转入-从左下 */
@-webkit-keyframes rotateineftB {
0% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(90deg);
opacity: 0;
}
100% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(0);
opacity: 1;
}
}
@keyframes rotateineftB {
0% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
opacity: 0;
}
100% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate(0);
transform: rotate(0);
opacity: 1;
}
}
/* 转入-从右上 */
@-webkit-keyframes rotateinRT {
0% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(90deg);
opacity: 0;
}
100% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(0);
opacity: 1;
}
}
@keyframes rotateinRT {
0% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
opacity: 0;
}
100% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate(0);
transform: rotate(0);
opacity: 1;
}
}
/* 转入-从右下*/
@-webkit-keyframes rotateinRB {
0% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(-90deg);
opacity: 0;
}
100% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(0);
opacity: 1;
}
}
@keyframes rotateinRB {
0% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
opacity: 0;
}
100% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate(0);
transform: rotate(0);
opacity: 1;
}
}
/* 转出 */
@-webkit-keyframes rotateout {
0% {
-webkit-transform-origin: center center;
-webkit-transform: rotate(0);
opacity: 1;
}
100% {
-webkit-transform-origin: center center;
-webkit-transform: rotate(200deg);
opacity: 0;
}
}
@keyframes rotateout {
0% {
-webkit-transform-origin: center center;
transform-origin: center center;
-webkit-transform: rotate(0);
transform: rotate(0);
opacity: 1;
}
100% {
-webkit-transform-origin: center center;
transform-origin: center center;
-webkit-transform: rotate(200deg);
transform: rotate(200deg);
opacity: 0;
}
}
/* 转出-向左上 */
@-webkit-keyframes rotateoutLT {
0% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(0);
opacity: 1;
}
100% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(-90deg);
opacity: 0;
}
}
@keyframes rotateoutLT {
0% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate(0);
transform: rotate(0);
opacity: 1;
}
100% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
opacity: 0;
}
}
/* 转出-向左下 */
@-webkit-keyframes rotateoutLB {
0% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(0);
opacity: 1;
}
100% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(90deg);
opacity: 0;
}
}
@keyframes rotateoutLB {
0% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate(0);
transform: rotate(0);
opacity: 1;
}
100% {
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
opacity: 0;
}
}
/* 转出-向右上 */
@-webkit-keyframes rotateoutRT {
0% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(0);
opacity: 1;
}
100% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(90deg);
opacity: 0;
}
}
@keyframes rotateoutRT {
0% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate(0);
transform: rotate(0);
opacity: 1;
}
100% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
opacity: 0;
}
}
/* 转出-向右下 */
@-webkit-keyframes rotateoutBR {
0% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(0);
opacity: 1;
}
100% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(-90deg);
opacity: 0;
}
}
@keyframes rotateoutBR {
0% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate(0);
transform: rotate(0);
opacity: 1;
}
100% {
-webkit-transform-origin: right bottom;
transform-origin: right bottom;
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
opacity: 0;
}
}
/* 翻转 */
@-webkit-keyframes flip {
0% {
-webkit-transform: perspective(400px) rotateY(0);
-webkit-animation-timing-function: ease-out;
}
40% {
-webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
-webkit-animation-timing-function: ease-out;
}
50% {
-webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
-webkit-animation-timing-function: ease-in;
}
80% {
-webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
-webkit-animation-timing-function: ease-in;
}
100% {
-webkit-transform: perspective(400px) scale(1);
-webkit-animation-timing-function: ease-in;
}
}
@keyframes flip {
0% {
-webkit-transform: perspective(400px) rotateY(0);
transform: perspective(400px) rotateY(0);
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}
40% {
-webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
transform: perspective(400px) translateZ(150px) rotateY(170deg);
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}
50% {
-webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in;
}
80% {
-webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
transform: perspective(400px) rotateY(360deg) scale(0.95);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in;
}
100% {
-webkit-transform: perspective(400px) scale(1);
transform: perspective(400px) scale(1);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in;
}
}
/* 翻入-X轴 */
@-webkit-keyframes flipinX {
0% {
-webkit-transform: perspective(400px) rotateX(90deg);
opacity: 0;
}
40% {
-webkit-transform: perspective(400px) rotateX(-10deg);
}
70% {
-webkit-transform: perspective(400px) rotateX(10deg);
}
100% {
-webkit-transform: perspective(400px) rotateX(0);
opacity: 1;
}
}
@keyframes flipinX {
0% {
-webkit-transform: perspective(400px) rotateX(90deg);
transform: perspective(400px) rotateX(90deg);
opacity: 0;
}
40% {
-webkit-transform: perspective(400px) rotateX(-10deg);
transform: perspective(400px) rotateX(-10deg);
}
70% {
-webkit-transform: perspective(400px) rotateX(10deg);
transform: perspective(400px) rotateX(10deg);
}
100% {
-webkit-transform: perspective(400px) rotateX(0);
transform: perspective(400px) rotateX(0);
opacity: 1;
}
}
/* 翻入-Y轴 */
@-webkit-keyframes flipinY {
0% {
-webkit-transform: perspective(400px) rotateY(90deg);
opacity: 0;
}
40% {
-webkit-transform: perspective(400px) rotateY(-10deg);
}
70% {
-webkit-transform: perspective(400px) rotateY(10deg);
}
100% {
-webkit-transform: perspective(400px) rotateY(0);
opacity: 1;
}
}
@keyframes flipinY {
0% {
-webkit-transform: perspective(400px) rotateY(90deg);
transform: perspective(400px) rotateY(90deg);
opacity: 0;
}
40% {
-webkit-transform: perspective(400px) rotateY(-10deg);
transform: perspective(400px) rotateY(-10deg);
}
70% {
-webkit-transform: perspective(400px) rotateY(10deg);
transform: perspective(400px) rotateY(10deg);
}
100% {
-webkit-transform: perspective(400px) rotateY(0);
transform: perspective(400px) rotateY(0);
opacity: 1;
}
}
/* 翻出-X轴 */
@-webkit-keyframes flipoutX {
0% {
-webkit-transform: perspective(400px) rotateX(0);
opacity: 1;
}
100% {
-webkit-transform: perspective(400px) rotateX(90deg);
opacity: 0;
}
}
@keyframes flipoutX {
0% {
-webkit-transform: perspective(400px) rotateX(0);
transform: perspective(400px) rotateX(0);
opacity: 1;
}
100% {
-webkit-transform: perspective(400px) rotateX(90deg);
transform: perspective(400px) rotateX(90deg);
opacity: 0;
}
}
/* 翻出-Y轴 */
@-webkit-keyframes flipoutY {
0% {
-webkit-transform: perspective(400px) rotateY(0);
opacity: 1;
}
100% {
-webkit-transform: perspective(400px) rotateY(90deg);
opacity: 0;
}
}
@keyframes flipoutY {
0% {
-webkit-transform: perspective(400px) rotateY(0);
transform: perspective(400px) rotateY(0);
opacity: 1;
}
100% {
-webkit-transform: perspective(400px) rotateY(90deg);
transform: perspective(400px) rotateY(90deg);
opacity: 0;
}
}
/* 闪烁 */
@-webkit-keyframes flash {
0%,
50%,
100% {
opacity: 1;
}
25%,
75% {
opacity: 0;
}
}
@keyframes flash {
0%,
50%,
100% {
opacity: 1;
}
25%,
75% {
opacity: 0;
}
}
/* 震颤 */
@-webkit-keyframes shake {
0%,
100% {
-webkit-transform: translateX(0);
}
10%,
30%,
50%,
70%,
90% {
-webkit-transform: translateX(-10px);
}
20%,
40%,
60%,
80% {
-webkit-transform: translateX(10px);
}
}
@keyframes shake {
0%,
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
10%,
30%,
50%,
70%,
90% {
-webkit-transform: translateX(-10px);
transform: translateX(-10px);
}
20%,
40%,
60%,
80% {
-webkit-transform: translateX(10px);
transform: translateX(10px);
}
}
/* 摇摆 */
@-webkit-keyframes swing {
20% {
-webkit-transform: rotate(30deg);
}
40% {
-webkit-transform: rotate(-20deg);
}
60% {
-webkit-transform: rotate(10deg);
}
80% {
-webkit-transform: rotate(-10deg);
}
100% {
-webkit-transform: rotate(0);
}
}
@keyframes swing {
20% {
-webkit-transform: rotate(30deg);
transform: rotate(30deg);
}
40% {
-webkit-transform: rotate(-20deg);
transform: rotate(-20deg);
}
60% {
-webkit-transform: rotate(10deg);
transform: rotate(10deg);
}
80% {
-webkit-transform: rotate(-10deg);
transform: rotate(-10deg);
}
100% {
-webkit-transform: rotate(0);
transform: rotate(0);
}
}
/* 摇晃 */
@-webkit-keyframes wobble {
0% {
-webkit-transform: translateX(0);
}
15% {
-webkit-transform: translateX(-100px) rotate(-5deg);
}
30% {
-webkit-transform: translateX(80px) rotate(3deg);
}
45% {
-webkit-transform: translateX(-65px) rotate(-3deg);
}
60% {
-webkit-transform: translateX(40px) rotate(2deg);
}
75% {
-webkit-transform: translateX(-20px) rotate(-1deg);
}
100% {
-webkit-transform: translateX(0);
}
}
@keyframes wobble {
0% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
15% {
-webkit-transform: translateX(-100px) rotate(-5deg);
transform: translateX(-100px) rotate(-5deg);
}
30% {
-webkit-transform: translateX(80px) rotate(3deg);
transform: translateX(80px) rotate(3deg);
}
45% {
-webkit-transform: translateX(-65px) rotate(-3deg);
transform: translateX(-65px) rotate(-3deg);
}
60% {
-webkit-transform: translateX(40px) rotate(2deg);
transform: translateX(40px) rotate(2deg);
}
75% {
-webkit-transform: translateX(-20px) rotate(-1deg);
transform: translateX(-20px) rotate(-1deg);
}
100% {
-webkit-transform: translateX(0);
transform: translateX(0);
}
}
/* 震铃 */
@-webkit-keyframes ring {
0% {
-webkit-transform: scale(1);
}
10%,
20% {
-webkit-transform: scale(0.9) rotate(-3deg);
}
30%,
50%,
70%,
90% {
-webkit-transform: scale(1.1) rotate(3deg);
}
40%,
60%,
80% {
-webkit-transform: scale(1.1) rotate(-3deg);
}
100% {
-webkit-transform: scale(1) rotate(0);
}
}
@keyframes ring {
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
10%,
20% {
-webkit-transform: scale(0.9) rotate(-3deg);
transform: scale(0.9) rotate(-3deg);
}
30%,
50%,
70%,
90% {
-webkit-transform: scale(1.1) rotate(3deg);
transform: scale(1.1) rotate(3deg);
}
40%,
60%,
80% {
-webkit-transform: scale(1.1) rotate(-3deg);
transform: scale(1.1) rotate(-3deg);
}
100% {
-webkit-transform: scale(1) rotate(0);
transform: scale(1) rotate(0);
}
}
\ No newline at end of file
... ...
//app.js
App({
onLaunch: function () {
},
/**
* 自定义post函数,返回Promise
* +-------------------
* @param {String} url 接口网址
* @param {arrayObject} data 要传的数组对象 like: {name: 'name', age: 32}
* +-------------------
* @return {Promise} promise 返回promise供后续操作
*/
post: function (url, data, headerParams) {
wx.showNavigationBarLoading()
wx.showLoading({
title: '加载中',
})
var promise = new Promise((resolve, reject) => {
let that = this;
let postData = data;
let baseUrl = 'http://jysh.w.bronet.cn/api/';
//网络请求
let header = {
'content-type': 'application/x-www-form-urlencoded'
}
header = Object.assign(header, headerParams)
wx.request({
url: baseUrl + url,
data: postData,
method: 'POST',
header: header,
success: function (res) {//返回取得的数据
if (res.data.code == '20000') {
resolve(res.data.data);
} else if (res.data.code == '10001') {//返回错误提示信息
wx.showModal({
title: '提示',
content: res.data.msg,
showCancel: false,
success: function (res) {
if (res.confirm) {
wx.removeStorageSync('token');
wx.navigateTo({
url: '/pages/start/start',
})
}
}
})
} else if (res.data.code == '40000') {
wx.showModal({
title: '提示',
content: res.data.msg,
showCancel: false,
success: function (res) { }
})
} else if (res.data.code == '40005') {
} else if (res.data.code == '40006') {
} else {
wx.showModal({
title: '提示',
content: res.data.msg,
showCancel: false,
})
reject(res.data)
}
wx.hideLoading()
wx.hideNavigationBarLoading()
},
error: function (e) {
console.log(e)
reject('网络出错');
// wx.hideLoading()
wx.hideNavigationBarLoading()
}
})
});
return promise;
},
//根据年月日获取(星期等信息)////later=0 当前 later=1明天 later=2后天
dateLater(later) {
let dateObj = {};
let show_day = new Array('星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六');
let date = new Date();
date.setDate(date.getDate() + later);
let day = date.getDay();
dateObj.year = date.getFullYear();
dateObj.month = ((date.getMonth() + 1) < 10 ? ("0" + (date.getMonth() + 1)) : date.getMonth() + 1);
dateObj.day = (date.getDate() < 10 ? ("0" + date.getDate()) : date.getDate());
dateObj.week = show_day[day];
dateObj.dataday = date.getFullYear() + '-' + ((date.getMonth() + 1) < 10 ? ("0" + (date.getMonth() + 1)) : date.getMonth() + 1) + '-' + (date.getDate() < 10 ? ("0" + date.getDate()) : date.getDate());
dateObj.houser = date.getHours();//当前时间点
console.log(date.getHours())
dateObj.housers = (date.getHours() < 10 ? ("0" + date.getHours()) : date.getHours()) + ':00:00';//当前时间点
dateObj.datadayhouser = date.getFullYear() + '/' + ((date.getMonth() + 1) < 10 ? ("0" + (date.getMonth() + 1)) : date.getMonth() + 1) + '/' + (date.getDate() < 10 ? ("0" + date.getDate()) : date.getDate()) + ' ' + (date.getHours() < 10 ? ("0" + date.getHours()) : date.getHours()) + ':00';//当前时间并时间点
return dateObj;
},
globalData: {
userInfo: null,
city:'',//预约城市
}
})
\ No newline at end of file
... ...
{
"pages": [
"pages/start/start",
"pages/index/index",
"pages/love/love",
"pages/pool/pool",
"pages/my/my",
"pages/appointment/appintment",
"pages/submit_yes/submit_yes",
"pages/text/text",
"pages/topline/topline",
"pages/submit_message/submit_message",
"pages/topline_detail/topline_detail",
"pages/service/service",
"pages/selfhelp/selfhelp",
"pages/apply/apply",
"pages/recruit/recuit",
"pages/order/order",
"pages/order_detail/order_detail",
"pages/eidt_myinfo/eidt_myinfo",
"pages/message/message",
"pages/test/test",
"pages/img_text/img_text",
"pages/wuliu/wuliu",
"pages/template/template"
],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#8DE063",
"navigationBarTitleText": "象爱心",
"navigationBarTextStyle": "white"
},
"tabBar": {
"color": "#666666",
"selectedColor": "#8DE063",
"list": [
{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "pages/imgs/nav01@2x.png",
"selectedIconPath": "pages/imgs/nav02@2x.png"
},
{
"pagePath": "pages/love/love",
"text": "象爱心",
"iconPath": "pages/imgs/nav03@2x.png",
"selectedIconPath": "pages/imgs/nav04@2x.png"
},
{
"pagePath": "pages/pool/pool",
"text": "公益基金池",
"iconPath": "pages/imgs/nav05@2x.png",
"selectedIconPath": "pages/imgs/nav06@2x.png"
},
{
"pagePath": "pages/my/my",
"text": "个人中心",
"iconPath": "pages/imgs/nav07@2x.png",
"selectedIconPath": "pages/imgs/nav08@2x.png"
}
]
}
}
\ No newline at end of file
... ...
/**app.wxss**/
@import 'pages/template/template.wxss';
.container {
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
padding: 200rpx 0;
box-sizing: border-box;
}
.other-navigator-hover{
background: none;
}
.button-hover{
background: none;
border:none;
}
.addnomore {
padding:20rpx 0;
color:#999;
font-size:28rpx;
text-align:center;
}
swiper {
display:block;
height:220rpx;
}
@font-face {font-family: "iconfont";
src: url('//at.alicdn.com/t/font_922700_rz88pld60rc.eot?t=1542679696602'); /* IE9*/
src: url('//at.alicdn.com/t/font_922700_rz88pld60rc.eot?t=1542679696602#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAbAAAsAAAAACfAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFY8dkoCY21hcAAAAYAAAAB+AAAB3juYbUBnbHlmAAACAAAAAqQAAANEyer9CmhlYWQAAASkAAAALwAAADYTUl8XaGhlYQAABNQAAAAcAAAAJAfeA4hobXR4AAAE8AAAAA4AAAAcHAAAAGxvY2EAAAUAAAAAEAAAABAB7AMkbWF4cAAABRAAAAAeAAAAIAEYAGhuYW1lAAAFMAAAAUUAAAJtPlT+fXBvc3QAAAZ4AAAARwAAAFrGCTHYeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGByeMbwQYG7438AQw9zA0AAUZgTJAQDefQv1eJztkV0KgzAQhL8kGkqR4kE8jfjgCfTFQ/TJo268hd3NCi2eoRO+wEz+IAO0QFIGpYGwEzC9NQ01Tzxr3jCpf/EgkgUZZZGtrEd/nnD3Pwp65jvslVbvzJpHXcz81dV5vly233SsERkda0oWxxqTzbH9ZXWssaN3iB+gHCNvAAB4nD1STWgTQRj9vp3dTTZpN51kdyYxUPNjk8ZiapNsFkmp7cWD0kI99GKDlxYvRaRIaSFCBUGKOSnqLdRCQSx47KntQejBa0/1YkGL0IvgsTbZ+m2qwvJ23ps3w7w3Awhw/pT9Yo8gDIA8y9N2mpd52lGG5rwa7s/hPm7hvleb99k8qOT/xPbYTQiCBSm4BjCQ0S1RqlZyzMRAP8oxdIvIipinAVETGQ14ETO6zS2B51YyWUgm7d22prV399qq2t7bOFTVw40ubvYJRJES4rvvKiSV2f+u3Xb78z8bIRbQ5pjnts29L9ym49PZjpSfLA2cSEmisAKoF7HqGkiI18MGvjMM734o3ochfOY1QshZKuA1jLjhNYJKTBq4gAvBuNXN+ZydshUYhBtwG+5RzlyWAuoBPUvZclV3DJ1KvohdUUZBc2XJ7WbPZ3Kk01eplrsFuF1G8oVg6SQ4fx2uABKUb7FYYSJmJkKhlQ+W0tObyglrPD86raISx4cYluFIpDSOWJvjApXFGS4EX15nKFa5RLa9FhUiunWsSqLa2Q6Xkn/FgiY3NcylhYLs9ePIpWBsYnAoe/kKTtYiEe/Ue68jsp7JavlOQ/KZRQVlRrL1ZS7jKKJr2ypR9XgrKiRKvnOmocgK1L3DIy4BFOrnB3vDEvRu4tR22g/npvvR0jGTc3ilWhJ03Tp70tHDphlWfhN6ywR2JIIPTNtEJPBWaercN3QwbAJAgPb9qAK7Cwb0goQkFGAEXADXb92hfssBu+xoWe43Sbvky0524OKl+Q66jBj9/MkR/zDZk2beQXTyzeYwk80LMjM83ImrB63WgVpnraWlFnsx/VKr49SoSCTEW99NvnqzeYK3Lshss05mWkJeWtE5UF9Nj04hJq4m4A8dBbA3eJxjYGRgYADi33oSNvH8Nl8ZuFkYQOCGZO8EBP2/kYWBuRLI5WBgAokCAAlICVQAeJxjYGRgYG7438AQw8IAAkCSkQEVsAMARw0CcHicY2FgYGDBgQEB3AAdAAAAAAAAABgAZgCMARwBSAGieJxjYGRgYGBniAFiEGACYi4gZGD4D+YzAAASpAGBAAB4nGWPTU7DMBCFX/oHpBKqqGCH5AViASj9EatuWFRq911036ZOmyqJI8et1ANwHo7ACTgC3IA78EgnmzaWx9+8eWNPANzgBx6O3y33kT1cMjtyDRe4F65TfxBukF+Em2jjVbhF/U3YxzOmwm10YXmD17hi9oR3YQ8dfAjXcI1P4Tr1L+EG+Vu4iTv8CrfQ8erCPuZeV7iNRy/2x1YvnF6p5UHFockikzm/gple75KFrdLqnGtbxCZTg6BfSVOdaVvdU+zXQ+ciFVmTqgmrOkmMyq3Z6tAFG+fyUa8XiR6EJuVYY/62xgKOcQWFJQ6MMUIYZIjK6Og7VWb0r7FDwl57Vj3N53RbFNT/c4UBAvTPXFO6stJ5Ok+BPV8bUnV0K27LnpQ0kV7NSRKyQl7WtlRC6gE2ZVeOEXpc0Yk/KGdI/wAJWm7IAAAAeJxjYGKAAC4G7ICdkYmRmZGFkZWRjZGdkYOBOSszkT0rMy89PTGfoyIzMS+9Mr+UPQXIyChNZAFKGrJkp6aVMjAAADWxDdAA') format('woff'),
url('//at.alicdn.com/t/font_922700_rz88pld60rc.ttf?t=1542679696602') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
url('//at.alicdn.com/t/font_922700_rz88pld60rc.svg?t=1542679696602#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family:"iconfont" !important;
font-size:16px;
font-style:normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-jia:before { content: "\e767"; }
.icon-jinggao:before { content: "\e810"; }
.icon-xiangyou:before { content: "\e666"; }
.icon-dianhua:before { content: "\e600"; }
.icon-jia1:before { content: "\e652"; }
.icon-kefu:before { content: "\e66c"; }
... ...
/**
* 微信小程序JavaScriptSDK
*
* @version 1.0
* @date 2017-01-10
* @author jaysonzhou@tencent.com
*/
var ERROR_CONF = {
KEY_ERR: 311,
KEY_ERR_MSG: 'key格式错误',
PARAM_ERR: 310,
PARAM_ERR_MSG: '请求参数信息有误',
SYSTEM_ERR: 600,
SYSTEM_ERR_MSG: '系统错误',
WX_ERR_CODE: 1000,
WX_OK_CODE: 200
};
var BASE_URL = 'https://apis.map.qq.com/ws/';
var URL_SEARCH = BASE_URL + 'place/v1/search';
var URL_SUGGESTION = BASE_URL + 'place/v1/suggestion';
var URL_GET_GEOCODER = BASE_URL + 'geocoder/v1/';
var URL_CITY_LIST = BASE_URL + 'district/v1/list';
var URL_AREA_LIST = BASE_URL + 'district/v1/getchildren';
var URL_DISTANCE = BASE_URL + 'distance/v1/';
var Utils = {
/**
* 得到终点query字符串
* @param {Array|String} 检索数据
*/
location2query(data) {
if (typeof data == 'string') {
return data;
}
var query = '';
for (var i = 0; i < data.length; i++) {
var d = data[i];
if (!!query) {
query += ';';
}
if (d.location) {
query = query + d.location.lat + ',' + d.location.lng;
}
if (d.latitude && d.longitude) {
query = query + d.latitude + ',' + d.longitude;
}
}
return query;
},
/**
* 使用微信接口进行定位
*/
getWXLocation(success, fail, complete) {
wx.getLocation({
type: 'gcj02',
success: success,
fail: fail,
complete: complete
});
},
/**
* 获取location参数
*/
getLocationParam(location) {
if (typeof location == 'string') {
var locationArr = location.split(',');
if (locationArr.length === 2) {
location = {
latitude: location.split(',')[0],
longitude: location.split(',')[1]
};
} else {
location = {};
}
}
return location;
},
/**
* 回调函数默认处理
*/
polyfillParam(param) {
param.success = param.success || function () { };
param.fail = param.fail || function () { };
param.complete = param.complete || function () { };
},
/**
* 验证param对应的key值是否为空
*
* @param {Object} param 接口参数
* @param {String} key 对应参数的key
*/
checkParamKeyEmpty(param, key) {
if (!param[key]) {
var errconf = this.buildErrorConfig(ERROR_CONF.PARAM_ERR, ERROR_CONF.PARAM_ERR_MSG + key +'参数格式有误');
param.fail(errconf);
param.complete(errconf);
return true;
}
return false;
},
/**
* 验证参数中是否存在检索词keyword
*
* @param {Object} param 接口参数
*/
checkKeyword(param){
return !this.checkParamKeyEmpty(param, 'keyword');
},
/**
* 验证location值
*
* @param {Object} param 接口参数
*/
checkLocation(param) {
var location = this.getLocationParam(param.location);
if (!location || !location.latitude || !location.longitude) {
var errconf = this.buildErrorConfig(ERROR_CONF.PARAM_ERR, ERROR_CONF.PARAM_ERR_MSG + ' location参数格式有误')
param.fail(errconf);
param.complete(errconf);
return false;
}
return true;
},
/**
* 构造错误数据结构
* @param {Number} errCode 错误码
* @param {Number} errMsg 错误描述
*/
buildErrorConfig(errCode, errMsg) {
return {
status: errCode,
message: errMsg
};
},
/**
* 构造微信请求参数,公共属性处理
*
* @param {Object} param 接口参数
* @param {Object} param 配置项
*/
buildWxRequestConfig(param, options) {
var that = this;
options.header = { "content-type": "application/json" };
options.method = 'GET';
options.success = function (res) {
var data = res.data;
if (data.status === 0) {
param.success(data);
} else {
param.fail(data);
}
};
options.fail = function (res) {
res.statusCode = ERROR_CONF.WX_ERR_CODE;
param.fail(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, result.errMsg));
};
options.complete = function (res) {
var statusCode = +res.statusCode;
switch(statusCode) {
case ERROR_CONF.WX_ERR_CODE: {
param.complete(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg));
break;
}
case ERROR_CONF.WX_OK_CODE: {
var data = res.data;
if (data.status === 0) {
param.complete(data);
} else {
param.complete(that.buildErrorConfig(data.status, data.message));
}
break;
}
default:{
param.complete(that.buildErrorConfig(ERROR_CONF.SYSTEM_ERR, ERROR_CONF.SYSTEM_ERR_MSG));
}
}
}
return options;
},
/**
* 处理用户参数是否传入坐标进行不同的处理
*/
locationProcess(param, locationsuccess, locationfail, locationcomplete) {
var that = this;
locationfail = locationfail || function (res) {
res.statusCode = ERROR_CONF.WX_ERR_CODE;
param.fail(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg));
};
locationcomplete = locationcomplete || function (res) {
if (res.statusCode == ERROR_CONF.WX_ERR_CODE) {
param.complete(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg));
}
};
if (!param.location) {
that.getWXLocation(locationsuccess, locationfail, locationcomplete);
} else if (that.checkLocation(param)) {
var location = Utils.getLocationParam(param.location);
locationsuccess(location);
}
}
}
class QQMapWX {
/**
* 构造函数
*
* @param {Object} options 接口参数,key 为必选参数
*/
constructor(options) {
if (!options.key) {
throw Error('key值不能为空');
}
this.key = options.key;
}
/**
* POI周边检索
*
* @param {Object} options 接口参数对象
*
* 参数对象结构可以参考
* @see http://lbs.qq.com/webservice_v1/guide-search.html
*/
search(options) {
var that = this;
options = options || {};
Utils.polyfillParam(options);
if (!Utils.checkKeyword(options)) {
return;
}
var requestParam = {
keyword: options.keyword,
orderby: options.orderby || '_distance',
page_size: options.page_size || 10,
page_index: options.page_index || 1,
output: 'json',
key: that.key
};
if (options.address_format) {
requestParam.address_format = options.address_format;
}
if (options.filter) {
requestParam.filter = options.filter;
}
var distance = options.distance || "1000";
var auto_extend = options.auto_extend || 1;
var locationsuccess = function (result) {
requestParam.boundary = "nearby(" + result.latitude + "," + result.longitude + "," + distance + "," + auto_extend +")";
wx.request(Utils.buildWxRequestConfig(options, {
url: URL_SEARCH,
data: requestParam
}));
}
Utils.locationProcess(options, locationsuccess);
}
/**
* sug模糊检索
*
* @param {Object} options 接口参数对象
*
* 参数对象结构可以参考
* http://lbs.qq.com/webservice_v1/guide-suggestion.html
*/
getSuggestion(options) {
var that = this;
options = options || {};
Utils.polyfillParam(options);
if (!Utils.checkKeyword(options)) {
return;
}
var requestParam = {
keyword: options.keyword,
region: options.region || '全国',
region_fix: options.region_fix || 0,
policy: options.policy || 0,
output: 'json',
key: that.key
};
wx.request(Utils.buildWxRequestConfig(options, {
url: URL_SUGGESTION,
data: requestParam
}));
}
/**
* 逆地址解析
*
* @param {Object} options 接口参数对象
*
* 请求参数结构可以参考
* http://lbs.qq.com/webservice_v1/guide-gcoder.html
*/
reverseGeocoder(options) {
var that = this;
options = options || {};
Utils.polyfillParam(options);
var requestParam = {
coord_type: options.coord_type || 5,
get_poi: options.get_poi || 0,
output: 'json',
key: that.key
};
if (options.poi_options) {
requestParam.poi_options = options.poi_options
}
var locationsuccess = function (result) {
requestParam.location = result.latitude + ',' + result.longitude;
wx.request(Utils.buildWxRequestConfig(options, {
url: URL_GET_GEOCODER,
data: requestParam
}));
};
Utils.locationProcess(options, locationsuccess);
}
/**
* 地址解析
*
* @param {Object} options 接口参数对象
*
* 请求参数结构可以参考
* http://lbs.qq.com/webservice_v1/guide-geocoder.html
*/
geocoder(options) {
var that = this;
options = options || {};
Utils.polyfillParam(options);
if (Utils.checkParamKeyEmpty(options, 'address')) {
return;
}
var requestParam = {
address: options.address,
output: 'json',
key: that.key
};
wx.request(Utils.buildWxRequestConfig(options, {
url: URL_GET_GEOCODER,
data: requestParam
}));
}
/**
* 获取城市列表
*
* @param {Object} options 接口参数对象
*
* 请求参数结构可以参考
* http://lbs.qq.com/webservice_v1/guide-region.html
*/
getCityList(options) {
var that = this;
options = options || {};
Utils.polyfillParam(options);
var requestParam = {
output: 'json',
key: that.key
};
wx.request(Utils.buildWxRequestConfig(options, {
url: URL_CITY_LIST,
data: requestParam
}));
}
/**
* 获取对应城市ID的区县列表
*
* @param {Object} options 接口参数对象
*
* 请求参数结构可以参考
* http://lbs.qq.com/webservice_v1/guide-region.html
*/
getDistrictByCityId(options) {
var that = this;
options = options || {};
Utils.polyfillParam(options);
if (Utils.checkParamKeyEmpty(options, 'id')) {
return;
}
var requestParam = {
id: options.id || '',
output: 'json',
key: that.key
};
wx.request(Utils.buildWxRequestConfig(options, {
url: URL_AREA_LIST,
data: requestParam
}));
}
/**
* 用于单起点到多终点的路线距离(非直线距离)计算:
* 支持两种距离计算方式:步行和驾车。
* 起点到终点最大限制直线距离10公里。
*
* @param {Object} options 接口参数对象
*
* 请求参数结构可以参考
* http://lbs.qq.com/webservice_v1/guide-distance.html
*/
calculateDistance(options) {
var that = this;
options = options || {};
Utils.polyfillParam(options);
if (Utils.checkParamKeyEmpty(options, 'to')) {
return;
}
var requestParam = {
mode: options.mode || 'walking',
to: Utils.location2query(options.to),
output: 'json',
key: that.key
};
var locationsuccess = function (result) {
requestParam.from = result.latitude + ',' + result.longitude;
wx.request(Utils.buildWxRequestConfig(options, {
url: URL_DISTANCE,
data: requestParam
}));
}
if (options.from) {
options.location = options.from;
}
Utils.locationProcess(options, locationsuccess);
}
}
module.exports = QQMapWX;
\ No newline at end of file
... ...
// pages/apply/apply.js
const app=getApp();
Page({
/**
* 页面的初始数据
*/
data: {
name:'',
tel:'',
need:'',
upimg: []
},
//图片预览
imgYu: function (event) {
var src = event.currentTarget.dataset.src;//获取data-src
var imgList = event.currentTarget.dataset.list;//获取data-list
wx.previewImage({
current: src, // 当前显示图片的http链接
urls: imgList // 需要预览的图片http链接列表
})
},
setname(e){
this.setData({
name: e.detail.value
})
},
settel(e){
this.setData({
tel: e.detail.value
})
},
setneed(e){
this.setData({
need: e.detail.value
})
},
//上传多个文件的方法
uploadImages() {
let that = this;
wx.chooseImage({
count: 9 - that.data.upimg.length,
sizeType: ['original', 'compressed'],
success: function (res) {
let successUp = 0; //成功个数
let failUp = 0; //失败个数
let i = 0; //第几个
let tempFilePaths = res.tempFilePaths //总文件
let length = res.tempFilePaths.length //总共个数
wx.showNavigationBarLoading()
wx.showLoading({
title: '上传中',
})
console.log(tempFilePaths)
that.uploadAllfile(tempFilePaths, successUp, failUp, i, length)
},
fail: function (res) {
}
})
},
uploadAllfile(filePaths, successUp, failUp, i, length) {
let that = this
let bannerimgs = that.data.bannerimgs;
let head = {
'XX-Token': wx.getStorageSync('token'),
'XX-Device-Type': ''
}
let url = 'http://jysh.w.bronet.cn/api/wxapp/public/upload'
wx.uploadFile({
url: url, //仅为示例,非真实的接口地址
filePath: filePaths[i],
name: 'file',
header: head,
formData: {},
success: function (res) {
console.log(res);
let temdata = JSON.parse(res.data);
console.log(temdata);
wx.hideNavigationBarLoading();
wx.hideLoading();
let upimg = that.data.upimg;
if (upimg.length < 9) {
upimg.push(temdata.data);
that.setData({
upimg: upimg
})
}
},
fail: function (res) {
wx.hideNavigationBarLoading()
wx.hideLoading()
console.log(res);
},
complete: () => {
i++;
if (i == length) {
console.log('总共' + successUp + '张上传成功,' + failUp + '张上传失败!');
} else { //递归调用uploadDIY函数
this.uploadAllfile(filePaths, successUp, failUp, i, length);
}
},
})
},
//删除图片
del_upimg(e) {
let that = this;
let upimg = that.data.upimg;
upimg.splice(e.currentTarget.dataset.index, 1);
that.setData({
upimg: upimg
})
},
//提交表单
submit(){
let that=this;
let err='';
var myreg = /^[1][3,4,5,7,8][0-9]{9}$/;
if(that.data.name==''){
err='请输入您的姓名'
}else if(that.data.tel==''){
err = '请输入您的电话'
} else if (!myreg.test(that.data.tel)){
err='电话输入不正确'
}else if(that.data.need==''){
err = '请输入您的需求'
}
if(err==''){
let url ='home/Elephant/submit_aid';
let imgurl='';
for (let obj of that.data.upimg){
imgurl += obj+','
}
let param={
name: that.data.name,
phone: that.data.tel,
need: that.data.need,
file: imgurl
}
app.post(url, param).then((res)=>{
wx.showToast({
title: '申请提交成功',
})
setTimeout(function () {
wx.switchTab({
url: '/pages/love/love',
})
}, 1000)
}).catch((err)=>{
console.log(err);
})
wx.switchTab({
url: '/pages/love/love',
})
}else{
wx.showToast({
title: err,
duration:2000,
icon:'none'
})
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
... ...
{"navigationBarTitleText": "援助申请"}
\ No newline at end of file
... ...
<!--pages/apply/apply.wxml-->
<view class='top'>
<view class='cell_box'>
<view class='cell'>
<view class='cell_left'>
<view class='iconbox'>
<image src='../imgs/aicon15@2x.png'></image>
</view>
<view>您的姓名</view>
</view>
<view class='cell_rigth'>
<input placeholder-class='input_p' bindinput='setname'></input>
</view>
</view>
<view class='cell'>
<view class='cell_left'>
<view class='iconbox tel_box'>
<image src='../imgs/aicon16@2x.png'></image>
</view>
<view>您的电话</view>
</view>
<view class='cell_rigth'>
<input placeholder-class='input_p' bindinput='settel' type='number'></input>
</view>
</view>
<view class='cell exp_box'>
<view class='cell_left'>
<view class='iconbox'>
<image src='../imgs/aicon13@2x.png'></image>
</view>
<view>需求说明</view>
</view>
<view class='explain_txt'>简单说明您的困难情况</view>
</view>
<view class='explain'>
<textarea bindinput='setneed'></textarea>
</view>
</view>
</view>
<view class='bottom'>
<view class='cell exp_box bottom_title'>
<view class='cell_left'>
<view class='iconbox'>
<image src='../imgs/bicon06@2x.png'></image>
</view>
<view>凭证资料</view>
</view>
<view class='explain_txt'>请上传真实有效的,最多9张</view>
</view>
<view class='imgbox'>
<view class='img_item' wx:for='{{upimg}}' wx:key>
<view class='close_box' bindtap='del_upimg' data-index='{{index}}'>
<image src='../imgs/bicon07@2x.png'></image>
</view>
<image src='{{item}}' bindtap="imgYu" data-list="{{upimg}}" src="{{item}}"></image>
</view>
<view class='add_item' bindtap='uploadImages' wx:if='{{upimg.length<9}}'>
<view class='iconfont icon-jia1'></view>
</view>
</view>
<view class='btn' bindtap='submit'>确认提交</view>
</view>
\ No newline at end of file
... ...
/* pages/apply/apply.wxss */
@import '../selfhelp/selfhelp.wxss';
page{
background: #F0F0F0;
}
iconbox {
margin:0 16rpx 0 0;
}
.top{
background: #fff;
}
.explain{
height: 220rpx;
margin: 0 0 10rpx 0;
}
.exp_box{
justify-content: space-between;
}
.explain_txt{
color:#CCCCCC;
font-size:24rpx;
}
.bottom{
margin: 16rpx 0 0 0;
padding: 0 32rpx 30rpx 32rpx;
background: #fff;
}
.bottom_title{
padding:32rpx 0;
margin: 0;
border-bottom:1rpx solid #EBEBEB;
}
.imgbox{
height: 430rpx;
display: flex;
flex-wrap: wrap;
}
.img_item{
margin: 20rpx 10rpx 0 0;
position: relative;
width:137rpx;
height: 137rpx;
border-radius: 5rpx;
}
.img_item image{
width:100%;
height: 100%;
display: block;
}
.close_box{
position: absolute;
top:5rpx;
right: 5rpx;
width:34rpx;
height: 34rpx;
border-radius: 50%;
z-index:5;
background: #fff;
}
.add_item{
margin: 20rpx 10rpx 0 0;
width:137rpx;
height: 137rpx;
border-radius: 5rpx;
background-color: #E6E6E6;
display: flex;
align-items: center;
justify-content: center;
}
.add_item .iconfont{
color:#fff;
font-size: 85rpx;
}
.btn{
margin: 30rpx 0 0 0;
width:100%;
height: 88rpx;
border-radius: 44rpx;
background: #8DE063;
color:#fff;
font-size:34rpx;
display: flex;
align-items: center;
justify-content: center;
}
.btn:active{
opacity: 0.7;
}
.tel_box{
width:22rpx;
}
\ No newline at end of file
... ...
// pages/appointment/appintment.js
const app=getApp();
var wxParse = require('../../wxParse/wxParse.js')
Page({
/**
* 页面的初始数据
*/
data: {
mode: "scaleToFill",
array:['5-10kg','10-20kg','20-30kg','30kg以上'],
arraynum:[5,10,20,30],
arraytxt:'请选择大约重量',
indicatorDots: true,
autoplay: true,
interval: 2000,
duration: 1000,
showstate: '',//1打包说明,2预约说明,3开通说明
address:'',
ifexp:true,//是否有快递
choosedate:'请选择时间',
city:'',
weight:'',
remark:'',//备注
enddate: '',//预约结束日期
nowdate:'',//预约开始日期
id:''
},
bindPickerChange: function (e) {
let that=this;
let array = that.data.array;
let arraynum = that.data.arraynum;
this.setData({
arraytxt: array[e.detail.value],
weight: arraynum[e.detail.value]
})
},
setshowstate(e){
console.log(e);
let that=this;
that.setData({
showstate:e.currentTarget.dataset.showstate
})
},
setshowstateno(){
let that = this;
that.setData({
showstate: ''
})
},
setweight(e){
console.log(e);
let that=this;
that.setData({
weight:e.detail.value
})
},
setremark(e) {
let that = this;
that.setData({
remark: e.detail.value
})
},
//选择地址
chooseadress(){
let that=this;
wx.chooseAddress({
success(res) {
that.setData({
address:res
})
}
})
},
//选择日期
bindDateChange: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
choosedate: e.detail.value
})
},
//提交表单
submit(){
let that=this;
let err='';
if (that.data.address.length==0){
err='请选择地址'
} else if (that.data.choosedate =='请选择时间'){
err = '请选择时间'
} else if (that.data.weight==''){
err = '请输入重量'
}
if (err == ''){
if (that.data.id==''){//添加
let url = 'home/home/submit_make';
let params = {
province: that.data.address.provinceName,
city: that.data.address.cityName,
county: that.data.address.countyName,
address: that.data.address.detailInfo,
logistics_id: that.data.postdata.logistics.id,
total_weight: that.data.weight,
phone: that.data.address.telNumber,
name: that.data.address.userName,
time: that.data.choosedate,
remark: that.data.remark
}
let header = {
'XX-Token': wx.getStorageSync('token')
}
app.post(url, params, header).then((res) => {
console.log(res)
wx.navigateTo({
url: '/pages/submit_yes/submit_yes',
success: function (res) { },
fail: function (res) { },
complete: function (res) { },
})
}).catch((err) => {
console.log(err)
})
}else{//修改
let url = 'home/Member_center/update_order';
let params = {
id:that.data.id,
province: that.data.address.provinceName,
city: that.data.address.cityName,
county: that.data.address.countyName,
address: that.data.address.detailInfo,
logistics_id: that.data.postdata.logistics.id,
total_weight: that.data.weight,
phone: that.data.address.telNumber,
name: that.data.address.userName,
time: that.data.choosedate,
remark: that.data.remark
}
let header = {
'XX-Token': wx.getStorageSync('token')
}
app.post(url, params, header).then((res) => {
wx.showToast({
title: '修改成功',
})
setTimeout(function(){
wx.navigateBack({
delta: 1,
})
},1000)
}).catch((err) => {
console.log(err)
})
}
}else{
wx.showToast({
title: err,
duration:2000,
icon:'none'
})
}
},
getpostdata(){
console.log('getpostdata');
let that=this;
let url ='home/home/make_form';
let params={
'city': app.globalData.city
// 'city': '天津市'
}
app.post(url,params).then((res)=>{
console.log(res)
that.setData({
postdata:res
})
wxParse.wxParse('content1', 'html', res.make_notice.content, that, 5);
wxParse.wxParse('content2', 'html', res.pack.content, that, 5);
wxParse.wxParse('content3', 'html', res.open_explain.content, that, 5);
if (res.logistics==null){
that.setData({
ifexp:false
})
}else{
that.setData({
ifexp: true
})
}
}).catch((err)=>{
console.log(err)
})
},
//修改的数据回现
getorder(id){
let that=this;
console.log('getorder');
let url ='home/Member_center/update_order_html';
let header={
'XX-Token':wx.getStorageSync('token')
}
let param={
id:id
}
app.post(url,param,header).then((res)=>{
let address={
userName: res.order.sender_name,
telNumber: res.order.sender_phone,
cityName: res.order.sender_city,
countyName: res.order.sender_county,
detailInfo: res.order.sender_address
}
let logistics={
id: res.order.id,
logistics_name: res.order.logistics_name
}
res.logistics = logistics;
that.setData({
postdata: res,
address: address,
choosedate: res.order.time,
arraytxt: res.order.total_weight+'kg',
weight: res.order.total_weight,
remark: res.order.remark,
city: res.order.sender_city,
ifexp:true,
})
wxParse.wxParse('content1', 'html', res.make_notice.content, that, 5);
wxParse.wxParse('content2', 'html', res.pack.content, that, 5);
wxParse.wxParse('content3', 'html', res.open_explain.content, that, 5);
}).catch((err)=>{
console.log()
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let that=this;
let nowdate = app.dateLater(0).dataday;
let enddate = app.dateLater(4).dataday;
that.setData({
city: app.globalData.city,
nowdate: nowdate,
enddate: enddate
})
if(options.id != undefined){
that.getorder(options.id);
that.setData({
id: options.id
})
}else{
that.getpostdata();
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
let that = this;
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
... ...
{"navigationBarTitleText": "在线预约"}
\ No newline at end of file
... ...
<!--pages/appointment/appintment.wxml-->
<import src="../../wxParse/wxParse.wxml" />
<swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" circular="true" indicator-active-color='#fff'>
<block wx:for="{{postdata.slide}}" wx:key>
<swiper-item>
<view class='item_img'>
<image src="{{item.image}}" class="slide-image" />
</view>
</swiper-item>
</block>
</swiper>
<view class='appintmentbox' >
<view class='appint_item' wx:if='{{address.length==0}}' bindtap='chooseadress'>
<view class='int_rigth'>
<view class='int_img'>
<image src='../imgs/aicon11@2x.png'></image>
</view>
<text>地址信息</text>
</view>
<view class='int'>
<view class='vlue_txt'>请选择新建地址</view>
</view>
<view class='iconfont icon-xiangyou'></view>
</view>
<view class='appint_item' wx:else bindtap='chooseadress'>
<view class='address_box'>
<view class='additem'>
<view class='int_rigth'>
<view class='int_img'>
<image src='../imgs/aicon15@2x.png'></image>
</view>
<text>{{address.userName}}</text>
</view>
<view class='int_rigth tel_box'>
<view class='int_img tel_img'>
<image src='../imgs/aicon16@2x.png'></image>
</view>
<text>{{address.telNumber}}</text>
</view>
</view>
<view class='address'>
<view class='addresint'>
<view class='int_img'>
<image src='../imgs/aicon11@2x.png'></image>
</view>
<text>{{address.cityName}}{{address.countyName}}{{address.detailInfo}}</text>
</view>
</view>
</view>
<view class='iconfont icon-xiangyou'></view>
</view>
<view class='info_box'>
<view class='int_title'>
<view>预约信息</view>
<view>
<view class='txt_box' bindtap='setshowstate' data-showstate='2'>
<text class='nimi_txt'>预约须知</text>
<text class='iconfont icon-jinggao'></text>
</view>
</view>
</view>
</view>
<picker mode='date' bindchange="bindDateChange" start='{{nowdate}}' end='{{enddate}}'>
<view class='appint_item'>
<view class='int_rigth'>
<view class='int_img'>
<image src='../imgs/icon_rl.png'></image>
</view>
<text>预约日期</text>
</view>
<view class='int'>
<view class='vlue_txt'>{{choosedate}}</view>
</view>
</view>
</picker>
<picker bindchange="bindPickerChange" value="{{index}}" range="{{array}}">
<view class='appint_item'>
<view class='int_rigth'>
<view class='int_img'>
<image src='../imgs/aicon12@2x.png'></image>
</view>
<text>预约重量</text>
</view>
<view class='int'>
<view class='vlue_txt'>
<!-- <input placeholder-class='input_p' placeholder='请预估衣服重量' bindinput='setweight' type='digit'></input> -->
{{arraytxt}}
</view>
<view class='txt_box' bindtap='setshowstate' data-showstate='1'>
<text class='nimi_txt'>打包说明</text>
<text class='iconfont icon-jinggao'></text>
</view>
</view>
</view>
</picker>
<view class='appint_item'>
<view class='int_rigth'>
<view class='int_img'>
<image src='../imgs/aicon13@2x.png'></image>
</view>
<text>备 注</text>
</view>
<view class='int'>
<view class='vlue_txt input_txt'>
<input placeholder-class='input_p' placeholder='请输入(限制在45字以内)' bindinput='setremark'
value='{{remark}}'></input>
</view>
</view>
</view>
</view>
<view class='tranpost'>
<view class='tranpost_item'>
<view>委托快递</view>
<view class="{{ifexp?'':'gry'}}">{{ifexp?postdata.logistics.logistics_name:'暂无快速'}}</view>
</view>
<view class='tranpost_item'>
<view>运费支付</view>
<view class="{{ifexp?'':'gry'}}">{{ifexp?'象和家':'暂无'}}</view>
</view>
<view class='tranpost_item'>
<view>开通情况</view>
<view>{{city}}【
<text class="txt-green {{ifexp?'':'gry'}}">{{ifexp?'已':'未'}}开通</text>】</view>
</view>
<view class='tranpost_item'>
<view>处置方式</view>
<view>环保+公益+出口
<text class='iconfont icon-xiangyou'></text>
</view>
</view>
</view>
<view class="int_btn {{ifexp?'':'gry_btn'}}" bindtap='submit'>确认提交</view>
<!-- 弹框打包说明 -->
<view class="mold " wx:if='{{showstate==1}}' bindtap='setshowstateno'>
<view class="mold_main {{showstate==1?'Augly-bounceinR':'Augly-fadeoutR'}}">
<view class='mold_titlebox'> 打包说明 </view>
<view class='mold_content'>
<template is='wxParse' data='{{wxParseData:content2.nodes}}' />
</view>
<view class='mold_btn' catchtap='setshowstateno'>我知道了</view>
</view>
</view>
<!-- 弹框预约说明 -->
<view class="mold " wx:if='{{showstate==2}}' bindtap='setshowstateno'>
<view class="mold_main {{showstate==2?'Augly-bounceinR':'Augly-fadeoutR'}}">
<view class='mold_titlebox'> 预约须知 </view>
<view class='mold_content'>
<template is='wxParse' data='{{wxParseData:content1.nodes}}' />
</view>
<view class='mold_btn' catchtap='setshowstateno'>我知道了</view>
</view>
</view>
<!-- 弹框开通说明 -->
<view class="mold " wx:if='{{showstate==3}}' bindtap='setshowstateno'>
<view class="mold_main {{showstate==3?'Augly-bounceinR':'Augly-fadeoutR'}}" >
<view class='mold_titlebox'> 开通说明 </view>
<view class='mold_content'>
<template is='wxParse' data='{{wxParseData:content3.nodes}}' />
</view>
<view class='mold_btn' catchtap='setshowstateno'>我知道了</view>
</view>
</view>
\ No newline at end of file
... ...
/* pages/appointment/appintment.wxss */
@import '../love/love.wxss';
@import '../../Augly_Animation.wxss';
page{
background: #f0f0f0;
}
.appintmentbox{
margin: 16rpx 0 0 0;
background: #fff;
padding:0 32rpx;
}
.appintmenttab{
background: #fff;
margin: 14rpx 0 0 0;
padding:0 32rpx ;
display: flex;
align-items: center;
}
.additem{
display: flex;
align-items: center;
margin: 0 0 20rpx 0;
}
.appint_item .tel_box{
width:270rpx;
}
.appint_item .tel_img{
width:24rpx;
height: 30rpx
}
.addresint{
display: flex;
align-items: center;
width:600rpx;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
color:#1F1F1F;
font-size:24rpx;
}
.appint_item{
position: relative;
display: flex;
padding:30rpx 0;
align-items: center;
justify-content: space-between;
background:#fff;
border-bottom:1rpx solid #EBEBEB;
}
.int_rigth{
width:200rpx;
display: flex;
align-items: center;
color:#292929;
font-size:28rpx;
box-sizing: border-box;
}
.int_img{
width:28rpx;
height: 28rpx;
margin: 0 16rpx 0 0;
}
.int_img image{
width:100%;
height: 100%;
}
.int{
width:500rpx;
display: flex;
align-items: center;
justify-content: space-between;
}
.appint_item .icon-xiangyou{
position: absolute;
top:28rpx;
right: 0;
color:#ccc;
}
.info_box{
background: #fff;
padding:30rpx 0 0 0;
}
.vlue_txt{
color:#CCCCCC;
font-size:24rpx;
}
.input_txt{
width:100%;
}
.input_txt input{
width:100%;
}
.int_title{
display: flex;
align-items: center;
justify-content: space-between;
color:#8DE063;
font-size:30rpx;
}
.inmi_img{
width:22rpx;
height: 22rpx;
border-radius: 50%;
overflow: hidden;
}
.inmi_img image{
width:100%;
height: 100%;
}
.nimi_txt{
font-size:24rpx;
margin: 0 10rpx 0 0;
color:#8DE063;
}
.txt_box .iconfont{
font-size:27rpx;
color:#8DE063;
}
.input_p{
color:#CCCCCC;
font-size:24rpx;
}
.tranpost{
background: #fff;
margin: 16rpx 0 0 0;
padding:0 32rpx;
}
.tranpost_item{
display: flex;
justify-items: center;
justify-content: space-between;
color:#292929;
font-size:28rpx;
padding:30rpx 0;
border-bottom:1rpx solid #EBEBEB;
}
.txt-green{
color:#8DE063;
}
.int_btn{
margin: 28rpx 32rpx;
height: 88rpx;
display: flex;
align-items: center;
justify-content: center;
color:#fff;
font-size:34rpx;
background: #8DE063;
border-radius: 44rpx;
}
.int_btn:active{
opacity: 0.7;
}
.mold{
background: rgba(0,0,0,0.3);
width:100%;
height: 100%;
position: fixed;
z-index: 2;
top:0;
left:0;
display: flex;
justify-content: center;
align-items: center;
}
.mold_main{
padding:0 60rpx 160rpx 60rpx;
position: relative;
box-sizing: border-box;
background: #fff;
width:646rpx;
border-radius: 36rpx;
box-shadow:0rpx 8rpx 16rpx 0rpx rgba(0, 0, 0, 0.08);
}
.mold_titlebox{
display: flex;
align-items: center;
justify-content: center;
position: relative;
color:#000;
/* font-weight: bold; */
font-size:36rpx;
padding:30rpx 0;
}
.mold_titlebox::before{
content: '';
position: absolute;
top:50%;
left:177rpx;
transform: translateX(-50%);
width:9rpx;
height: 9rpx;
border-radius: 50%;
background: #8EE064;
}
.mold_titlebox::after{
content: '';
position: absolute;
top:50%;
right:170rpx;
transform: translateX(-50%);
width:9rpx;
height: 9rpx;
border-radius: 50%;
background: #8EE064;
}
.mold_btn{
position: absolute;
bottom:40rpx;
transform: translateX(-50%);
left:50%;
display: flex;
align-items: center;
justify-content: center;
color:#fff;
font-size:30rpx;
width:460rpx;
height: 82rpx;
border-radius: 42rpx;
background: linear-gradient(0deg,rgba(125,198,87,1),rgba(142,224,100,1));
border:1px solid rgba(226,226,226,1);
}
.mold_btn:active{
opacity: 0.7;
}
.mold_content{
height: 680rpx;
overflow-y: scroll;
color:#000;
font-size:26rpx;
line-height: 50rpx;
}
.gry{
color:#CCCCCC !important;
}
.gry_btn{
background: rgba(204,204,204,1) !important;
color:#fff !important;
}
\ No newline at end of file
... ...
// pages/eidt_myinfo/eidt_myinfo.js
const app=getApp();
Page({
/**
* 页面的初始数据
*/
data: {
showmold:false,
array:['男','女'],
postdata:[],
sex:'女',
name1:'',//临时的name
upimgstr:''
},
setshowmold(){
this.setData({
showmold:true
})
},
setshowno(){
this.setData({
showmold: false
})
},
bindPickerChange(e){
let that=this;
let array = that.data.array;
let postdata=that.data.postdata;
postdata.sextab = array[e.detail.value];
if (array[e.detail.value]=='男'){
postdata.sex=1;
} else if (array[e.detail.value] == '女'){
postdata.sex = 2;
}
this.setData({
postdata:postdata
})
},
//上传多个文件的方法
uploadImages() {
let that = this;
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
success: function (res) {
let successUp = 0; //成功个数
let failUp = 0; //失败个数
let i = 0; //第几个
let tempFilePaths = res.tempFilePaths //总文件
let length = res.tempFilePaths.length //总共个数
wx.showNavigationBarLoading()
wx.showLoading({
title: '上传中',
})
console.log(tempFilePaths)
that.uploadAllfile(tempFilePaths, successUp, failUp, i, length)
},
fail: function (res) {
}
})
},
uploadAllfile(filePaths, successUp, failUp, i, length) {
let that = this
let bannerimgs = that.data.bannerimgs;
let head = {
'XX-Token': wx.getStorageSync('token'),
'XX-Device-Type': ''
}
let url = 'http://jysh.w.bronet.cn/api/wxapp/public/upload'
wx.uploadFile({
url: url, //仅为示例,非真实的接口地址
filePath: filePaths[i],
name: 'file',
header: head,
formData: {},
success: function (res) {
let temdata = JSON.parse(res.data);
let postdata = that.data.postdata;
postdata.avatar = temdata.data;
wx.hideNavigationBarLoading();
wx.hideLoading();
that.setData({
postdata: postdata
})
},
fail: function (res) {
wx.hideNavigationBarLoading()
wx.hideLoading()
console.log(res);
},
complete: () => {
i++;
if (i == length) {
console.log('总共' + successUp + '张上传成功,' + failUp + '张上传失败!');
} else { //递归调用uploadDIY函数
this.uploadAllfile(filePaths, successUp, failUp, i, length);
}
},
})
},
setname(e){
let that=this;
that.setData({
name1:e.detail.value
})
},
yesname(){
let that=this;
let postdata = that.data.postdata;
postdata.user_nickname = that.data.name1;
that.setData({
postdata:postdata,
showmold: false
})
},
void(){
},
submit(){
let that=this;
let url ='home/Member_center/update_user';
let header={
'XX-Token':wx.getStorageSync('token')
}
let postdata=that.data.postdata;
let param={
user_nickname: postdata.user_nickname,
avatar: postdata.avatar,
sex: postdata.sex
}
app.post(url,param,header).then((res)=>{
console.log(res)
wx.switchTab({
url: '/pages/my/my',
})
}).catch((err)=>{
console.log(err)
})
},
getpostdata() {
let that = this;
let url = 'home/Member_center/index';
let header = {
'XX-Token': wx.getStorageSync('token')
};
app.post(url, {}, header).then((res) => {
if (res.sex=='0'){
res.sextab='暂无'
} else if (res.sex == '1'){
res.sextab = '男'
} else if (res.sex == '2'){
res.sextab = '女'
}
that.setData({
postdata: res
})
}).catch((err) => {
console.log(err)
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let that = this;
that.getpostdata();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
let that = this;
that.getpostdata();
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
... ...
{"navigationBarTitleText": "编辑资料"}
\ No newline at end of file
... ...
<!--pages/eidt_myinfo/eidt_myinfo.wxml-->
<view class='itembox'>
<view class='my_item' bindtap='uploadImages'>
<view class='my_left'>
<view class='heaimg'>
<image src='{{postdata.avatar}}'></image>
</view>
</view>
<view class='my_rigth'>
<text>编辑头像</text>
<text class='iconfont icon-xiangyou'></text>
</view>
</view>
<view class='my_item' bindtap='setshowmold'>
<view class='my_left'>
昵称
</view>
<view class='my_rigth'>
<text>{{postdata.user_nickname}}</text>
<text class='iconfont icon-xiangyou'></text>
</view>
</view>
<picker bindchange="bindPickerChange" range="{{array}}">
<view class='my_item'>
<view class='my_left'>
性别
</view>
<view class='my_rigth'>
<text>{{postdata.sextab}}</text>
<text class='iconfont icon-xiangyou'></text>
</view>
</view>
</picker>
</view>
<view class='bg'></view>
<view class='itembox'>
<view class='my_item'>
<view class='my_left'>
手机号
</view>
<view class='my_rigth'>
<text>{{postdata.mobile}}(已绑定)</text>
<text class='iconfont icon-xiangyou'></text>
</view>
</view>
</view>
<view class='my_infobtn' bindtap='submit'>保存</view>
<view class='mold' wx:if='{{showmold}}' bindtap='setshowno'>
<view class='mold_box' catchtap='void'>
<view class='mold_top'>昵称</view>
<view class='mold_bottom'>
<view class='mold_input'>
<input value='{{postdata.user_nickname}}' bindinput='setname'></input>
</view>
</view>
<view class='my_btnbox'>
<view class='my_btn' catchtap='setshowno'>取消</view>
<view class='my_btn' catchtap='yesname'>确定</view>
</view>
</view>
</view>
\ No newline at end of file
... ...
/* pages/eidt_myinfo/eidt_myinfo.wxss */
page{
padding:0 0 150rpx 0;
}
.itembox{
padding:10rpx 32rpx 0 32rpx;
}
.my_item{
display: flex;
justify-content: space-between;
align-items: center;
padding:36rpx 0;
border-bottom:1rpx solid #EBEBEB;
}
.my_item:last-child{
border:none;
}
.my_left{
color:#000;
font-size:30rpx;
}
.heaimg{
height: 84rpx;
width: 84rpx;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.heaimg image{
width:100%;
height: 100%;
display: block;
}
.my_rigth{
font-size:26rpx;
color:#666666;
}
.bg{
width:100%;
height: 16rpx;
background: #F5F6FA;
}
.my_infobtn{
width:686rpx;
position: fixed;
bottom:0;
left: 0;
margin: 32rpx;
height: 80rpx;
border-radius: 40rpx;
display: flex;
align-items: center;
justify-content: center;
background: #8DE063;
color:#fff;
font-size:30rpx;
z-index:1;
}
.my_infobtn:active{
opacity: 0.7
}
.mold{
position: fixed;
width:100%;
height: 100%;
top:0;
left:0;
background-color: rgba(0,0,0,0.1);
z-index:30;
}
.mold_box{
position: absolute;
top:50%;
left:50%;
width:718rpx;
transform: translate(-50%,-50%);
background: #fff;
border-radius: 36rpx;
overflow: hidden;
z-index:50;
}
.mold_top{
padding:30rpx 0;
text-align: center;
color:#000000;
font-size:36rpx;
border-bottom:1rpx solid #EBEBEB;
}
.mold_bottom{
margin: 0 55rpx
}
.mold_input{
margin: 50rpx 0 60rpx 0;
color:#000;
font-size:30rpx;
border-bottom: 1rpx solid #999;
}
.mold_input input{
width:100%;
height: 100%;
margin: 0 0 10rpx 0;
}
.my_btnbox{
margin: 0 32rpx 0 32rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
.my_btnbox .my_btn{
height: 82rpx;
margin: 0 0 30rpx 0;
width:312rpx;
border-radius: 41rpx;
background:rgba(247,247,247,1);
border:1px solid rgba(226,226,226,1);
color:#53B920;
font-size:30rpx;
display: flex;
align-items: center;
justify-content: center;
}
\ No newline at end of file
... ...
// pages/img_text/img_text.js
const app=getApp();
var wxParse = require('../../wxParse/wxParse.js')
Page({
/**
* 页面的初始数据
*/
data: {
state: 1,//1开通城市,2预约流程,3关于我们,4公告详情,5消息
id:'',
postdata:''
},
//公告详情
getdata(){
let that=this;
let url ='home/home/notice_info';
let param={
id:that.data.id
}
app.post(url, param).then((res)=>{
that.setData({
postdata:res
})
wxParse.wxParse('content', 'html', res.content, that, 5);
}).catch((errMsg)=>{
console.log(errMsg)
})
},
//开通城市、预约流程、关于象合家、公益基金池(id只有2,3,4,9)
getmoredata(id){
let that=this;
let url ='home/home/page_info';
let param = {
id: id
}
app.post(url, param).then((res) => {
that.setData({
postdata: res
})
wxParse.wxParse('content', 'html', res.content, that, 5);
}).catch((errMsg) => {
console.log(errMsg)
})
},
//系消息详情
system_bell_info(id){
let that=this;
let url ='home/Member_center/system_bell_info';
let params={
id:id
}
let header={
'XX-Token':wx.getStorageSync('token')
}
app.post(url, params, header).then((res)=>{
that.setData({
postdata: res
})
wxParse.wxParse('content', 'html', res.content, that, 5);
}).catch((err)=>{
console.log(err)
})
},
/**
* 生命周期函数--监听页面加载,开通城市、预约流程、关于象合家、公益基金池(id只有2,3,4,9)
*/
onLoad: function (options) {
let that=this;
that.setData({
state:options.state
})
let BarTitle=''
if (options.state== '1'){
BarTitle='开通城市'
that.getmoredata(2);
} else if (options.state == '2'){
BarTitle = '预约流程';
that.getmoredata(3);
} else if (options.state == '3'){
BarTitle = '关于我们';
that.getmoredata(4);
} else if (options.state == '4'){
BarTitle = '公告详情';
that.setData({
id: options.id
})
that.getdata();
} else if (options.state == '5'){
BarTitle = '消息';
that.setData({
id: options.id
})
that.system_bell_info(options.id)
}
wx.setNavigationBarTitle({
title: BarTitle
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
... ...
{}
\ No newline at end of file
... ...
<!--pages/img_text/img_text.wxml-->
<view class='top_img'>
<image src='{{postdata.thumbnail}}'></image>
</view>
<view class='text_title'>{{postdata.title}}</view>
<view class='text_content'>
<import src="../../wxParse/wxParse.wxml" />
<template is='wxParse' data='{{wxParseData:content.nodes}}' />
</view>
... ...
/* pages/img_text/img_text.wxss */
.top_img{
height:360rpx;
overflow: hidden;
}
.top_img image{
width:100%;
height: 100%;
display: block;
}
.text_title{
text-align: center;
color:#211F1D;
font-size:36rpx;
font-weight: bold;
padding:33rpx 0;
}
.text_content{
text-indent: 50rpx;
margin: 0 34rpx 30rpx 34rpx;
color:#252729;
font-size:30rpx;
line-height: 56rpx;
}
\ No newline at end of file
... ...
const app=getApp();
import NumberAnimate from "../../utils/NumberAnimate.js";
var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');
var qqmapsdk;
Page({
/**
* 页面的初始数据
*/
data: {
postdata:'',
city:'',
province:''
},
// 手机号授权
getPhoneNumber: function (e) {
let that=this;
wx.login({
success: function (s) {
let url = 'wxapp/public/getSessionKey';
if (s.code) {
var code = s.code;
var param = {
code: code
}
app.post(url, param).then((res) => {
that.login_phone(res.openid, res.session_key, e.detail.encryptedData, e.detail.iv);
}).catch((errMsg) => {
console.log(errMsg);
})
}
}
});
},
//到预约页
goappintment(){
wx.navigateTo({
url: '/pages/appointment/appintment',
success: function(res) {},
fail: function(res) {},
complete: function(res) {},
})
},
login_phone(openid, session_key, encrypted_data, iv ){
let that = this;
let param = {
openid: openid,
session_key: session_key,
encrypted_data: encrypted_data,
iv: iv
}
let url = 'wxapp/public/login_phone';
app.post(url, param).then((res) => {
wx.navigateTo({
url: '/pages/appointment/appintment',
success: function(res) {},
fail: function(res) {},
complete: function(res) {},
})
}).catch((errMsg) => {
console.log(errMsg);
})
},
// 数字滚动
animate: function () {
let that=this;
this.setData({
num1: '',
});
let num1 = parseInt(that.data.postdata.num.kg);
// let num1 = 906037;
let n1 = new NumberAnimate({
from: num1,//开始时的数字
speed: 5000,// 总时间
refreshTime: 100,// 刷新一次的时间
decimals: 0,//小数点后的位数
onUpdate: () => {//更新回调函数
this.setData({
num1: n1.tempValue
});
},
onComplete: () => {//完成回调函数
}
});
},
getindexdata(){
let that=this;
let url ='home/home/index';
let header={
'XX-Token':wx.getStorageSync('token')
}
app.post(url,{},header).then((res)=>{
that.setData({
postdata:res
})
that.animate();
}).catch((err)=>{
console.log(err)
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let that=this;
//注册腾讯地图
qqmapsdk = new QQMapWX({
key: 'GERBZ-FTDR6-M4HS4-MRP44-25KPT-UCBBV'
});
//获取用户省市位置
wx.getLocation({
success: function(res) {
let location={
latitude: res.latitude,
longitude: res.longitude
}
qqmapsdk.search({
keyword:'全部',
location: location,
success: function (res) {
let city = res.data[0].ad_info.city;
let province = res.data[0].ad_info.province;
app.globalData.city = city;
that.setData({
province: province,
city: city
})
},
fail: function (res) {
},
complete: function (res) {
}
});
},
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
let that=this;
that.getindexdata();
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
... ...
{"navigationBarTitleText": "象和家"}
\ No newline at end of file
... ...
<view class='index_header'>
<view class='header_top'>
<view class='header_top_left'>
{{province}}{{city}}
<view class='tri_box'>
<image src='../imgs/tri.png'></image>
</view>
</view>
<view class='header_top_rigth'>谢谢你这么有爱心来看我</view>
</view>
<view class='header_main'>
<view>互联网+衣服环保回收品牌</view>
<view class='num_box'>
<view class='num_inbox'>{{num1}}
<text>件</text>
</view>
</view>
<view class='header_txt'>累计再利用衣服</view>
</view>
<view class="waveWrapper waveAnimation">
<view class="waveWrapperInner bgTop">
<view class="wave waveTop">
<!-- <image mode='widthFix' src="../imgs/alin01.png"></image> -->
</view>
</view>
<view class="waveWrapperInner bgMiddle">
<view class="wave waveMiddle">
<image mode='widthFix' src="../imgs/alin02.png"></image>
</view>
</view>
<view class="waveWrapperInner bgBottom">
<view class="wave waveBottom">
<image mode='widthFix' src="../imgs/alin03.png"></image>
</view>
</view>
</view>
</view>
<view class='header_center'>
<view class='center_item'>
<view class='item_img'>
<image src='../imgs/aicon@2x.png'></image>
</view>
<view>免运费</view>
</view>
<view class='center_item' >
<view class='item_img'>
<image src='../imgs/aicon@2x.png'></image>
</view>
<view>在线预约</view>
</view>
<view class='center_item'>
<view class='item_img'>
<image src='../imgs/aicon@2x.png'></image>
</view>
<view>上门取件</view>
</view>
</view>
<view class='icon_box'>
<view class='icon_cell' >
<view class='cell_img'>
<image src='../imgs/aicon02@2x.png'></image>
</view>
<text>衣服</text>
</view>
<view class='icon_cell' >
<view class='cell_img'>
<image src='../imgs/aicon03@2x.png'></image>
</view>
<text>鞋帽</text>
</view>
<view class='icon_cell' >
<view class='cell_img'>
<image src='../imgs/aicon04@2x.png'></image>
</view>
<text>包包</text>
</view>
<view class='icon_cell' >
<view class='cell_img'>
<image src='../imgs/aicon05@2x.png'></image>
</view>
<text>其他</text>
</view>
</view>
<view class='adv_box'>
<view class='adv_left'>最新公告 :</view>
<swiper autoplay="true " circular="true " interval="2000 ">
<swiper-item wx:for='{{postdata.notice}}' wx:key>
<navigator url="/pages/img_text/img_text?state=4&id={{item.id}}" hover-class="other-navigator-hover">
{{item.title}}
</navigator>
</swiper-item>
</swiper>
</view>
<button class='app' open-type='getPhoneNumber' wx:if='{{postdata.is_mobile==0}}' bindgetphonenumber="getPhoneNumber">立即预约</button>
<view class='app' bindtap="goappintment" wx:else>立即预约</view>
<view class='icon_box'>
<navigator class='in_cell' url='/pages/img_text/img_text?state=1' hover-class="other-navigator-hover ">
<view class='in_cellimg'>
<image src='../imgs/aicon08@2x.png'></image>
</view>
<text>开通城市</text>
</navigator>
<navigator class='in_cell' url='/pages/img_text/img_text?state=2' hover-class="other-navigator-hover ">
<view class='in_cellimg'>
<image src='../imgs/aicon09@2x.png'></image>
</view>
<text>预约流程</text>
</navigator>
<navigator class='in_cell' url='/pages/service/service' hover-class="other-navigator-hover ">
<view class='in_cellimg'>
<image src='../imgs/aicon10@2x.png'></image>
</view>
<text>客服中心</text>
</navigator>
</view>
\ No newline at end of file
... ...
.index_header{
background: #8DE063;
padding:0 32rpx 100rpx 32rpx;
color:#fff;
font-size:30rpx;
position: relative;
}
.header_top{
display: flex;
align-items: center;
justify-content: space-between;
}
.header_top_left{
position: relative;
padding:0 40rpx 0 20rpx;
text-align: center;
line-height: 60rpx;
height: 60rpx;
color:#fff;
font-size: 26rpx;
background: #7BD64D;
border-radius: 30rpx;
}
.tri_box{
height:17rpx;
width:17rpx;
position:absolute;
overflow:hidden;
right:14rpx;
bottom:20rpx;
z-index:3;
}
.tri_box image{
display: block;
width:100%;
height: 100%;
}
.header_top_rigth{
width:430rpx;
height: 60rpx;
text-align: center;
line-height: 60rpx;
color:#fff;
font-size:30rpx;
font-weight: bold;
border-radius: 30rpx;
background: #7BD64D;
}
.header_main{
padding:30rpx 0 20rpx 0;
display: flex;
flex-direction: column;
align-items: center;
}
.num_box{
margin: 23rpx 0 25rpx 0;
width:255rpx;
height: 84rpx;
display: flex;
justify-content: center;
align-items: center;
background: rgba(235,250,227,1);
border-radius: 42rpx;
}
.num_inbox{
width: 231rpx;
height: 60rpx;
color:#46D043;
font-size:36rpx;
background: #FFFFFF;
border-radius: 30rpx;
display: flex;
justify-content: center;
align-items: center;
}
.header_txt{
color:#fff;
font-size:26rpx;
font-weight: bold;
}
.header_center{
margin: 30rpx 90rpx 37rpx 90rpx;
display: flex;
align-items: center;
justify-content: space-between;
}
.center_item{
display: flex;
align-items: cneter;
justify-content: cneter;
color:#979DA8;
font-size:26rpx;
}
.item_img{
margin: 0 13rpx 0 0;
width:29rpx;
height: 36rpx;
box-sizing: border-box;
}
.item_img image{
width:100%;
height: 100%;
}
.icon_box{
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 100rpx 20rpx 100rpx;
text-align: center;
}
.icon_cell{
color:#979DA8;
font-size: 26rpx;
}
.cell_img{
width:84rpx;
height: 84rpx;
border-radius: 50%;
overflow: hidden;
}
.cell_img image{
width:100%;
height: 100%;
border-radius: 50%;
}
.adv_box{
display: flex;
justify-items: center;
border:1rpx solid #EBEBEB;
margin: 37rpx 0 27rpx 0;
color:#53555C;
font-size:22rpx;
padding:0 40rpx;
height: 49rpx;
line-height: 49rpx;
}
.adv_left{
color:#7BD64D;
margin: 0 10rpx 0 0;
}
.app{
width:213rpx;
height: 213rpx;
line-height: 213rpx;
margin: 0 auto 20rpx auto;
color:#fff;
font-size:36rpx;
text-align: center;
border-radius: 50%;
background: #8DE063;
box-shadow: #D5D5DD 0 0 10rpx 5rpx;
}
.in_cell{
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
color:#252629;
font-size:26rpx;
}
.in_cellimg{
width:100rpx;
height: 100rpx;
border-radius: 50%;
overflow: hidden;
margin: 0 0 10rpx 0;
}
.in_cellimg image{
width:100%;
height: 100%;
display: block;
}
.waveWrapper {
overflow: hidden;
width: 100%;
position: absolute;
left: 0;
bottom:-1rpx;
height: 100rpx;
z-index:300;
}
.waveWrapper image {
width: 100%;
height: 100%;
}
.waveWrapperInner {
position: absolute;
width: 100%;
overflow: hidden;
bottom: -1px;
height: 100%;
}
.bgTop {
z-index: 15;
opacity: 0.5;
}
.bgMiddle {
z-index: 10;
opacity: 0.75;
}
.bgBottom {
z-index: 5;
}
.wave {
position: absolute;
left: 0;
width: 200%;
bottom: 0;
transform-origin: center bottom;
}
.waveAnimation .waveTop {
animation: move-wave 10s linear infinite;
}
.waveAnimation .waveMiddle {
animation: move_wave 10s linear infinite;
}
.waveAnimation .waveBottom {
animation: move_wave 15s linear infinite;
}
@-webkit-keyframes move_wave {
0% {
transform: translateX(0) translateZ(0) scaleY(0.75);
}
50% {
transform: translateX(-25%) translateZ(0) scaleY(0.55);
}
100% {
transform: translateX(-50%) translateZ(0) scaleY(0.75);
}
}
@keyframes move_wave {
0% {
transform: translateX(0) translateZ(0) scaleY(0.75);
}
50% {
transform: translateX(-25%) translateZ(0) scaleY(0.55);
}
100% {
transform: translateX(-50%) translateZ(0) scaleY(0.75);
}
}
swiper{
height: auto;
width:500rpx;
}
\ No newline at end of file
... ...
//logs.js
const util = require('../../utils/util.js')
Page({
data: {
logs: []
},
onLoad: function () {
this.setData({
logs: (wx.getStorageSync('logs') || []).map(log => {
return util.formatTime(new Date(log))
})
})
}
})
... ...
{
"navigationBarTitleText": "查看启动日志"
}
\ No newline at end of file
... ...
<!--logs.wxml-->
<view class="container log-list">
<block wx:for="{{logs}}" wx:for-item="log">
<text class="log-item">{{index + 1}}. {{log}}</text>
</block>
</view>
... ...
.log-list {
display: flex;
flex-direction: column;
padding: 40rpx;
}
.log-item {
margin: 10rpx;
}
... ...
// pages/love/love.js
const app=getApp();
Page({
/**
* 页面的初始数据
*/
data: {
mode: "scaleToFill",
arr: ['../imgs/abanner01@2x.png', '../imgs/abanner01@2x.png', '../imgs/abanner01@2x.png'],
indicatorDots: true,
autoplay: true,
interval: 2000,
duration: 1000,
},
//爱心头条
getpostdata(){
let that=this;
let url ='home/Elephant/index';
app.post(url,{}).then((res)=>{
that.setData({
postdata:res
})
}).catch((err)=>{
console.log(err)
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let that=this;
that.getpostdata();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
... ...
{"navigationBarTitleText": "象爱心"}
\ No newline at end of file
... ...