From 3b5525a2a21e4aafcd9b7183cebb80d65592eb47 Mon Sep 17 00:00:00 2001 From: qiaomu <3520484422@qq.com> Date: Tue, 26 Mar 2024 17:38:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=A6=96=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.js | 1 + app.json | 4 +- app.wxss | 6 +- assets/images/defaultAvatar.png | Bin 0 -> 6465 bytes components/customStatusBar/index.js | 31 ++++++ components/customStatusBar/index.json | 4 + components/customStatusBar/index.wxml | 2 + components/customStatusBar/index.wxss | 1 + pages/apply/index.js | 8 +- pages/handleLogin/index.js | 8 +- pages/home/index.json | 8 +- pages/home/index.wxml | 62 ++++++++++- pages/home/index.wxss | 98 +++++++++++++++++- pages/member/components/memberManage/index.js | 18 ++-- pages/member/index.wxml | 10 +- pages/qrCode/index.js | 8 +- service/user.js | 2 +- utils/request.js | 10 +- 18 files changed, 247 insertions(+), 34 deletions(-) create mode 100644 assets/images/defaultAvatar.png create mode 100644 components/customStatusBar/index.js create mode 100644 components/customStatusBar/index.json create mode 100644 components/customStatusBar/index.wxml create mode 100644 components/customStatusBar/index.wxss diff --git a/app.js b/app.js index 4d26e1f..0ed5e50 100644 --- a/app.js +++ b/app.js @@ -8,6 +8,7 @@ App({ onLaunch() { const { api } = getConfigByEnv(); this.globalData = { ...this.globalData, api, } + }, globalData: { primaryColor: '#52c41a' diff --git a/app.json b/app.json index 28d7ac0..e20a7d1 100644 --- a/app.json +++ b/app.json @@ -1,15 +1,15 @@ { "pages": [ "pages/login/index", + "pages/home/index", + "pages/handleLogin/index", "pages/apply/index", "pages/qrCode/index", "pages/waitApprove/index", - "pages/home/index", "pages/rechargeRecord/index", "pages/invoiceList/index", "pages/meterList/index", "pages/recharge/index", - "pages/handleLogin/index", "pages/member/index", "pages/my/index", "pages/questions/index", diff --git a/app.wxss b/app.wxss index 3250829..479ec0d 100644 --- a/app.wxss +++ b/app.wxss @@ -17,6 +17,9 @@ page { page { font-size: 36rpx; + --deep-green: #15755e; + --middle-green: rgb(75, 151, 131); + --light-green: rgb(174,218,203); /* background-color: #f0f0f0; */ } @@ -26,4 +29,5 @@ page { .dangerTextBtn { color: #ee0a24; -} \ No newline at end of file +} + diff --git a/assets/images/defaultAvatar.png b/assets/images/defaultAvatar.png new file mode 100644 index 0000000000000000000000000000000000000000..dfcd4e5bbfd3668b1b0d76a0f84ef46e3cfd1673 GIT binary patch literal 6465 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 + \ No newline at end of file diff --git a/components/customStatusBar/index.wxss b/components/customStatusBar/index.wxss new file mode 100644 index 0000000..9ede41e --- /dev/null +++ b/components/customStatusBar/index.wxss @@ -0,0 +1 @@ +/* components/customStatusBar/index.wxss */ \ No newline at end of file diff --git a/pages/apply/index.js b/pages/apply/index.js index a8e3abf..786b80c 100644 --- a/pages/apply/index.js +++ b/pages/apply/index.js @@ -17,7 +17,8 @@ Page({ * 生命周期函数--监听页面加载 */ onLoad(options) { - const { id, name } = options; + const querys = decodeURIComponent(options.scene) + const { id, name } = querys; this.setData({ id, name }) }, exit() { @@ -25,12 +26,15 @@ Page({ }, async join() { const { id } = this.data; - const { code, message } = await userApply({ id }) + const { code, message, data } = await userApply({ id }) if (code !== OK) { alertInfo(message) return; } alertSuccess("加入成功") + const { token, ...currentUser } = data; + wx.setStorageSync('user', currentUser) + wx.setStorageSync('token', token) setTimeout(() => { wx.switchTab({ url: '/pages/home/index', diff --git a/pages/handleLogin/index.js b/pages/handleLogin/index.js index 9c6d8dd..59281a0 100644 --- a/pages/handleLogin/index.js +++ b/pages/handleLogin/index.js @@ -68,10 +68,10 @@ Page({ loadingFunc(async () => { const wxLoginCode = await wxLogin() const { code, message, data } = await userValidate({ park, tenement, phone, name, code: wxLoginCode }) - // if (code !== OK) { - // alertInfo(message) - // return - // } + if (code !== OK) { + alertInfo(message) + return + } const { exist, user } = data; if (!exist) { alertInfo("绑定失败,请检查信息") diff --git a/pages/home/index.json b/pages/home/index.json index 8835af0..aa90e37 100644 --- a/pages/home/index.json +++ b/pages/home/index.json @@ -1,3 +1,9 @@ { - "usingComponents": {} + "usingComponents": { + "custom-status-bar": "/components/customStatusBar/index", + "van-icon": "@vant/weapp/icon/index", + "van-button": "@vant/weapp/button/index", + "van-image": "@vant/weapp/image/index" + }, + "navigationStyle": "custom" } \ No newline at end of file diff --git a/pages/home/index.wxml b/pages/home/index.wxml index f6831f9..29c22ca 100644 --- a/pages/home/index.wxml +++ b/pages/home/index.wxml @@ -1,2 +1,62 @@ -首页 \ No newline at end of file + + + + 用电管理服务 · + + + 金石工业园 + + + + + + + + + + + 华昌宝能 - 软c307 + + + + 切换电表 + + + + + 电表编号: + 15151515 + + + 电表地址: + 软C307 + + + 电表余额: + + 200 + + + 刷新 + + + + + + + 请输入金额: + + ¥30 + ¥50 + ¥100 + ¥200 + + + + 去缴费 + + \ No newline at end of file diff --git a/pages/home/index.wxss b/pages/home/index.wxss index b5afb04..e28db9a 100644 --- a/pages/home/index.wxss +++ b/pages/home/index.wxss @@ -1 +1,97 @@ -/* pages/home/index.wxss */ \ No newline at end of file +/* pages/home/index.wxss */ +@import "/app.wxss"; + +.top { + background-color: var(--deep-green); +} + +.chooseParkWrapper { + height: 46px; + display: flex; + align-items: center; + padding: 0 32rpx; + color: #fff; + font-size: 34rpx; +} + +.park { + margin-left: 30rpx; +} + +.parkContent { + display: flex; + align-items: center; +} + +.notLoginWrapper { + padding: 30rpx 32rpx; + background-color: var(--middle-green); + display: flex; + align-items: center; +} + +.loginBtn { + margin-left: 30rpx; +} + +.rechargeWrapper { + background: linear-gradient(to bottom, var(--middle-green), #fff ); + overflow: hidden; +} + +.card { + margin-top: 1vh; + margin-left: 46rpx; + margin-right: 46rpx; + border-radius: 30rpx; + padding: 28rpx 30rpx; + /* background-color: rgb(173, 217, 203); */ + background: linear-gradient(to bottom right, rgb(212, 240, 231), rgb(145, 206, 185)); +} + +.cardTop { + display: flex; + align-items: center; +} + +.cardTopLeft { + display: flex; + align-items: center; + flex: 1; +} + +.cardContent { + margin: 30rpx 20rpx 0; +} + +.cardItem { + display: flex; + align-items: center; + margin-bottom: 30rpx; + font-size: 34rpx; +} + +.cardItemValue { + display: flex; + flex: 1; + align-items: center; +} + +.cardItemValue .text { + flex: 1; +} + +.recharge { + background: #fff; + padding: 20rpx 30rpx; + margin-top: 30rpx; + margin-left: 46rpx; + margin-right: 46rpx; + margin-bottom: 40rpx; + border-radius: 30rpx; +} + +.operate { + margin-left: 46rpx; + margin-right: 46rpx; +} diff --git a/pages/member/components/memberManage/index.js b/pages/member/components/memberManage/index.js index abbb82e..d199453 100644 --- a/pages/member/components/memberManage/index.js +++ b/pages/member/components/memberManage/index.js @@ -1,4 +1,4 @@ -import { approveUser, getApproveList } from "../../../../service/user" +import { approveUser, getApproveList, removeUser } from "../../../../service/user" import { alertInfo, alertSuccess, wxModal } from "../../../../utils/index"; import request from "../../../../utils/request" @@ -46,18 +46,22 @@ Component({ return; } alertSuccess("转交成功") - wx.clearStorageSync() - wx.exitMiniProgram() + const newUser = wx.getStorageSync('user') + newUser.isAdmin = false; + wx.setStorageSync('user', newUser) + wx.redirectTo({ + url: '/pages/home/index', + }) }, - async disAgree(e) { + async remove(e) { const { user } = e.currentTarget.dataset; - await wxModal({ content: `拒绝${user.nickName}的申请?` }) - const { code, message } = await approveUser({ userId: user.id, type: 0 }) + await wxModal({ content: `将移除${user.nickName}?` }) + const { code, message } = await removeUser(user.id) if (code !== OK) { alertInfo(message) return; } - alertSuccess("已拒绝") + alertSuccess("已移除") this.init() } } diff --git a/pages/member/index.wxml b/pages/member/index.wxml index 45d4281..f71dcf2 100644 --- a/pages/member/index.wxml +++ b/pages/member/index.wxml @@ -1,9 +1,9 @@ - - + + - - \ No newline at end of file + + \ No newline at end of file diff --git a/pages/qrCode/index.js b/pages/qrCode/index.js index a0c84b1..d5bafad 100644 --- a/pages/qrCode/index.js +++ b/pages/qrCode/index.js @@ -20,13 +20,9 @@ Page({ this.getCode() }, async getCode() { - const { code, message, data } = await getWxCode() - if (code !== OK) { - alertInfo(message) - return - } + const data = await getWxCode() this.setData({ - url: data + url: wx.arrayBufferToBase64(data) }) }, /** diff --git a/service/user.js b/service/user.js index 4c605ed..d929995 100644 --- a/service/user.js +++ b/service/user.js @@ -27,7 +27,7 @@ export const approveUser = async function(data) { } // 移除用户 -export const removeUser = async function(data) { +export const removeUser = async function(uid) { return await DELETE(`/wx/removeUser/${uid}`); } diff --git a/utils/request.js b/utils/request.js index 26a4b4b..7802d9d 100644 --- a/utils/request.js +++ b/utils/request.js @@ -18,7 +18,7 @@ const ok = 200; const requestWithoutCookie = promisify(wx.request); // 考虑了Cookie的请求 -const request = async function (options) { +const request = async function (options, config = {}) { let token = wx.getStorageSync('token'); const result = wx.getAccountInfoSync(); const { envVersion } = result.miniProgram; @@ -26,8 +26,10 @@ const request = async function (options) { Accept: 'application/json', 'content-type': 'application/json; charset=utf-8', "Authorization": token, - "env": envVersion + "env": "trial", + ...config }; + console.log('config', config) let response; try { response = await requestWithoutCookie(options); @@ -83,7 +85,7 @@ const parseResponse = function (response) { alertError("服务异常") return } - const { code: statusCode } = response.data; + const { code: statusCode } = response; if (statusCode === 401) { wx.redirectTo({ url: '/pages/login/index', @@ -108,6 +110,8 @@ const GET = async function (uri) { const response = await request({ url: `${SERVER}${uri}`, method: 'GET' + }, { + "content-type": "image/png" }); return parseResponse(response);