Browse Source

用户详情绑定关系 商品海报绑定关系

twodate
Enzo 4 years ago
parent
commit
be1cc91439
  1. 4
      common/api.js
  2. 55
      pages/center/fans.vue
  3. 14
      pages/center/index.vue
  4. 2
      pages/center/invite.vue
  5. 1
      pages/center/wallet.vue
  6. 42
      pages/goodsDetail/index.vue
  7. 34
      pages/index/index.vue
  8. 4
      pages/route/index.vue

4
common/api.js

@ -60,6 +60,10 @@ export const API_ARTICLE_DETAIL = '/api/article/detail'; // 协议文章详情
export const API_WXCODE = '/api/salesman/qrcode'//小程序二维码
export const API_INCOMELIST = '/api/salesman/income'//获取佣金记录
export const API_EXTRACTLIST = '/api/salesman/extract'//获取提取记录
export const API_FANS = '/api/salesman/fans'//获取粉丝列表
export const API_BINDGOODS = '/api/salesman/share'//商品海报分享绑定
export const API_BINDSALES = '/api/salesman/shareMan'//分销海报分享绑定
/* 商户相关 */
export const API_CONFIRM_CODE = '/api/confirm/code'; // 扫码核销

55
pages/center/fans.vue

@ -4,7 +4,7 @@
<view class="tab-item"
:class="current==index?'text-orange':'text-black1'"
v-for="(item, index) in tab_list" :key="index"
@click="current = index">{{ item.name }}
@click="changeTab(index)">{{ item.name }}
</view>
</view>
@ -17,11 +17,11 @@
v-if="tabIndex == current">
<view class="flex lf-p-30 solid-bottom" v-for="(item, index) in tabItem.list" :key="index">
<view>
<image src="../../static/center/shop-logo.png" style="height: 120rpx;width: 120rpx;" mode="aspectFill"></image>
<image :src="item.avatar" style="height: 120rpx;width: 120rpx;" mode="aspectFill"></image>
</view>
<view class="flex flex-direction justify-around lf-p-l-20">
<view class="lf-font-32 text-black1">时空网的内部网友 <text class="bg-red lf-font-24 lf-m-l-10" style="border-radius: 30rpx;padding: 5rpx 16rpx;">达人</text></view>
<view class="lf-font-24 lf-color-gray">2021-7-6 21:32:53</view>
<view class="lf-font-32 text-black1">{{item.username}} <text class="bg-red lf-font-24 lf-m-l-10" style="border-radius: 30rpx;padding: 5rpx 16rpx;">{{item.state}}</text></view>
<view class="lf-font-24 lf-color-gray">{{item.created_at}}</view>
</view>
</view>
@ -44,14 +44,14 @@
windowHeight: 0,
tab_list: [{
name: '内部粉丝',
list: [1],
list: [],
page: 1,
isPage: false,
loadingClass: false,
loadingText: '已加载全部数据'
},{
name: '外部粉丝',
list: [1,2,3,4,5,6,7,8,9],
list: [],
page: 1,
isPage: false,
loadingClass: true,
@ -61,19 +61,52 @@
},
onLoad(){
this.windowHeight = uni.getSystemInfoSync().windowHeight;
this.getInFans()
},
methods: {
changeTab(index) {
if(this.current == index) {
return
}else {
this.current = index
this.getInFans()
}
},
getInFans() {
let per_page = this.pageSize;
let tab_item = this.tab_list[this.current];
let fansType = this.current+1
this.$http(this.API.API_FANS, {
page: tab_item.page,
limit: per_page,
type: fansType
}).then(res => {
this.isRefresher = false;
let isPage = res.data.has_more_page;
tab_item.isPage = isPage;
if(!isPage){
tab_item.loadingClass = false;
tab_item.loadingText = '没有更多数据啦~';
}
if(tab_item.page == 1){
tab_item.list = res.data.items;
}else{
tab_item.list.push(...res.data.items);
}
})
},
//
onScrolltolower(){
console.log('加载下一页')
let tab_item = this.tab_list[this.current];
if(tab_item.isPage){
tab_item.page = tab_item.page + 1;
this.getInFans()
}
},
// scroll-view
onRefresherrefresh(){
this.isRefresher = true;
console.log('下拉刷新')
setTimeout(() => {
this.isRefresher = false;
},1000)
this.getInFans()
}
}
}

14
pages/center/index.vue

@ -22,7 +22,7 @@
</view>
<view class="flex">
<view class="lf-font-14 text-gray lf-m-r-10">
2000.48
{{info.income}}
</view>
<text class="lf-iconfont lf-icon-xiangyou-copy lf-color-gray lf-font-32"></text>
</view>
@ -49,7 +49,7 @@
</view>
</view>
<view class="lf-row-between list-item" hover-class="lf-opacity" @click="$url('/pages/center/invite')">
<view class="lf-row-between list-item" v-if="info.isTalnet" hover-class="lf-opacity" @click="$url('/pages/center/invite')">
<view class="lf-row-center">
<image class="icon-img" src="../../static/center/invite.png"></image>
<text class="lf-text-vertical lf-m-l-20 lf-font-32">邀请成为分销达人</text>
@ -59,6 +59,16 @@
</view>
</view>
<view class="lf-row-between list-item" v-else hover-class="lf-opacity" @click="$url('/pages/center/bestar')">
<view class="lf-row-center">
<image class="icon-img" src="../../static/center/invite.png"></image>
<text class="lf-text-vertical lf-m-l-20 lf-font-32">成为分销达人</text>
</view>
<view>
<text class="lf-iconfont lf-icon-xiangyou-copy lf-color-gray lf-font-32"></text>
</view>
</view>
</view>
<view class="list">

2
pages/center/invite.vue

@ -60,7 +60,7 @@
uni.request({
url: 'http://dev-gxsky.com/api/salesman/qrcode', //
data: {
scene: 'route=goods&id=2&pt=2',
scene: 'route=home&id=2&pt=2',
page: 'pages/route/index',
width: '2800'
},

1
pages/center/wallet.vue

@ -169,7 +169,6 @@
// scroll-view
onRefresherrefresh(){
this.isRefresher = true;
console.log('下拉刷新')
this.getIncomeList()
}
}

42
pages/goodsDetail/index.vue

@ -61,7 +61,7 @@
<!-- 商品详情 -->
<view class="goods-detail">
<view class="lf-font-32 lf-font-bold lf-m-b-20">商品详情</view>
<rich-text :nodes="formatRichText(goods_detail.content)"
<rich-text :nodes="afterDone"
v-if="goods_detail.content_type == 'rich_text'"></rich-text>
<image class="goods-img" :src="item" v-for="(item, index) in goods_detail.content" :key="index"
v-if="goods_detail.content_type == 'img'"></image>
@ -113,6 +113,7 @@
</template>
<script>
let SparkMD5 = require("@/common/SparkMD5.js"); // js
export default {
data() {
return {
@ -136,7 +137,8 @@
userToken: '',
wxCode: '',
onceCode: '',
pt: 1
pt: 1,
afterDone: ''
}
},
computed: {
@ -153,6 +155,35 @@
this.getWxCode()
},
methods: {
//
bindGoods() {
var _this = this;
let yy = new Date().getFullYear();
let mm = new Date().getMonth()+1;
let dd = new Date().getDate();
let hh = new Date().getHours();
let mf = new Date().getMinutes()<10 ? '0'+new Date().getMinutes() : new Date().getMinutes();
let ss = new Date().getSeconds()<10 ? '0'+new Date().getSeconds() : new Date().getSeconds();
let gettime = yy+'-'+mm+'-'+dd+' '+hh+':'+mf+':'+ss;
console.log(gettime)
console.log(_this.goods_detail.name)
let userInfo = uni.getStorageSync('userinfo') || {};
let timeDate = Math.round(new Date().getTime() / 1000).toString();
console.log(SparkMD5)
let md5TimeDate = SparkMD5.hash(timeDate)
let nowTime = new Date().toLocaleString();
_this.$http(_this.API.API_BINDGOODS, {
deed: md5TimeDate,
sid: userInfo.id,
gid: _this.goods_id,
gn: _this.goods_detail.name,
t: gettime
}).then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})
},
getWxCode() {
uni.request({
url: 'http://dev-gxsky.com/api/salesman/qrcode', //
@ -266,6 +297,13 @@
}).then(res => {
this.skeletonLoading = false;
this.goods_detail = res.data;
if(this.goods_detail) {
if(this.pt == 1) {
this.bindGoods()
}
}
this.afterDone = this.formatRichText(this.goods_detail.content)
this.is_collect = Boolean(res.data.user.is_collect);
}).catch(err => {
this.skeletonLoading = false;

34
pages/index/index.vue

@ -52,6 +52,7 @@
</template>
<script>
let SparkMD5 = require("@/common/SparkMD5.js"); // js
export default {
data() {
return {
@ -60,15 +61,44 @@
pageSize: 10,
shareInfo: {},
windowHeight: 0, //
isRefresher: false // scroll-view
isRefresher: false ,// scroll-view
pt: 1
}
},
onLoad() {
onLoad(options) {
this.pt = options.pt || 1;
this.windowHeight = getApp().globalData.windowHeight;
this.getCategoryList();
this.getShareInfo();
if(this.pt == 1) {
this.bindUsders()
}
},
methods: {
//
bindUsders() {
var _this = this;
let yy = new Date().getFullYear();
let mm = new Date().getMonth()+1;
let dd = new Date().getDate();
let hh = new Date().getHours();
let mf = new Date().getMinutes()<10 ? '0'+new Date().getMinutes() : new Date().getMinutes();
let ss = new Date().getSeconds()<10 ? '0'+new Date().getSeconds() : new Date().getSeconds();
let gettime = yy+'-'+mm+'-'+dd+' '+hh+':'+mf+':'+ss;
let userInfo = uni.getStorageSync('userinfo') || {};
let timeDate = Math.round(new Date().getTime() / 1000).toString();
let md5TimeDate = SparkMD5.hash(timeDate)
let nowTime = new Date().toLocaleString();
_this.$http(_this.API.API_BINDSALES, {
deed: md5TimeDate,
sid: userInfo.id,
t: gettime
}).then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})
},
//
getShareInfo(){
this.$http(this.API.API_SHARE_HOME).then(res => {

4
pages/route/index.vue

@ -6,10 +6,13 @@
/* 路由分发页面仅供跳转页面 */
export default {
onLoad(options){
console.log('wai',options)
if(this.$shared.isValueType(options.scene) != 'undefined'){
const scene = decodeURIComponent(options.scene); //
const par = this.strToObj(scene);
this.routeToPage(par);
console.log('内部',options)
console.log('====',par)
}else{
this.routeToPage(options); //
}
@ -46,6 +49,7 @@
}
}
}
console.log(par)
if(par.is_tabbar){
this.$url(path, {type: 'switch'});
}else{

Loading…
Cancel
Save