diff --git a/app.js b/app.js index f4a3300..d40e174 100644 --- a/app.js +++ b/app.js @@ -2,7 +2,7 @@ import config from './config'; import Mock from './mock/index'; import createBus from './utils/eventBus'; -import { connectSocket, fetchUnreadNum } from './services/chat'; +import { connectSocket, fetchUnreadNum } from './mock/chat'; if (config.isMock) { Mock(); diff --git a/app.less b/app.less index 77cdbf6..d5d4f06 100644 --- a/app.less +++ b/app.less @@ -1,14 +1,4 @@ /**app.wxss**/ -.container { - height: 100%; - display: flex; - flex-direction: column; - align-items: center; - justify-content: space-between; - padding: 200rpx 0; - box-sizing: border-box; -} - page { background-color: #f3f3f3; } diff --git a/services/chat.js b/mock/chat.js similarity index 96% rename from services/chat.js rename to mock/chat.js index 10d89aa..10f7930 100644 --- a/services/chat.js +++ b/mock/chat.js @@ -1,4 +1,9 @@ -import delay from './delay'; +/** 模拟网络请求的延迟 */ +function delay(ms = 500) { + return new Promise((resolve) => { + setTimeout(resolve, ms); + }); +} // 模拟聊天数据 const mockData = [ diff --git a/mock/index.js b/mock/index.js index 3fe6963..ec4fdea 100644 --- a/mock/index.js +++ b/mock/index.js @@ -2,12 +2,13 @@ import Mock from './WxMock'; // 导入包含path和data的对象 import loginMock from './login/index'; import homeMock from './home/index'; +import searchMock from './search/index'; import dataCenter from './dataCenter/index'; import my from './my/index'; export default () => { // 在这里添加新的mock数据 - const mockData = [...loginMock, ...homeMock, ...dataCenter, ...my]; + const mockData = [...loginMock, ...homeMock, ...searchMock, ...dataCenter, ...my]; mockData.forEach((item) => { Mock.mock(item.path, { code: 200, success: true, data: item.data }); }); diff --git a/mock/mock.js b/mock/mock.js index 3782ded..3290a77 100644 --- a/mock/mock.js +++ b/mock/mock.js @@ -1165,8 +1165,8 @@ return typeof patternLetters[flag] === 'function' ? patternLetters[flag](date) : patternLetters[flag] in patternLetters - ? creatNewSubString($0, patternLetters[flag]) - : date[patternLetters[flag]](); + ? creatNewSubString($0, patternLetters[flag]) + : date[patternLetters[flag]](); }); }, // 生成一个随机的 Date 对象。 @@ -1967,8 +1967,8 @@ return min === undefined ? Basic.natural(defaultMin, defaultMax) // () : max === undefined - ? min // ( len ) - : Basic.natural(parseInt(min, 10), parseInt(max, 10)); // ( min, max ) + ? min // ( len ) + : Basic.natural(parseInt(min, 10), parseInt(max, 10)); // ( min, max ) } module.exports = { @@ -6566,8 +6566,8 @@ id.slice(2, 6) === '0000' ? undefined : id.slice(4, 6) == '00' - ? id.slice(0, 2) + '0000' - : id.slice(0, 4) + '00'; + ? id.slice(0, 2) + '0000' + : id.slice(0, 4) + '00'; fixed.push({ id: id, pid: pid, @@ -6848,8 +6848,8 @@ '\n' === e ? (l.seenCR || l.line++, (l.column = 1), (l.seenCR = !1)) : '\r' === e || '\u2028' === e || '\u2029' === e - ? (l.line++, (l.column = 1), (l.seenCR = !0)) - : (l.column++, (l.seenCR = !1)); + ? (l.line++, (l.column = 1), (l.seenCR = !0)) + : (l.column++, (l.seenCR = !1)); } return ( Mt !== l && @@ -9020,8 +9020,7 @@ // loadstart The fetch initiates. this.dispatchEvent(new Event('loadstart' /*, false, false, this*/)); - if (this.custom.async) - setTimeout(done, this.custom.timeout); // 异步 + if (this.custom.async) setTimeout(done, this.custom.timeout); // 异步 else done(); // 同步 function done() { diff --git a/mock/search/getSearchHistory.js b/mock/search/getSearchHistory.js new file mode 100644 index 0000000..203188c --- /dev/null +++ b/mock/search/getSearchHistory.js @@ -0,0 +1,8 @@ +export default { + path: '/api/searchHistory', + code: 200, + message: '请求成功', + data: { + historyWords: ['AI绘画', 'Stable Diffusion', '版权素材', '星空', 'illustration', '原创'], + }, +}; diff --git a/mock/search/getSearchPopular.js b/mock/search/getSearchPopular.js new file mode 100644 index 0000000..7618001 --- /dev/null +++ b/mock/search/getSearchPopular.js @@ -0,0 +1,15 @@ +export default { + path: '/api/searchPopular', + code: 200, + message: '请求成功', + data: { + popularWords: [ + '考研和靠边同时上岸应该怎么选?有哪些参考建议', + '日常饮食中,如何选择优质蛋白', + '你有没有网购维权成功的经历?求分享经验', + '夏季带孩子旅游,你的必备物品有哪些', + '在海外越卖越贵,中国汽车做对了什么', + '当HR问你离职原因,怎么回答最能被接受', + ], + }, +}; diff --git a/mock/search/index.js b/mock/search/index.js new file mode 100644 index 0000000..22dc2ef --- /dev/null +++ b/mock/search/index.js @@ -0,0 +1,4 @@ +import getSearchHistory from './getSearchHistory'; +import getSearchPopular from './getSearchPopular'; + +export default [getSearchHistory, getSearchPopular]; diff --git a/model/search.js b/model/search.js deleted file mode 100644 index dd0eeeb..0000000 --- a/model/search.js +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @param {number} sort - * @param {number} pageNum - * @param {number} pageSize - * @param {number} minPrice - * @param {number} maxPrice - * @param {string} keyword - */ - -/** - * 获取搜索历史 - */ -export function getSearchHistoryMock() { - return { - historyWords: ['AI绘画', 'Stable Diffusion', '版权素材', '星空', 'illustration', '原创'], - }; -} - -/** - *获取搜索热词 - */ -export function getSearchPopularMock() { - return { - popularWords: [ - '考研和靠边同时上岸应该怎么选?有哪些参考建议', - '日常饮食中,如何选择优质蛋白', - '你有没有网购维权成功的经历?求分享经验', - '夏季带孩子旅游,你的必备物品有哪些', - '在海外越卖越贵,中国汽车做对了什么', - '当HR问你离职原因,怎么回答最能被接受', - ], - }; -} diff --git a/pages/chat/index.less b/pages/chat/index.less index 6ad7732..dc8246d 100644 --- a/pages/chat/index.less +++ b/pages/chat/index.less @@ -1,10 +1,11 @@ /* pages/chat/index.wxss */ -page { +.chat-container { display: flex; flex-direction: column; box-sizing: border-box; height: 100vh; font-size: 32rpx; + background-color: #fff; } .nav-bar { diff --git a/pages/chat/index.wxml b/pages/chat/index.wxml index 38ec8c8..f34a5a2 100644 --- a/pages/chat/index.wxml +++ b/pages/chat/index.wxml @@ -1,15 +1,17 @@ - - - - {{ utils.formatTime(item.time) }} - - + + + + + + {{ utils.formatTime(item.time) }} + + + + {{ item.content }} + + - - - - - + + + {{ item.content }} + - - - - - + + + + + diff --git a/pages/home/index.js b/pages/home/index.js index c483d84..c4fb696 100644 --- a/pages/home/index.js +++ b/pages/home/index.js @@ -69,7 +69,7 @@ Page({ showOperMsg(content) { Message.success({ context: this, - offset: [20, 32], + offset: [120, 32], duration: 4000, content, }); diff --git a/pages/home/index.less b/pages/home/index.less index b96eb98..f77ab1d 100644 --- a/pages/home/index.less +++ b/pages/home/index.less @@ -2,45 +2,11 @@ @home-tab-item-height: 96rpx; -page { - height: 100vh; - box-sizing: border-box; - font-family: 'PingFang SC', 'Helvetica Neue', sans-serif; -} - -.t-navbar { - --td-navbar-padding-top: @navbar-padding-top; - --td-navbar-height: calc(@nav-bar-height - @navbar-padding-top) !important; - - &__left { - margin: 0; - } -} - -&__left { - display: flex; - align-items: center; - padding: 0 16rpx; - - .t-search { - --td-search-height: 64rpx; - --td-search-font-size: @font-size-mini; - width: 375rpx; - - .t-icon { - font-size: @font-size-default !important; - } - } -} - -.home { - background-color: @bg-color; - height: calc(100% - @tab-bar-height); - overflow: auto; +.home-container { + height: calc(100vh - @tab-bar-height); - &__content { + .home-content { height: calc(100% - @nav-bar-height); - overflow: hidden; } .t-tabs { @@ -56,7 +22,7 @@ page { } } - &__card-list { + .home-card-list { display: flex; justify-content: space-between; flex-wrap: wrap; @@ -66,16 +32,8 @@ page { } } -.usermotto { - margin-top: 200px; -} - .home-release { position: fixed; bottom: 208rpx; right: 32rpx; - - .relese-button { - width: 200rpx; - } } diff --git a/pages/home/index.wxml b/pages/home/index.wxml index 620f06a..97d7b74 100644 --- a/pages/home/index.wxml +++ b/pages/home/index.wxml @@ -1,6 +1,6 @@ - -