diff --git a/.gitignore b/.gitignore index a503fa2..a69b7fd 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /unpackage/ +/test/ diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json index 01e9904..2edbecd 100644 --- a/.hbuilderx/launch.json +++ b/.hbuilderx/launch.json @@ -2,6 +2,9 @@ "version" : "1.0", "configurations" : [ { + "app-plus" : { + "launchtype" : "local" + }, "default" : { "launchtype" : "local" }, @@ -13,6 +16,10 @@ }, "provider" : "aliyun", "type" : "uniCloud" + }, + { + "playground" : "custom", + "type" : "uni-app:app-android" } ] } diff --git a/App.vue b/App.vue index 0ad5511..82fce54 100644 --- a/App.vue +++ b/App.vue @@ -798,4 +798,5 @@ @import "uview-ui/index.scss"; @import 'components/colorui/main.css'; @import 'components/colorui/icon.css'; + @import '@/common/style/common.scss'; \ No newline at end of file diff --git a/common/style/common.scss b/common/style/common.scss new file mode 100644 index 0000000..9837a21 --- /dev/null +++ b/common/style/common.scss @@ -0,0 +1,409 @@ +.u-relative, +.u-rela { + position: relative; +} + +.u-absolute, +.u-abso { + position: absolute; +} +.u-fixed,.u-fix{ + position: fixed; +} +.left-top{ + left: 0; + top: 0; +} +.u-overflow-hide{ + overflow: hidden; +} + +// nvue不能用标签命名样式,不能放在微信组件中,否则微信开发工具会报警告,无法使用标签名当做选择器 +/* #ifndef APP-NVUE */ +image { + display: inline-block; +} + +// 在weex,也即nvue中,所有元素默认为border-box +view, +text { + box-sizing: border-box; +} +/* #endif */ + +.u-font-xs { + font-size: 22rpx; +} + +.u-font-sm { + font-size: 26rpx; +} + +.u-font-md { + font-size: 28rpx; +} + +.u-font-lg { + font-size: 30rpx; +} + +.u-font-xl { + font-size: 34rpx; +} + +.u-flex { + /* #ifndef APP-NVUE */ + display: flex; + /* #endif */ + flex-direction: row; + align-items: center; +} + +.u-flex-wrap { + flex-wrap: wrap; +} + +.u-flex-nowrap { + flex-wrap: nowrap; +} + +.u-col-center { + align-items: center; +} + +.u-col-top { + align-items: flex-start; +} + +.u-col-bottom { + align-items: flex-end; +} + +.u-row-center { + justify-content: center; +} + +.u-row-left { + justify-content: flex-start; +} + +.u-row-right { + justify-content: flex-end; +} + +.u-row-between { + justify-content: space-between; +} + +.u-row-around { + justify-content: space-around; +} + +.u-text-left { + text-align: left; +} + +.u-text-center { + text-align: center; +} + +.u-text-right { + text-align: right; +} + +.u-flex-col { + /* #ifndef APP-NVUE */ + display: flex!important; + /* #endif */ + flex-direction: column!important; +} + +// 定义flex等分 +@for $i from 0 through 12 { + .u-flex-#{$i} { + flex: $i; + } +} + +// 定义字体(px)单位,小于20都为px单位字体 +@for $i from 9 to 20 { + .u-font-#{$i} { + font-size: $i + px; + } +} + +// 定义字体(rpx)单位,大于或等于20的都为rpx单位字体 +@for $i from 20 through 40 { + .u-font-#{$i} { + font-size: $i + rpx; + } +} + +// 定义内外边距,历遍1-80 +@for $i from 0 through 80 { + // 只要双数和能被5除尽的数 + @if $i % 2 == 0 or $i % 5 == 0 { + // 得出:u-margin-30或者u-m-30 + .u-margin-#{$i}, .u-m-#{$i} { + margin: $i + rpx!important; + } + + // 得出:u-padding-30或者u-p-30 + .u-padding-#{$i}, .u-p-#{$i} { + padding: $i + rpx!important; + } + + @each $short, $long in l left, t top, r right, b bottom { + // 缩写版,结果如: u-m-l-30 + // 定义外边距 + .u-m-#{$short}-#{$i} { + margin-#{$long}: $i + rpx!important; + } + + // 定义内边距 + .u-p-#{$short}-#{$i} { + padding-#{$long}: $i + rpx!important; + } + + // 完整版,结果如:u-margin-left-30 + // 定义外边距 + .u-margin-#{$long}-#{$i} { + margin-#{$long}: $i + rpx!important; + } + + // 定义内边距 + .u-padding-#{$long}-#{$i} { + padding-#{$long}: $i + rpx!important; + } + } + } +} + +// 重置nvue的默认关于flex的样式 +.u-reset-nvue { + flex-direction: row; + align-items: center; +} + +/* start--文本行数限制--start */ +.u-line-1 { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.u-line-2 { + -webkit-line-clamp: 2; +} + +.u-line-3 { + -webkit-line-clamp: 3; +} + +.u-line-4 { + -webkit-line-clamp: 4; +} + +.u-line-5 { + -webkit-line-clamp: 5; +} + +.u-line-2, .u-line-3, .u-line-4, .u-line-5 { + overflow: hidden; + word-break: break-all; + text-overflow: ellipsis; + display: -webkit-box; // 弹性伸缩盒 + -webkit-box-orient: vertical; // 设置伸缩盒子元素排列方式 +} + +/* end--文本行数限制--end */ + + +/* start--不同颜色文字--start */ +.color-333{ + color: #333; +} +.color-666{ + color: #666; +} +.color-999{ + color: #999; +} +.color-red{ + color: $my-red-color; +} +.color-main{ + color:$my-main-color +} + +/* end--不同颜色文字--end */ + + +.tranistion{ + transition: all .3s ease-in-out; +} +.tranistion-1{ + transition: all .1s ease-in-out; +} +.tranistion-2{ + transition: all .2s ease-in-out; +} +.font-bold{ + font-weight: 700; +} + + +/* start--不同颜色背景--start */ +.my-bg-main{ + background-color:$my-main-color +} + +/* end--不同颜色背景--end */ + +.safe-page{ + padding-bottom: 60rpx!important; +} +::v-deep .uni-switch-input.uni-switch-input-checked{ + border-color: $my-main-color; + background-color: $my-main-color; +} +.btn-circle{ + border-radius: 200px; +} +.min-page{ + /* #ifdef H5 */ + min-height: calc(100vh - 44px); + /* #endif */ + /* #ifndef H5 */ + min-height: 100vh; + /* #endif */ +} +.w-full{ + width: 100%; +} +.gap-20{ + gap: 20rpx; +} +.color-000{ + color: #000; +} +.color-fff{ + color: #fff; +} +.bg-fff{ + background-color: #fff; +} +.bg-gray{ + background-color: #F9F9F9; +} +.overflow-hide{ + /* #ifdef H5 */ + height: calc(100vh - 44px); + /* #endif */ + /* #ifndef H5 */ + height: 100vh; + /* #endif */ + overflow: hidden; +} +.no-wrap{ + white-space: nowrap; +} +.border-r-12{ + border-radius: 12rpx; +} +.border-r-18{ + border-radius: 18rpx; +} +.border-top{ + border-top: 1px solid #E5E5E5; +} +.border-bottom{ + border-bottom: 1px solid #E5E5E5; +} +.scale7{ + transform: scale(0.7); +} +.page-gray { + min-height: calc(100vh); + /* #ifdef H5 */ + min-height: calc(100vh - var(--window-top)); + /* #endif */ + display: flex; + flex-direction: column; + background: #F9F9F9; +} +.box-shadow{ + box-shadow: 0 0 5px #eee; +} +.safe-bottom{ + padding-bottom: env(safe-area-inset-bottom); + /* #ifdef H5 */ + padding-bottom: 28rpx; + /* #endif */ +} +.position-all{ + left: 0; + right: 0; + top: 0; + bottom: 0; +} +.fixed-top{ + position: fixed; + /* #ifdef H5 */ + top: 44px; + /* #endif */ + /* #ifndef H5 */ + top: 0; + /* #endif */ + left: 0; + right: 0; +} +.lh30 { + line-height: 30px; +} +.default-box-padding{ + padding: 32rpx 24rpx; +} +.icon-arrow-down-fill { + width: 16rpx; + height: 10rpx; +} +.zIndex-999{ + z-index: 999; +} +.icon-default-size{ + width: 28rpx; + height: 28rpx; +} +::v-deep.uni-easyinput__placeholder-class{ + font-size: 28rpx!important; +} +.filter-gray{ + filter: grayscale(1); +} +// .u-font-20{ +// font-size: 10px; +// } +// .u-font-24{ +// font-size: 12px; +// } +// .u-font-28{ +// font-size: 14px; +// } +// .u-font-32{ +// font-size: 16px; +// } +.line-th{ + text-decoration: line-through; +} +//覆盖u-view-plus 颜色 +.u-primary-light { + color: $my-main-color; +} +::v-deep .u-border{ + border-width: 1px!important; +} + +::v-deep .u-m-t-16 .u-textarea{ + border-width: 1px!important; +} \ No newline at end of file diff --git a/key/certificate.cer b/key/certificate.cer new file mode 100644 index 0000000..960c4ab Binary files /dev/null and b/key/certificate.cer differ diff --git a/key/readme.md b/key/readme.md new file mode 100644 index 0000000..88db136 --- /dev/null +++ b/key/readme.md @@ -0,0 +1 @@ +vMLdZb1r \ No newline at end of file diff --git a/key/video.keystore b/key/video.keystore new file mode 100644 index 0000000..1407ab5 Binary files /dev/null and b/key/video.keystore differ diff --git a/me/choujiang/choujiang.vue b/me/choujiang/choujiang.vue new file mode 100644 index 0000000..66d96e3 --- /dev/null +++ b/me/choujiang/choujiang.vue @@ -0,0 +1,709 @@ + + + + + \ No newline at end of file diff --git a/me/detail/detail.nvue b/me/detail/detail.nvue index 818f852..8ea75ad 100644 --- a/me/detail/detail.nvue +++ b/me/detail/detail.nvue @@ -155,12 +155,12 @@ {{countPrice}}金币解锁单集视频 - + @@ -176,6 +176,8 @@ + + @@ -291,6 +293,14 @@ + + + @@ -301,6 +311,50 @@ export default { data() { return { + // 奖品列表, + prizeList: [{ + id: 'coupon88', + name: '8.8折', + img: 'https://img11.360buyimg.com/pop/jfs/t1/175718/35/12595/5477/60b660c6Eb850717b/a1cfe750dcdb5b78.png', + }, + { + id: 'coupon900', + Color: 'rgb(251, 219, 216)', + name: '900', + img: 'https://img11.360buyimg.com/pop/jfs/t1/190845/9/6092/4489/60b65fe8Ebb8f8284/955da889f6d1c13e.png', + }, + { + id: 'coupon1', + name: '1元', + img: 'https://img11.360buyimg.com/pop/jfs/t1/189927/14/6092/4174/60b66173E23c472ea/44af15a151defca1.png', + }, + { + id: 'apple', + Color: 'rgba(246, 142, 46, 0.5)', + name: '苹果手机', + img: 'https://img11.360buyimg.com/pop/jfs/t1/177670/26/4591/2514/60a25874Ee0e5332a/99c7bdfede732ae4.png' + }, + { + id: 'coupon210', + name: '210元', + img: 'https://img11.360buyimg.com/pop/jfs/t1/124578/12/20170/4429/60b635d8E7089ebb0/7a47d76a2a260cc0.png' + }, + { + id: 'jd100', + name: '100京豆', + img: 'https://img11.360buyimg.com/pop/jfs/t1/162790/37/15087/28046/6062a49aE8f2c10f2/5591ff0ff38a45e2.png', + }, + { + id: 'coupon400', + name: '400元', + img: 'https://img11.360buyimg.com/pop/jfs/t1/177090/2/7001/4535/60b6607aEe9c1db2a/76c67675f547db3f.png' + }, + { + id: 'thanks', + name: '谢谢参与', + img: 'https://storage.jd.com/cdn-upload/dialTemplateHeart.png', + } + ], showMoney: true, nowBs: 1, //当前倍速 subList: [{ @@ -481,6 +535,17 @@ } }, methods: { + onDone(index) { + const prize = this.prizeList[index] + uni.showModal({ + title: prize.id == 'thanks' ? '很遗憾' : '恭喜您', + content: (prize.id !== 'thanks' ? `获得` : '') + prize.name + }) + }, + onClick() { + // 奖品的索引 + this.$refs.dialer.run(5) + }, appear(e, index) { this.current = index this.showControls = true @@ -768,6 +833,7 @@ //打开支付弹窗 openPopusPay() { this.$refs.popuppay.open('bottom') + // this.$refs.refPopupZhuanPan.open('bottom') }, // 获取收藏状态 getMyLoveStatus() { diff --git a/me/detail/detail.vue b/me/detail/detail.vue index 1a2ae38..1f8c45c 100644 --- a/me/detail/detail.vue +++ b/me/detail/detail.vue @@ -211,15 +211,19 @@ - - - - 开通会员 - - (会员期内免费观看) - + + + @@ -249,6 +253,15 @@ + + + @@ -305,6 +318,50 @@ }, data() { return { + //奖品列表 + prizeList: [{ + id: 'coupon88', + name: '8.8折', + img: 'https://img11.360buyimg.com/pop/jfs/t1/175718/35/12595/5477/60b660c6Eb850717b/a1cfe750dcdb5b78.png', + }, + { + id: 'coupon900', + Color: 'rgb(251, 219, 216)', + name: '900', + img: 'https://img11.360buyimg.com/pop/jfs/t1/190845/9/6092/4489/60b65fe8Ebb8f8284/955da889f6d1c13e.png', + }, + { + id: 'coupon1', + name: '1元', + img: 'https://img11.360buyimg.com/pop/jfs/t1/189927/14/6092/4174/60b66173E23c472ea/44af15a151defca1.png', + }, + { + id: 'apple', + Color: 'rgba(246, 142, 46, 0.5)', + name: '苹果手机', + img: 'https://img11.360buyimg.com/pop/jfs/t1/177670/26/4591/2514/60a25874Ee0e5332a/99c7bdfede732ae4.png' + }, + { + id: 'coupon210', + name: '210元', + img: 'https://img11.360buyimg.com/pop/jfs/t1/124578/12/20170/4429/60b635d8E7089ebb0/7a47d76a2a260cc0.png' + }, + { + id: 'jd100', + name: '100京豆', + img: 'https://img11.360buyimg.com/pop/jfs/t1/162790/37/15087/28046/6062a49aE8f2c10f2/5591ff0ff38a45e2.png', + }, + { + id: 'coupon400', + name: '400元', + img: 'https://img11.360buyimg.com/pop/jfs/t1/177090/2/7001/4535/60b6607aEe9c1db2a/76c67675f547db3f.png' + }, + { + id: 'thanks', + name: '谢谢参与', + img: 'https://storage.jd.com/cdn-upload/dialTemplateHeart.png', + } + ], checked: false, payPrice: 0, //需要支付的价格 showMoney: false, //是否显示充值弹窗 @@ -676,6 +733,17 @@ }, }, methods: { + onDone(index) { + const prize = this.prizeList[index] + uni.showModal({ + title: prize.id == 'thanks' ? '很遗憾' : '恭喜您', + content: (prize.id !== 'thanks' ? `获得` : '') + prize.name + }) + }, + onClick() { + // 奖品的索引 + this.$refs.dialer.run(5) + }, goWallet(url) { uni.navigateTo({ url: url diff --git a/me/gift/duihuan.vue b/me/gift/duihuan.vue new file mode 100644 index 0000000..90a7bb3 --- /dev/null +++ b/me/gift/duihuan.vue @@ -0,0 +1,54 @@ + + + + + \ No newline at end of file diff --git a/me/gift/gift.vue b/me/gift/gift.vue new file mode 100644 index 0000000..6a7fd82 --- /dev/null +++ b/me/gift/gift.vue @@ -0,0 +1,101 @@ + + + + + \ No newline at end of file diff --git a/pages.json b/pages.json index 8eb8aa5..056c7d9 100644 --- a/pages.json +++ b/pages.json @@ -556,6 +556,28 @@ "enablePullDownRefresh": false, "navigationStyle": "custom" } + }, + { + "path" : "choujiang/choujiang", + "style" : + { + "navigationBarTitleText" : "抽奖" + } + }, + { + "path" : "gift/gift", + "style" : + { + "navigationStyle": "custom", + "navigationBarTitleText" : "奖品列表" + } + }, + { + "path" : "gift/duihuan", + "style" : + { + "navigationBarTitleText" : "兑换礼品" + } } ] }], diff --git a/pages/login/login - 副本.vue b/pages/login/login - 副本.vue new file mode 100644 index 0000000..1a9f605 --- /dev/null +++ b/pages/login/login - 副本.vue @@ -0,0 +1,1290 @@ + + + + + \ No newline at end of file diff --git a/pages/login/login.vue b/pages/login/login.vue index 1a9f605..6435e5b 100644 --- a/pages/login/login.vue +++ b/pages/login/login.vue @@ -1,83 +1,41 @@