diff --git a/App.vue b/App.vue
index dfb0261..3244566 100644
--- a/App.vue
+++ b/App.vue
@@ -1,7 +1,19 @@
+}
+// 会员特权
+.privilege {
+ padding: 20rpx 30rpx 80rpx;
+ box-sizing: border-box;
+ .privilege-list {
+ margin-bottom: 50rpx;
+ display: flex;
+ .privilege-img {
+ width: 74rpx;
+ height: 74rpx;
+ }
+ .privilege-text {
+ width: calc(100% - 74rpx);
+ padding-left: 40rpx;
+ font-size: 32rpx;
+ color: #999999;
+ line-height: 52rpx;
+ .privilege-name {
+ font-size: 40rpx;
+ color: #000000;
+ margin: 10rpx 0 20rpx;
+ }
+ .privilege-label.active {
+ color: #f6b338;
+ }
+ .privilege-right {
+ color: #7877eb;
+ }
+ }
+ }
+}
+
+// 用户协议
+.agree {
+ margin: $margin 0;
+ text-align: center;
+ .agree-tips {
+ background-color: #999999;
+ display: inline-block;
+ padding: 14rpx $padding;
+ color: #ffffff;
+ border-radius: 60rpx;
+ }
+}
+.agree-btn {
+ display: flex;
+ font-size: $title-size-lg;
+ text-align: left;
+ color: #999999;
+ padding: $padding;
+}
+
+// .content{
+// min-height: 100vh;
+// background: #fefaef;
+// }
+// 开通须知
+.notice {
+ font-size: $title-size-m;
+ color: $text-gray;
+ padding: $padding $padding * 2 $padding * 2;
+ .title {
+ padding-bottom: $padding/2;
+ font-weight: bold;
+ }
+ .item {
+ padding-bottom: $padding/2;
+ line-height: 40rpx;
+ text-align: justify;
+ }
+}
+// footer
+.footer {
+ padding: 0 $padding;
+ box-sizing: border-box;
+ text-align: center;
+ .footer-btn {
+ width: 74%;
+ }
+}
+// 会员权限
+.privilege {
+ padding: $padding;
+ .title {
+ font-weight: bold;
+ color: #322711;
+ font-size: $title-size;
+ text-align: center;
+ line-height: 90rpx;
+ }
+ .privilege-box {
+ display: flex;
+ flex-wrap: wrap;
+ padding: $padding 0;
+ .item {
+ width: 25%;
+ padding: $padding/2;
+ box-sizing: border-box;
+ text-align: center;
+ .icon {
+ width: 78rpx;
+ height: 78rpx;
+ background: #bd995d;
+ border-radius: 50%;
+ vertical-align: top;
+ }
+ .text {
+ font-size: $title-size-sm;
+ color: #201212;
+ line-height: 60rpx;
+ }
+ }
+ }
+}
+// 会员卡
+.cards {
+ position: relative;
+ background: #1f1b1c;
+ .card {
+ position: relative;
+ margin: 0 $margin;
+ background: linear-gradient(to right, #3b3d4a, #231d1f);
+ padding: 15rpx;
+ border-radius: $radius/2;
+ z-index: 2;
+ .card-content {
+ position: relative;
+ border: solid 1rpx rgba($color: white, $alpha: 0.4);
+ border-radius: $radius/2;
+ padding: 30rpx 180rpx 60rpx 148rpx;
+ min-height: 98rpx;
+ .cover {
+ position: absolute;
+ left: 30rpx;
+ top: 30rpx;
+ width: 98rpx;
+ height: 98rpx;
+ border-radius: 50%;
+ }
+ .user {
+ color: rgba($color: white, $alpha: 0.7);
+ line-height: 58rpx;
+ font-size: $title-size-lg;
+ }
+ .sub-time {
+ line-height: 40rpx;
+ color: #e6ce9e;
+ font-size: $title-size-sm;
+ }
+ .btn {
+ position: absolute;
+ color: #261f0f;
+ background: #e6ce9e;
+ width: 160rpx;
+ border-radius: 30rpx;
+ font-size: $title-size-m;
+ right: 30rpx;
+ top: 50rpx;
+ line-height: 58rpx;
+ text-align: center;
+ }
+ }
+ }
+ .cards-angle {
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ width: 100%;
+ z-index: 3;
+ }
+ &::after {
+ content: ' ';
+ height: 70rpx;
+ background: #b29671;
+ position: absolute;
+ width: 100%;
+ bottom: 0;
+ border-radius: $radius/2;
+ z-index: 0;
+ }
+}
+// tabs
+.tabs {
+ background: #1f1b1c;
+ color: white;
+ padding: 0 0 $padding 0;
+ display: flex;
+ justify-content: center;
+ font-size: $title-size-lg;
+ .item {
+ margin: 0 $margin;
+ line-height: 70rpx;
+ height: 70rpx;
+ color: rgba($color: white, $alpha: 0.6);
+ &.show {
+ position: relative;
+ font-weight: bold;
+ font-size: $title-size;
+ color: white;
+ &::after {
+ position: absolute;
+ bottom: 0;
+ left: 20%;
+ width: 60%;
+ height: 6rpx;
+ border-radius: 3rpx;
+ content: ' ';
+ background: white;
+ }
+ }
+ }
+}
+
diff --git a/pages/wxAuth/wxAuth.vue b/pages/wxAuth/wxAuth.vue
new file mode 100644
index 0000000..251602e
--- /dev/null
+++ b/pages/wxAuth/wxAuth.vue
@@ -0,0 +1,46 @@
+
+