From 7e52b7bc222d0233ce4b25d2fb0b0bcabdf62640 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=94=90=E6=98=8E=E6=98=8E?= <970899069@qq.com> Date: Sun, 27 Dec 2020 15:20:23 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=96=B0=E5=A2=9E]=E4=BC=81=E4=B8=9A=E5=B9=BF?= =?UTF-8?q?=E5=9C=BA,=E6=B5=8F=E8=A7=88=E8=AE=B0=E5=BD=95,=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E5=B9=BF=E5=9C=BA=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apis/interfaces/company.js | 4 +- apis/request.js | 5 +- app.json | 8 +- pages/company/index.js | 96 ++++++++++++---------- pages/company/index.json | 3 +- pages/company/index.wxml | 41 +++++++++- pages/company/index.wxss | 132 ++++++++++++++++++++++++++++++- pages/company/search/search.js | 90 +++++++++++++++++++++ pages/company/search/search.json | 4 + pages/company/search/search.wxml | 25 ++++++ pages/company/search/search.wxss | 105 ++++++++++++++++++++++++ pages/welcome/index.js | 23 ++++++ pages/welcome/index.json | 4 + pages/welcome/index.wxml | 2 + pages/welcome/index.wxss | 8 ++ project.config.json | 6 ++ static/icons/arrow_right.png | Bin 0 -> 311 bytes static/icons/search_icon.png | Bin 0 -> 426 bytes static/images/search_null.png | Bin 0 -> 3367 bytes 19 files changed, 507 insertions(+), 49 deletions(-) create mode 100644 pages/company/search/search.js create mode 100644 pages/company/search/search.json create mode 100644 pages/company/search/search.wxml create mode 100644 pages/company/search/search.wxss create mode 100644 pages/welcome/index.js create mode 100644 pages/welcome/index.json create mode 100644 pages/welcome/index.wxml create mode 100644 pages/welcome/index.wxss create mode 100644 static/icons/arrow_right.png create mode 100644 static/icons/search_icon.png create mode 100644 static/images/search_null.png diff --git a/apis/interfaces/company.js b/apis/interfaces/company.js index 0332549..46f065f 100644 --- a/apis/interfaces/company.js +++ b/apis/interfaces/company.js @@ -4,6 +4,8 @@ */ import {req} from "../request" +const lists = (data, name) => req({url: "company/square?name=" + name, data: data}) + export default({ - + lists }) diff --git a/apis/request.js b/apis/request.js index 3f0fdfd..fbc8d79 100644 --- a/apis/request.js +++ b/apis/request.js @@ -3,7 +3,7 @@ import {errInfo} from './err' import {updToken} from './updateToken' // 请求方式配置 -const api = "https://new-web-test.cnskl.com/api/" +const api = "https://new-web-test.cnskl.com/api/" // const api = "https://mi-org.cnskl.com/api/" const header = { "Accept": "application/json" @@ -15,8 +15,9 @@ const header = { */ const req = (obj) => { - // header header.Authorization = wx.getStorageSync("token") || "" + header["store-id"] = wx.getStorageSync("storeId") || "" + // 处理请求信息 return new Promise((resolve, reject) => { wx.showLoading({ diff --git a/app.json b/app.json index 61a498b..68e8a60 100644 --- a/app.json +++ b/app.json @@ -1,20 +1,22 @@ { "pages": [ + "pages/company/index", "pages/shortVideo/index", "pages/richText/richText", "pages/login/login", "pages/card/index", - "pages/company/index", "pages/user/index", "pages/home/index", "pages/mall/index", "pages/live/index", - "pages/ticket/index" + "pages/ticket/index", + "pages/company/search/search", + "pages/welcome/index" ], "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", - "navigationBarTitleText": "短视频", + "navigationBarTitleText": "", "navigationBarTextStyle": "black" }, "style": "v2", diff --git a/pages/company/index.js b/pages/company/index.js index 2475342..89dd7eb 100644 --- a/pages/company/index.js +++ b/pages/company/index.js @@ -1,66 +1,82 @@ -// pages/company/index.js + +/** + * Web唐明明 + * 匆匆数载恍如梦,岁月迢迢华发增。 + * 碌碌无为枉半生,一朝惊醒万事空。 + */ + Page({ /** * 页面的初始数据 */ data: { - + companyList: [], //企业广场列表 + pages : {}, //企业广场分页 + record : [], //浏览记录 }, /** * 生命周期函数--监听页面加载 */ - onLoad: function (options) { - - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady: function () { - + onLoad(options) { + wx.$api.company.lists({}, "").then(res=>{ + this.setData({ + companyList: res.data, + pages : res.page + }) + }) }, /** * 生命周期函数--监听页面显示 */ - onShow: function () { - + onShow() { + wx.getStorage({ + key : "companyRecord", + success : res=>{ + this.setData({record: res.data}) + } + }) }, /** - * 生命周期函数--监听页面隐藏 + * 点击企业 */ - onHide: function () { + onCompany(e){ + let company = e.currentTarget.dataset.item, + newRecord = [...[company], ...this.data.record], + newobj = {} - }, + let record = newRecord.reduce((preVal, curVal)=>{ + newobj[curVal.company_id] ? '' : newobj[curVal.company_id] = preVal.push(curVal); + return preVal + }, []) - /** - * 生命周期函数--监听页面卸载 - */ - onUnload: function () { + // 去重后的数组长度 + if(record.length > 10){ + record = record.slice(0, 10) + } - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh: function () { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom: function () { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage: function () { + // 更新页面数据 + this.setData({ + record: record + }) + // 存储浏览记录 + wx.setStorageSync('companyRecord', record) + + // 存储店铺ID + wx.setStorage({ + data : company.store_id, + key : "storeId", + success : res=>{ + if(res.errMsg == "setStorage:ok"){ + wx.navigateTo({ + url: "/pages/shortVideo/index", + }) + } + } + }) } }) \ No newline at end of file diff --git a/pages/company/index.json b/pages/company/index.json index 8614f61..4650780 100644 --- a/pages/company/index.json +++ b/pages/company/index.json @@ -1,4 +1,5 @@ { "usingComponents": {}, - "navigationBarTitleText": "企业广场" + "navigationBarTitleText": "企业广场", + "navigationBarBackgroundColor": "#f8f8f8" } \ No newline at end of file diff --git a/pages/company/index.wxml b/pages/company/index.wxml index 13e6b36..25dd496 100644 --- a/pages/company/index.wxml +++ b/pages/company/index.wxml @@ -1,2 +1,41 @@ - 企业广场 + + + + 搜索 + + + + + + + 我浏览过的 + + + + {{item.name || "-"}} + + + + + 暂无浏览记录~ + + + + +全部企业 + + + + + {{item.name || "-"}} + + + + + + + 企业广场还是空的~ + + + diff --git a/pages/company/index.wxss b/pages/company/index.wxss index acda737..b4c142b 100644 --- a/pages/company/index.wxss +++ b/pages/company/index.wxss @@ -1 +1,131 @@ -/* pages/company/index.wxss */ \ No newline at end of file + +/** + * Web唐明明 + * 匆匆数载恍如梦,岁月迢迢华发增。 + * 碌碌无为枉半生,一朝惊醒万事空。 + */ + +.search-header{ + box-sizing: border-box; + padding: 20rpx 30rpx 0; +} + +.search-header-nav{ + background: white; + text-align: center; + line-height: 70rpx; + border-radius: 8rpx; + font-size: 30rpx; + color: #afafaf; +} + +.search-header-icon{ + width: 28rpx; + vertical-align: middle; + margin-right: 10rpx; + margin-bottom: 6rpx; +} + +.block{ + margin: 0 30rpx; + background: white; + border-radius: 10rpx; +} + +/* 浏览记录 */ + +.record{ + margin-top: 30rpx; +} + +.record-title{ + font-size: 30rpx; + color: #afafaf; + padding: 20rpx 30rpx; +} + +.record-scroll{ + white-space: nowrap; +} + +.record-item{ + display: inline-block; + text-align: center; + width: 148rpx; + margin: 0 10rpx; + padding-bottom: 20rpx; +} + +.record-item:first-child{ + margin-left: 20rpx; +} + +.record-item:last-child{ + margin-right: 20rpx; +} + +.record-item-logo{ + width: 88rpx; + height: 88rpx; + border-radius: 50%; + vertical-align: top; +} + +.record-item-name{ + font-size: 26rpx; + padding-top: 15rpx; + line-height: 40rpx; +} + +.record-null{ + padding: 80rpx 0; +} + +/* 企业列表 */ +.lists-title{ + padding: 30rpx 30rpx 20rpx 30rpx; + font-weight: bold; +} + +.lists{ + padding: 10rpx 0; +} + +.lists-item{ + position: relative; + padding: 20rpx 80rpx 20rpx 138rpx; + border-bottom: solid 1rpx #eee; + min-height: 88rpx; +} + +.lists-item:last-child{ + border-bottom: none; +} + +.lists-item-logo{ + position: absolute; + left: 30rpx; + top: 20rpx; + width: 88rpx; + height: 88rpx; + border-radius: 50%; +} + +.lists-item-icon{ + position: absolute; + width: 32rpx; + right: 30rpx; + top: calc(50% - 16rpx); +} + +.lists-item-name{ + line-height: 88rpx; + font-size: 32rpx; +} + +/* 企业列表空 */ +.list-null{ + background: white; + padding-bottom: 100rpx; + padding: 200rpx 0; +} diff --git a/pages/company/search/search.js b/pages/company/search/search.js new file mode 100644 index 0000000..21f5c65 --- /dev/null +++ b/pages/company/search/search.js @@ -0,0 +1,90 @@ + +/** + * Web唐明明 + * 匆匆数载恍如梦,岁月迢迢华发增。 + * 碌碌无为枉半生,一朝惊醒万事空。 + */ + +Page({ + + /** + * 页面的初始数据 + */ + data: { + companyList: [], //搜索企业列表 + pages : {}, //分页信息 + searchValue: "", //搜索值 + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 搜索表单 + */ + searchForm(e){ + let value = e.detail.value.search + this.setData({ + searchValue: value + }) + if(value == ""){ + wx.showToast({ + title: "搜索内容不能为空", + icon : "none" + }) + return + } + this.getCompany(value) + }, + + /** + * 获取列表 + */ + getCompany(value){ + wx.$api.company.lists({}, value).then(res=>{ + this.setData({ + companyList: res.data, + pages : res.page + }) + }) + }, + + /** + * 点击企业 + */ + onCompany(e){ + let company = e.currentTarget.dataset.item, + newRecord = [...[company], ...wx.getStorageSync("companyRecord")], + newobj = {} + + let record = newRecord.reduce((preVal, curVal)=>{ + newobj[curVal.company_id] ? '' : newobj[curVal.company_id] = preVal.push(curVal); + return preVal + }, []) + + // 去重后的数组长度 + if(record.length > 10){ + record = record.slice(0, 10) + } + + // 存储浏览记录 + wx.setStorageSync('companyRecord', record) + + // 存储店铺ID + wx.setStorage({ + data : company.store_id, + key : "storeId", + success : res=>{ + if(res.errMsg == "setStorage:ok"){ + wx.redirectTo({ + url: "/pages/shortVideo/index", + }) + } + } + }) + } +}) \ No newline at end of file diff --git a/pages/company/search/search.json b/pages/company/search/search.json new file mode 100644 index 0000000..5667d5c --- /dev/null +++ b/pages/company/search/search.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "搜索" +} \ No newline at end of file diff --git a/pages/company/search/search.wxml b/pages/company/search/search.wxml new file mode 100644 index 0000000..c0cb0f3 --- /dev/null +++ b/pages/company/search/search.wxml @@ -0,0 +1,25 @@ + + + + + + + + + + + {{item.name || "-"}} + + + + + + + {{searchValue == '' ? '输入关键字搜索' : '暂无搜索结果'}} + + + diff --git a/pages/company/search/search.wxss b/pages/company/search/search.wxss new file mode 100644 index 0000000..163ddd4 --- /dev/null +++ b/pages/company/search/search.wxss @@ -0,0 +1,105 @@ + +/** + * Web唐明明 + * 匆匆数载恍如梦,岁月迢迢华发增。 + * 碌碌无为枉半生,一朝惊醒万事空。 + */ + +.search-header{ + position: fixed; + top: 0; + left: 0; + width: 100%; + box-sizing: border-box; + background: white; + padding: 20rpx 30rpx; + box-shadow: 0 0 4rpx 4rpx rgba(0, 0, 0, .05); +} + +.search{ + display: block; + position: relative; + background: #f8f8f8; + height: 70rpx; + padding-left: 70rpx; + padding-right: 160rpx; + border-radius: 8rpx; + font-size: 30rpx; +} + +.search-icon{ + position: absolute; + left: 21rpx; + top: 21rpx; + width: 28rpx; + vertical-align: middle; + margin-right: 10rpx; + margin-bottom: 6rpx; +} + +.search-input{ + height: 70rpx; + padding-right: 20rpx; +} + +.search-btn[size="mini"]{ + position: absolute; + right: 0; + top: 0; + background: #f8f8f8; + color: #0b0041; + font-size: 30rpx; + font-weight: normal; + height: 70rpx; + width: 150rpx; + padding: 0; + line-height: 70rpx; + border-radius: 0 8rpx 8rpx 0; +} + +/* 企业列表 */ +.lists{ + padding: 10rpx 0 10rpx 0; + margin: 140rpx 30rpx 0; + background: white; + border-radius: 10rpx; +} + +.lists-item{ + position: relative; + padding: 20rpx 80rpx 20rpx 138rpx; + border-bottom: solid 1rpx #eee; + min-height: 88rpx; +} + +.lists-item:last-child{ + border-bottom: none; +} + +.lists-item-logo{ + position: absolute; + left: 30rpx; + top: 20rpx; + width: 88rpx; + height: 88rpx; + border-radius: 50%; +} + +.lists-item-icon{ + position: absolute; + width: 32rpx; + right: 30rpx; + top: calc(50% - 16rpx); +} + +.lists-item-name{ + line-height: 88rpx; + font-size: 32rpx; +} + +/* 企业列表空 */ +.list-null{ + background: white; + padding-bottom: 100rpx; + padding: 200rpx 0; +} diff --git a/pages/welcome/index.js b/pages/welcome/index.js new file mode 100644 index 0000000..b269da1 --- /dev/null +++ b/pages/welcome/index.js @@ -0,0 +1,23 @@ + +/** + * Web唐明明 + * 匆匆数载恍如梦,岁月迢迢华发增。 + * 碌碌无为枉半生,一朝惊醒万事空。 + */ + +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + } +}) \ No newline at end of file diff --git a/pages/welcome/index.json b/pages/welcome/index.json new file mode 100644 index 0000000..7af8b0a --- /dev/null +++ b/pages/welcome/index.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "navigationStyle": "custom" +} \ No newline at end of file diff --git a/pages/welcome/index.wxml b/pages/welcome/index.wxml new file mode 100644 index 0000000..e51ae68 --- /dev/null +++ b/pages/welcome/index.wxml @@ -0,0 +1,2 @@ + +pages/welcome/index.wxml diff --git a/pages/welcome/index.wxss b/pages/welcome/index.wxss new file mode 100644 index 0000000..c4fcc69 --- /dev/null +++ b/pages/welcome/index.wxss @@ -0,0 +1,8 @@ + +/** + * Web唐明明 + * 匆匆数载恍如梦,岁月迢迢华发增。 + * 碌碌无为枉半生,一朝惊醒万事空。 + */ + + diff --git a/project.config.json b/project.config.json index 317ba93..bb20788 100644 --- a/project.config.json +++ b/project.config.json @@ -64,6 +64,12 @@ { "name": "登录", "pathName": "pages/login/login", + "query": "", + "scene": null + }, + { + "name": "搜索", + "pathName": "pages/company/search/search", "scene": null } ] diff --git a/static/icons/arrow_right.png b/static/icons/arrow_right.png new file mode 100644 index 0000000000000000000000000000000000000000..e31e08093f2df6c3d97bda250a0cba9fcc134a61 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sP60k4u0VR-`c3OMY+Ap0E06@S z*Kb(6e)HP3o7b)1xPHS%APGWX#(FS&?K&WL16;O#(zRxwDWWAoe!&cT*Yo9HG*XkA z{^9BI#ohH`UUrFhw#=-t2P)|Iba4#vIR193rC5uC2n#zSWB8SozvD~!3<6oDZW?}- z^S=21^RvbyflQ5xS_usSq8kqdiCk3J-JD}Ezw1V#mB_?~b)DXV;uAzJHpU7bXPK>Z zPI8vgG5s}N8j>rMV%KyTI_QOcKgi^me^TyN-0B*O)ooMHzp8!A?)BsA-D^F%M$uEv lrxi8_ymi>9{Q7Kt-CI%4rrSXb?}1KZ@O1TaS?83{1OQ}@i2VQn literal 0 HcmV?d00001 diff --git a/static/icons/search_icon.png b/static/icons/search_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f3ea620a4c4f3ebd2e33d31a6bda9ea1bbafc819 GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyt^qzFu0VP{#Xvt_@e|M>v63La zV21TFO{Sh7pP$^fc;>{a?4;nEg2hpeo0Xm!0#*F;ba4!^I9(fbo2glW!}sEzl<7C0 z{jY!JmLjt5oG=GdyK}jNbC)A;!mj-WEA_2yo~W$}wtQ^bxuew8;i>n}d2;Tnx5|os zy}10Be$C70ug*u;J!nb%F3A{w?3M0|qpt(Fyu6D)gJtb zWmfsOkT1sP+|E3)qL^DOF>g0SdPHsK%wP0x&VoM4oY@TS-6y;!uVzZB@xMGFWXFo1 z@$B{YtlNKxhm@{Q+GIEL`NB@gjaO_p#T=C`Y*@k)@A6W4-W{e@Zw!o@FQ(0?u>Jj2 zcXvrxp-tu`r;G{9U(DssG&>{5|4?l5ii=62zcURl?VG=AN5cO7X42)??`-S?h6IDB LtDnm{r-UW|ahu46 literal 0 HcmV?d00001 diff --git a/static/images/search_null.png b/static/images/search_null.png new file mode 100644 index 0000000000000000000000000000000000000000..9c26fab54cc9f871fb359ca26282d9244c0be076 GIT binary patch literal 3367 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 literal 0 HcmV?d00001