index.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681
  1. //index.js
  2. //获取应用实例
  3. var app = getApp();
  4. let host = app.globalData.servsers; // 请求的url
  5. var coupon = [
  6. {
  7. coupon_monry : '1000',
  8. coupon_rule : '9999',
  9. coupon_name: '新年专属红包',
  10. coupon_begin_time: '2018-01-01',
  11. coupon_end_time: '2018-02-08'
  12. },
  13. {
  14. coupon_monry: '300',
  15. coupon_rule: '4999',
  16. coupon_name: '新年专属红包',
  17. coupon_begin_time: '2018-01-01',
  18. coupon_end_time: '2018-02-08'
  19. },
  20. {
  21. coupon_monry: '50',
  22. coupon_rule: '999',
  23. coupon_name: '新年专属红包',
  24. coupon_begin_time: '2018-01-01',
  25. coupon_end_time: '2018-02-08'
  26. }
  27. ];
  28. Page({
  29. data: {
  30. urlHttp: '',
  31. host : '',
  32. scrollLeft: 0,//tab标题的滚动条位置
  33. search:{
  34. placeholder:"输入搜索关键字"
  35. },
  36. navTab:[
  37. {
  38. url:'/',
  39. icon:'icon-dingzhijiaju',
  40. src:'../../images/news/nav_01.png',
  41. text:'杯类'
  42. },
  43. {
  44. url: '/',
  45. icon: 'icon-dingzhijiaju',
  46. src: '../../images/news/nav_02.png',
  47. text: '行李箱'
  48. },
  49. {
  50. url: '/',
  51. icon: 'icon-dingzhijiaju',
  52. src: '../../images/news/nav_03.png',
  53. text: '手机壳'
  54. },
  55. {
  56. url: '/',
  57. icon: 'icon-dingzhijiaju',
  58. src: '../../images/news/nav_04.png',
  59. text: '板画'
  60. },
  61. {
  62. url: '/',
  63. icon: 'icon-dingzhijiaju',
  64. src: '../../images/news/nav_05.png',
  65. text: '包袋'
  66. }
  67. ],
  68. navArray:[
  69. {
  70. src:'/images/news/nav_1.png',
  71. bg:'#fafcff',
  72. type:0,
  73. href:'/'
  74. },
  75. {
  76. src: '/images/news/nav_2.png',
  77. bg: '#fef9f8',
  78. type: 1,
  79. href: '/pages/kindSecondList/kindSecondList'
  80. },
  81. {
  82. src: '/images/news/nav_3.png',
  83. bg: '#f7f6fb',
  84. type: 2,
  85. href: '/customized/pages/index/index'
  86. },
  87. {
  88. src: '/images/news/nav_4.png',
  89. bg: '#f1f7fc',
  90. type: 3,
  91. href: '/pages/patternMenu/patternMenu'
  92. }
  93. ],
  94. specArray:[
  95. {
  96. src:'../../images/news/spec_01.png'
  97. },
  98. {
  99. src: '../../images/news/spec_02.png'
  100. }
  101. ],
  102. navList:["推荐","中秋","改良生活","优化办公","智能科技"],
  103. firstActive: "header_nav_active",
  104. currentItem : '',
  105. flag:true,
  106. banners: [],
  107. rexiao: [],
  108. tuijian: [],
  109. tuijiannew: [],
  110. forviewFir: [],
  111. forviewSec: [],
  112. forviewtitele: '',
  113. title1: '',
  114. title2: '',
  115. title3: '',
  116. intro1: '',
  117. intro2: '',
  118. intro3: '',
  119. id1: '',
  120. id2: '',
  121. id3: '',
  122. src1: '',
  123. src2: '',
  124. src3: '',
  125. src4: '',
  126. src5: '',
  127. src6: '',
  128. price1: '',
  129. price2: '',
  130. price3: '',
  131. host: '',
  132. idTwo: '',
  133. find_name: '',
  134. find_id: '',
  135. find_logo: '',
  136. find_yuedu: '',
  137. find_shoucang: '',
  138. datatime: new Date().getTime(),
  139. city_name: '',
  140. jingpin: {// 发现精品
  141. id: 1, src: "../../images/jingxuan_banner.jpg", title: "各星座员工生日礼品如何选", liulan: 117, zan: 34
  142. },
  143. page: 1,
  144. hasMore: true,
  145. hidden : '',
  146. winHeight: "",//窗口高度
  147. coupon: coupon, //优惠劵
  148. showCoupon : false,
  149. couponSta : 0,//对于用户来说,是否是第一次显示
  150. un_id : '',
  151. showMsg : true, //显示切换模式提示
  152. showChangeModel : false, //显示切换模式确认弹窗
  153. bannerFlag : 0, //banner数量
  154. recommendArray:[], // /推荐数组
  155. goodsNewsArray:[], //按照时间排序来
  156. // channelId:null ,//用户登录后的id
  157. page:1, //默认第一页
  158. limit:10, //展示的数量
  159. requestState:true, //请求状态,默认是有数据的
  160. loginStatic:false, //登陆状态,默认为false
  161. },
  162. //tab切换
  163. tagChoose: function (options) {
  164. var that = this
  165. var name = options.currentTarget.dataset.name;
  166. var des = options.currentTarget.dataset.des;
  167. var forid = options.currentTarget.dataset.forid;
  168. wx:wx.navigateTo({
  169. url: '/pages/kindSecondList/kindSecondList?classify_name=' + name + '&classify_des=' + des + '&id=' + forid
  170. })
  171. },
  172. // 滚动切换标签样式
  173. switchTab: function (e) {
  174. var that = this;
  175. var host = getApp().globalData.servsers;
  176. var current = e.detail.current;
  177. if (e.detail.current == 0){
  178. var forid = 0;
  179. }else{
  180. var forid = that.data.navList[e.detail.current - 1].id;
  181. var forname = that.data.navList[e.detail.current - 1].classify_name;
  182. var classifydes = that.data.navList[e.detail.current - 1].classify_des;
  183. }
  184. this.setData({
  185. currentItem: e.detail.current
  186. })
  187. if (forid > 0) {
  188. wx.request({
  189. url: that.data.host + "classifyapi/findAllforviewFir",
  190. data: {
  191. id: forid
  192. },
  193. method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT flag: true,
  194. header: {
  195. 'Accept': 'application/json'
  196. },
  197. success: function (res) {
  198. wx.request({
  199. url: that.data.host + "commodityapi/findOneforxcx",
  200. data: {
  201. com_id: forid,
  202. },
  203. method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT flag: true,
  204. header: {
  205. 'Accept': 'application/json'
  206. },
  207. success: function (res) {
  208. that.setData({
  209. tuijiannew: res.data.rows
  210. });
  211. if (res == null || res.data == null) {
  212. console.error('网络请求失败');
  213. return;
  214. }
  215. }
  216. });
  217. that.setData({
  218. forviewFir: res.data.rows,
  219. forviewtitele: res.data.rows[0].classify_des,
  220. 'firstActive': "",
  221. flag: false,
  222. });
  223. if (res == null || res.data == null) {
  224. console.error('网络请求失败');
  225. return;
  226. }
  227. }
  228. });
  229. } else {
  230. //设置当前样式
  231. that.setData({
  232. 'firstActive': "",
  233. 'currentItem':0,
  234. flag: true,
  235. })
  236. }
  237. that.checkCor();
  238. },
  239. checkCor: function () {
  240. if (this.data.currentItem > 2) {
  241. this.setData({
  242. scrollLeft: 300
  243. })
  244. } else {
  245. this.setData({
  246. scrollLeft: 0
  247. })
  248. }
  249. },
  250. onLoad: function () {
  251. var that = this;
  252. var host = getApp().globalData.servsers;
  253. var un_id = getApp().globalData.un_id;
  254. that.setData({
  255. urlHttp : host
  256. })
  257. //首页banner
  258. wx.request({
  259. url: host+"homebannerapi/homebannerall",
  260. data: {},
  261. method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
  262. header: {
  263. 'Accept': 'application/json'
  264. },
  265. success: function (res) {
  266. that.setData({
  267. banners: res.data.rows,
  268. host: host
  269. });
  270. console.log(res.data.rows);
  271. //判断banner位置是否为空
  272. for (var i = 0; i < res.data.rows.length;i++){
  273. var bannerFlag = that.data.bannerFlag;
  274. if (bannerFlag > 0){
  275. return false;
  276. }else{
  277. if (res.data.rows[i].banner_flag == 0) {
  278. bannerFlag++;
  279. that.setData({
  280. bannerFlag: bannerFlag
  281. })
  282. return false;
  283. }
  284. }
  285. }
  286. //console.log(that.data.banners);
  287. if (res == null || res.data == null) {
  288. console.error('网络请求失败');
  289. return;
  290. }
  291. }
  292. });
  293. //品牌定制
  294. wx.request({
  295. url: host + "brandapi/findforfirst",
  296. data: {},
  297. method: 'GET',
  298. header: {
  299. 'Accept': 'application/json'
  300. },
  301. success: function (res) {
  302. if (res.data.rows[0] == undefined) {
  303. that.setData({
  304. hidden: 'hidden'
  305. })
  306. }else{
  307. var img = res.data.rows[0].brand_logo;
  308. that.setData({
  309. title1: res.data.rows[0].brand_name,
  310. intro1: res.data.rows[0].brand_des,
  311. src1: res.data.rows[0].brand_logo,
  312. src4: res.data.rows[0].brand_logo1,
  313. price1: res.data.rows[0].price,
  314. id1: res.data.rows[0].id,
  315. });
  316. }
  317. if (res.data.rows[1] == undefined) {
  318. // that.setData({
  319. // hidden: 'hidden'
  320. // })
  321. } else {
  322. var img = res.data.rows[0].brand_logo;
  323. that.setData({
  324. title2: res.data.rows[1].brand_name,
  325. intro2: res.data.rows[1].brand_des,
  326. src2: res.data.rows[1].brand_logo,
  327. src5: res.data.rows[1].brand_logo1,
  328. price2: res.data.rows[1].price,
  329. id2: res.data.rows[1].id,
  330. });
  331. }
  332. if (res.data.rows[2] == undefined) {
  333. // that.setData({
  334. // hidden: 'hidden'
  335. // })
  336. } else {
  337. var img = res.data.rows[0].brand_logo;
  338. that.setData({
  339. title3: res.data.rows[2].brand_name,
  340. intro3: res.data.rows[2].brand_des,
  341. src3: res.data.rows[2].brand_logo,
  342. src6: res.data.rows[2].brand_logo1,
  343. price3: res.data.rows[2].price,
  344. id3: res.data.rows[2].id,
  345. });
  346. }
  347. if (res == null || res.data == null) {
  348. console.error('网络请求失败');
  349. return;
  350. }
  351. }
  352. })
  353. // 高度自适应
  354. wx.getSystemInfo({
  355. success: function (res) {
  356. var clientHeight = res.windowHeight,
  357. clientWidth = res.windowWidth,
  358. rpxR = 750 / clientWidth;
  359. var calc = clientHeight * rpxR;
  360. that.setData({
  361. winHeight: calc
  362. });
  363. }
  364. });
  365. },
  366. onReady:function(e){
  367. var that = this;
  368. var host = getApp().globalData.servsers;
  369. //判断时间,在规定时间内显示优惠劵弹窗
  370. var beiginTime = '2017/12/28';
  371. var endTime = '2018/01/08';
  372. var beginTimestamp = beiginTime.replace(/-/g, '/');
  373. beginTimestamp = Date.parse(beginTimestamp);
  374. var endTimestamp = endTime.replace(/-/g, '/');
  375. endTimestamp = Date.parse(endTimestamp);
  376. //获取当前日期
  377. var date = new Date();
  378. var Y = date.getFullYear();
  379. var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
  380. var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
  381. var nowTime = Y + '/' + M + '/' + D;
  382. nowTime = nowTime.replace(/-/g, '/');
  383. nowTime = Date.parse(nowTime);
  384. wx.login({
  385. success: function (res) {
  386. var code = res.code;
  387. wx.getUserInfo({
  388. withCredentials: true,
  389. success: function (res) {
  390. wx.request({
  391. url: host + "userapi/insertadd",
  392. data: {
  393. user_id: code,
  394. name: res.userInfo.nickName,
  395. icon: res.userInfo.avatarUrl,
  396. iv: res.iv,
  397. encryptedData: res.encryptedData,
  398. },
  399. method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
  400. header: {
  401. 'Accept': 'application/json'
  402. },
  403. success: function (res) {
  404. that.setData({
  405. un_id: res.data.unionId
  406. })
  407. var un_id = res.data.unionId;
  408. if (parseInt(nowTime) >= parseInt(beginTimestamp) && parseInt(nowTime) <= parseInt(endTimestamp)) {//当前日期在优惠劵领取时间内
  409. console.log("un_id:" + un_id);
  410. if (un_id != undefined && un_id != '' && un_id != null){
  411. wx.request({//优惠活动-对于用户来说,是否应该显示
  412. url: host + "mycouponapi/getAlertFlag",
  413. data: {
  414. user_id: un_id,
  415. batch_no: 1,
  416. alert_num: 1//优惠活动对于每个用户来说,一共显示的次数
  417. },
  418. method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
  419. header: {
  420. 'Accept': 'application/json'
  421. },
  422. success: function (res) {
  423. if (res.data == 0) {
  424. that.setData({
  425. showCoupon: true
  426. })
  427. } else {
  428. that.setData({
  429. showCoupon: false
  430. })
  431. }
  432. if (res == null || res.data == null) {
  433. console.error('网络请求失败');
  434. return;
  435. }
  436. }
  437. });
  438. }
  439. }
  440. if (res == null || res.data == null) {
  441. console.error('网络请求失败');
  442. return;
  443. }
  444. }
  445. })
  446. }
  447. })
  448. }
  449. })
  450. },
  451. footerTap: app.footerTap,
  452. onShow:function(){
  453. var that = this;
  454. that.onLoad();
  455. //商品推荐
  456. that.getGoodsRecommendList(that);
  457. // 按照时间排序
  458. that.setData({
  459. goodsNewsArray:[],
  460. page:1,
  461. })
  462. that.getGoodsNews(that)
  463. that.getSpecList()
  464. if (wx.getStorageSync('channelIdObj').channelId) {
  465. that.setData({
  466. loginStatic: true,
  467. })
  468. }
  469. },
  470. //跳转到“发现”tab页
  471. find:function(e){
  472. wx.switchTab({
  473. url : "/pages/find/index"
  474. })
  475. },
  476. getSpecList(){
  477. wx.request({
  478. url: host+'/classifyapi/classifyTwoAll',
  479. method:'get',
  480. data:{
  481. classifyHigher:3072
  482. },
  483. success:function(res){
  484. console.log(res)
  485. }
  486. })
  487. },
  488. onReachBottom(){
  489. var that = this;
  490. if (that.data.requestState) {
  491. that.setData({
  492. page: that.data.page + 1
  493. })
  494. that.getGoodsNews(that)
  495. }
  496. console.log('到底了')
  497. },
  498. //下拉刷新
  499. onPullDownRefresh: function (e) {
  500. },
  501. onShareAppMessage: function (res) {//页面分享
  502. var that = this;
  503. var host = getApp().globalData.servsers;
  504. if (res.from === 'button') {
  505. // 来自页面内转发按钮
  506. console.log(res.target)
  507. }
  508. return {
  509. title:'大良造-精良之选,用心造物!',
  510. path: '/pages/index/index',
  511. success: function (res) {
  512. },
  513. fail: function (res) {
  514. // 转发失败
  515. }
  516. }
  517. },
  518. //关闭优惠劵弹窗
  519. closeCoupon:function(e){
  520. var that = this;
  521. that.setData({
  522. showCoupon : false
  523. })
  524. },
  525. //关闭切换模式提示
  526. closeMsg:function(e){
  527. var that = this;
  528. that.setData({
  529. showMsg : false
  530. })
  531. },
  532. //打开切换提示
  533. openChangeModel:function(e){
  534. var that = this;
  535. that.setData({
  536. showMsg: false,
  537. showChangeModel: true
  538. })
  539. },
  540. //跳转至一键选礼
  541. goChooseGift:function(e){
  542. var that = this;
  543. that.setData({
  544. showChangeModel : false
  545. })
  546. wx.navigateTo({
  547. url: '/pages/patternMenu/patternMenu'
  548. })
  549. },
  550. //关闭切换模式确认弹窗
  551. closeChangeModel:function(e){
  552. var that = this;
  553. that.setData({
  554. showChangeModel: false
  555. })
  556. },
  557. // 商品推荐
  558. getGoodsRecommendList(that){
  559. let data ={
  560. limit: 6,
  561. offset: 1,
  562. channelId: wx.getStorageSync('channelIdObj').channelId ? wx.getStorageSync('channelIdObj').channelId : ""
  563. }
  564. wx.request({
  565. url: host + '/commodityapi/queryCommodityGroom',
  566. method:"get",
  567. data: data,
  568. success(res){
  569. res.data.rows.forEach(el => {
  570. el.logo = el.commodity_logo.split(",")
  571. })
  572. that.setData({
  573. recommendArray:res.data.rows
  574. })
  575. }
  576. })
  577. },
  578. // 按时间排序来的
  579. getGoodsNews(that){
  580. let data = {
  581. limit: that.data.limit,
  582. offset: that.data.page,
  583. channelId: wx.getStorageSync('channelIdObj').channelId ? wx.getStorageSync('channelIdObj').channelId : ""
  584. }
  585. wx.request({
  586. url: host + '/commodityapi/findAllforNewproduct',
  587. method: "get",
  588. data: data,
  589. success(res) {
  590. let goods = that.data.goodsNewsArray;
  591. console.log(goods)
  592. if (that.data.page == 1){
  593. goods = [];
  594. }
  595. goods.push(...res.data.rows);
  596. console.log(goods)
  597. that.setData({
  598. goodsNewsArray: goods,
  599. requestState: res.data.rows.length === that.data.limit
  600. })
  601. }
  602. })
  603. },
  604. toGoodsDetail(e) { // 进入商品详情页
  605. let that = this, id = e.currentTarget.dataset.id;
  606. wx.navigateTo({
  607. url: '/pages/buy/buy?com_id=' + id,
  608. })
  609. },
  610. navTap(e){
  611. // console.log(e);
  612. let item = e.currentTarget.dataset.item;
  613. if (item.type == 1 && !wx.getStorageSync('channelIdObj')) { // 表示是优质的杯,并且还没有登录过渠道
  614. wx.navigateTo({
  615. url: '/pages/login/login?url=' + item.href,
  616. })
  617. } else {
  618. wx.navigateTo({
  619. url: item.href,
  620. })
  621. }
  622. },
  623. tapMomo(){
  624. if (!wx.getStorageSync('channelIdObj')) { // 还没有登录过渠道
  625. wx.navigateTo({
  626. url: '/pages/login/login?url=/pages/momo/momo',
  627. })
  628. } else {
  629. wx.switchTo({
  630. url: '/pages/momo/momo',
  631. })
  632. }
  633. }
  634. })
  635. var banners = []
  636. // 热销新品
  637. var rexiao = []
  638. // 热销新品
  639. var pinpai = []
  640. // 人气推荐
  641. var tuijian = []
  642. var that;
  643. var Util = require('../../utils/util.js');