From 5031aed2cb1c111f0883dd7e4c597b4c984b817c Mon Sep 17 00:00:00 2001 From: ivo Date: Mon, 13 Feb 2023 23:13:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=A8=E6=88=B7=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E7=BC=96=E8=BE=91=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 4 +- images/check.png | Bin 0 -> 42656 bytes images/history.png | Bin 0 -> 2732 bytes images/question.png | Bin 0 -> 5304 bytes images/use_btn.jpg | Bin 0 -> 20394 bytes images/weixin.png | Bin 5967 -> 5387 bytes model/swiper.js | 2 +- pages/additive/list/additive-list.js | 25 ++++-- pages/home/additive/additive.wxml | 6 +- pages/home/home.wxml | 7 +- pages/home/home.wxss | 33 ++++++-- pages/home/session/session.js | 55 ++++++++++-- pages/home/session/session.wxml | 4 +- pages/standard/list/index.js | 45 ++++++++-- pages/standard/list/index.json | 5 ++ pages/standard/list/index.wxml | 13 +-- pages/standard/list/index.wxss | 7 +- pages/user/edit/index.js | 114 +++++++++++++++++++++++++ pages/user/edit/index.json | 9 ++ pages/user/edit/index.wxml | 9 ++ pages/user/edit/index.wxss | 24 ++++++ pages/user/index.js | 43 ++++++++++ pages/user/index.json | 6 ++ pages/user/index.wxml | 17 +++- pages/user/index.wxss | 34 +++++++- pages/user/session-list/index.js | 120 +++++++++++++++++++++++++++ pages/user/session-list/index.json | 9 ++ pages/user/session-list/index.wxml | 20 +++++ pages/user/session-list/index.wxss | 62 ++++++++++++++ pages/usercenter/index.wxml | 32 ++----- services/api/request.js | 7 ++ services/api/session.js | 17 ++-- services/api/user.js | 28 +++++++ services/permission/login.js | 7 +- services/permission/user.js | 41 +++++++++ 35 files changed, 725 insertions(+), 80 deletions(-) create mode 100644 images/check.png create mode 100644 images/history.png create mode 100644 images/question.png create mode 100644 images/use_btn.jpg create mode 100644 pages/user/edit/index.js create mode 100644 pages/user/edit/index.json create mode 100644 pages/user/edit/index.wxml create mode 100644 pages/user/edit/index.wxss create mode 100644 pages/user/session-list/index.js create mode 100644 pages/user/session-list/index.json create mode 100644 pages/user/session-list/index.wxml create mode 100644 pages/user/session-list/index.wxss create mode 100644 services/api/user.js create mode 100644 services/permission/user.js diff --git a/app.json b/app.json index d241a88..148fc4b 100644 --- a/app.json +++ b/app.json @@ -34,7 +34,9 @@ "pages/home/chemical/chemical", "pages/additive/list/additive-list", "pages/standard/list/index", - "pages/user/index" + "pages/user/index", + "pages/user/session-list/index", + "pages/user/edit/index" ], "tabBar": { "custom": true, diff --git a/images/check.png b/images/check.png new file mode 100644 index 0000000000000000000000000000000000000000..db44445c04c8b05f4bab1e4427fb3dd49a48cb2a GIT binary patch literal 42656 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 TcSF!ed%U8H)%mRL@Z^60{q23f literal 0 HcmV?d00001 diff --git a/images/history.png b/images/history.png new file mode 100644 index 0000000000000000000000000000000000000000..b92d88363a842048cc3a8f800846674f6046d94a GIT binary patch literal 2732 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 literal 0 HcmV?d00001 diff --git a/images/use_btn.jpg b/images/use_btn.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6179d6a09a5cec4982ae9b66e962a7bf37b671a2 GIT binary patch literal 20394 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 XA|fm+Y9b;Kh=_zDA|VKfh(iC_6mY7k literal 0 HcmV?d00001 diff --git a/images/weixin.png b/images/weixin.png index eaf36017dcb407fce8ce88eaea136d66b99dece9..1d953c2383efe55aec4bb6a3ef02e6acb77fbb3e 100644 GIT binary patch literal 5387 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 literal 5967 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 { - this.setData({ - addtiveList: respose.content.contentList, - "page.total": respose.content.total - }) + if (append) { + this.setData({ + addtiveList: this.data.addtiveList.concat(respose.content.contentList), + "page.total": respose.content.total + }) + } else { + this.setData({ + addtiveList: respose.content.contentList, + "page.total": respose.content.total + }) + } }) }, @@ -99,7 +106,11 @@ Page({ * 页面上拉触底事件的处理函数 */ onReachBottom() { - + const num = this.data.page.num; + this.setData({ + "page.num": num + 1 + }) + this.getAddtiveList(true); }, /** diff --git a/pages/home/additive/additive.wxml b/pages/home/additive/additive.wxml index 15dad12..f3a20ff 100644 --- a/pages/home/additive/additive.wxml +++ b/pages/home/additive/additive.wxml @@ -12,15 +12,15 @@ cns: {{additiveData.cns ? additiveData.cns : '-'}} ins: {{additiveData.ins ? additiveData.ins : '-'}} - - {{item}} + + {{item}} 描述 {{additiveData.description}} - + 包含物质 diff --git a/pages/home/home.wxml b/pages/home/home.wxml index 795c484..67464a3 100644 --- a/pages/home/home.wxml +++ b/pages/home/home.wxml @@ -9,7 +9,12 @@ - + + + + + + diff --git a/pages/home/home.wxss b/pages/home/home.wxss index b27de5f..7c8299d 100644 --- a/pages/home/home.wxss +++ b/pages/home/home.wxss @@ -27,15 +27,30 @@ page { bottom: 82px; } -.home-page-container .searich_btn { - position: absolute; - left: 0; - right: 0; - bottom: 0; - top: 0; - margin: auto; - border-radius: 20px; - box-shadow: 4px 4px 4px 4px rgb(187, 187, 187); +.home-page-container { + height: 100%; +} + +.container { + display: flex; + justify-content: center; + flex-wrap: wrap; + margin-top: 100px; +} + +.search_img { + width: 200px; + height: 200px; + /* border-radius: 20px; + box-shadow: -1px 4px 2px 4px rgb(187, 187, 187); */ +} + +.search_btn { + width: 100%; + margin-left: 70px; + margin-right: 70px; + background-color: #ffcd38; + font-weight: 600; } .home-page-container, diff --git a/pages/home/session/session.js b/pages/home/session/session.js index f638e71..d91662c 100644 --- a/pages/home/session/session.js +++ b/pages/home/session/session.js @@ -3,6 +3,9 @@ import { sessionQuery, sessionAdditiveQuery } from '../../../services/api/session'; +import { + sessionUpload +} from '../../../services/api/session'; Page({ @@ -18,18 +21,18 @@ Page({ kinds: [] }, address: [], - company: ["浏阳市青草学堂食品厂"], - images: [""], - licenseCode: ["SC11643018106863"], + company: [], + images: [], + licenseCode: [], sessionId: 0, - standard: "Q/AQCX0001S", - standardType: "企业标准", - tags: ["反式脂肪酸", "添加剂"], + standard: "", + standardType: "", + tags: [], typeCode: "", typeName: "", rate: { level: 4, - text: '不建议儿童食用', + text: '', type: '' } }, @@ -43,6 +46,10 @@ Page({ onLoad(options) { this.sessionId = options?.sessionId; // this.sessionId = 76 + this.init(); + }, + + init() { sessionQuery({ id: this.sessionId }).then(respose => { @@ -55,7 +62,7 @@ Page({ } }) sessionAdditiveQuery({ - id: this.data.sessionId + id: this.sessionId }).then(respose => { this.setData({ additives: respose.content.additives @@ -129,10 +136,42 @@ Page({ }) }, + onAddImage() { + if (this.sessionId == 0) { + return + } + wx.chooseMedia({ + count: 1, + mediaType: ['image'], + sourceType: ['album', 'camera'], + maxDuration: 30, + camera: 'back', + success: (res) => { + if (res.tempFiles.length >= 1) { + sessionUpload({ + urls: res.tempFiles, + session: this.sessionId + }).then(tmp => { + console.log(tmp); + if (tmp.code == 10000) { + this.init(); + } + }) + } else {} + } + }) + }, + onGoAdditive(event) { const additiveId = event.currentTarget.dataset.additive; wx.navigateTo({ url: `/pages/home/additive/additive?additiveId=${additiveId}`, }); + }, + onGoChemical(event) { + const chemicalId = event.currentTarget.dataset.chemical; + wx.navigateTo({ + url: `/pages/home/chemical/chemical?chemicalId=${chemicalId}`, + }); } }) \ No newline at end of file diff --git a/pages/home/session/session.wxml b/pages/home/session/session.wxml index c24f977..3fd7e12 100644 --- a/pages/home/session/session.wxml +++ b/pages/home/session/session.wxml @@ -13,7 +13,7 @@ {{pageData.createTime}} - + @@ -108,7 +108,7 @@ {{item.standard}} 所含元素: - + {{chemical.name}} {{chemical.cas}} diff --git a/pages/standard/list/index.js b/pages/standard/list/index.js index dfa0da7..a9ede93 100644 --- a/pages/standard/list/index.js +++ b/pages/standard/list/index.js @@ -3,6 +3,7 @@ import { sessionStandardList } from '../../../services/api/standard'; +import Message from 'tdesign-miniprogram/message/index'; Page({ @@ -42,19 +43,41 @@ Page({ }) }, - getStandardList() { + getStandardList(append) { const params = { pageNumber: this.data.page.num, pageSize: this.data.page.size } if (this.data.searchValue) { params['search'] = this.data.searchValue - sessionStandardList(params).then(respose => { - this.setData({ - standardList: respose.content.contentList, - "page.total": respose.content.total + if (append) { + sessionStandardList(params).then(respose => { + this.setData({ + standardList: this.data.standardList.concat(respose.content.contentList), + "page.total": respose.content.total + }) + this.handleWarning(); }) - }) + } else { + sessionStandardList(params).then(respose => { + this.setData({ + standardList: respose.content.contentList, + "page.total": respose.content.total + }) + this.handleWarning(); + }) + } + } + }, + + handleWarning() { + if (this.data.standardList.length == 0) { + Message.warning({ + context: this, + offset: [20, 32], + duration: 5000, + content: '未查询到该信息,请重新尝试!', + }); } }, @@ -97,7 +120,15 @@ Page({ * 页面上拉触底事件的处理函数 */ onReachBottom() { - + console.log(this.data.standardList.length); + if (this.data.standardList.length >= this.data.page.total) { + return + } + const num = this.data.page.num; + this.setData({ + "page.num": num + 1 + }) + this.getStandardList(true); }, /** diff --git a/pages/standard/list/index.json b/pages/standard/list/index.json index c684cb9..53f084f 100644 --- a/pages/standard/list/index.json +++ b/pages/standard/list/index.json @@ -1,8 +1,13 @@ { + "navigationBarTitleText": "标准", + "onReachBottomDistance": 10, + "backgroundTextStyle": "light", "usingComponents": { "t-search": "tdesign-miniprogram/search/search", "t-tag": "tdesign-miniprogram/tag/tag", "t-check-tag": "tdesign-miniprogram/tag/check-tag", + "t-sticky": "tdesign-miniprogram/sticky/sticky", + "t-message": "tdesign-miniprogram/message/message", "t-image": "tdesign-miniprogram/image/image" } } \ No newline at end of file diff --git a/pages/standard/list/index.wxml b/pages/standard/list/index.wxml index f53ed4f..f8a5ec7 100644 --- a/pages/standard/list/index.wxml +++ b/pages/standard/list/index.wxml @@ -1,9 +1,11 @@ - + - - - + + + + + @@ -17,4 +19,5 @@ - \ No newline at end of file + + \ No newline at end of file diff --git a/pages/standard/list/index.wxss b/pages/standard/list/index.wxss index 9fc4fd6..d86c091 100644 --- a/pages/standard/list/index.wxss +++ b/pages/standard/list/index.wxss @@ -12,6 +12,10 @@ .search-view { display: flex; justify-content: center; + padding-top: 10px; + padding-bottom: 10px; + width: 100%; + background-color: rgb(255, 255, 255); } .search { @@ -25,8 +29,7 @@ } .list-view { - margin: 10px; - margin-top: 20px; + padding: 10px; margin-bottom: 80px; } diff --git a/pages/user/edit/index.js b/pages/user/edit/index.js new file mode 100644 index 0000000..bcc945e --- /dev/null +++ b/pages/user/edit/index.js @@ -0,0 +1,114 @@ +// pages/user/edit/index.js + +import { + getUserInfo, + updateUserInfo +} from '../../../services/permission/user' + +const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0' + +Page({ + + /** + * 页面的初始数据 + */ + data: { + avatarUrl: defaultAvatarUrl, + nickname: "" + }, + + onChooseAvatar(e) { + const { + avatarUrl + } = e.detail + console.log(avatarUrl); + this.setData({ + avatarUrl, + }) + }, + + onSave() { + console.log(this.data.nickname); + console.log(this.data.avatarUrl); + updateUserInfo({ + nickname: this.data.nickname, + avatar: this.data.avatarUrl + }).then(res => { + console.log(res); + wx.switchTab({ + url: `../index`, + }); + }); + }, + + onInput(e) { + const nickname = e.detail.value; + this.setData({ + nickname + }); + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + const tmp = getUserInfo(); + let avatar = tmp.avatar + if (avatar == '') { + avatar = defaultAvatarUrl + } + this.setData({ + avatarUrl: avatar, + nickname: tmp.nickname + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/user/edit/index.json b/pages/user/edit/index.json new file mode 100644 index 0000000..7168060 --- /dev/null +++ b/pages/user/edit/index.json @@ -0,0 +1,9 @@ +{ + "navigationBarTitleText": "修改信息", + "onReachBottomDistance": 10, + "backgroundTextStyle": "light", + "usingComponents": { + "t-input": "tdesign-miniprogram/input/input", + "t-button": "tdesign-miniprogram/button/button" + } +} \ No newline at end of file diff --git a/pages/user/edit/index.wxml b/pages/user/edit/index.wxml new file mode 100644 index 0000000..6aee28e --- /dev/null +++ b/pages/user/edit/index.wxml @@ -0,0 +1,9 @@ + + + + + + 确认保存 + \ No newline at end of file diff --git a/pages/user/edit/index.wxss b/pages/user/edit/index.wxss new file mode 100644 index 0000000..8d0d919 --- /dev/null +++ b/pages/user/edit/index.wxss @@ -0,0 +1,24 @@ +/* pages/user/edit/index.wxss */ + +.avatar-wrapper { + margin-top: 100px; + width: 80px; + height: 80px; + display: flex; + justify-content: center; + align-items: center; +} + +.avatar { + width: 54px; + height: 54px; +} + +.weui-input { + margin-top: 50px; +} + +.button-example { + margin: 0 32rpx; + margin-top: 100px; +} \ No newline at end of file diff --git a/pages/user/index.js b/pages/user/index.js index c07fd4c..779b116 100644 --- a/pages/user/index.js +++ b/pages/user/index.js @@ -4,6 +4,10 @@ import { isLogin } from '../../services/permission/login'; +import { + getUserInfo +} from '../../services/permission/user' + Page({ /** @@ -11,6 +15,11 @@ Page({ */ data: { loginStatus: false, + userinfo: { + nickname: "", + avatar: "" + }, + avatarImage: "" }, /** @@ -20,6 +29,33 @@ Page({ this.setData({ loginStatus: isLogin() }) + const tmp = getUserInfo() + this.setData({ + userinfo: { + ...tmp + } + }) + if (this.data.userinfo.avatar == "") { + this.setData({ + avatarImage: 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0' + }); + } else { + this.setData({ + avatarImage: this.data.userinfo.avatar + }) + } + }, + + onGoSessionList() { + wx.navigateTo({ + url: `/pages/user/session-list/index`, + }); + }, + + onGoEdit() { + wx.navigateTo({ + url: `/pages/user/edit/index`, + }); }, /** @@ -34,6 +70,13 @@ Page({ */ onShow() { this.getTabBar().init(); + const tmp = getUserInfo() + this.setData({ + userinfo: { + ...tmp + }, + avatarImage: tmp.avatar + }) }, /** diff --git a/pages/user/index.json b/pages/user/index.json index 248787f..77ed03b 100644 --- a/pages/user/index.json +++ b/pages/user/index.json @@ -1,6 +1,12 @@ { + "navigationBarTitleText": "个人中心", + "onReachBottomDistance": 10, + "backgroundTextStyle": "light", "usingComponents": { "t-image": "/components/webp-image/index", + "t-grid": "tdesign-miniprogram/grid/grid", + "t-grid-item": "tdesign-miniprogram/grid/grid-item", + "t-icon": "tdesign-miniprogram/icon/icon", "t-avatar": "tdesign-miniprogram/avatar/avatar" } } \ No newline at end of file diff --git a/pages/user/index.wxml b/pages/user/index.wxml index 7c77dd3..984e4d4 100644 --- a/pages/user/index.wxml +++ b/pages/user/index.wxml @@ -1,9 +1,20 @@ - - {{ loginStatus ? '微信用户' :'请登录'}} + + 请登录 + {{ userinfo.nickname == '' ? '微信用户' : userinfo.nickname }} + - \ No newline at end of file + + + + + + + + + \ No newline at end of file diff --git a/pages/user/index.wxss b/pages/user/index.wxss index 8be2647..e8820c5 100644 --- a/pages/user/index.wxss +++ b/pages/user/index.wxss @@ -26,6 +26,7 @@ .user-center-card__header__avatar { width: 96rpx; height: 96rpx; + margin-left: 15px; border-radius: 48rpx; overflow: hidden; } @@ -35,6 +36,35 @@ line-height: 48rpx; color: #333; font-weight: bold; - margin-left: 24rpx; + margin-left: 32rpx; margin-right: 16rpx; -} \ No newline at end of file +} + +.block { + display: block; + margin-bottom: 32rpx; +} + +.grid-view { + position: fixed; + width: 100%; + top: 320rpx; + /* padding: 20px; */ + padding-top: 10px; +} + +.grid-box { + --tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + /* border-style: solid; + border-width: 2px; + border-color: rgba(230, 230, 230, 0.719); */ + margin: 20px; + padding: 10px; + padding-bottom: 5px; + border-radius: 0.75rem; + background-color: #ffffff; + font-weight: 600; +} + +.grid-item {} \ No newline at end of file diff --git a/pages/user/session-list/index.js b/pages/user/session-list/index.js new file mode 100644 index 0000000..f45c150 --- /dev/null +++ b/pages/user/session-list/index.js @@ -0,0 +1,120 @@ +// pages/user/session-list/index.js + +import { + sessionList +} from '../../../services/api/session'; + +Page({ + + /** + * 页面的初始数据 + */ + data: { + sessionDataList: [], + page: { + num: 1, + size: 20, + total: 0 + } + }, + + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + this.getSessionList(); + }, + + getSessionList(append) { + const params = { + pageNumber: this.data.page.num, + pageSize: this.data.page.size + } + if (append) { + sessionList(params).then(respose => { + this.setData({ + sessionDataList: this.data.sessionDataList.concat(respose.content.contentList), + "page.total": respose.content.total + }) + }) + } else { + sessionList(params).then(respose => { + this.setData({ + sessionDataList: respose.content.contentList, + "page.total": respose.content.total + }) + }) + } + }, + + onGoSession(e) { + console.log(e); + const session = e.currentTarget.dataset.session; + this.goSession(session); + }, + + goSession(sessionId) { + wx.navigateTo({ + url: `/pages/home/session/session?sessionId=${sessionId}`, + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + console.log(this.data.sessionDataList.length); + if (this.data.sessionDataList.length >= this.data.page.total) { + return + } + const num = this.data.page.num; + this.setData({ + "page.num": num + 1 + }) + this.getSessionList(true); + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/user/session-list/index.json b/pages/user/session-list/index.json new file mode 100644 index 0000000..b7c90f2 --- /dev/null +++ b/pages/user/session-list/index.json @@ -0,0 +1,9 @@ +{ + "navigationBarTitleText": "查询记录", + "onReachBottomDistance": 10, + "backgroundTextStyle": "light", + "usingComponents": { + "t-icon": "tdesign-miniprogram/icon/icon", + "t-avatar": "tdesign-miniprogram/avatar/avatar" + } +} \ No newline at end of file diff --git a/pages/user/session-list/index.wxml b/pages/user/session-list/index.wxml new file mode 100644 index 0000000..5a9136d --- /dev/null +++ b/pages/user/session-list/index.wxml @@ -0,0 +1,20 @@ + + + 查询记录 + 您已通过该软件查询物品{{page.total}}次 + + + + + + {{item.createTime}} + {{item.additive}} + + + + + {{item.rate}} + + + + \ No newline at end of file diff --git a/pages/user/session-list/index.wxss b/pages/user/session-list/index.wxss new file mode 100644 index 0000000..5792a84 --- /dev/null +++ b/pages/user/session-list/index.wxss @@ -0,0 +1,62 @@ +/* pages/user/session-list/index.wxss */ + +.main { + padding: 20px; +} + +.top-title { + font-size: 1.5rem; + line-height: 2rem; + font-weight: 600; +} + +.top-content { + color: rgb(150, 150, 150); + margin-left: 10px; + margin-top: 5px; +} + +.history-item { + --tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + border-style: solid; + border-width: 2px; + border-color: rgba(230, 230, 230, 0.719); + margin: 5px; + margin-top: 10px; + padding: 10px; + padding-top: 15px; + padding-bottom: 20px; + border-radius: 0.75rem; + display: flex; + justify-content: space-between; +} + +.history-left { + width: 100%; + padding-right: 5px; +} + +.history-avatar { + margin-right: 10px; +} + +.history-title { + font-weight: 600; + margin-bottom: 5px; +} + +.history-text { + color: rgb(150, 150, 150); + font-size: 0.875rem; + line-height: 1.25rem; + white-space: nowrap; + overflow: hidden; +} + +.history-right { + display: flex; + flex-direction: column; + align-items: center; + color: rgb(255, 191, 52); +} \ No newline at end of file diff --git a/pages/usercenter/index.wxml b/pages/usercenter/index.wxml index 0955e31..9c6e5cf 100644 --- a/pages/usercenter/index.wxml +++ b/pages/usercenter/index.wxml @@ -1,29 +1,15 @@ - - + + + + + + + + 当前版本 {{versionNo}} diff --git a/services/api/request.js b/services/api/request.js index 46b945b..a5b0277 100644 --- a/services/api/request.js +++ b/services/api/request.js @@ -11,6 +11,13 @@ export function request({ method }) { return new Promise((resolve, reject) => { + if (getToken() == '' && path != '/wx/login') { + wx.showToast({ + title: '请登录后再次尝试。', + icon: 'error', + duration: 3000 + }) + } wx.request({ url: baseURL + path, //仅为示例,并非真实的接口地址 data: params, diff --git a/services/api/session.js b/services/api/session.js index cad48ff..adae139 100644 --- a/services/api/session.js +++ b/services/api/session.js @@ -20,20 +20,19 @@ export function sessionUpload({ }) }) } else { - for (let index = 0; index < urls.length; index++) { - const element = urls[index]; + return new Promise((resolve, reject) => { uploadFile({ path: '/ocr/upload', - url: element.tempFilePath, + url: urls[0].tempFilePath, data: { sessionId: session } }).then(res => { console.log(res); const tmp = JSON.parse(res) - reject(tmp) + resolve(tmp) }) - } + }) } } @@ -67,4 +66,12 @@ export function sessionAdditiveChemical(params) { params: params, method: 'GET' }); +} + +export function sessionList(params) { + return request({ + path: '/session/list', + params: params, + method: 'GET' + }); } \ No newline at end of file diff --git a/services/api/user.js b/services/api/user.js new file mode 100644 index 0000000..7b28e1a --- /dev/null +++ b/services/api/user.js @@ -0,0 +1,28 @@ +import { + request, + uploadFile +} from './request' + +export function userInfoQuery(params) { + return request({ + path: '/wx/userinfo', + params: params, + method: 'GET' + }); +} + +export function userInfoUpdate(params) { + return new Promise((resolve, reject) => { + uploadFile({ + path: '/wx/userinfo', + url: params.avatar, + data: { + nickname: params.nickname + } + }).then(res => { + console.log(res); + const tmp = JSON.parse(res) + resolve(tmp) + }) + }) +} \ No newline at end of file diff --git a/services/permission/login.js b/services/permission/login.js index fc573ee..4296289 100644 --- a/services/permission/login.js +++ b/services/permission/login.js @@ -1,10 +1,14 @@ import { wxLogin } from '../api/permission' +import { + setUserInfo +} from './user' var token = '' export function isLogin() { + // console.log(token); if (token == '') { return new Promise((resolve, reject) => { wx.login({ @@ -14,7 +18,8 @@ export function isLogin() { wxLogin({ code: res.code }).then(respose => { - token = respose.content.token + token = respose.content.token; + setUserInfo(respose.content); resolve(true); }) } else { diff --git a/services/permission/user.js b/services/permission/user.js new file mode 100644 index 0000000..f7e21b8 --- /dev/null +++ b/services/permission/user.js @@ -0,0 +1,41 @@ +import { + userInfoQuery, + userInfoUpdate +} from '../api/user' + +const userInfo = { + nickname: "", + avatar: "" +} + +export function setUserInfo(info) { + userInfo.avatar = info.avatar; + userInfo.nickname = info.nickname; +} + +export function getUserInfo() { + if (userInfo.avatar == '' || userInfo.nickname == '') { + userInfoQuery().then(respose => { + if (respose.code == 10000) { + userInfo.avatar = respose.content.avatar; + userInfo.nickname = respose.content.nickname; + } + }) + } + const tmp = { + ...userInfo + }; + return tmp; +} + +export function updateUserInfo(info) { + return new Promise((resolve, reject) => { + userInfoUpdate(info).then(respose => { + if (respose.code == 10000) { + userInfo.avatar = info.avatar; + userInfo.nickname = info.nickname; + resolve(info) + } + }) + }) +} \ No newline at end of file