index.js 15 KB

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