index.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612
  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. that.getGoodsRecommendList(that);
  327. // 按照时间排序
  328. that.getGoodsNews(that)
  329. },
  330. onReady:function(e){
  331. var that = this;
  332. var host = getApp().globalData.servsers;
  333. //判断时间,在规定时间内显示优惠劵弹窗
  334. var beiginTime = '2017/12/28';
  335. var endTime = '2018/01/08';
  336. var beginTimestamp = beiginTime.replace(/-/g, '/');
  337. beginTimestamp = Date.parse(beginTimestamp);
  338. var endTimestamp = endTime.replace(/-/g, '/');
  339. endTimestamp = Date.parse(endTimestamp);
  340. //获取当前日期
  341. var date = new Date();
  342. var Y = date.getFullYear();
  343. var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
  344. var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
  345. var nowTime = Y + '/' + M + '/' + D;
  346. nowTime = nowTime.replace(/-/g, '/');
  347. nowTime = Date.parse(nowTime);
  348. wx.login({
  349. success: function (res) {
  350. var code = res.code;
  351. wx.getUserInfo({
  352. withCredentials: true,
  353. success: function (res) {
  354. wx.request({
  355. url: host + "userapi/insertadd",
  356. data: {
  357. user_id: code,
  358. name: res.userInfo.nickName,
  359. icon: res.userInfo.avatarUrl,
  360. iv: res.iv,
  361. encryptedData: res.encryptedData,
  362. },
  363. method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
  364. header: {
  365. 'Accept': 'application/json'
  366. },
  367. success: function (res) {
  368. that.setData({
  369. un_id: res.data.unionId
  370. })
  371. var un_id = res.data.unionId;
  372. if (parseInt(nowTime) >= parseInt(beginTimestamp) && parseInt(nowTime) <= parseInt(endTimestamp)) {//当前日期在优惠劵领取时间内
  373. console.log("un_id:" + un_id);
  374. if (un_id != undefined && un_id != '' && un_id != null){
  375. wx.request({//优惠活动-对于用户来说,是否应该显示
  376. url: host + "mycouponapi/getAlertFlag",
  377. data: {
  378. user_id: un_id,
  379. batch_no: 1,
  380. alert_num: 1//优惠活动对于每个用户来说,一共显示的次数
  381. },
  382. method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
  383. header: {
  384. 'Accept': 'application/json'
  385. },
  386. success: function (res) {
  387. if (res.data == 0) {
  388. that.setData({
  389. showCoupon: true
  390. })
  391. } else {
  392. that.setData({
  393. showCoupon: false
  394. })
  395. }
  396. if (res == null || res.data == null) {
  397. console.error('网络请求失败');
  398. return;
  399. }
  400. }
  401. });
  402. }
  403. }
  404. if (res == null || res.data == null) {
  405. console.error('网络请求失败');
  406. return;
  407. }
  408. }
  409. })
  410. }
  411. })
  412. }
  413. })
  414. },
  415. footerTap: app.footerTap,
  416. onShow:function(){
  417. var that = this;
  418. that.onLoad();
  419. if (wx.getStorageSync('channelIdObj').channelId) {
  420. that.setData({
  421. loginStatic: true,
  422. })
  423. }
  424. },
  425. //跳转到“发现”tab页
  426. find:function(e){
  427. wx.switchTab({
  428. url : "/pages/find/index"
  429. })
  430. },
  431. onReachBottom(){
  432. var that = this;
  433. if (that.data.requestState) {
  434. that.setData({
  435. page: that.data.page + 1
  436. })
  437. that.getGoodsNews(that)
  438. }
  439. console.log('到底了')
  440. },
  441. //下拉刷新
  442. onPullDownRefresh: function (e) {
  443. },
  444. onShareAppMessage: function (res) {//页面分享
  445. var that = this;
  446. var host = getApp().globalData.servsers;
  447. if (res.from === 'button') {
  448. // 来自页面内转发按钮
  449. console.log(res.target)
  450. }
  451. return {
  452. title:'大良造-精良之选,用心造物!',
  453. path: '/pages/index/index',
  454. success: function (res) {
  455. },
  456. fail: function (res) {
  457. // 转发失败
  458. }
  459. }
  460. },
  461. //关闭优惠劵弹窗
  462. closeCoupon:function(e){
  463. var that = this;
  464. that.setData({
  465. showCoupon : false
  466. })
  467. },
  468. //关闭切换模式提示
  469. closeMsg:function(e){
  470. var that = this;
  471. that.setData({
  472. showMsg : false
  473. })
  474. },
  475. //打开切换提示
  476. openChangeModel:function(e){
  477. var that = this;
  478. that.setData({
  479. showMsg: false,
  480. showChangeModel: true
  481. })
  482. },
  483. //跳转至一键选礼
  484. goChooseGift:function(e){
  485. var that = this;
  486. that.setData({
  487. showChangeModel : false
  488. })
  489. wx.navigateTo({
  490. url: '/pages/patternMenu/patternMenu'
  491. })
  492. },
  493. //关闭切换模式确认弹窗
  494. closeChangeModel:function(e){
  495. var that = this;
  496. that.setData({
  497. showChangeModel: false
  498. })
  499. },
  500. // 商品推荐
  501. getGoodsRecommendList(that){
  502. let data ={
  503. limit: 6,
  504. offset: 1,
  505. channelId: wx.getStorageSync('channelIdObj').channelId ? wx.getStorageSync('channelIdObj').channelId : ""
  506. }
  507. wx.request({
  508. url: host + '/commodityapi/queryCommodityGroom',
  509. method:"get",
  510. data: data,
  511. success(res){
  512. res.data.rows.forEach(el => {
  513. el.logo = el.commodity_logo.split(",")
  514. })
  515. that.setData({
  516. recommendArray:res.data.rows
  517. })
  518. }
  519. })
  520. },
  521. // 按时间排序来的
  522. getGoodsNews(that){
  523. let data = {
  524. limit: that.data.limit,
  525. offset: that.data.page,
  526. channelId: wx.getStorageSync('channelIdObj').channelId ? wx.getStorageSync('channelIdObj').channelId : ""
  527. }
  528. wx.request({
  529. url: host + '/commodityapi/findAllforNewproduct',
  530. method: "get",
  531. data: data,
  532. success(res) {
  533. let goods = that.data.goodsNewsArray;
  534. console.log(goods)
  535. if (that.data.page == 1){
  536. goods = [];
  537. }
  538. goods.push(...res.data.rows);
  539. console.log(goods)
  540. that.setData({
  541. goodsNewsArray: goods,
  542. requestState: res.data.rows.length === that.data.limit
  543. })
  544. }
  545. })
  546. },
  547. toGoodsDetail(e) { // 进入商品详情页
  548. let that = this, id = e.currentTarget.dataset.id;
  549. wx.navigateTo({
  550. url: '/pages/buy/buy?com_id=' + id,
  551. })
  552. },
  553. navTap(e){
  554. // console.log(e);
  555. let item = e.currentTarget.dataset.item;
  556. if (item.type == 1 && !wx.getStorageSync('channelIdObj')) { // 表示是优质的杯,并且还没有登录过渠道
  557. wx.navigateTo({
  558. url: '/pages/login/login?url=/pages/kindSecondList/kindSecondList',
  559. })
  560. } else {
  561. wx.navigateTo({
  562. url: item.href,
  563. })
  564. }
  565. }
  566. })
  567. var banners = []
  568. // 热销新品
  569. var rexiao = []
  570. // 热销新品
  571. var pinpai = []
  572. // 人气推荐
  573. var tuijian = []
  574. var that;
  575. var Util = require('../../utils/util.js');