省钱兄(APP+H5+公众号+微信小程序)淘宝客APP源码社交电商uniapp源码前端源码自营商城源码

骑猪看日落 2023-07-17 06:42 47阅读 0赞

1、首页

广告位、淘宝返佣、拼多多返佣、京东返佣、热销榜、聚划算、天猫超市、母婴精选、9.9包邮、免单中心、超值大牌、新人攻略 爆款没事、每日上新、6.9包邮、9.9包邮、精选包邮、3.9包邮、热门抖货、商品推荐、商品详情、商品海报 、APP检测升级、配置动态化、分享海报、会员授权、获取剪切板

2、分类

商品分类 、分类详情、多平台比较、海报生成

3、超级搜索

热门搜索、搜索历史、搜索

4、超值精选

精选单品、好货专场

5、我的

提现、提现明细、会员、订单明细、浏览历史、我的收藏、推广中心、推广订单、免单中心、账号安全、设置、提现设置、换绑手机号、修改密码、邀请成员、推广海报、我的特权、会员升级

6、免费的uniapp视频学习资料

关注技术公众号【码兄】回复【uniapp】免费获取

图片

7、uniapp qq技术交流群

850289230

8、项目截图

本项目使用uni-app开发支持多端使用!目前适配h5、安卓、IOS、公众号

format_png 1

9、体验说明

1、微信公众号【省钱兄】体验 (H5+公众号) 版本

图片

2、 Android APP体验地址

https://www.pgyer.com/shengqx

3、 IOS APP 市场搜索【凡省】【咖哧优品】【微鲤淘】体验

拼多多版本

图片

拼多多、京东版本

图片

#

10、CSDN积分下载地址:

公众号+h5+app源码下载地址

https://download.csdn.net/download/weixin_39706415/12766980

微信小程序源码

https://download.csdn.net/download/weixin_39706415/12767042

11、免费下载方式

关注【码兄】技术公众号 点击【开源项目】下载

" class="reference-link">图片

目前只提供学习使用!不可商用!

12、详情页面源码

  1. <template>
  2. <view class="s-page-wrapper">
  3. <view class="index-goods" v-if="loadGoods">
  4. <view class="swiper">
  5. <swiper class="swiper-container" :autoplay="true" :interval="4000" :circular="true" :indicator-dots="true"
  6. indicator-active-color="#FC3F78" indicator-color="#cccccc">
  7. <block v-for="item in goods.images" :key="item">
  8. <swiper-item class="swiper-wrapper">
  9. <image lazy-load :src="item" mode="widthFix" class="is-response" @longpress="toSave(item)"></image>
  10. </swiper-item>
  11. </block>
  12. </swiper>
  13. </view>
  14. <view class="goods_info" style="padding-top: 6px">
  15. <view style="padding: 8px">
  16. <image v-if="goods.shoptype=='B'" style="height: 14px;width:12px;margin-right: 4px" src="../../static/img/mao.png"></image>
  17. <text style="font-weight: bold">{
  18. { goods.itemtitle }}</text>
  19. </view>
  20. <view class="coupon-price s-row" style="margin-bottom: 16upx;">
  21. <view class="price" style="width: 60%">
  22. <text style="font-size: 14px"> 券后价
  23. <text style="font-size: 12px"></text>
  24. </text>
  25. <text style="font-weight: 700;">{
  26. { goods.itemendprice }}</text>
  27. <text style="font-size: 12px;color: grey;text-decoration:line-through;margin-left: 8px">
  28. ¥{
  29. {goods.itemprice }}
  30. </text>
  31. </view>
  32. <view class="volume" style="padding-top: 14rpx;font-size: 14px;width: 40%">{
  33. { goods.itemsale }}人付款
  34. </view>
  35. </view>
  36. <view class="coupon-price s-row">
  37. </view>
  38. </view>
  39. <view class="goods_quan s-row">
  40. <view class="row getGoodsLink">
  41. <view class="is-col-16 money">
  42. <view style="font-weight: bold">
  43. <text>{
  44. {goods.couponmoney}}</text>
  45. 元优惠券
  46. </view>
  47. <view class="date-coupon" v-if="goods.start_time">使用期限: {
  48. {goods.start_time}} -
  49. {
  50. {goods.end_time}}
  51. </view>
  52. </view>
  53. <view class="is-col-8 name">
  54. <text @tap="shopCartShare('quan')">立即领取</text>
  55. </view>
  56. </view>
  57. <image lazy-load src="../../static/img/goods/goods_quan.png" mode="widthFix" class="is-response"></image>
  58. </view>
  59. <view class="goods_reco" style="margin-top: 10px;display: flex">
  60. <view class="goods-info-title" style="color: #FC3F78;width: 20%;text-align: center">必买理由</view>
  61. <view class="goods_desc" style="padding-bottom: 8px;padding-top:8px;width: 80%">{
  62. { goods.itemdesc }}
  63. </view>
  64. </view>
  65. <view class="goods_reco" style="margin-top: -100rpx" v-if="goods.images">
  66. <view class="goods-info-title">宝贝详情</view>
  67. <view class="imglist">
  68. <block v-for="(item,index) in goods.images">
  69. <image lazy-load :src="item" mode="widthFix" class="is-response" @longpress="toSave(item)"></image>
  70. </block>
  71. </view>
  72. </view>
  73. <!-- 购买按钮 -->
  74. <view class="goods_shop_cart">
  75. <view class="cent" style="display: flex">
  76. <view style="text-align: center;width: 25%;margin-top: 4px;margin-bottom: 4px;display: flex">
  77. <view style="width: 50%;text-align: center">
  78. <view class="iconfont icon-shouye" @tap="goBackUp()"></view>
  79. <view style="font-size: 12px">返回</view>
  80. </view>
  81. <view style="width: 50%;text-align: center">
  82. <view class="iconfont icon-shoucang" :style="collect.isCollect" @tap="clickCollect()"></view>
  83. <view style="font-size: 12px" :style="collect.isCollect">{
  84. {collect.name}}</view>
  85. </view>
  86. </view>
  87. <view style="width: 75%;display: flex;color: white">
  88. <view style="width: 50%;background: #FF6DB2;text-align: center;padding-top: 12px" @tap="shopCartShare('showPic')">{
  89. {buyDes}}
  90. </view>
  91. <view class="getTbk" style="width: 50%;background:#F15B6C; text-align: center;padding-top: 12px" @tap="shopCartShare('quan')">立即领券
  92. </view>
  93. </view>
  94. </view>
  95. </view>
  96. <!-- 购买按钮 active-->
  97. <view v-if="shopCartBg" class="goods_shop_cart_bg" @tap="showShopCartBg('cart')" @touchmove.stop.prevent="moveHandleStop"></view>
  98. <view class="goods_share" v-bind:class="[shopCartBg ? 'active' : '','']">
  99. <view class="cent">
  100. <view class="" @tap="shareFc()">
  101. <text class="iconfont icon-kouling"></text>
  102. 生成海报
  103. </view>
  104. <text class="em"></text>
  105. <view class="" @tap="shopCartShare('tklbuy')">
  106. <text class="iconfont icon-tupian"></text>
  107. 素材分享
  108. </view>
  109. <view class="" @tap="copyHref">
  110. <text class="cuIcon cuIcon-copy"></text>
  111. 复制链接
  112. </view>
  113. <view @tap="shopCartShares('tkl')" v-if="isWeiXin">
  114. <text class="cuIcon cuIcon-share"></text>
  115. 发送给朋友
  116. </view>
  117. </view>
  118. </view>
  119. <view class="navBarButtonBox">
  120. <!-- 顶部右侧菜单 -->
  121. <view v-if="navBarButton" class="goods_shop_cart_bg navBarButton" @tap="showShopCartBg('nav')"
  122. @touchmove.stop.prevent="moveHandleStop"></view>
  123. <view class="h_newlit" v-bind:class="[navBarButton ? 'active' : '','']">
  124. <view class="em">
  125. <view style="font-size: 14px" @tap="navBarButtontO('home')">
  126. <text class="iconfont icon-shouye"></text>
  127. 返回首页
  128. </view>
  129. <view style="font-size: 14px" @tap="navBarButtontO('search')">
  130. <text class="iconfont icon-sousuo"></text>
  131. 超级搜索
  132. </view>
  133. <view style="font-size: 14px" @tap="navBarButtontO('footer')">
  134. <text class="iconfont icon-zuji"></text>
  135. 我的足迹
  136. </view>
  137. <view style="font-size: 14px" @tap="navBarButtontO('like')">
  138. <text class="iconfont icon-shoucang"></text>
  139. 个人中心
  140. </view>
  141. </view>
  142. </view>
  143. </view>
  144. <!-- 顶部右侧菜单 -->
  145. <!-- 淘口令分享 -->
  146. <simpleModal ref="simpleModalTkl" @maskClose="TklmaskClose">
  147. <view class="buy-box-title">复制分享文案</view>
  148. <view class="buy-box-center">
  149. <view class="code-cent">
  150. <div class="cente-text">
  151. <div>
  152. <view class="textarea">{
  153. {goods.itemtitle}}<br>【在售价】{
  154. {goods.itemprice}}元<br>【券后价】{
  155. {goods.itemendprice}}元<br>复製此信息进入【手机Tao宝】即可查看并下单{
  156. {tkl}}
  157. <br>【必买理由】{
  158. {goods.itemdesc}}<br>
  159. </view>
  160. </div>
  161. </div>
  162. <view class="closeTips">长按上方轮播图片可保存图片素材哦~</view>
  163. </view>
  164. <view class="buy-btn-copy" v-bind:class="[copyTklStatus ? 'active' : '','']" @tap="copyTklWenAns">
  165. {
  166. {copyTklStatus?"已复制到剪切板":"一键复制"}}
  167. </view>
  168. </view>
  169. </simpleModal>
  170. <!-- 淘口令分享 -->
  171. <!-- 淘口令购买 -->
  172. <simpleModal ref="simpleModalTklBuy" @maskClose="TklBuymaskClose">
  173. <view class="buy-box-center">
  174. <view class="code-cent" style="margin-top: 10px;">
  175. <div class="cente-text" style="height: auto;">
  176. <div>
  177. <view class="textarea" style="height: auto;">复制框内整段文字,打开【手机淘宝APP】即可领券购买。{
  178. {tkl}}
  179. </view>
  180. </div>
  181. </div>
  182. </view>
  183. <button class="buy-btn-copy" v-bind:class="[copyTklStatus ? 'active' : '','']" @tap="copyTklWenAn">
  184. {
  185. {copyTklStatus?" 复制成功!请打开【手机淘宝】购买":"一键复制"}}
  186. </button>
  187. </view>
  188. </simpleModal>
  189. <!-- 淘口令购买 -->
  190. </view>
  191. <view class="" v-if="!loadGoods">
  192. <view class="s-page">
  193. <view class="is-100vh is-flex is-column is-justify-center is-align-center ">
  194. <image src="../../static/img/load.gif" style="width:75px;height: 75px;" class="is-response" mode="widthFix"></image>
  195. </view>
  196. </view>
  197. </view>
  198. <view v-if="couponlist.length > 0" style="text-align: center;font-size: 18px;color: #FC3F78;background: white;margin-top: -60px;padding: 16px">
  199. 猜你喜欢
  200. </view>
  201. <view class="goods-list" style="margin-bottom: 60px" v-if="couponlist.length > 0">
  202. <orange-goods-card-home v-for="(item,index) in couponlist" :index="index%2" :tkmoney='"¥"+item.tkmoney' :itemid="item.itemid"
  203. :itempic="item.itempic?item.itempic+'_310x310.jpg':'https://www.gomyorder.cn/logo.png'" :itemtitle="item.itemtitle"
  204. :itemprice='"¥"+item.itemprice' :itemsale='item.itemsale' :itemendprice='""+item.itemendprice' :couponmoney="item.couponmoney"></orange-goods-card-home>
  205. </view>
  206. <view id="shareit" v-if="show_share" @tap="closeShare">
  207. <image class="arrow" src="../../static/img/jiant.png"></image>
  208. <text id="follow">点击右上角按钮!【发送给朋友】</text>
  209. </view>
  210. <view class="scroll_top active " @click="copyTkl()" style="bottom: 56px;width: 100px;right: -12px;padding-right: 10px">
  211. <text>
  212. <text class="cuIcon cuIcon-copy"></text>
  213. 淘口令
  214. </text>
  215. </view>
  216. <view class="content">
  217. <view class="flex_row_c_c modalView" :class="qrShow?'show':''" @tap="hideQr()">
  218. <view class="flex_column">
  219. <view class="backgroundColor-white padding1vh border_radius_10px">
  220. <image :src="poster.finalPath" mode="widthFix" class="posterImage"></image>
  221. </view>
  222. <button class="marginTop2vh" type="primary" size="mini" @tap.prevent.stop="saveImage()">保存图片
  223. </button>
  224. </view>
  225. </view>
  226. <view class="hideCanvasView">
  227. <canvas class="hideCanvas" canvas-id="default_PosterCanvasId" :style="{width: (poster.width||0) + 'px', height: (poster.height||0) + 'px'}"></canvas>
  228. </view>
  229. </view>
  230. </view>
  231. </template>
  232. <script>
  233. import simpleModal from '../../components/simple-pro/customModal.vue';
  234. export default {
  235. onShareAppMessage(res) {
  236. return {
  237. title: this.goods.itemtitle,
  238. path: '/pages/detail/goodsinfo?itemid=' + this.itemid
  239. }
  240. },
  241. data() {
  242. return {
  243. buyDes: "口令购买",
  244. collect: {
  245. name: '收藏',
  246. isCollect: "",
  247. },
  248. show_share: false,
  249. itemid: '',
  250. loadGoods: true,
  251. goods: {},
  252. taoBaoBuy: true,
  253. shopCartBg: false,
  254. scrollTop: false,
  255. couponlist: [],
  256. navBarButton: false,
  257. copyTklStatus: false,
  258. save: false,
  259. tkl: '',
  260. relation_id: null,
  261. money: 0,
  262. showFollow: false,
  263. isWeiXin: false,
  264. footprintKey: 'orange-sqx-footprint',
  265. collectKey: 'orange-sqx-collect',
  266. poster: {},
  267. qrShow: false,
  268. canvasId: 'default_PosterCanvasId'
  269. };
  270. },
  271. components: {
  272. simpleModal
  273. },
  274. onShow: function() {
  275. this.copyTklStatus = false;
  276. },
  277. onLoad: function(e) {
  278. if (e.itemid) {
  279. this.itemid = e.itemid;
  280. this.loadGoodsInfo();
  281. if (this.$queue.getData("openid")) {
  282. this.$Request.get("/tao/wx/follow/" + this.$queue.getData("openid")).then(res => {
  283. this.showFollow = res.status !== 500 && res !== true;
  284. });
  285. }
  286. let userId = this.$queue.getData("userId");
  287. if (!userId) {
  288. this.$Request.getT("/user/" + userId).then(res => {
  289. if (res.status === 0) {
  290. this.$queue.setData("openid", res.data.openId);
  291. this.$queue.setData("image_url", res.data.image_url);
  292. this.$queue.setData("mobile", res.data.phone);
  293. this.$queue.setData("nickName", res.data.nickName);
  294. this.$queue.setData("relation_id", res.data.relationId);
  295. this.$queue.setData("gender", parseInt(res.data.gender));
  296. }
  297. });
  298. }
  299. } else {
  300. uni.navigateBack();
  301. }
  302. },
  303. onPageScroll: function(e) {
  304. this.scrollTop = e.scrollTop > 200;
  305. },
  306. onNavigationBarButtonTap: function() {
  307. this.navBarButton = !this.navBarButton;
  308. },
  309. methods: {
  310. //初始化加载详情数据
  311. loadGoodsInfo: function() {
  312. let that = this;
  313. uni.showLoading({
  314. title: '加载中...'
  315. });
  316. this.$Request.get("/item_detail/apikey/maxd/itemid/" + this.itemid).then(res => {
  317. if (res.code === 1) {
  318. if (res.data.taobao_image && res.data.taobao_image.length > 0) {
  319. let images = res.data.taobao_image.split(',');
  320. res.data.images = [];
  321. for (let i = 0; i < images.length; i++) {
  322. res.data.images.push(images[i])
  323. }
  324. } else {
  325. res.data.images = [];
  326. res.data.images.push(res.data.itempic);
  327. }
  328. if (res.data.start_time && res.data.end_time) {
  329. res.data.start_time = this.formatDate(new Date(res.data.start_time * 1000));
  330. res.data.end_time = this.formatDate(new Date(res.data.end_time * 1000));
  331. }
  332. res.data.itemsale = res.data.itemsale > 10000 ? (res.data.itemsale / 10000).toFixed(1) + "万" : res.data.itemsale;
  333. that.goods = res.data;
  334. that.loadGoods = true;
  335. that.money = (res.data.tkmoney / 2).toFixed(2);
  336. try {
  337. let isExist = this.$queue.isExist(this.collectKey, res.data.itemid);
  338. if (isExist === true) {
  339. this.collect.name = "已收藏";
  340. this.collect.isCollect = "color: #FC3F78";
  341. } else {
  342. this.collect.name = "收藏";
  343. this.collect.isCollect = false;
  344. }
  345. let isExists = this.$queue.isExist(this.footprintKey, res.data.itemid);
  346. if (isExists === false) {
  347. this.$queue.insert({
  348. key: this.footprintKey,
  349. value: this.goods,
  350. });
  351. }
  352. this.$queue.setData("itempic", res.data.itempic);
  353. this.$queue.setData("itemtitle", res.data.itemtitle);
  354. this.$queue.setData("itemprice", res.data.itemprice);
  355. this.$queue.setData("itemendprice", res.data.itemendprice);
  356. this.buyDes = "分享给朋友";
  357. this.loadTkl();
  358. } catch (e) {
  359. console.log(e);
  360. }
  361. } else {
  362. uni.navigateBack();
  363. }
  364. uni.hideLoading();
  365. });
  366. this.$Request.get("/get_similar_info/apikey/maxd/itemid/" + this.itemid).then(res => {
  367. if (res.code === 1) {
  368. res.data.forEach(d => {
  369. d.tkmoney = (d.tkmoney / 2).toFixed(2);
  370. d.itemsale = d.itemsale > 10000 ? "已售 " + (d.itemsale / 10000).toFixed(1) + "万" : "已售 " + d.itemsale;
  371. this.couponlist.push(d);
  372. });
  373. }
  374. });
  375. },
  376. goPublisher() {
  377. uni.navigateTo({
  378. url: '/pages/member/publisher'
  379. });
  380. },
  381. /**
  382. * 保存图片
  383. * @param url
  384. */
  385. toSave(url) {
  386. //#ifndef H5
  387. uni.getImageInfo({
  388. src: url,
  389. success: function(image) {
  390. console.log('图片信息:', JSON.stringify(image));
  391. uni.saveImageToPhotosAlbum({
  392. filePath: image.path,
  393. success: function() {
  394. console.log('save success');
  395. uni.showToast({
  396. title: '图片保存成功',
  397. icon: 'none',
  398. duration: 3000
  399. });
  400. }
  401. });
  402. }
  403. });
  404. //#endif
  405. },
  406. /**
  407. * 返回
  408. */
  409. goBackUp() {
  410. uni.navigateBack();
  411. },
  412. closeShare() {
  413. this.show_share = false;
  414. },
  415. clickCollect() { //收藏
  416. let isExist = this.$queue.isExist(this.collectKey, this.goods.itemid);
  417. if (isExist) {
  418. let items = [];
  419. items.push(this.goods.itemid);
  420. this.$queue.removeItem(this.collectKey, items);
  421. this.collect.name = "收藏";
  422. this.collect.isCollect = "";
  423. } else {
  424. this.$queue.insert({
  425. key: this.collectKey,
  426. value: this.goods,
  427. });
  428. this.collect.name = "已收藏";
  429. this.collect.isCollect = "color: #FC3F78";
  430. }
  431. },
  432. getQuan: function() {
  433. uni.showLoading({
  434. title: '加载中...'
  435. });
  436. let that = this;
  437. this.$Request.post("/ratesurl", {
  438. itemid: this.itemid,
  439. tb_name: this.$queue.getTaoBaoName(),
  440. pid: this.$queue.getTaoBaoPid(),
  441. apikey: this.$queue.getTaoBaoKey(),
  442. }).then(res => {
  443. if (res.code === 1) {
  444. that.shopCartShare('tttt');
  445. }
  446. });
  447. },
  448. /**
  449. *获取佣金结算
  450. * @param type
  451. */
  452. getTkl: function(type) {
  453. let that = this;
  454. let relation_id = that.$queue.getData("relation_id");
  455. if (this.tkl) {
  456. if (type === "tkl" && type !== "tklbuy") {
  457. this.$refs.simpleModalTkl.show({
  458. showConfirmButton: false,
  459. });
  460. } else if (type === "tttt") {
  461. this.$refs.simpleModalTklBuy.show({
  462. showConfirmButton: false,
  463. });
  464. } else if (type === "copy") {
  465. that.copyTkl();
  466. } else if (relation_id) {
  467. this.$refs.simpleModalTkl.show({
  468. showConfirmButton: false,
  469. });
  470. } else {
  471. this.$refs.simpleModalTklBuy.show({
  472. showConfirmButton: false,
  473. });
  474. }
  475. uni.hideLoading();
  476. } else {
  477. uni.showLoading({
  478. title: '加载中...'
  479. });
  480. this.$Request.post("/ratesurl", {
  481. itemid: this.itemid,
  482. tb_name: this.$queue.getTaoBaoName(),
  483. pid: this.$queue.getTaoBaoPid(),
  484. apikey: this.$queue.getTaoBaoKey()
  485. }).then(res => {
  486. if (res.code === 1) {
  487. this.$Request.postF("/taobao/tbwd", {
  488. "appKey": this.$queue.getTaoBaoAppid(),
  489. "appSecret": this.$queue.getTaoBaoSecret(),
  490. "logo": this.goods.itempic,
  491. "text": this.goods.itemtitle,
  492. "url": res.data.coupon_click_url
  493. }).then(res => {
  494. if (res && res.tbk_tpwd_create_response.data.model) {
  495. this.tkl = res.tbk_tpwd_create_response.data.model;
  496. if (type === "tkl" && type !== "tklbuy") {
  497. this.$refs.simpleModalTkl.show({
  498. showConfirmButton: false,
  499. });
  500. } else if (type === "tttt") {
  501. this.$refs.simpleModalTklBuy.show({
  502. showConfirmButton: false,
  503. });
  504. } else if (type === "copy") {
  505. that.copyTkl();
  506. } else if (type === "save") {} else if (relation_id) {
  507. this.$refs.simpleModalTkl.show({
  508. showConfirmButton: false,
  509. });
  510. } else {
  511. this.$refs.simpleModalTklBuy.show({
  512. showConfirmButton: false,
  513. });
  514. }
  515. }
  516. uni.hideLoading();
  517. })
  518. } else {
  519. uni.hideLoading();
  520. }
  521. });
  522. }
  523. },
  524. formatDate: function(now) {
  525. const year = now.getFullYear();
  526. const month = now.getMonth() + 1;
  527. const date = now.getDate();
  528. return year + "-" + month + "-" + date;
  529. },
  530. loadTkl() {
  531. let that = this;
  532. this.$Request.post("/ratesurl", {
  533. itemid: this.itemid,
  534. tb_name: this.$queue.getTaoBaoName(),
  535. pid: this.$queue.getTaoBaoPid(),
  536. apikey: this.$queue.getTaoBaoKey(),
  537. }).then(res => {
  538. if (res.code === 1) {
  539. this.$Request.postF("/taobao/tbwd", {
  540. "appKey": this.$queue.getTaoBaoAppid(),
  541. "appSecret": this.$queue.getTaoBaoSecret(),
  542. "logo": this.goods.itempic,
  543. "text": this.goods.itemtitle,
  544. "url": res.data.coupon_click_url
  545. }).then(res => {
  546. if (res && res.tbk_tpwd_create_response.data.model) {
  547. this.tkl = res.tbk_tpwd_create_response.data.model;
  548. }
  549. })
  550. }
  551. });
  552. },
  553. copyTkl: function() {
  554. uni.setClipboardData({
  555. data: this.tkl,
  556. success: (r => {
  557. uni.showToast({
  558. title: "复制成功",
  559. duration: 1500,
  560. });
  561. }),
  562. })
  563. },
  564. moveHandleStop: function() {
  565. console.log("111")
  566. },
  567. showShopCartBg: function(type) {
  568. if (type === "cart") {
  569. this.shopCartBg = !this.shopCartBg;
  570. }
  571. if (type === "nav") {
  572. this.navBarButton = !this.navBarButton;
  573. }
  574. },
  575. topScrollTap: function() {
  576. uni.pageScrollTo({
  577. scrollTop: 0,
  578. duration: 300
  579. });
  580. },
  581. navBarButtontO: function(type) {
  582. if (type === "search") {
  583. uni.switchTab({
  584. url: "/pages/homeSearch/index"
  585. })
  586. } else if (type === "like") {
  587. uni.switchTab({
  588. url: "/pages/member/user"
  589. })
  590. } else if (type === "footer") {
  591. uni.navigateTo({
  592. url: "/pages/footer/index"
  593. })
  594. } else if (type === "home") {
  595. uni.switchTab({
  596. url: "/pages/index/index"
  597. })
  598. }
  599. },
  600. shopCartShare: function(type) {
  601. if (type === "tkl") {
  602. this.copyTklStatus = false;
  603. this.getTkl(type);
  604. } else if (type === "tklbuy") {
  605. let relation_id = this.$queue.getData("relation_id");
  606. if (relation_id) {
  607. // // 淘口令购买
  608. this.copyTklStatus = false;
  609. this.getTkl(type);
  610. } else {
  611. this.$queue.setData("href", '/pages/detail/goodsinfo?itemid=' + this.itemid);
  612. let token = this.$queue.getData("token");
  613. let userId = this.$queue.getData("userId");
  614. if (token) {
  615. uni.navigateTo({
  616. url: '/pages/member/publisher?uid=' + userId + '&token=' + token
  617. });
  618. } else {
  619. uni.navigateTo({
  620. url: '/pages/public/login'
  621. })
  622. }
  623. }
  624. } else if (type === "showPic") {
  625. this.copyTklStatus = false;
  626. this.$refs.simpleModalTkl.show({
  627. showConfirmButton: false,
  628. });
  629. } else if (type === "quan") {
  630. this.getQuan();
  631. } else {
  632. this.copyTklStatus = false;
  633. this.getTkl(type);
  634. }
  635. },
  636. shopCartShares: function(type) {
  637. // tkl = 淘口令 picture = 图片
  638. if (type === "tklbuy") {
  639. // // 淘口令购买
  640. this.copyTklStatus = false;
  641. this.getTkl(type);
  642. } else if (type === "quan") {
  643. this.getQuan();
  644. }
  645. },
  646. TklmaskClose: function(e) {
  647. this.$refs.simpleModalTkl.hide();
  648. this.copyTklStatus = false;
  649. },
  650. copyTklWenAn: function() {
  651. uni.setClipboardData({
  652. data: "椱ァ製这段文字,打开【◇綯℡寳】即可领券购买。$" + this.tkl,
  653. success: (r => {
  654. this.copyTklStatus = true;
  655. }),
  656. })
  657. },
  658. copyTklWenAns: function() {
  659. let relation_id = this.$queue.getData("relation_id");
  660. uni.setClipboardData({
  661. data: this.goods.itemtitle + "\n【在售价】" + this.goods.itemprice + "元\n【券后价】" + this.goods.itemendprice +
  662. "元\n【必买理由】\n" + this.goods.itemdesc + "+\n$" + this.tkl + "椱ァ製此信息进入【◇綯℡寳】即可查看并下单\n",
  663. success: (r => {
  664. this.copyTklStatus = true;
  665. })
  666. })
  667. },
  668. TklBuymaskClose: function() {
  669. this.$refs.simpleModalTklBuy.hide();
  670. this.copyTklStatus = false;
  671. },
  672. hideQr() {
  673. this.qrShow = false;
  674. }
  675. }
  676. };
  677. </script>
  678. <style>
  679. @import '../../static/css/index.css';
  680. .swiper-container {
  681. min-height: 100vw;
  682. }
  683. .hideCanvasView {
  684. position: relative;
  685. }
  686. .hideCanvas {
  687. position: fixed;
  688. top: -99999 upx;
  689. left: -99999 upx;
  690. z-index: -99999;
  691. }
  692. .flex_row_c_c {
  693. display: flex;
  694. flex-direction: row;
  695. justify-content: center;
  696. align-items: center;
  697. }
  698. .modalView {
  699. width: 100%;
  700. height: 100%;
  701. position: fixed;
  702. top: 0;
  703. left: 0;
  704. right: 0;
  705. bottom: 0;
  706. opacity: 0;
  707. outline: 0;
  708. transform: scale(3);
  709. perspective: 2500 upx;
  710. background: rgba(0, 0, 0, 0.6);
  711. transition: all .3s ease-in-out;
  712. pointer-events: none;
  713. backface-visibility: hidden;
  714. z-index: 999;
  715. }
  716. .modalView.show {
  717. opacity: 1;
  718. transform: scale(1);
  719. pointer-events: auto;
  720. }
  721. .flex_column {
  722. display: flex;
  723. flex-direction: column;
  724. }
  725. .backgroundColor-white {
  726. background-color: white;
  727. }
  728. .border_radius_10px {
  729. border-radius: 10px;
  730. }
  731. .padding1vh {
  732. padding: 1vh;
  733. }
  734. .posterImage {
  735. width: 60vw;
  736. }
  737. .flex_row {
  738. display: flex;
  739. flex-direction: row;
  740. }
  741. .marginTop2vh {
  742. margin-top: 2vh;
  743. }
  744. .shareInfos {
  745. color: #FC3F78;
  746. }
  747. .shareInfo::after {
  748. border: none;
  749. }
  750. button {
  751. font-size: 14px;
  752. }
  753. #shareit {
  754. -webkit-user-select: none;
  755. position: fixed;
  756. width: 100%;
  757. height: 2000px;
  758. background: rgba(0, 0, 0, 0.85);
  759. text-align: center;
  760. top: 0;
  761. left: 0;
  762. z-index: 999;
  763. }
  764. #shareit img {
  765. max-width: 100%;
  766. }
  767. .arrow {
  768. width: 100px;
  769. height: 150px;
  770. position: absolute;
  771. right: 5%;
  772. top: 1%;
  773. }
  774. #follow {
  775. width: 100%;
  776. height: 50px;
  777. line-height: 50px;
  778. text-align: center;
  779. text-decoration: none;
  780. font-size: 18px;
  781. color: white;
  782. float: left;
  783. margin-top: 160px;
  784. }
  785. #follow1 {
  786. width: 100%;
  787. height: 50px;
  788. line-height: 50px;
  789. text-align: center;
  790. text-decoration: none;
  791. font-size: 18px;
  792. color: white;
  793. float: left;
  794. margin-top: 170px;
  795. }
  796. button::after {
  797. border: none;
  798. }
  799. .swiper-wrapper {
  800. width: 100%;
  801. }
  802. </style>

发表评论

表情:
评论列表 (有 0 条评论,47人围观)

还没有评论,来说两句吧...

相关阅读