From df355a880b941aad14fde55bb884313dd8bb065d Mon Sep 17 00:00:00 2001 From: qianlile Date: Mon, 30 Aug 2021 19:26:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=84=8F=E8=A7=81=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wechat/app.json | 8 +- wechat/icons/acc.png | Bin 0 -> 11296 bytes wechat/icons/add_1.png | Bin 2608 -> 2115 bytes wechat/icons/delete.png | Bin 0 -> 2407 bytes wechat/icons/light.png | Bin 0 -> 58272 bytes wechat/icons/phone.png | Bin 0 -> 3661 bytes wechat/icons/suggest.png | Bin 0 -> 5551 bytes wechat/icons/yes.png | Bin 0 -> 6434 bytes wechat/pages/4Gswitch/index.js | 15 +- wechat/pages/add/add.js | 9 +- wechat/pages/addWiFi/index.js | 279 ++++++++++++++++++++++++++++ wechat/pages/addWiFi/index.json | 7 + wechat/pages/addWiFi/index.wxml | 70 +++++++ wechat/pages/addWiFi/index.wxss | 52 ++++++ wechat/pages/feedBack/feedBack.js | 115 ++++++++++++ wechat/pages/feedBack/feedBack.json | 3 + wechat/pages/feedBack/feedBack.wxml | 59 ++++++ wechat/pages/feedBack/feedBack.wxss | 138 ++++++++++++++ wechat/pages/my/my.wxml | 3 + wechat/project.private.config.json | 5 + 20 files changed, 751 insertions(+), 12 deletions(-) create mode 100644 wechat/icons/acc.png create mode 100644 wechat/icons/delete.png create mode 100644 wechat/icons/light.png create mode 100644 wechat/icons/phone.png create mode 100644 wechat/icons/suggest.png create mode 100644 wechat/icons/yes.png create mode 100644 wechat/pages/addWiFi/index.js create mode 100644 wechat/pages/addWiFi/index.json create mode 100644 wechat/pages/addWiFi/index.wxml create mode 100644 wechat/pages/addWiFi/index.wxss create mode 100644 wechat/pages/feedBack/feedBack.js create mode 100644 wechat/pages/feedBack/feedBack.json create mode 100644 wechat/pages/feedBack/feedBack.wxml create mode 100644 wechat/pages/feedBack/feedBack.wxss diff --git a/wechat/app.json b/wechat/app.json index 59bf4665..14131674 100644 --- a/wechat/app.json +++ b/wechat/app.json @@ -5,7 +5,9 @@ "pages/my/my", "pages/add4G/index", "pages/4Gswitch/index", - "pages/deviceDetail/index" + "pages/addWiFi/index", + "pages/deviceDetail/index", + "pages/feedBack/feedBack" ], "window": { "backgroundColor": "#F6F6F6", @@ -52,6 +54,8 @@ "van-tag": "@vant/weapp/tag/index", "van-button": "@vant/weapp/button/index", "van-cell": "@vant/weapp/cell/index", - "van-cell-group": "@vant/weapp/cell-group/index" + "van-cell-group": "@vant/weapp/cell-group/index", + "van-radio": "@vant/weapp/radio/index", + "van-radio-group": "@vant/weapp/radio-group/index" } } \ No newline at end of file diff --git a/wechat/icons/acc.png b/wechat/icons/acc.png new file mode 100644 index 0000000000000000000000000000000000000000..7d167e0a98068f3e67078b0db325c25c0a958e66 GIT binary patch literal 11296 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 F{RXiF_=W%g diff --git a/wechat/icons/delete.png b/wechat/icons/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..51671090cb8bc6acd2fef00440b57f603b454929 GIT binary patch literal 2407 zcmeHJX;V`P7ERzm1!yn{i!4zdFF~c*44@<|4G$BND1u<3p@kqV1}T?@0HPocJVBN~ zCS=0e(4vjBh7k}^_N5HVV-XarVbu{?6bC_3ltpFYm-z+rZRW$hx9ZeAb*t{FTjypR z@@462n`&b)7+nsV5umE*_rPhY@*RHV@2Y~04q$mt$$hXHdh2;P=>NDPkR z(<=0)Jd*9(p=8n&o>*mn+@W6Gh&_=$7@@^yz(}yJoHGaInMJ1h)vZ6z{mm&QoRjN^TNRVEjSS8iou#;1@M{4 zTl-az40u$qR}J^ev^S5ahLcfFb=49)@n+5n8QxP$fgQ`UG014We{Ko}p=cFR&jR?4 zu51Mbz*9Jnvm(ez;NEjwON%6sg9v@hu)y7@KYrB00vw{#iE$j5o^8hC;6S#l)MVHj z^S?9_%mr`C^$88TppXo730gkF+vLdZNAw5uhPw(w#HhKeaLMP9rpw9M4>%`AuedwMTS6X+H+^$yqpO-z8df(a^>dnDMP9z4aCRQJQ8AGp zuw9I1N9)D<@s{FZBVQ>~jLPI9m@(J7?LxU?q-0HRtWv(rWwc(qxT?=f^!PA7Whb^n z?IBSknEO#?BR}D_5yWdd)_&pE0i|}p{sszEr5jO}+W~f)JnvJiceOWe$WX**>Dr&4 zpX6POk#SM#`IJHt(p3`u$&Sj+7B78wl7fqL*iK zk+58VenwPgK>3Y=hUSy+fPoZP;zAG5AqEp?Zsn6(Kz~bE&zz1A>!uEQF^f8Xee||u zC^0h@$4lwV+I-B$Cj^9(7uIYH3=`{08`?Yb5-q*z(k&0Kizb9N-AX%XjeCDBi3 zY&cL@YW9r?6qxy1)FuPi$h)!g#<{4$RQ^MO1iX4` zBxrQc(n(K3D*$H^s_xdGo>bB<7dZg8(;H{i>K1~jqQ(H=c2;vIRQEcNE*uvDQR&a4 zug7&4ZgiiPl>F5B`3Suuu2ut~5zfmyrWxoIOr0M2MvI!5DA(smmDDf+ObYeAvo{Z* z7k^;j!%NNfBP87#hE(&AvlO74&ZdLe?UlQqf-P97r8@GV?{ zK&(ieBRz3*5+7#yc))xULiaaVpxUJ+vou$#?C;WTh||?cwjL#-cp@+Xh`=@8C9#Kg zy8;nE#97j%Wl@r5#0k?}qXNNw0@xIO_PtlWvkH_Pcg|DiknYVGc9;lviolHM%4URy ziIq=}Ez-W^A4>~z`x#_gGX3b>mGzinBX{d=pJNix@JU_JOkRt%x9`zRunQgGzu2=F zO7b{pf*9WrL`RJ@=VO_xL?F=ky^&5+r~B4lv=Znl5zhB9|09CXdt8Zpio9A_|1jt( z=y+oxf|}sc_d|>_1OZ<$MyI_#T_~SANZXA;NSp_+m8J#dW57piCi2N6NnG< zL&&zz+2Py#jes@EeZtmr9gcs6bdXE(r>J=E@>oKi27G>=!LPj z@i1h^?I^r7a`|%IQ-mQXL+?EbSz5Oq)|Q1PJM{Cb+TZJ0Y4p_63WaAa4!FP$c0OH& zEnyr>_8havEg{<`0tkgy9~g*tSpl$QO9fVZvM6P1nS7bgIA^1*`TS=0U#h$OWjht| z!^vmsY`t_;H*X7VA-zt^na)c6gA&JGxvoBKcPzzF#Ys*7GVkeLOwy&S1@JaS$Daj@ zQRI>}G-#cXma7bu9p-(#FN@8e&C$4>m|!T-V{sm~KFYK~KkCl=Ww+%Gp;MHeSf2Za zFrK{pQy-)wf}me@M~8c+z#b+qG5q+mL=GR`v3yhhPsU6yVldR}Z_#7T`zpjvU$@J) zLwSUYRL7i;B4f*ja)o`k!}i6R$H;aIm>R zT0+^%n8`^mUc7GpNxxwHpzCsJ?E31LJVk3&3u|e`3Rru6M`=lDuz`m6bvQ%IE^pNB zsyZj!BTEVnE|jMw>)*==&b-D&%Gh#?U@b7++P8?QvbZP2liQD~;a+C`P54CRX0?pM z?pzE~|FSI5NexG|^`DEfOad!u5k@MnWE_xR4EjIyzqqDNwY@LgKKc5YHmW`+42S8< JsPsCH{2POc|Dyl^ literal 0 HcmV?d00001 diff --git a/wechat/icons/light.png b/wechat/icons/light.png new file mode 100644 index 0000000000000000000000000000000000000000..32710d0b09fde9eac623db5084dadab7a5517e3a GIT binary patch literal 58272 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 J+3ynl{{Wfch-d%+ literal 0 HcmV?d00001 diff --git a/wechat/icons/phone.png b/wechat/icons/phone.png new file mode 100644 index 0000000000000000000000000000000000000000..bc9eee9907bbd7d30f37bbefad98f3472234f67c GIT binary patch literal 3661 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 Up?gOI{-*~4T3ruSr)r1$4^>v`wg3PC literal 0 HcmV?d00001 diff --git a/wechat/pages/4Gswitch/index.js b/wechat/pages/4Gswitch/index.js index d41d04e9..2beb1418 100644 --- a/wechat/pages/4Gswitch/index.js +++ b/wechat/pages/4Gswitch/index.js @@ -17,13 +17,10 @@ Page({ */ onLoad: function (options) { this.setNavigate(); - try { + if (getCurrentPages().length > 1) { this.getLastPageData(); - } catch (error) { - console.log(error); } this.isShared(options); - }, checkLogin(){ @@ -85,7 +82,7 @@ Page({ getLastPageData(){ const eventChannel = this.getOpenerEventChannel(); const that = this; - eventChannel.on('getDeviceInfo',async (data)=>{ + eventChannel.on('getDeviceInfo',(data)=>{ that.setData({ deviceId:data }) @@ -95,6 +92,7 @@ Page({ async getDeviceDetail(){ let deviceId = this.data.deviceId; + console.log(deviceId); const res = await request(`system/device/getDeviceInfoByDeviceId?deviceId=${deviceId}`,'get'); console.log(res); if (res.code === 200) { @@ -166,7 +164,10 @@ Page({ * 生命周期函数--监听页面显示 */ onShow: function () { - this.getDeviceDetail(); + setTimeout(()=>{ + this.getDeviceDetail(); + },0) + }, /** @@ -183,7 +184,7 @@ Page({ return { title:"我分享了一个设备。", path:`/pages/4Gswitch/index?deviceInfo=${JSON.stringify(e.target.dataset.info)}&&isShare=1`, - imageUrl:'/icons/smart.jpg' + imageUrl:'/icons/light.png' } } }) \ No newline at end of file diff --git a/wechat/pages/add/add.js b/wechat/pages/add/add.js index 1c756c8c..e6cc8b41 100644 --- a/wechat/pages/add/add.js +++ b/wechat/pages/add/add.js @@ -20,9 +20,12 @@ Page({ }) }, addWifi(){ - wx.showToast({ - title: '暂不支持', - icon:'error' + // wx.showToast({ + // title: '暂不支持', + // icon:'error' + // }) + wx.navigateTo({ + url: '/pages/addWiFi/index', }) }, }) \ No newline at end of file diff --git a/wechat/pages/addWiFi/index.js b/wechat/pages/addWiFi/index.js new file mode 100644 index 00000000..bf18245b --- /dev/null +++ b/wechat/pages/addWiFi/index.js @@ -0,0 +1,279 @@ +const alreadyConnected = 'target wifi is already connected.'; + +Page({ + data: { + pwdHide:true, + ssid: '', + password: '', + deviceSSID:'Shgf', + devicePWD:'12345678', + // deviceSSID:'XiaoYi_IOT_AirBox', + // devicePWD:'asdqwe9867', + udp: '', + port: 0, + showClearBtn: false, + isFirst: true, + stepsTop: [ + { text: '步骤一',desc: '连接WiFi', }, + { text: '步骤二',desc: '连接软热点', }, + { text: '步骤三',desc: '开始配网', } + ], + steps: [ + { text: '手机与设备通信成功',success:false }, + { text: '设备配网成功',success:false }, + { text: '切换回家庭WiFi',success:false } + ], + activeTop:0, + active:-1 + }, + onLoad(opt) { + let that = this; + try { + let udp = this.data.udp; + udp.offListening(); + udp.offMessage(); + udp.offClose(); + udp.close(); + } catch (error) { + console.log(error); + } + wx.startWifi({ + success(res) { + console.log(res.errMsg, 'wifi初始化成功') + that.getWifiInfo(); + }, + fail: function (res) { + wx.showToast({ + title: '请连接路由器!', + duration: 2000, + icon: 'none' + }) + } + }) + }, + getWifiInfo() { + let that = this + wx.getConnectedWifi({ + success(res) { + console.log("getConnectedWifi ok:", JSON.stringify(res)) + if ('getConnectedWifi:ok' === res.errMsg) { + that.setData({ + ssid: res.wifi.SSID, + bssid: res.wifi.BSSID + }) + } else { + wx.showToast({ + title: '请连接路由器', + duration: 2000, + icon: 'none' + }) + } + }, + fail(res) { + wx.showToast({ + title: '请连接路由器', + duration: 2000, + icon: 'none' + }) + } + }) + }, + onConfirm() { + const that = this; + console.log("ssid:", this.data.ssid, ",password:", this.data.password,',port:',this.data.port); + that.udpConnect(); + if ((this.data.ssid.trim() === '') || (this.data.password.trim() === '')) { + wx.showToast({ + title: '请输入完整', + icon:'error' + }); + return; + } + that.setData({ activeTop:++that.data.activeTop }); + // that.udpConnect(); + }, + + udpConnect(){ + const udp = wx.createUDPSocket(); + udp.onListening(res => { + console.log('正在监听...'); + }) + const password = this.data.password; + const ssid = this.data.ssid; + + let message = JSON.stringify({ + port, + password, + ssid + }); + let port = udp.bind(50314); + console.log(udp,udp.onListening,udp.send); + console.log('port',port); + // setInterval(() => { + // udp.send({ + // address:'255.255.255.255', + // port:8081, + // message + // }); + // }, 2000); + console.log(message); + udp.onMessage((res) => { + console.log('res:',res) + //字符串转换,很重要 + let unit8Arr = new Uint8Array(res.message); + let encodedString = String.fromCharCode.apply(null, unit8Arr); + let dat = decodeURIComponent(escape((encodedString))); + console.log("data:", dat); + let str = JSON.parse(dat); + console.log(str); + switch (str.code) { + //成功收到信息 + case 0: + udp.send({ + address:'255.255.255.255', + port:8081, + message + }); + let steps = this.data.steps; + steps[0].success = true; + this.setData({ steps }); + break; + //成功解析到信息 + case 1: + udp.send({ + address:'255.255.255.255', + port:8081, + message:'I GOT YOU' + }); + steps = this.data.steps; + steps[1].success = true; + this.setData({ steps }); + udp.offListening(); + udp.offMessage(); + udp.offClose(); + udp.close(); + wx.connectWifi({ + SSID: ssid, + password: password, + success:()=>{ + wx.onWifiConnected((result) => { + let steps = this.data.steps; + steps[2].success = true; + this.setData({ steps }); + wx.hideLoading() + const newUdp = wx.createUDPSocket(); + const newPort = newUdp.bind(50314); + newUdp.onListening(res => { + console.log('再次监听中。。。'); + }); + newUdp.onMessage(re => { + let _unit8Arr = new Uint8Array(re.message); + let _encodedString = String.fromCharCode.apply(null, _unit8Arr); + let _dat = decodeURIComponent(escape((_encodedString))); + console.log("data:", _dat); + newUdp.send({ + address:'255.255.255.255', + port:8081, + message:'BIND SUCCESS !' + }); + newUdp.offListening(); + newUdp.offMessage(); + newUdp.offClose(); + newUdp.close(); + }) + }); + wx.showToast({ + title: '准备连接路由器', + }) + } + }); + break; + //成功连接到路由器 + // case 2: + // wx.showToast({ + // title: '成功连接', + // }) + // break; + // //连接失败路由器 + // case 3: + // wx.showToast({ + // title: '连接失败', + // }) + // break; + } + }) + }, + + lookPwd(){ + let pwdHide = !this.data.pwdHide; + this.setData({ pwdHide }); + }, + inputPwd(e){ + this.setData({ password:e.detail.value }) + }, + inputDevicePWD(e){ + this.setData({ devicePWD:e.detail.value }) + }, + inputAcc(e){ + this.setData({ ssid:e.detail.value }) + }, + inputDeviceSSID(e){ + this.setData({ deviceSSID:e.detail.value }) + }, + + onConnect(){ + const that = this; + wx.showLoading({ + title: '连接中', + mask:true + }) + console.log("ssid:", this.data.deviceSSID, ",password:", this.data.devicePWD); + wx.connectWifi({ + SSID: this.data.deviceSSID, + password: this.data.devicePWD, + }).then((res)=>{ + console.log(res); + // if (res.wifiMsg===alreadyConnected) { + // wx.hideLoading(); + // that.udpConnect(); + // }else{ + // wx.onWifiConnected((result) => { + // wx.hideLoading(); + // // that.setData({ active:++that.data.active }); + // that.udpConnect(); + // }) + // } + }).catch((err)=>{ + wx.hideLoading(); + wx.showToast({ + title: '连接失败', + icon:'error' + }) + console.error(err); + }); + wx.onWifiConnected((result) => { + wx.hideLoading(); + that.setData({ activeTop:++that.data.activeTop }); + that.udpConnect(); + }) + }, + + closeUDP(){ + this.data.udp.close(); + }, + + onUnload(){ + try { + let udp = this.data.udp; + udp.offListening(); + udp.offMessage(); + udp.offClose(); + udp.close(); + } catch (error) { + // console.error(error); + } + }, + onShow(){ + this.getWifiInfo(); + } +}); \ No newline at end of file diff --git a/wechat/pages/addWiFi/index.json b/wechat/pages/addWiFi/index.json new file mode 100644 index 00000000..6b35d201 --- /dev/null +++ b/wechat/pages/addWiFi/index.json @@ -0,0 +1,7 @@ +{ + "usingComponents": { + "van-steps": "@vant/weapp/steps/index", + "van-button": "@vant/weapp/button/index", + "van-loading": "@vant/weapp/loading/index" + } +} \ No newline at end of file diff --git a/wechat/pages/addWiFi/index.wxml b/wechat/pages/addWiFi/index.wxml new file mode 100644 index 00000000..ea257284 --- /dev/null +++ b/wechat/pages/addWiFi/index.wxml @@ -0,0 +1,70 @@ + + + + + 第一步,输入家庭WiFi信息 + 第二步,连接设备热点 + 第三步,重新连接家庭WiFi + +
+
+ + + + 输入家庭WiFi信息 + + + + + + 下一步 + + + + + + + + 连接设备热点 + + + + + + 连接 + + + + + + + + + + {{ item.text }} + + + + \ No newline at end of file diff --git a/wechat/pages/addWiFi/index.wxss b/wechat/pages/addWiFi/index.wxss new file mode 100644 index 00000000..2c68dd0e --- /dev/null +++ b/wechat/pages/addWiFi/index.wxss @@ -0,0 +1,52 @@ +/* pages/index/index.wxss */ +.form{ + width:80vw; + margin:0 auto; +} +.title{ + font-size:38rpx; +} +label{ + display:flex; + align-items:center; + padding:35rpx 0; + border-bottom:2rpx solid #bfbfbf; +} +.icon{ + width:40rpx; + height:40rpx; + display:flex; + align-items:center; + justify-content:center; +} +input{ + padding:15rpx 30rpx; + flex:1 +} +.btn{ + width:80%; + margin:30rpx auto; +} +.teach{ + display:flex; + flex-direction:column; + align-items:center; + margin:0 0 30rpx 0; +} +.step{ + margin:30rpx auto ; + width:50%; +} +.item{ + display:flex; + align-items:center; + margin:15rpx 0; +} +.item>image{ + width:48rpx; + height:48rpx; + border-radius:50%; +} +.desc{ + padding:0 15rpx; +} \ No newline at end of file diff --git a/wechat/pages/feedBack/feedBack.js b/wechat/pages/feedBack/feedBack.js new file mode 100644 index 00000000..dbe5c213 --- /dev/null +++ b/wechat/pages/feedBack/feedBack.js @@ -0,0 +1,115 @@ +// pages/feedBack/feedBack.js + +const { request } = require('../../API/request'); + +Page({ + + /** + * 页面的初始数据 + */ + data: { + selectData:[ + { id:1,text:'程序bug' }, + { id:2,text:'内容意见' }, + { id:3,text:'网络问题' }, + { id:4,text:'功能建议' }, + { id:5,text:'其他' } + ], + maxlength:200, + radio: 1, + value:'', + tempFilePaths:[], + phoneNum:'', + lengthErr:false + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + wx.setNavigationBarTitle({ + title: '意见反馈' + }); + wx.setNavigationBarColor({ + backgroundColor: '#58bcff', + frontColor: '#ffffff', + }) + }, + + checkOne(e){ + this.setData({ + radio:e.detail + }) + }, + + inputDetail(e){ + if (e.detail.value.trim().length >= 15) { + this.setData({ + lengthErr:false + }) + } + this.setData({ + value:e.detail.value + }) + }, + + chooseImage(){ + const that = this; + let tempFilePaths = this.data.tempFilePaths; + wx.chooseImage({ + count: 3, + sizeType: ['original', 'compressed'], + sourceType: ['album', 'camera'], + success: (result) => { + that.setData({ + tempFilePaths:tempFilePaths.concat(result.tempFilePaths) + }) + } + }) + }, + + previewImage(e){ + console.log(e); + wx.previewImage({ + urls: this.data.tempFilePaths, + current:this.data.tempFilePaths[e.currentTarget.dataset.index] + }) + }, + + deleteImage(e){ + let tempFilePaths = this.data.tempFilePaths; + tempFilePaths.splice(e.currentTarget.dataset.index,1); + this.setData({ + tempFilePaths + }) + }, + inputNum(e){ + this.setData({ + phoneNum:e.detail.value + }) + }, + + async submit(){ + const tempFilePaths = this.data.tempFilePaths; + const describe = this.data.value; + const phone = this.data.phoneNum; + const radio = this.data.radio; + if(describe.trim().length < 15){ + this.setData({ + lengthErr:true + }) + return; + } + const res = await request('','post',{ + phone, + tempFilePaths, + describe, + type:this.data.selectData[radio-1] + }); + if (res.code === 200) { + wx.switchTab({ + url: '/pages/my/my', + }) + } + } +}) \ No newline at end of file diff --git a/wechat/pages/feedBack/feedBack.json b/wechat/pages/feedBack/feedBack.json new file mode 100644 index 00000000..8835af06 --- /dev/null +++ b/wechat/pages/feedBack/feedBack.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/wechat/pages/feedBack/feedBack.wxml b/wechat/pages/feedBack/feedBack.wxml new file mode 100644 index 00000000..dc05fb1b --- /dev/null +++ b/wechat/pages/feedBack/feedBack.wxml @@ -0,0 +1,59 @@ + + + 选择反馈类型 + + {{ item.text }} + + + + + + + + + + + + + + + + + + + + + + + + {{ value.length }} + / + {{ maxlength }} + + + 请至少输入15个字符! + + + + + 联系方式(选填) + + + + + + + + + + + 默认按钮 + \ No newline at end of file diff --git a/wechat/pages/feedBack/feedBack.wxss b/wechat/pages/feedBack/feedBack.wxss new file mode 100644 index 00000000..8ade4878 --- /dev/null +++ b/wechat/pages/feedBack/feedBack.wxss @@ -0,0 +1,138 @@ +/* pages/feedBack/feedBack.wxss */ +.checkbox{ + width: calc(100vw - 120rpx); + padding: 30rpx; + box-shadow: 0 0 12rpx #bfbfbf; + margin: 30rpx auto 15rpx; + background-color: #ffffff; +} +.title{ + color: #9e9e9e; + padding-bottom: 15rpx; +} +.van-radio{ + margin: 15rpx 0; +} +.length{ + color: #9e9e9e; + float: right; +} + +.input{ + width: calc(100vw - 120rpx); + padding: 30rpx; + box-shadow: 0 0 12rpx #bfbfbf; + margin: 15rpx auto; + background-color: #ffffff; +} +.main{ + box-shadow: 0 0 5rpx #bfbfbf; +} +textarea{ + padding:15rpx; + height: 150rpx; + width: calc(100% - 30rpx); +} +.phone{ + width: calc(100vw - 120rpx); + padding: 15rpx 30rpx; + box-shadow: 0 0 12rpx #bfbfbf; + margin: 15rpx auto; + background-color: #ffffff; +} +.inputPhone{ + display: flex; + align-items: center; +} +.inputPhone>input{ + padding: 10rpx 30rpx; + border-bottom: 2rpx solid #bfbfbf; + margin: 0 30rpx; +} + +.addImage{ + display: flex; +} +.add{ + width: 100rpx; + height: 100rpx; + border: 4rpx dashed #aaaaaa; + margin: 15rpx; + display: flex; + justify-content: center; + align-items: center; +} +.add>image{ + width: 50%; + height: 50%; +} +.add>image:active{ + width: 45%; + height: 45%; +} +.imgs{ + display: flex; + flex-wrap: wrap; +} +.item{ + width: 100rpx; + height: 100rpx; + border: 2rpx solid #8a8a8a; + margin: 15rpx; + position: relative; +} +.item>image{ + width: 100%; + height: 100%; +} +.delete{ + position: absolute; + right: 0; + top: 0; + width: 30rpx; + height: 30rpx; + border-radius: 50%; + display: flex; + justify-content: center; + align-items: center; + background-color: #ff1515; + transform: translate(50%,-50%); + border:1rpx solid #666; +} +.delete>image{ + width: 100%; + height: 100%; +} + +.icon{ + width: 50rpx; + height: 50rpx; +} +.icon>image{ + width: 100%; + height: 100%; +} +.btn{ + width: calc(100vw - 60rpx); + padding: 30rpx; +} +.Vibration{ + animation: Vibration 0.3s 1; +} +@keyframes Vibration{ + 0% { + transform: translateX(0); + } + 25% { + transform: translateX(-10rpx); + } + 50% { + transform: translateX(10rpx); + } + 75% { + transform: translateX(10rpx); + } + 100% { + transform: translateX(-10rpx); + } +} \ No newline at end of file diff --git a/wechat/pages/my/my.wxml b/wechat/pages/my/my.wxml index 41842435..8e2c41b9 100644 --- a/wechat/pages/my/my.wxml +++ b/wechat/pages/my/my.wxml @@ -30,5 +30,8 @@ + diff --git a/wechat/project.private.config.json b/wechat/project.private.config.json index b9709278..6c091ace 100644 --- a/wechat/project.private.config.json +++ b/wechat/project.private.config.json @@ -32,6 +32,11 @@ "referrerInfo": { "appId": "xxx" } + }, + { + "name": "pages/feedBack/feedBack", + "pathName": "pages/feedBack/feedBack", + "scene": null } ] }