zhaojs
2023-08-01 cc6247528b559cf6a9468591bb889bb58dc14199
no message
已添加1个文件
已修改6个文件
364 ■■■■■ 文件已修改
application/api/controller/Activity.php 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
application/api/logic/ActivityInfo.php 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
application/common.php 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/apph5/components/items/LineItem.vue 206 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/apph5/pages.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/apph5/pages/wxkf/index.vue 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/apph5/request/api.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
application/api/controller/Activity.php
@@ -13,7 +13,7 @@
header("Access-Control-Allow-Origin:*");
class Activity extends Api
{
    protected $noNeedLogin = ['fqb_plat_cate','run_countRecruitAct','test'];
    protected $noNeedLogin = ['recordItemClick','fqb_plat_cate','run_countRecruitAct','test'];
    protected $noNeedRight = '*';
    /**
     * èŽ·å–ç–¯æŠ¢æ¦œ
@@ -292,5 +292,21 @@
        $this->success('获取成功',['haspop'=>false]);
    }
    /**
     *
     * è®°å½•商品点击
     */
    public function recordItemClick()
    {
        $goodsid=request()->param('goodsid');
        $plat=request()->param('plat');
        $title=request()->param('title');
        $act_price=request()->param('act_price');
        $actInfo=new ActInfo();
        $actInfo->recordItemClick($goodsid,$plat,$title,$act_price);
        $this->success('成功',['success'=>true]);
    }
    
}
application/api/logic/ActivityInfo.php
@@ -75,6 +75,8 @@
        return true;
    }
    /**
     * æ›´æ–°èŽ·å–å·²é‚€è¯·äººæ•°
     */
@@ -274,4 +276,12 @@
        return false;
    }
    /***
     * è®°å½•商品点击
     */
    public function recordItemClick($goodsid,$plat,$title,$act_price)
    {
        $inser=Db::execute('insert into t_wxitems (id,create_time,goodsid,plat,title,act_price) values(?,?,?,?,?,?)',[guid(),date("Y-m-d H:i:s",  time()),$goodsid,$plat,$title,$act_price]);
        return true;
    }
}
application/common.php
@@ -516,7 +516,26 @@
        return $icon;
    }
}
 function guid()
{
    if (function_exists('com_create_guid')) {
        return com_create_guid();
    } else {
        mt_srand((double)microtime() * 10000);
        $charid = strtoupper(md5(uniqid(rand(), true)));
        $uuid = substr($charid, 0, 8)
            . substr($charid, 8, 4)
            . substr($charid, 12, 4)
            . substr($charid, 16, 4)
            . substr($charid, 20, 12);
        return $uuid;
    }
}
function create_guid() { 
    return time().mt_rand(10000,99999);
h5/apph5/components/items/LineItem.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,206 @@
<template>
    <view class="item-v" @click="getShareLink(items)">
        <view class="item-img">
            <image :src="items.mainPic">
            </image>
        </view>
        <view class="item-txt">
            <view style="display: flex;">
                <image :src="items.labelImg"></image>
                <view class="item-txt-title">{{items.title}}</view>
            </view>
            <view class="item-coupon">
                <view class="cop-con">
                    <view class="cop-txt">券</view>
                    <view class="cop-money">Â¥{{items.couponPrice}}</view>
                </view>
            </view>
            <view class="item-bottom">
                <view class="item-price">
                    <view>券后价<span class="item-price-prc">Â¥{{items.actualPrice}}</span></view>
                    <view style="text-decoration: line-through;">原价:{{items.originalPrice}}</view>
                </view>
                <view class="item-copy">复制链接</view>
            </view>
        </view>
    </view>
</template>
<script>
    export default {
        props: {
            items: Object,
            isrecord: {
                type: Boolean,
                default: false
            },
        },
        created() {},
        methods: {
            oncopy(txt) {
                let copyObj = {
                    data: txt,
                    success: function() {
                        uni.showToast({
                            title: '优惠链接已复制,现在打开手机淘宝,领取优惠券吧~',
                            icon: 'none',
                            duration: 2500
                        });
                    },
                    fail: function(e) {
                        console.log(e);
                    }
                };
                uni.setClipboardData(copyObj);
            },
            getShareLink(items) {
                if(this.isrecord)
                {//记录点击
                    this.recordClick(items.goodsId,items.sourceType,items.dtitle,items.actualPrice);
                }
                var goodsid=items.goodsId;
                var that = this;
                let postdata = {
                    goodsId: goodsid
                };
                uni.showLoading({
                    title: '复制中..',
                    mask: true
                });
                this.$http.post('/api/taoke/get_privilege_link',
                    postdata
                ).then(e => {
                    uni.hideLoading();
                    if (e.code != 0) {
                        return;
                    }
                    this.oncopy(e.data.info.longTpwd);
                }).catch(function(err) {
                    console.log(err);
                })
            },
            recordClick(goodsid,plat,title,act_price)
            {
                let postdata={
                    goodsid:goodsid,
                    plat:plat,
                    title:title,
                    act_price:act_price
                }
                this.$http.post('/api/activity/recordItemClick',
                    postdata
                ).then(e => {
                }).catch(function(err) {
                    console.log(err);
                })
            }
        },
    }
</script>
<style>
    .item-price-prc {
        color: #fe3a3f;
        font-size: 1.2rem;
        margin-right: 0.4rem;
        font-weight: 500;
    }
    .cop-txt {
        padding: 0.1rem;
    }
    .cop-money {
        display: flex;
        align-items: center;
        height: 100%;
        font-weight: 400;
        color: #ff4d42;
        background: #fff;
        padding: 0.1rem;
    }
    .cop-con {
        display: inline-flex;
        background: linear-gradient(0deg, #ff753c, #ff4b42);
        color: #fff;
        padding: 0.05rem;
        font-size: 0.9rem;
    }
    .item-v {
        display: flex;
        justify-content: space-between;
        padding: 0.5rem;
        background: #fff;
        border-radius: 0.3rem;
        width: 92%;
        margin: 0 auto;
        margin-bottom: 0.3rem;
    }
    .item-img {
        width: 20%;
    }
    .item-img image {
        width: 6rem;
        height: 6rem;
    }
    .item-txt {
        width: 71%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .item-txt image {
        width: 1.6rem;
        height: 0.9rem;
    }
    .item-txt-title {
        font-size: 0.9rem;
        margin-left: 0.3rem;
        text-overflow: -o-ellipsis-lastline;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        width: 90%;
    }
    .item-price {
        display: flex;
        font-size: 0.8rem;
        align-items: baseline;
        color: #8d8484;
    }
    .item-bottom {
        display: flex;
        justify-content: space-between;
    }
    .item-copy {
        width: 5.92rem;
        height: 1.66rem;
        background: linear-gradient(-90deg, #fe3a3f, #faa450);
        font-size: 0.9rem;
        font-weight: 500;
        color: #fffefd;
        line-height: 1.66rem;
        text-align: center;
        border: 0;
        outline: 0;
        float: right;
        border-radius: 1rem;
    }
</style>
h5/apph5/pages.json
@@ -25,7 +25,7 @@
            "path": "pages/wxkf/index",
            "style": {
                "navigationStyle":"custom",//不显示头部
                "navigationBarTitleText": "微信客服"
                "navigationBarTitleText": "至尊VIP福利"
            }
        },
        {
h5/apph5/pages/wxkf/index.vue
@@ -1,53 +1,121 @@
<template>
    <view class="main-cont">
        <view class="txt-sty" style="margin-top: 4rem;">
            <image class="head-img" :src="wxhead"></image>
    <view>
        <view class="main-cont">
            <view class="txt-sty">
                <image class="head-img" :src="wxhead"></image>
            </view>
            <view class="txt-sty head-txt">
                å¾®ä¿¡å·ï¼š{{wxtxt}}
            </view>
            <view class="txt-sty">
                <image :src="wxImg" class="ercode-img"></image>
            </view>
            <view class="txt-sty" style="font-weight: 700; margin-top: 1rem;">长按二维码,添加微信享受优惠</view>
        </view>
        <view class="txt-sty head-txt">
            å¾®ä¿¡å·ï¼š{{wxtxt}}
        <view class="item-contant" v-if="itemsdata&&itemsdata.length>0">
            <view class="item-head">
                ---- å¥½ç‰©æŽ¨è ----
            </view>
            <view class="item-list">
                <view class="item-v" v-for="item in itemsdata">
                    <lineItem :isrecord="isrecord" :items="item"></lineItem>
                </view>
            </view>
            <view class="bottom-show">添加微信,享受更多优惠~</view>
        </view>
        <view class="txt-sty">
            <image :src="wxImg" class="ercode-img"></image>
        </view>
        <view class="txt-sty" style="font-weight: 700; margin-top: 1rem;">长按二维码,添加微信享受优惠</view>
    </view>
</template>
<script>
    import lineItem from '../../components/items/LineItem.vue';
    import comUtils from '../../utils/ComUtils.js'
    export default {
        components: {
            lineItem
        },
        data() {
            return {
                wxImg: 'https://img.ushopvip.com/dfg/wxcode.png',
                wxhead: 'https://img.ushopvip.com/dfg/dfgapplogo.png',
                wxtxt: 'sedws22'
                wxImg: 'https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/wxhead0801.png',
                wxhead: 'https://yanfeiobpub.obs.cn-east-3.myhuaweicloud.com/dfg/wxheadimg0801.jpg',
                wxtxt: '17396873080',
                itemsdata: {},
                isrecord:true
            }
        },
        onLoad() {
            let isshow=comUtils.getUrlPar('ishow');
            if(isshow)
            {
                this.getItemsInfo();
            }
        },
        methods: {
            getItemsInfo() {
                var that = this;
                let postdata = {
                    page: 1,
                    pageSize: 20,
                    sort: 7
                };
                this.$http.post('/api/taoke/tb_goods_list',
                    postdata
                ).then(e => {
                    uni.hideLoading();
                    if (e.code != 0) {
                        return;
                    }
                    this.itemsdata = e.data.list;
                    console.log(e);
                }).catch(function(err) {
                    console.log(err);
                })
            }
        },
    }
</script>
<style>
    .txt-sty{
    .item-head {
        text-align: center;
        padding: 1rem;
        font-weight: 600;
        color: linear-gradient(-90deg, #fe3a3f, #faa450);
        color: #fe3a3f;
        background: linear-gradient(-90deg, #fe3a3f, #faa450);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    .bottom-show {
        text-align: center;
        width: 100%;
        padding-bottom: 1rem;
        color: #fe3a3f;
        background: linear-gradient(-90deg, #fe3a3f, #faa450);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        font-weight: 600;
    }
    .txt-sty {
        text-align: center;
    }
    .main-cont {
    }
    .head-txt{
    .main-cont {}
    .head-txt {
        margin: 0.4rem 0 2rem 0;
    }
    .head-img {
        width: 5rem;
        height: 5rem;
        margin-top: 4rem;
    }
    .ercode-img{
    .ercode-img {
        width: 16rem;
        height: 16rem;
    }
h5/apph5/request/api.js
@@ -30,6 +30,7 @@
        })
    }
    let userToken=comUtils.getUrlPar("dfgtoken");
    userToken=userToken?userToken:'3p6FrbNa+gAPubHGOK35mA==';
    enstr="dfg"+enstr+"apph5"+userToken;
    enstr=md5.hex_md5(enstr);
    enstr+='.'+userToken