diff --git a/components/XJ-comment/componets/common.vue b/components/XJ-comment/componets/common.vue new file mode 100644 index 0000000..65b97c4 --- /dev/null +++ b/components/XJ-comment/componets/common.vue @@ -0,0 +1,190 @@ + + + + + + diff --git a/components/XJ-comment/index.vue b/components/XJ-comment/index.vue new file mode 100644 index 0000000..8cab6ce --- /dev/null +++ b/components/XJ-comment/index.vue @@ -0,0 +1,400 @@ + + + + + + + diff --git a/components/XJ-comment/readme.md b/components/XJ-comment/readme.md new file mode 100644 index 0000000..69f4e41 --- /dev/null +++ b/components/XJ-comment/readme.md @@ -0,0 +1,238 @@ +# 环境 + +基于vue2和uni-ui开发; + +小程序调试基础库: 3.3.0 + +# 场景 + +即拿即用, 组件有详细注释内容, 方便二次开发; +目前在app-vue和小程序使用, 其他平台能否使用请评论留言反馈谢谢, 祝大家使用愉快. + +# 附言 + +主要是插件市场没找到满意的vue2版本, 诸多用着也不顺, 所以有了XJ-comment, 如有Bug请留言或Email, 开源不易且用且珍惜, 感谢使用. + + +# 功能 + +#### 已实现 + +* 无评论显示占位场景 √ +* 显示评论数量(新增和删除动态更新数量) √ +* 发起新评论 √ +* 点击评论内容回复 √ +* 回复一级评论 √ +* 回复二级评论 √ +* 展开超长评论内容 √ +* 能回复自身评论 √ +* 删除 √ +* 仅可删除自身评论 √ +* 可选三类删除模式 √ +* 点赞 √ +* 点赞大于100显示99+ √ + +#### 待实现 + +* 图片上传 × + +有其他需求的评论区留言 + +# :props 属性 + +| 属性名 | 说明 | 类型 | 默认值 | 必填 | 说明 | +| -------- | -------- | -------- |-------- |-------- |-------- | +| ref | 实例 | Object | - | true | | +| tableData | 评论列表 | Array | [ ] | true | | +| tableTotal | 评论总数 | Number | 0 | true | | +| deleteMode | 评论删除模式 | String | all | false | bind-当被删除的一级评论存在回复评论, 那么该评论内容变更显示为[当前评论内容已被移除] only-仅删除当前评论(后端删除相关联的回复评论, 否则总数显示不对) all-删除所有评论包括回复评论 | + +# @event 事件 + +| 属性名 | 说明 | 参数 | 说明 | +| -------- | -------- | -------- |-------- | +| likeClick | 点赞事件 | {{params}, callback} | { params: 评论id }, callback回调函数, 请求后端接口后调用, 执行后续逻辑 | +| replyClick | 回复事件 | {{params}, callback} | { params: 评论参数 }, callback回调函数, 请求后端接口后调用, 执行后续逻辑 | +| deleteClick | 删除事件 | {{params, mode}, callback} | { params: 评论数组id, mode: 删除模式[all, bind, only] }, callback回调函数, 请求后端接口后调用, 执行后续逻辑 | + +# $ref 实例可调用属性&事件 + +| 属性名 | 说明 | 回调参数 | 说明 | 平台差异说明 | +| -------- | -------- | -------- |-------- |-------- | +| newCommentFun | 发起新评论 | - | event | - | + +# 数据说明 + +```javascript= +// 用户信息 +type userInfoKeys = { + + id: number // 用户id + user_name: string // 用户名 + user_avatar: string // 用户头像地址 + +} +// 评论表 +type tableDataKeys = { + + id: number // 评论id + parent_id: number // 父级评论id + reply_id: number // 被回复人评论id + reply_name: string // 被回复人名称 + user_name: string // 用户名 + user_avatar: string // 评论者头像地址 + user_content: string // 评论内容 + is_like: boolean // 是否点赞 + like_count: number // 点赞数统计 + create_time: string // 创建时间 + +} + +``` + +# 使用方法 +```javascript= +// 复制整页代码配合下载的插件, 可正常运作(提示: 注意uni-ui版本, 可能uni-ui不同版本的$变量不一致, 自行配置颜色即可) + + + + + + +``` diff --git a/components/douyin-scrollview/douyin-scrollview.vue b/components/douyin-scrollview/douyin-scrollview.vue index 13b7256..d3889ef 100644 --- a/components/douyin-scrollview/douyin-scrollview.vue +++ b/components/douyin-scrollview/douyin-scrollview.vue @@ -577,13 +577,16 @@ */ getnewpinlun(){ // 这里是对评论信息做处理 + var data={ + page:1, + limit:10, + // id:'1', + shipinquanId:'1' + } uni.request({ - url: 'https://bdb24c6d-8c19-4f80-8e7e-c9c9f037f131.bspapp.com/video', - method: 'POST', - data:{ - info: 'videoID_pinlun', - _id: this.videoID - }, + url: 'app/shipinquan/contentList ', + method: 'GET', + data:data, success: (res) => { // console.log(res); this.pinlunList = []; diff --git a/my/hongbao/youhuijuanList.vue b/my/hongbao/youhuijuanList.vue index ce86c92..d44ccdc 100644 --- a/my/hongbao/youhuijuanList.vue +++ b/my/hongbao/youhuijuanList.vue @@ -127,6 +127,10 @@ uni.navigateTo({//返回项目订单 url:'/my/order/payModifyJsDetail' }) + }else if(this.content=='秒杀'){ + uni.navigateTo({//返回项目订单 + url:'/my/order/payModifyMs' + }) } }, diff --git a/my/order/payModifyMs.vue b/my/order/payModifyMs.vue index 813bb7f..36457fe 100644 --- a/my/order/payModifyMs.vue +++ b/my/order/payModifyMs.vue @@ -372,7 +372,7 @@ youhuijuan(){ var moeny=(this.orderXm.price*this.number).toFixed(2) uni.navigateTo({ - url:'/my/hongbao/youhuijuanList?price='+moeny+'&text='+'套餐' + url:'/my/hongbao/youhuijuanList?price='+moeny+'&text='+'秒杀' }) }, openpay() {//验证 diff --git a/my/order/paydingMs.vue b/my/order/paydingMs.vue index e628076..bb123a3 100644 --- a/my/order/paydingMs.vue +++ b/my/order/paydingMs.vue @@ -711,7 +711,7 @@ title: '支付成功' }) uni.redirectTo({ - url:'/pages/my/newseckill?type='+that.orderXm.type+'&name='+'index' + url:'/pages/my/newseckill?text='+'index' }) that.getOrder() } else { @@ -745,7 +745,7 @@ title: '支付成功' }) uni.redirectTo({ - url:'/pages/my/newseckill?type='+that.orderXm.type+'&name='+'index' + url:'/pages/my/newseckill?text='+'index' }) // this.$queue.showToast('支付成功'); @@ -779,7 +779,7 @@ title: '支付成功' }) uni.redirectTo({ - url:'/pages/my/newseckill?type='+that.orderXm.type+'&name='+'index' + url:'/pages/my/newseckill?text='+'index' }) that.callPay(rea.data); } else { @@ -806,7 +806,7 @@ title: '支付成功' }) uni.redirectTo({ - url:'/pages/my/newseckill?type='+that.orderXm.type+'&name='+'index' + url:'/pages/my/newseckill?text='+'index' }) const urlArr = window.location.href; const hostUrl = urlArr.split("/"); @@ -836,7 +836,7 @@ title: '支付成功' }) uni.redirectTo({ - url:'/pages/my/newseckill?type='+that.orderXm.type+'&name='+'index' + url:'/pages/my/newseckill?text='+'index' }) that.isCheckPay(rea.code, 'wxpay', JSON.stringify(rea.data)); } @@ -855,7 +855,7 @@ title: '支付成功' }) uni.redirectTo({ - url:'/pages/my/newseckill?type='+that.orderXm.type+'&name='+'index' + url:'/pages/my/newseckill?text='+'index' }) const div = document.createElement('div') div.innerHTML = rea.data //此处form就是后台返回接收到的数据 @@ -875,7 +875,7 @@ title: '支付成功' }) uni.redirectTo({ - url:'/pages/my/newseckill?type='+that.orderXm.type+'&name='+'index' + url:'/pages/my/newseckill?text='+'index' }) that.setPayment('alipay', rea.data); }); diff --git a/pages.json b/pages.json index 0f558ff..cf2ce78 100644 --- a/pages.json +++ b/pages.json @@ -53,7 +53,28 @@ } } }, - + { + "path": "pages/my/myMsOderDrtail", + "style": { + "navigationBarTitleText": "秒杀订单详情", + "enablePullDownRefresh": true, + "navigationStyle": "custom", + "app-plus": { + "titleNView": false + } + } + }, + { + "path": "pages/my/miaoShaOderDrtail", + "style": { + "navigationBarTitleText": "秒杀详情", + "enablePullDownRefresh": true, + "navigationStyle": "custom", + "app-plus": { + "titleNView": false + } + } + }, { "path": "pages/cooperate/index", "style": { diff --git a/pages/index/index.vue b/pages/index/index.vue index 79d3a4f..ddd627b 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -97,7 +97,7 @@ 服务疗程 - + 限时秒杀 diff --git a/pages/my/index.vue b/pages/my/index.vue index 85bb8cb..dde769d 100644 --- a/pages/my/index.vue +++ b/pages/my/index.vue @@ -608,7 +608,7 @@ }, miaoshao(){ uni.navigateTo({ - url:'/pages/my/newseckill' + url:'/pages/my/newseckill?text='+'my' }) }, meServe(item){ diff --git a/pages/my/miaoShaOderDrtail.vue b/pages/my/miaoShaOderDrtail.vue new file mode 100644 index 0000000..a923a16 --- /dev/null +++ b/pages/my/miaoShaOderDrtail.vue @@ -0,0 +1,690 @@ + + + \ No newline at end of file diff --git a/pages/my/myMsOderDrtail.vue b/pages/my/myMsOderDrtail.vue new file mode 100644 index 0000000..edebcea --- /dev/null +++ b/pages/my/myMsOderDrtail.vue @@ -0,0 +1,606 @@ + + + \ No newline at end of file diff --git a/pages/my/newseckill.vue b/pages/my/newseckill.vue index 411d5f5..19b63ed 100644 --- a/pages/my/newseckill.vue +++ b/pages/my/newseckill.vue @@ -45,7 +45,7 @@ - {{item.status=='1'?'未用完':item.status=='2'?'退款':'已用完'}} + {{item.status=='1'?'未用完':item.status=='2'?'退款':'已用完'}} @@ -92,11 +92,13 @@ page:1, limit:10, titleNmae:'', - tagsData:[] + tagsData:[], + text:'' } }, - onLoad(){ + onLoad(e){ this.myId = uni.getStorageSync('userId') + this.text=e.text this.getData() }, methods: { @@ -111,20 +113,32 @@ }, getData(){ let data = { - userId: this.myId, - type: '112', - page: this.page, - limit: this.limit, - title:this.searchValue, - } - this.$Request.get('/app/user/package/findMyPackageList', data).then(res => { - if (res.code == 0) { - this.dataList=res.data.records; - for(var i=0;i { + if (res.code == 0) { + this.dataList=res.data.list; + for(var i=0;i { + if (res.code == 0) { + this.dataList=res.data.records; + for(var i=0;i { - // 将请求的结果数组传递给z-paging - this.$refs.paging.complete(res.data.records); - }).catch(res => { - // 如果请求失败写this.$refs.paging.complete(false); - // 注意,每次都需要在catch中写这句话很麻烦,z-paging提供了方案可以全局统一处理 - // 在底层的网络请求抛出异常时,写uni.$emit('z-paging-error-emit');即可 - this.$refs.paging.complete(false); - }) + if(this.text=='index'){//首页进来的秒杀列表接口 + this.$Request.get('/app/massage/package/findAppActivityPage',params).then(res => { + this.$refs.paging.complete(res.data.list); + }).catch(res => { + this.$refs.paging.complete(false); + }) + }else{ + this.$Request.get('/app/user/package/findMyPackageList',params).then(res => { + this.$refs.paging.complete(res.data.records); + }).catch(res => { + this.$refs.paging.complete(false); + }) + } + }, backImg(){//返回上一页 - uni.reLaunch({ - url:'/pages/my/index' - }) + if(this.text=='my'){ + uni.reLaunch({ + url:'/pages/my/index' + }) + }else{ + uni.reLaunch({ + url:'/pages/index/index' + }) + } + }, clear(res) { this.getData() }, itemClick(item) { - uni.navigateTo({ - url:'/pages/my/newseckilldetails?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+'my' - }) + if(this.text=='index'){ + uni.navigateTo({ + url:'/pages/my/newseckilldetails?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+this.text + }) + }else{ + uni.navigateTo({ + url:'/pages/my/miaoShaOderDrtail?id='+item.id+'&limit='+this.limit+'&page='+this.page+'&name='+this.text + }) + } + } } } diff --git a/pages/my/newseckilldetails.vue b/pages/my/newseckilldetails.vue index 5981456..1ddbaa8 100644 --- a/pages/my/newseckilldetails.vue +++ b/pages/my/newseckilldetails.vue @@ -71,7 +71,7 @@ - 立即购买 + {{text=='index'?'立即购买':'立即预约'}} @@ -592,12 +592,12 @@ }, getData(){ var that=this; + let data = { + id: that.dataList.id, + page: that.page, + limit: that.limit, + } if(that.dataList.name=='index'){ - let data = { - id: that.dataList.id, - page: that.page, - limit: that.limit, - } that.$Request.get('/app/massage/package/getAppFlashDetail', data).then(res => { if (res.code == 0) { var newTime = new Date().getTime(); @@ -615,12 +615,8 @@ } }) }else{ - let data = { - mainId: that.dataList.id, - page: that.page, - limit: that.limit, - } - that.$Request.get('/app/massage/package/getAppFlashDetail', data).then(res => { + + that.$Request.get('/app/user/package/detail/getMyPackageDetail', data).then(res => { if (res.code == 0) { var newTime = new Date().getTime(); var starTime=this.getTimeInMilliseconds(res.data.startTime); @@ -630,13 +626,10 @@ }else{ this.$set(res.data, 'btnShow', false) } - that.mainData=res.data.mainData; - that.detailData=res.data.detailData; - that.contentImg=that.mainData.contentImg.split(","); - that.mainId=that.mainData.id - that.liaoTime=res.data.detailData[0].intervalDaysStr; - that.backgroundImageUrl=that.mainData.packageImg; - that.labels=that.mainData.labels.split(',') + that.mainData=res.data; + that.backgroundImageUrl=res.data.packageImg + that.contentImg=res.data.contentImg.split(","); + that.labels=res.data.labels.split(','); } }) } diff --git a/pages/videoCircle/index.vue b/pages/videoCircle/index.vue index 1e5ebd8..cdd2cf1 100644 --- a/pages/videoCircle/index.vue +++ b/pages/videoCircle/index.vue @@ -106,19 +106,14 @@ - - + > --> @@ -135,6 +130,7 @@ }, data() { return { + windowWidth: 0, windowHeight: 0, platform: "",