index.js 16 KB

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