diff --git a/model/常态化疫情下的大学生出入校管理系统“入校申请”用例的顺序图.vsdx b/model/常态化疫情下的大学生出入校管理系统“入校申请”用例的顺序图.vsdx new file mode 100644 index 0000000..284b362 Binary files /dev/null and b/model/常态化疫情下的大学生出入校管理系统“入校申请”用例的顺序图.vsdx differ diff --git a/model/常态化疫情下的大学生出入校管理系统“出校申请”用例的顺序图.vsdx b/model/常态化疫情下的大学生出入校管理系统“出校申请”用例的顺序图.vsdx new file mode 100644 index 0000000..a6c882c Binary files /dev/null and b/model/常态化疫情下的大学生出入校管理系统“出校申请”用例的顺序图.vsdx differ diff --git a/model/常态化疫情下的大学生出入校管理系统“定时器权限”用例设计顺序图.vsdx b/model/常态化疫情下的大学生出入校管理系统“定时器权限”用例设计顺序图.vsdx deleted file mode 100644 index 258f6e3..0000000 Binary files a/model/常态化疫情下的大学生出入校管理系统“定时器权限”用例设计顺序图.vsdx and /dev/null differ diff --git a/model/常态化疫情下的大学生出入校管理系统“扫码”用例的顺序图.vsdx b/model/常态化疫情下的大学生出入校管理系统“扫码”用例的顺序图.vsdx new file mode 100644 index 0000000..33cf2fa Binary files /dev/null and b/model/常态化疫情下的大学生出入校管理系统“扫码”用例的顺序图.vsdx differ diff --git a/model/常态化疫情下的大学生出入校管理系统“更新疫情信息”用例的顺序图.vsdx b/model/常态化疫情下的大学生出入校管理系统“更新疫情信息”用例的顺序图.vsdx new file mode 100644 index 0000000..166bad0 Binary files /dev/null and b/model/常态化疫情下的大学生出入校管理系统“更新疫情信息”用例的顺序图.vsdx differ diff --git a/model/常态化疫情下的大学生出入校管理系统“用户权限”用例设计顺序图.vsdx b/model/常态化疫情下的大学生出入校管理系统“用户权限”用例设计顺序图.vsdx deleted file mode 100644 index 426866d..0000000 Binary files a/model/常态化疫情下的大学生出入校管理系统“用户权限”用例设计顺序图.vsdx and /dev/null differ diff --git a/model/常态化疫情下的大学生出入校管理系统“管理员权限”用例设计顺序图.vsdx b/model/常态化疫情下的大学生出入校管理系统“管理员权限”用例设计顺序图.vsdx deleted file mode 100644 index d4a8ad6..0000000 Binary files a/model/常态化疫情下的大学生出入校管理系统“管理员权限”用例设计顺序图.vsdx and /dev/null differ diff --git a/model/常态化疫情下的大学生出入校管理系统用例模型.vsdx b/model/常态化疫情下的大学生出入校管理系统用例模型.vsdx deleted file mode 100644 index 4b455fc..0000000 Binary files a/model/常态化疫情下的大学生出入校管理系统用例模型.vsdx and /dev/null differ diff --git a/src/client/admin_log.py b/src/client/admin_log.py new file mode 100644 index 0000000..e990c40 --- /dev/null +++ b/src/client/admin_log.py @@ -0,0 +1,53 @@ +from codecs import ignore_errors +from pickle import TRUE +import turtle +from xmlrpc.client import boolean +import numpy as np +from asyncore import write +import xlrd +import pandas as pd +import openpyxl +from xlrd import Book +import datetime +import time +import time +from flask import Flask,request +from encodings import utf_8 +import pymssql +import json +import base64 +import jpype +class admin_log(): + def admin_log1(c,a): + b={ + 'test1':[], + 'text':'2' + } + # 把数据装载成json格式并回传 + #a='{"a":{"test":1},"b":2,"c":3,"d":4,"e":5}' + conn =pymssql.connect( + server="LAPTOP-FLH9FTB4",#本地服务器 + user="sa",password="as2799094948", + database="software_project", + charset="utf8" + ) + if conn: + print('连接数据库成功!')#测试是否连接上 + cursor =conn.cursor() #使用cursor()方法获取操作游标 + a= request.json + username=a['username'] + passwd=a['password'] + sql_select="SELECT [password] FROM admin where username = '{}'".format(username) #数据库查询语句 + cursor.execute(sql_select) #执行语句 + results =cursor.fetchall() #获取所有记录列表 + if len(results)==0: + b['text']=1 + elif results[0][0]==passwd: + b['text']=2 + else: b['text']=3 + conn.commit() + cursor.close() + conn.close() + # 把数据装载成json格式并回传 + a1=json.dumps(b,ensure_ascii=False) + return a1 \ No newline at end of file diff --git a/src/client/ceshi.py b/src/client/ceshi.py new file mode 100644 index 0000000..c2ea60a --- /dev/null +++ b/src/client/ceshi.py @@ -0,0 +1,16 @@ +'''b={ + 'test1':[], + 'text':'2', + 'image':[] + } +b['test1'].append(['学号:200340001','姓名:白雪健','电话:13080337680','时间:2020','校门:南','市:天津','区:东丽区','详细地址:中国民航大学']) +print(b)''' +b={ + 'test1':[], + 'text':'2', + 'image':[] + } +b['test1'].append([]) +b['test1'][0].append('申请表类型') +b['test1'][0].append('申请表类型') +print(b) \ No newline at end of file diff --git a/src/client/getmes.py b/src/client/getmes.py new file mode 100644 index 0000000..a336a00 --- /dev/null +++ b/src/client/getmes.py @@ -0,0 +1,88 @@ +import time +import requests +import pymssql +import re +from bs4 import BeautifulSoup +cookies = { + 'security_session_verify': '2b416949a891a8c262d984ce4252acc6', + '__yjs_duid': '1_0b113b04c0c0e5c875c1b9485d5285781666539190108', + 'Hm_lvt_133c8ee1fed22328c57193e7ed6ce0c5': '1666539138,1666540035', + 'Hm_lpvt_133c8ee1fed22328c57193e7ed6ce0c5': '1666540145', +} + +headers = { + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', + 'Accept-Language': 'zh-CN,zh;q=0.9', + 'Cache-Control': 'max-age=0', + 'Connection': 'keep-alive', + # Requests sorts cookies= alphabetically + # 'Cookie': 'security_session_verify=2b416949a891a8c262d984ce4252acc6; __yjs_duid=1_0b113b04c0c0e5c875c1b9485d5285781666539190108; Hm_lvt_133c8ee1fed22328c57193e7ed6ce0c5=1666539138,1666540035; Hm_lpvt_133c8ee1fed22328c57193e7ed6ce0c5=1666540145', + 'Referer': 'http://tj.bendibao.com/news/gelizhengce/fengxianmingdan.php?isqg=0', + 'Upgrade-Insecure-Requests': '1', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36', +} + +params = { + 'isqg': '1', + 'qu': '全部', +} +t=0 +while True: + conn =pymssql.connect( + server="LAPTOP-FLH9FTB4",#本地服务器 + user="sa",password="as2799094948", + database="software_project", + charset="utf8" + #这里设置全局的GBK,如果设置的是UTF—8需要将数据库默认的GBK转化成UTF-8 + ) + if conn: + print('连接数据库成功!')#测试是否连接上 + res = requests.get('http://tj.bendibao.com/news/gelizhengce/fengxianmingdan.php', params=params, cookies=cookies, headers=headers) + res.encoding='utf-8' + soup = BeautifulSoup(res.text, 'html.parser') + # 使用cursor()方法获取操作游标 + cursor =conn.cursor() + # 高风险地区信息 + # 清除原有数据 + cursor.execute("truncate table height") + conn.commit() + # 存入新数据 + content='#info > div.height.info-item > div > div > div > div' + a=soup.select(content) + for i in range(1,len(a)): + a[i] = a[i].text.strip().replace("\n", "") + if len(a[i])!=0: + area=re.search(r'.*?区',a[i]).group() + cursor.execute("insert into height values('{0}','{1}')".format(area,a[i])) + conn.commit() + # 中风险地区信息 + # 清除原有数据 + cursor.execute("truncate table middle") + conn.commit() + # 存入新数据 + content='#info > div.middle.info-item > div > div > div > div' + a=soup.select(content) + for i in range(1,len(a)): + a[i] = a[i].text.strip().replace("\n", "") + if len(a[i])!=0: + area=re.search(r'.*?区',a[i]).group() + cursor.execute("insert into middle values('{0}','{1}')".format(area,a[i])) + conn.commit() + # 低风险地区信息 + # 清除原有数据 + cursor.execute("truncate table low") + conn.commit() + # 存入新数据 + content='#info > div.low.info-item > div > div > div > div' + a=soup.select(content) + for i in range(1,len(a)): + a[i] = a[i].text.strip().replace("\n", "") + if len(a[i])!=0: + area=re.search(r'.*?区',a[i]).group() + cursor.execute("insert into low values('{0}','{1}')".format(area,a[i])) + conn.commit() + cursor.close() + # 断开数据库连接 + conn.close() +# 设置休眠时间,定时执行 + time.sleep(43200) #12小时 diff --git a/src/client/main1.py b/src/client/main1.py new file mode 100644 index 0000000..e3ddf2f --- /dev/null +++ b/src/client/main1.py @@ -0,0 +1,41 @@ +import os + +import jpype + +jarpath = r"D:\tupian\OCR_baidu.jar" # jar包地址 +jvmPath = jpype.getDefaultJVMPath() +jpype.startJVM(jvmPath, "-ea", "-Djava.class.path=%s" % (jarpath)) +java1 = jpype.JClass("HealthCode") +java2 = jpype.JClass("TripCode") +java3 = jpype.JClass("CovidTestRep") +j1 = java1() +j2 = java2() +j3 = java3() +str1 = str(j1.Judge(r"D:\tupian\12.jpg")) # 健康码地址,不要包含中文 下同 +str2 = str(j2.Judge(r"D:\tupian\13.jpg")) # 行程码地址 +str3 = str(j3.Judge(r"D:\tupian\11.jpg")) # 核酸结果地址 +# if str2==",," or str3==',,':图片有误 +''' +Hst, Hname, Hdata 对应健康码颜色,姓名,日期 +Tst, Ttel, Tdata, Tdis 对应行程码颜色,电话,日期,去过的地方 +Cst, Cname, Cdata 对应 核酸结果 姓名 核酸日期 +''' +# 为方便分割,Hst前加了一个大写字符S,判断时应注意,如绿码 Hst为:S绿 +Hst, Hname, Hdata = str1.split(',') +Tst, Ttel, Tdata, Tdis = str2.split(',') +Cst, Cname, Cdata = str3.split(',') +Hdata = Hdata[0:10] # 只要求精确到日,不考虑小时。 +Tdata = Tdata[0:10] +Cdata = Cdata[0:10] + +print(Hst) +print(Hname) +print(Hdata) +print(Tst) +print(Ttel) +print(Tdis) +print(Tdata) +print(Cst) +print(Cname) +print(Cdata) +jpype.shutdownJVM() diff --git a/src/client/scan_the_code.py b/src/client/scan_the_code.py new file mode 100644 index 0000000..92e1ffa --- /dev/null +++ b/src/client/scan_the_code.py @@ -0,0 +1,70 @@ +from audioop import add +import base64 +import os +import json +from unicodedata import name +from codecs import ignore_errors +from pickle import TRUE +import turtle +from xmlrpc.client import boolean +import numpy as np +from asyncore import write +import xlrd +import pandas as pd +import openpyxl +from xlrd import Book +import datetime +import time +from flask import Flask,request +from encodings import utf_8 +import pymssql +import json +import base64 +from out_school import out_school +from in_school import in_school +import time +class scan_the_code: + def scan_the_code1(p,data): + sno=data['sno'] + res={ + 'result':[] + } + Conn = pymssql.connect(server="LAPTOP-FLH9FTB4",#本地服务器 + user="sa",password="as2799094948", + database="software_project", + charset="utf8") + if Conn: + print ("连接成功") + cur = Conn.cursor() + #cur.execute("delete student where state='出' and pass='2' ") + #1在校,2审批通过 + if data['shuju']=='5YWl5qCh5LqM57u056CB': + cur.execute("select * from Form , [user] where state='出校' and pass='2' and sno='{}' and username=sno".format(sno)) + results=cur.fetchall() + if(len(results)==0): + res['result'].append('您没有入校资格') + else: + cur.execute("update [user] set state='入校' where username='{}' ".format(sno)) + cur.execute("delete from Form where sno='{}'".format(sno)) + res['result'].append('入校成功') + elif data['shuju']=='5Ye65qCh5LqM57u056CB': + cur.execute("select * from Form , [user] where state='入校' and pass='2'and sno='{}' and username=sno".format(sno)) + results=cur.fetchall() + if(len(results)==0): + print('无出校资格') + res['result'].append('您没有出校资格') + else: + # 测试时不更改数据 + cur.execute("update [user] set state='出校' where username='{}' ".format(sno)) + cur.execute("delete from Form where sno='{}'".format(sno)) + print('出校成功') + res['result'].append('出校成功') + else: + print('二维码无效') + res['result'].append('二维码无效') + print ("成功") + Conn.commit() + cur.close() + Conn.close() + b=json.dumps(res,ensure_ascii=False) + return b \ No newline at end of file diff --git a/src/client/user_log.py b/src/client/user_log.py new file mode 100644 index 0000000..18c353a --- /dev/null +++ b/src/client/user_log.py @@ -0,0 +1,54 @@ +from codecs import ignore_errors +from pickle import TRUE +import turtle +from xmlrpc.client import boolean +import numpy as np +from asyncore import write +import xlrd +import pandas as pd +import openpyxl +from xlrd import Book +import datetime +import time +import time +from flask import Flask,request +from encodings import utf_8 +import pymssql +import json +import base64 +import jpype +class user_log(): + def user_log1(p,a): + b={ + 'test1':[], + 'text':'2' + } + # 把数据装载成json格式并回传 + #a='{"a":{"test":1},"b":2,"c":3,"d":4,"e":5}' + conn =pymssql.connect( + server="LAPTOP-FLH9FTB4",#本地服务器 + user="sa",password="as2799094948", + database="software_project", + charset="utf8" + ) + if conn: + print('连接数据库成功!')#测试是否连接上 + cursor =conn.cursor() #使用cursor()方法获取操作游标 + a= request.json + username=a['username'] + passwd=a['password'] + sql_select="SELECT password FROM [user] where username = '{}'".format(username) #数据库查询语句 + cursor.execute(sql_select) #执行语句 + results =cursor.fetchall() #获取所有记录列表 + if len(results)==0: + b['text']=1 + elif results[0][0]==passwd: + b['text']=2 + else: b['text']=3 + conn.commit() + cursor.close() + conn.close() + # 把数据装载成json格式并回传 + a1=json.dumps(b,ensure_ascii=False) + #a='{"a":{"test":1},"b":2,"c":3,"d":4,"e":5}' + return a1 \ No newline at end of file diff --git a/src/wechat_app/app.js b/src/wechat_app/app.js new file mode 100644 index 0000000..1a40fb2 --- /dev/null +++ b/src/wechat_app/app.js @@ -0,0 +1,38 @@ +//app.js +App({ + + globalData:{ + phone:null, + no:'', + globalsno:'' + + }, + + /** + * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) + */ + onLaunch: function () { + + }, + + /** + * 当小程序启动,或从后台进入前台显示,会触发 onShow + */ + onShow: function (options) { + + }, + + /** + * 当小程序从前台进入后台,会触发 onHide + */ + onHide: function () { + + }, + + /** + * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息 + */ + onError: function (msg) { + + } +}) diff --git a/src/wechat_app/app.json b/src/wechat_app/app.json new file mode 100644 index 0000000..432e6f6 --- /dev/null +++ b/src/wechat_app/app.json @@ -0,0 +1,44 @@ +{ + "pages": [ + "pages/home/home", + "pages/administrator_log/administrator_log", + "pages/user_log/user_log", + "pages/set/set", + "pages/user/user", + "pages/v6_administrator/v6_administrator", + "pages/v7_out_school/v7_out_school", + "pages/v8_in_school/v8_in_school", + "pages/v9_manual/v9_manual", + "pages/v10_auto/v10_auto", + "pages/v11_success/v11_success", + "pages/v12_submit_info/v12_submit_info", + "pages/v13_look_info/v13_look_info", + "pages/v15_scan_the_code/v15_scan_the_code", + "pages/info/info", + "pages/v19_test/v19_test", + "pages/v16_user_state/v16_user_state" + ], + "window": { + "navigationBarBackgroundColor": "#00F5FF", + "navigationBarTextStyle": "white", + "navigationBarTitleText": "学生出入校管理", + "backgroundColor": "#000000", + "backgroundTextStyle": "dark" + }, + "tabBar": { + "list": [ + { + "pagePath": "pages/home/home", + "text": "首页", + "iconPath": "/static/image/home.png", + "selectedIconPath": "static/image/home-o.png" + }, + { + "pagePath": "pages/set/set", + "text": "简介", + "iconPath": "/static/image/my.png", + "selectedIconPath": "static/image/my-o.png" + } + ] + } +} \ No newline at end of file diff --git a/src/wechat_app/pages/administrator_log/administrator_log.js b/src/wechat_app/pages/administrator_log/administrator_log.js new file mode 100644 index 0000000..3225cda --- /dev/null +++ b/src/wechat_app/pages/administrator_log/administrator_log.js @@ -0,0 +1,152 @@ +//index.js +//获取应用实例 +// const app = getApp() +var i = 0; +Page({ + // 在js文件中设置相关的数据,data + data: { + username: '', + password: '', + snows: [], + animation: [], + dateTime: "", + }, + + + onUnload: function () { + clearTimeout(this.data.dateTime) + this.setData({ + snows: [], + animation: [] + }) + }, + onShow: function () { + this.initSnow(); + this.data.snows = []; + this.data.animation = []; + let j = 50 + while (j--) + this.data.snows.push(Math.floor(Math.random() * 700)) + this.setData({ + snows: this.data.snows + }) + }, + onHide: function () { + clearTimeout(this.data.dateTime) + this.setData({ + snows: [], + animation: [] + }) + }, + + initSnow: function () { + setTimeout(function () { + let animation = wx.createAnimation({}) + animation.translateY(804).opacity(1).step({ + duration: 4000 + }) + animation.translateY(0).opacity(1).step({ + duration: 0 + }) + this.setData({ + ['snows[' + i + ']']: Math.floor(Math.random() * 700), + ['animation[' + i + ']']: animation.export() + }) + i++; + if (i == 50) + i = 0 + }.bind(this), 500) + var dateTime = setTimeout(function () { + this.initSnow() + }.bind(this), 100) + this.setData({ + dateTime, + }) + }, + + + + // 1、将获取的账号存到数据username里面 + usernameInput: function (e) { + this.setData({ + username: e.detail.value + }) + }, + + // 2、将获取的密码存到password里面 + passwordInput: function (e) { + this.setData({ + password: e.detail.value + }) + }, + //3、、点击登录进行页面跳转 + bindViewTap: function() { + wx.request({ + url: 'http://127.0.0.1:2020/admin', + data: {username:this.data.username,password:this.data.password}, + dataType: JSON, + enableCache: true, + enableHttp2: true, + enableQuic: true, + method: 'POST', + timeout: 0, + success: (result) => { + // console.log(result) + console.log(result.data) +// JSON.parse将JSON字符串转换成一个JS对象,然后利用python的调用语法对相关内容进行操作 +var p=JSON.parse(result.data) + console.log(p.test1) + if(p.text=='2'){ + console.log("登录成功") + wx.navigateTo({ + url: '/pages/v6_administrator/v6_administrator' + }) + } + if(p.text=='1'){ + wx.showModal({ + cancelColor: 'cancelColor', + title: '用户名不存在', + success: function (res) { + if (res.confirm) { + console.log('用户点击确定') + } else { + console.log('用户点击取消') + } + } + }) + } + if(p.text=='3'){ + wx.showModal({ + cancelColor: 'cancelColor', + title: '密码错误', + success: function (res) { + if (res.confirm) { + console.log('用户点击确定') + } else { + console.log('用户点击取消') + } + } + }) + } + }, + fail:(res)=>{ + console.log("发生错误") + } + + })}, +// 管理员登录 +to1:function(){ + wx.navigateTo({ + url: "/pages/v16_registered/v16_registered", + }) +}, +to2:function(){ + wx.navigateTo({ + url: '/pages/v17_forget_mima/v17_forget_mima', + }) +} +}) + + + + \ No newline at end of file diff --git a/src/wechat_app/pages/administrator_log/administrator_log.json b/src/wechat_app/pages/administrator_log/administrator_log.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/src/wechat_app/pages/administrator_log/administrator_log.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/src/wechat_app/pages/administrator_log/administrator_log.wxml b/src/wechat_app/pages/administrator_log/administrator_log.wxml new file mode 100644 index 0000000..dd7681c --- /dev/null +++ b/src/wechat_app/pages/administrator_log/administrator_log.wxml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + diff --git a/src/wechat_app/pages/administrator_log/administrator_log.wxss b/src/wechat_app/pages/administrator_log/administrator_log.wxss new file mode 100644 index 0000000..35635f5 --- /dev/null +++ b/src/wechat_app/pages/administrator_log/administrator_log.wxss @@ -0,0 +1,138 @@ +page{ + height: 100%; + } + + /* 1、表格的整体样式 */ + .container { + height: 100%; + display: flex; + flex-direction: column; + padding: 0; + box-sizing: border-box; + /* background-color: rgb(156, 23, 78) */ + } + + /*2、登录的图片样式*/ + .login-icon{ + display: flex; + justify-content: center; + align-items: center; + } + +/* 3、用来设置登录图片的宽度 */ + .login-img{ + + width: 500rpx; + height: 500rpx; + } + + /*4、表单内容*/ + .login-from { + /* 设置表格上方的高度 */ + margin-top: 20px; + flex: auto; + height:100%; + } + /* 5、设置输入的框 */ + .inputView { + /* background-color: #fff; */ + line-height: 50px; + border-radius:40px; + border:1px solid #161515; + } + + /*6、设置输入框旁边的图片*/ + .nameImage, .keyImage { + margin-left: 22px; + width: 18px; + height: 16px + } + /* 7、设置账号、密码字体的颜色 */ + .loginLab { + margin: 15px 15px 15px 10px; + color:blue; + font-size: 14px + } + /* 8、进行提示输入的框是灰色的 */ + .inputText { + flex: block; + float: right; + text-align: right; + margin-right: 22px; + margin-top: 11px; + color: gray; + font-size: 14px + } + + /* 9、 内部框图进行相应的分割*/ + .line { + margin-top: 10px; + } + + /* .line { + width: 100%; + height: 1px; + background-color: #cccccc; + margin-top: 1px; + } */ + + /*10、设置按钮*/ + .loginBtnView { + width: 100%; + height: auto; + /* background-color:#DCDCDC; */ + margin-top: 0px; + margin-bottom: 0px; + padding-bottom: 0px; + } + + .loginBtn { + width: 90%; + margin-top: 40px; + border-radius:10px; + } + + /* 设置字体颜色 */ + .bxj{ + color: red; + } +/* 用来设置注册和忘记密码 */ + .saveBtn { + width: 50% !important; + float:left; + font-weight: 100; + font-size: 10px; + } + .submitBtn { + width: 50% !important; + float:right; + font-size: 10px + + } +.s_view{ + position: fixed; + width: 100%; +} + +/* 雪花效果特效 */ +page { + background: linear-gradient(180deg, #6699CC 0%, #B8DBF0 100%); + background-attachment: fixed; + background-size: cover; + background-position: center top; + height: 100%; +} + +.snow { + width: fit-content; + position: absolute; + top: -100rpx; + width: 30rpx; + height: 27rpx; + z-index: 11; +} + +.snow:nth-child(2n+2) { + width: 35rpx; + height: 33rpx; +} diff --git a/src/wechat_app/pages/home/home.js b/src/wechat_app/pages/home/home.js new file mode 100644 index 0000000..06d950f --- /dev/null +++ b/src/wechat_app/pages/home/home.js @@ -0,0 +1,113 @@ +// pages/index/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + message:"你好nihao", + datalist:['黑夜','白天','中午'], + userinfo:{ + name:"白雪健", + age:20 + }, + Image1:["/static/image/apic2098.jpg","/static/image/apic2098.jpg"] + }, + + uploadimage:function(){ + var that = this; + wx.chooseMedia({ + mediaType: ['image','video'], + sourceType: ['album', 'camera'], + maxDuration: 30, + camera: 'back', + success(res) { + + console.log(res), + console.log(res.tempFiles[0].tempFilePath), + that.setData({ + Image1:that.data.Image1.concat(res.tempFiles[0].tempFilePath) + }) + } + }) + + }, + + // clearimage:function(){ + // this.setData({ + // Image1:'' + // }) + // }, + + // 输入用户名所采取的行动 + + fakeCallback:function(e){ + console.log(1) + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + }, + clickme:function(){ + wx.navigateTo({ + url: '/pages/administrator_log/administrator_log', + }) + }, + clickme1:function(){ + wx.navigateTo({ + url: '/pages/user_log/user_log', + }) + } +}) \ No newline at end of file diff --git a/src/wechat_app/pages/home/home.json b/src/wechat_app/pages/home/home.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/src/wechat_app/pages/home/home.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/src/wechat_app/pages/home/home.wxml b/src/wechat_app/pages/home/home.wxml new file mode 100644 index 0000000..1bbb58e --- /dev/null +++ b/src/wechat_app/pages/home/home.wxml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + 用户 + + + + 管理员 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/wechat_app/pages/home/home.wxss b/src/wechat_app/pages/home/home.wxss new file mode 100644 index 0000000..6217fa2 --- /dev/null +++ b/src/wechat_app/pages/home/home.wxss @@ -0,0 +1,64 @@ +/* pages/index/index.wxss */ +.c1{ + color: red; +} +.image1{ + width: 200rpx; + height: 200rpx; + /* 如果要设置圆角的话 */ + border-radius: 100rpx; +} +.menu{ + display: flex; + /* 规定主轴的方向 */ + flex-direction: row; + /* 元素在主轴方向的排列方式 我用的是平均排列*/ + justify-content: space-around; + /* 元素在负轴方向如何展示 */ + /* align-items: center; */ + +} +/* 缺个空格差点g。 */ +.menu .item{ + display: flex; + flex-direction: column; + /* 元素在负轴方向如何展示 */ + align-items: center; +} + +/* 设置背景图片 */ + +.banner{ + + width: 100%; + height: 550rpx; +} +.banner swiper{ + + height: 100%; + width: 100%; +} +.banner image{ + + width: 100%; + height: 550rpx; +} + +.header { + position: relative; + height:300rpx; + background: linear-gradient(to bottom, #56ccf2, #2f80ed); +} + +.bg_ware { + position: absolute; + left: 0; + bottom: -2rpx; + width: 100%; + mix-blend-mode: screen; + height: 120rpx; +} + + + + diff --git a/src/wechat_app/pages/info/info.js b/src/wechat_app/pages/info/info.js new file mode 100644 index 0000000..7463268 --- /dev/null +++ b/src/wechat_app/pages/info/info.js @@ -0,0 +1,139 @@ +// pages/info/info.js +var app = getApp(); +Page({ + + /** + * 页面的初始数据 + */ + data: { + list:[], + image:[] + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + // 返回通过的信息 + backR:function(){ + // console.log(abc) + // console.log(abc.currentTarget.dataset.abc) + wx.request({ + url: 'http://127.0.0.1:2020/access', + data: { + data:this.data.list[2], + condition:'通过' + }, + dataType: JSON, + enableCache: true, + enableHttp2: true, + enableQuic: true, + method: 'POST', + timeout: 0, + success: (result) => { + console.log(this.data.list[2]) + wx.redirectTo({ + url: '/pages/v9_manual/v9_manual', + }) + // console.log(result.data) + }, + }) + }, +//返回不通过的信息 + backE:function(){ + // console.log(abc) + wx.request({ + url: 'http://127.0.0.1:2020/access', + dataType: JSON, + enableCache: true, + enableHttp2: true, + enableQuic: true, + method: 'POST', + timeout: 0, + + data:{ + data:this.data.list[2], + condition:'不通过' + }, + success: (result) => { + wx.redirectTo({ + url: '/pages/v9_manual/v9_manual', + }) + // console.log(2) + }, + }) + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + console.log(app.globalData.no) + var that = this; + wx.request({ + url: 'http://127.0.0.1:2020/info', + dataType: JSON, + method: 'GET', + timeout: 0, + success: (res) => { + // console.log(res.data) + var p = JSON.parse(res.data) + // console.log(app.globalData.no) + // console.log(p.test1[app.globalData.no]) + // console.log(p.image) + // console.log(p) + // console.log(p.test1[app.globalData.no]) + that.setData({ + list:p.test1[app.globalData.no], + image:p.image[app.globalData.no] + }) + // console.log(this.data.list[2]) + // console.log(that.data.image) + }, + }) + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/src/wechat_app/pages/info/info.json b/src/wechat_app/pages/info/info.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/src/wechat_app/pages/info/info.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/src/wechat_app/pages/info/info.wxml b/src/wechat_app/pages/info/info.wxml new file mode 100644 index 0000000..5fce100 --- /dev/null +++ b/src/wechat_app/pages/info/info.wxml @@ -0,0 +1,32 @@ + + + +{{item}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/wechat_app/pages/info/info.wxss b/src/wechat_app/pages/info/info.wxss new file mode 100644 index 0000000..3c0d9f4 --- /dev/null +++ b/src/wechat_app/pages/info/info.wxss @@ -0,0 +1,14 @@ +/* pages/info/info.wxss */ +.schoollist{ + margin-top: 20rpx; +} +.school-list-info{ + float: left; + margin-left: 20rpx; + margin-top: 20rpx; + position: relative; +} +.school-list-photo{ + width: 350rpx; + height: 700rpx; +} \ No newline at end of file diff --git a/src/wechat_app/pages/set/set.js b/src/wechat_app/pages/set/set.js new file mode 100644 index 0000000..62f1e96 --- /dev/null +++ b/src/wechat_app/pages/set/set.js @@ -0,0 +1,66 @@ +// pages/set/set.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/src/wechat_app/pages/set/set.json b/src/wechat_app/pages/set/set.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/src/wechat_app/pages/set/set.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/src/wechat_app/pages/set/set.wxml b/src/wechat_app/pages/set/set.wxml new file mode 100644 index 0000000..00e17d6 --- /dev/null +++ b/src/wechat_app/pages/set/set.wxml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/wechat_app/pages/set/set.wxss b/src/wechat_app/pages/set/set.wxss new file mode 100644 index 0000000..a939f70 --- /dev/null +++ b/src/wechat_app/pages/set/set.wxss @@ -0,0 +1,31 @@ +.banner{ + + width: 100%; + height: 550rpx; +} +.banner swiper{ + + height: 100%; + width: 100%; +} +.banner image{ + + width: 100%; + height: 550rpx; +} + +.header { + position: relative; + height:300rpx; + background: linear-gradient(to bottom, #56ccf2, #2f80ed); +} + +.bg_ware { + position: absolute; + left: 0; + bottom: -2rpx; + width: 100%; + mix-blend-mode: screen; + height: 120rpx; +} + diff --git a/src/wechat_app/pages/user/user.js b/src/wechat_app/pages/user/user.js new file mode 100644 index 0000000..ed56496 --- /dev/null +++ b/src/wechat_app/pages/user/user.js @@ -0,0 +1,160 @@ +// pages/user/user.js +var app = getApp() +Page({ + + /** + * 页面的初始数据 + */ + data: { + cc:"sdasdasd", + + swiperList: [ + { + type: 'video', + url: 'https://static.51dh.com.cn/dbp/12/98/4494bd8a6e0fcd4a992f25a42bea28f8d1fb.mp4' + }, { + type: 'image', + url: 'https://bj.bcebos.com/shitu-query-bj/2022-11-25/12/65c8785efdf614c0?authorization=bce-auth-v1%2F7e22d8caf5af46cc9310f1e3021709f3%2F2022-11-25T04%3A21%3A48Z%2F300%2F%2Fcba06b77ff3338331ba50868a058fa1e01045adb673ced5692d04f84009ca4aa' + }, { + + type: 'image', + url: 'https://bj.bcebos.com/shitu-query-bj/2022-11-25/12/a12f2c0208db3f56?authorization=bce-auth-v1%2F7e22d8caf5af46cc9310f1e3021709f3%2F2022-11-25T04%3A20%3A16Z%2F300%2F%2F2d395d19e9b327015c749f3e9edfa863b1d73c8da8d935a87f8f00d34b482ba4', + }, { + + type: 'image', + url: 'https://i.postimg.cc/pXDp6RXq/susu3.jpg' + }, { + + type: 'image', + url: 'https://i.postimg.cc/XJmpTvCD/susu2.jpg' + }, { + + type: 'image', + url: 'https://i.postimg.cc/76br1jzJ/susu1.jpg' + }, { + + type: 'image', + url: 'https://i.postimg.cc/pXDp6RXq/susu3.jpg' + }, + { + + type: 'image', + url: 'https://i.postimg.cc/XJmpTvCD/susu2.jpg' + }, + ], + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + this.tauchSwiper('swiperList'); + }, + // 初始化tauchSwiper + tauchSwiper(name) { + let list = this.data[name]; + for (let i = 0; i < list.length; i++) { + // Math.abs(x) 函数返回指定数字 “x“ 的绝对值 + list[i].zIndex = parseInt(list.length / 2) + 1 - Math.abs(i - parseInt(list.length / 2)) + list[i].mLeft = i - parseInt(list.length / 2) + } + this.setData({ + swiperList: list + }) + }, + // tauchSwiper触摸开始 + tauchStart(e) { + this.setData({ + tauchStart: e.touches[0].pageX + }) + }, + // tauchSwiper计算方向 + tauchMove(e) { + this.setData({ + direction: e.touches[0].pageX - this.data.tauchStart > 0 ? 'right' : 'left' + }) + }, + // tauchSwiper计算滚动 + tauchEnd(e) { + let direction = this.data.direction; + let list = this.data.swiperList; + if (direction == 'right') { + let mLeft = list[0].mLeft; + let zIndex = list[0].zIndex; + for (let i = 1; i < list.length; i++) { + list[i - 1].mLeft = list[i].mLeft + list[i - 1].zIndex = list[i].zIndex + } + list[list.length - 1].mLeft = mLeft; + list[list.length - 1].zIndex = zIndex; + this.setData({ + swiperList: list + }) + } else { + let mLeft = list[list.length - 1].mLeft; + let zIndex = list[list.length - 1].zIndex; + for (let i = list.length - 1; i > 0; i--) { + list[i].mLeft = list[i - 1].mLeft + list[i].zIndex = list[i - 1].zIndex + } + list[0].mLeft = mLeft; + list[0].zIndex = zIndex; + this.setData({ + swiperList: list + }) + } + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + // 修改全局变量值的时候再用 =,其他时候用setData + this.setData({ + cc:app.globalData.globalsno + }) + console.log(app.globalData.globalsno) + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/src/wechat_app/pages/user/user.json b/src/wechat_app/pages/user/user.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/src/wechat_app/pages/user/user.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/src/wechat_app/pages/user/user.wxml b/src/wechat_app/pages/user/user.wxml new file mode 100644 index 0000000..8fb553c --- /dev/null +++ b/src/wechat_app/pages/user/user.wxml @@ -0,0 +1,56 @@ + + + + + + + + + + + 出校 + + + + + 入校 + + + + + 疫情信息 + + + + + + + + + 申请状态 + + + + + + 扫码 + + + + + + + + + + + + + + + + + + + + diff --git a/src/wechat_app/pages/user/user.wxss b/src/wechat_app/pages/user/user.wxss new file mode 100644 index 0000000..520a8d4 --- /dev/null +++ b/src/wechat_app/pages/user/user.wxss @@ -0,0 +1,122 @@ +/* pages/index/index.wxss */ +.c1{ + color: red; +} +.image1{ + width: 200rpx; + height: 200rpx; + /* 如果要设置圆角的话 */ + border-radius: 100rpx; +} + +.menu{ + display: flex; + /* 规定主轴的方向 */ + flex-direction: row; + /* 元素在主轴方向的排列方式 我用的是平均排列*/ + justify-content: space-between; + /* 元素在负轴方向如何展示 */ + /* align-items: center; */ + +} + +.menu1{ + display: flex; + /* 规定主轴的方向 */ + flex-direction: row; + /* 元素在主轴方向的排列方式 我用的是平均排列*/ + justify-content: space-around; + /* 元素在负轴方向如何展示 */ + /* align-items: center; */ + +} +/* 缺个空格差点g。 */ +.menu .item{ + display: flex; + flex-direction: column; + /* 元素在负轴方向如何展示 */ + align-items: center; +} + +.menu1 .item{ + display: flex; + flex-direction: column; + /* 元素在负轴方向如何展示 */ + align-items: center; +} + +/* 做波浪 */ +.header { + position: relative; + height:600rpx; + background: linear-gradient(to bottom, #56ccf2, #2f80ed); +} + +.bg_ware { + position: absolute; + left: 0; + bottom: -2rpx; + width: 100%; + mix-blend-mode: screen; + height: 120rpx; +} + +/* 轮播图 */ +.swiper-item image, +.swiper-item video { + width: 100%; + display: block; + height: 100%; + margin: 0; + pointer-events: none; +} + +image { + max-width: 100%; + display: inline-block; + position: relative; + z-index: 0; +} + +.swiper-box { + height: 420rpx; + position: relative; + max-width: 750rpx; + overflow: hidden; + box-sizing: border-box; + margin-top: 90rpx; +} + +.swiper-box .item-box { + position: absolute; + width: 300rpx; + height: 380rpx; + top: 0; + bottom: 0; + left: 50%; + margin: auto; + transition: all 0.2s ease-in 0s; + opacity: 1; + box-shadow: 0px 13rpx 12rpx rgba(0, 0, 0, .5); + border-radius: 15rpx; + overflow: hidden; +} + +.swiper-box .item-box.none { + opacity: 0; +} + +.swiper-box .item-box .swiper-item { + width: 100%; + height: 100%; + border-radius: 6rpx; + overflow: hidden; +} + + +.swiper-box .item-box { + transform: scale(calc(0.5 + var(--index) / 10)); + margin-left: calc(var(--left) * 100rpx - 150rpx); + z-index: var(--index); +} + diff --git a/src/wechat_app/pages/user_log/user_log.js b/src/wechat_app/pages/user_log/user_log.js new file mode 100644 index 0000000..4ccced7 --- /dev/null +++ b/src/wechat_app/pages/user_log/user_log.js @@ -0,0 +1,150 @@ +//index.js +//获取应用实例 +// const app = getApp() +var app = getApp(); +var i = 0; +Page({ + // 在js文件中设置相关的数据,data + data: { + username: '', + password: '', + snows: [], + animation: [], + dateTime: "", + }, + onUnload: function () { + clearTimeout(this.data.dateTime) + this.setData({ + snows: [], + animation: [] + }) + }, + + onShow: function () { + this.initSnow(); + this.data.snows = []; + this.data.animation = []; + let j = 50 + while (j--) + this.data.snows.push(Math.floor(Math.random() * 700)) + this.setData({ + snows: this.data.snows + }) + }, + onHide: function () { + clearTimeout(this.data.dateTime) + this.setData({ + snows: [], + animation: [] + }) + }, + initSnow: function () { + setTimeout(function () { + let animation = wx.createAnimation({}) + animation.translateY(804).opacity(1).step({ + duration: 4000 + }) + animation.translateY(0).opacity(1).step({ + duration: 0 + }) + this.setData({ + ['snows[' + i + ']']: Math.floor(Math.random() * 700), + ['animation[' + i + ']']: animation.export() + }) + i++; + if (i == 50) + i = 0 + }.bind(this), 500) + var dateTime = setTimeout(function () { + this.initSnow() + }.bind(this), 100) + this.setData({ + dateTime, + }) + }, + + + // 1、将获取的账号存到数据username里面 + usernameInput: function (e) { + this.setData({ + + username: e.detail.value + }) + }, + + // 2、将获取的密码存到password里面 + passwordInput: function (e) { + this.setData({ + password: e.detail.value + }) + }, + //3、、点击登录进行页面跳转 + bindViewTap: function() { + var that = this + wx.request({ + url: 'http://127.0.0.1:2020/uesr', + data: {username:this.data.username,password:this.data.password}, + dataType: JSON, + enableCache: true, + enableHttp2: true, + enableQuic: true, + method: 'POST', + timeout: 0, + success: (result) => { + // console.log(result) + console.log(result.data) +// JSON.parse将JSON字符串转换成一个JS对象,然后利用python的调用语法对相关内容进行操作 + var p=JSON.parse(result.data) + console.log(p.test1) + if(p.text=='2'){ + console.log("登录成功") + app.globalData.globalsno = that.data.username + console.log(app.globalData.globalsno) + wx.navigateTo({ + url: '/pages/user/user' + }) + } + if(p.text=='1'){ + wx.showModal({ + cancelColor: 'cancelColor', + title: '用户名不存在', + success: function (res) { + if (res.confirm) { + console.log('用户点击确定') + } else { + console.log('用户点击取消') + } + } + }) + } + if(p.text=='3'){ + wx.showModal({ + cancelColor: 'cancelColor', + title: '密码错误', + success: function (res) { + if (res.confirm) { + console.log('用户点击确定') + } else { + console.log('用户点击取消') + } + } + }) + } + }, + fail:(res)=>{ + console.log("发生错误") + } + + })}, +to1:function(){ + wx.navigateTo({ + url: "/pages/v16_registered/v16_registered", + }) + }, + to2:function(){ + wx.navigateTo({ + url: '/pages/v17_forget_mima/v17_forget_mima', + }) + } +}) + \ No newline at end of file diff --git a/src/wechat_app/pages/user_log/user_log.json b/src/wechat_app/pages/user_log/user_log.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/src/wechat_app/pages/user_log/user_log.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/src/wechat_app/pages/user_log/user_log.wxml b/src/wechat_app/pages/user_log/user_log.wxml new file mode 100644 index 0000000..8a80e37 --- /dev/null +++ b/src/wechat_app/pages/user_log/user_log.wxml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + diff --git a/src/wechat_app/pages/user_log/user_log.wxss b/src/wechat_app/pages/user_log/user_log.wxss new file mode 100644 index 0000000..35635f5 --- /dev/null +++ b/src/wechat_app/pages/user_log/user_log.wxss @@ -0,0 +1,138 @@ +page{ + height: 100%; + } + + /* 1、表格的整体样式 */ + .container { + height: 100%; + display: flex; + flex-direction: column; + padding: 0; + box-sizing: border-box; + /* background-color: rgb(156, 23, 78) */ + } + + /*2、登录的图片样式*/ + .login-icon{ + display: flex; + justify-content: center; + align-items: center; + } + +/* 3、用来设置登录图片的宽度 */ + .login-img{ + + width: 500rpx; + height: 500rpx; + } + + /*4、表单内容*/ + .login-from { + /* 设置表格上方的高度 */ + margin-top: 20px; + flex: auto; + height:100%; + } + /* 5、设置输入的框 */ + .inputView { + /* background-color: #fff; */ + line-height: 50px; + border-radius:40px; + border:1px solid #161515; + } + + /*6、设置输入框旁边的图片*/ + .nameImage, .keyImage { + margin-left: 22px; + width: 18px; + height: 16px + } + /* 7、设置账号、密码字体的颜色 */ + .loginLab { + margin: 15px 15px 15px 10px; + color:blue; + font-size: 14px + } + /* 8、进行提示输入的框是灰色的 */ + .inputText { + flex: block; + float: right; + text-align: right; + margin-right: 22px; + margin-top: 11px; + color: gray; + font-size: 14px + } + + /* 9、 内部框图进行相应的分割*/ + .line { + margin-top: 10px; + } + + /* .line { + width: 100%; + height: 1px; + background-color: #cccccc; + margin-top: 1px; + } */ + + /*10、设置按钮*/ + .loginBtnView { + width: 100%; + height: auto; + /* background-color:#DCDCDC; */ + margin-top: 0px; + margin-bottom: 0px; + padding-bottom: 0px; + } + + .loginBtn { + width: 90%; + margin-top: 40px; + border-radius:10px; + } + + /* 设置字体颜色 */ + .bxj{ + color: red; + } +/* 用来设置注册和忘记密码 */ + .saveBtn { + width: 50% !important; + float:left; + font-weight: 100; + font-size: 10px; + } + .submitBtn { + width: 50% !important; + float:right; + font-size: 10px + + } +.s_view{ + position: fixed; + width: 100%; +} + +/* 雪花效果特效 */ +page { + background: linear-gradient(180deg, #6699CC 0%, #B8DBF0 100%); + background-attachment: fixed; + background-size: cover; + background-position: center top; + height: 100%; +} + +.snow { + width: fit-content; + position: absolute; + top: -100rpx; + width: 30rpx; + height: 27rpx; + z-index: 11; +} + +.snow:nth-child(2n+2) { + width: 35rpx; + height: 33rpx; +} diff --git a/src/wechat_app/pages/v13_look_info/v13_look_info.js b/src/wechat_app/pages/v13_look_info/v13_look_info.js new file mode 100644 index 0000000..1c18152 --- /dev/null +++ b/src/wechat_app/pages/v13_look_info/v13_look_info.js @@ -0,0 +1,93 @@ +Page({ + + /** + * 页面的初始数据 + */ + data: { + select: false, + area: "全部", + tempgao:'', + tempzhong:'', + tempdi:'', + gao:'', + zhong:'', + di:'', + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + bindShowMsg() { + // console.log(!this.data.select) + this.setData({ + select:!this.data.select + // 选中为true + }) + }, + mySelect:function(e) { + var name = e.currentTarget.dataset.name + this.setData({ + area: name, + select: false, + gao:'', + zhong:'', + di:'' + + }) + + var that =this + wx.request({ + url: 'http://127.0.0.1:2020/look_info', + data: {name:this.data.area + }, + dataType:JSON , + method: 'POST', + timeout: 0, + success: (result) => { + var p =JSON.parse(result.data) + that.setData({ + tempgao:p.height, + tempzhong:p.middle, + tempdi:p.low + }) + // console.log(that.data.tempgao) + }, + }) + + }, + +// 高风险区触发函数 +gao_info:function(){ +this.setData({ + gao:this.data.tempgao, + zhong:'', + di:'' +}) +}, +//中风险区触发函数 +zhong_info:function(){ + this.setData({ + gao:'', + zhong:this.data.tempzhong, + di:'' + }) +}, +//低风险区触发函数 +di_info:function(){ + this.setData({ + gao:'', + zhong:'', + di:this.data.tempdi + }) +}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) diff --git a/src/wechat_app/pages/v13_look_info/v13_look_info.json b/src/wechat_app/pages/v13_look_info/v13_look_info.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/src/wechat_app/pages/v13_look_info/v13_look_info.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/src/wechat_app/pages/v13_look_info/v13_look_info.wxml b/src/wechat_app/pages/v13_look_info/v13_look_info.wxml new file mode 100644 index 0000000..a391271 --- /dev/null +++ b/src/wechat_app/pages/v13_look_info/v13_look_info.wxml @@ -0,0 +1,55 @@ + + + 区域选择 + + + + + {{area}} + + + + + + + + + + + + + 全部 + 和平区 + 河东区 + 河西区 + 南开区 + 河北区 + 红桥区 + 塘沽区 + 汉沽区 + 大港区 + 东丽区 + 西青区 + 津南区 + 北辰区 + 武清区 + 宝坻区 + 宁河区 + 静海区 + 蓟州区 + 滨海新区 + + + + +{{item}} +---------------------------------------------- + + + {{item}} +---------------------------------------------- + + + {{item}} +---------------------------------------------- + diff --git a/src/wechat_app/pages/v13_look_info/v13_look_info.wxss b/src/wechat_app/pages/v13_look_info/v13_look_info.wxss new file mode 100644 index 0000000..974f328 --- /dev/null +++ b/src/wechat_app/pages/v13_look_info/v13_look_info.wxss @@ -0,0 +1,48 @@ +.list-msg { + padding: 0 20rpx; + background-color: #fff; + position: relative; +} + +.list-msg1 { + height: 60rpx; + display: flex; + align-items: center; + justify-content: space-between; +} + +.list-msg .list-msg2 { + height: 60rpx; + display: flex; + align-items: center; + justify-content: space-between; + border: 1px solid #ccc; + padding: 0 10rpx; +} + +.select_box { + background-color: #eee; + padding: 0 10rpx; + width: 93%; + position: absolute; + top: 130rpx; + z-index: 1; + overflow: hidden; + animation: myfirst 0.5s; +} + +@keyframes myfirst { + from { + height: 0rpx; + } + + to { + height: 210rpx; + } +} + +.select_one { + height: 60rpx; + line-height: 60rpx; + border-bottom: 1px solid #ccc; +} diff --git a/src/wechat_app/pages/v15_scan_the_code/v15_scan_the_code.js b/src/wechat_app/pages/v15_scan_the_code/v15_scan_the_code.js new file mode 100644 index 0000000..7439a3a --- /dev/null +++ b/src/wechat_app/pages/v15_scan_the_code/v15_scan_the_code.js @@ -0,0 +1,74 @@ +// pages/v15_scan_the_code/v15_scan_the_code.js +const app = getApp() + +Page({ + data: { + scan: '', + sno:'' + + }, + getScancode: function() { + // var _this = this; + // 允许从相机和相册扫码 + wx.scanCode({ + success: (res) => { + var jieguo = res.result; + console.log(jieguo) + + this.setData({ + scan: jieguo, + sno:app.globalData.globalsno + + }) + // console.log(result) + // console.log(this.data.result) + wx.request({ + url: 'http://127.0.0.1:2020/scan_the_code', + data: {shuju:this.data.scan, + sno:this.data.sno + }, + method:"POST", + dataType: JSON, + enableCache: true, + enableHttp2: true, + enableQuic: true, + timeout: 0, + success: (result) => { + var p =JSON.parse(result.data) + wx.showModal({ + showCancel:false, + title: p.result[0], + success: function (res) { + if (res.confirm) { + console.log('用户点击确定') + wx.navigateBack({ + delta: 0, + }) + } + } + }) + console.log(p.result[0]) + // if(result.data=='1'){ + // console.log("成功") + // } + + }, + fail: (result) => { + console.log("失败") + }, + + }) + + + } + }) + + }, + onLoad: function() { + this.getScancode(); + }, + + onShow() { + }, + +}) \ No newline at end of file diff --git a/src/wechat_app/pages/v15_scan_the_code/v15_scan_the_code.json b/src/wechat_app/pages/v15_scan_the_code/v15_scan_the_code.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/src/wechat_app/pages/v15_scan_the_code/v15_scan_the_code.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/src/wechat_app/pages/v15_scan_the_code/v15_scan_the_code.wxml b/src/wechat_app/pages/v15_scan_the_code/v15_scan_the_code.wxml new file mode 100644 index 0000000..0f8639b --- /dev/null +++ b/src/wechat_app/pages/v15_scan_the_code/v15_scan_the_code.wxml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/src/wechat_app/pages/v15_scan_the_code/v15_scan_the_code.wxss b/src/wechat_app/pages/v15_scan_the_code/v15_scan_the_code.wxss new file mode 100644 index 0000000..f886a8e --- /dev/null +++ b/src/wechat_app/pages/v15_scan_the_code/v15_scan_the_code.wxss @@ -0,0 +1,5 @@ +/* pages/v15_scan_the_code/v15_scan_the_code.wxss */ +.intro{ + margin:30px; + text-align:center; +} \ No newline at end of file diff --git a/src/wechat_app/pages/v16_user_state/v16_user_state.js b/src/wechat_app/pages/v16_user_state/v16_user_state.js new file mode 100644 index 0000000..e9596b4 --- /dev/null +++ b/src/wechat_app/pages/v16_user_state/v16_user_state.js @@ -0,0 +1,92 @@ +// pages/v16_user_state/v16_user_state.js +var app = getApp() +Page({ + + /** + * 页面的初始数据 + */ + data: { + sno:'' + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow(){ + this.setData({ + sno:app.globalData.globalsno + }) + wx.request({ + url: 'http://127.0.0.1:2020/state', + data: {sno:this.data.sno + }, + dataType:JSON , + method: 'POST', + timeout: 0, + success: (result) => { + wx.showModal({ + showCancel:false, + title: result.data, + success: function (res) { + if (res.confirm) { + console.log('用户点击确定') + wx.navigateBack({ + delta: 0, + }) + } + } + }) + }, + }) + + } , + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/src/wechat_app/pages/v16_user_state/v16_user_state.json b/src/wechat_app/pages/v16_user_state/v16_user_state.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/src/wechat_app/pages/v16_user_state/v16_user_state.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/src/wechat_app/pages/v16_user_state/v16_user_state.wxml b/src/wechat_app/pages/v16_user_state/v16_user_state.wxml new file mode 100644 index 0000000..a5ec630 --- /dev/null +++ b/src/wechat_app/pages/v16_user_state/v16_user_state.wxml @@ -0,0 +1,2 @@ + + diff --git a/src/wechat_app/pages/v16_user_state/v16_user_state.wxss b/src/wechat_app/pages/v16_user_state/v16_user_state.wxss new file mode 100644 index 0000000..9a7d77e --- /dev/null +++ b/src/wechat_app/pages/v16_user_state/v16_user_state.wxss @@ -0,0 +1 @@ +/* pages/v16_user_state/v16_user_state.wxss */ diff --git a/src/wechat_app/pages/v19_test/v19_test.js b/src/wechat_app/pages/v19_test/v19_test.js new file mode 100644 index 0000000..bb17243 --- /dev/null +++ b/src/wechat_app/pages/v19_test/v19_test.js @@ -0,0 +1,22 @@ +// pages/fengguang/fengguang.js +Page({ + data:{ + + "items": [1,2,3,4], + number:[1,2,3,4,5,6] + + }, + + onReady:function(){ + // 页面渲染完成 + }, + onShow:function(){ + // 页面显示 + }, + onHide:function(){ + // 页面隐藏 + }, + onUnload:function(){ + // 页面关闭 + } +}) diff --git a/src/wechat_app/pages/v19_test/v19_test.json b/src/wechat_app/pages/v19_test/v19_test.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/src/wechat_app/pages/v19_test/v19_test.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/src/wechat_app/pages/v19_test/v19_test.wxml b/src/wechat_app/pages/v19_test/v19_test.wxml new file mode 100644 index 0000000..efd438b --- /dev/null +++ b/src/wechat_app/pages/v19_test/v19_test.wxml @@ -0,0 +1,4 @@ + + + + diff --git a/src/wechat_app/pages/v19_test/v19_test.wxss b/src/wechat_app/pages/v19_test/v19_test.wxss new file mode 100644 index 0000000..034dd74 --- /dev/null +++ b/src/wechat_app/pages/v19_test/v19_test.wxss @@ -0,0 +1,15 @@ +.header { + position: relative; + height:300rpx; + background: linear-gradient(to bottom, #56ccf2, #2f80ed); +} + +.bg_ware { + position: absolute; + left: 0; + bottom: -2rpx; + width: 100%; + mix-blend-mode: screen; + height: 120rpx; +} + diff --git a/src/wechat_app/pages/v6_administrator/v6_administrator.js b/src/wechat_app/pages/v6_administrator/v6_administrator.js new file mode 100644 index 0000000..427732e --- /dev/null +++ b/src/wechat_app/pages/v6_administrator/v6_administrator.js @@ -0,0 +1,156 @@ +// pages/v6_administrator/v6_administrator.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + swiperList: [ + { + type: 'video', + url: 'https://static.51dh.com.cn/dbp/12/98/4494bd8a6e0fcd4a992f25a42bea28f8d1fb.mp4' + }, { + type: 'image', + url: 'https://i.postimg.cc/mgsKJGLw/susu1.jpg' + }, { + + type: 'image', + url: 'https://i.postimg.cc/qRRLS16Q/susu0.jpg', + }, { + + type: 'image', + url: 'https://i.postimg.cc/pXDp6RXq/susu3.jpg' + }, { + + type: 'image', + url: 'https://i.postimg.cc/XJmpTvCD/susu2.jpg' + }, { + + type: 'image', + url: 'https://i.postimg.cc/76br1jzJ/susu1.jpg' + }, { + + type: 'image', + url: 'https://i.postimg.cc/pXDp6RXq/susu3.jpg' + }, + { + + type: 'image', + url: 'https://i.postimg.cc/XJmpTvCD/susu2.jpg' + }, + ], + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + this.tauchSwiper('swiperList'); + }, + + // 初始化tauchSwiper + tauchSwiper(name) { + let list = this.data[name]; + for (let i = 0; i < list.length; i++) { + // Math.abs(x) 函数返回指定数字 “x“ 的绝对值 + list[i].zIndex = parseInt(list.length / 2) + 1 - Math.abs(i - parseInt(list.length / 2)) + list[i].mLeft = i - parseInt(list.length / 2) + } + this.setData({ + swiperList: list + }) + }, + // tauchSwiper触摸开始 + tauchStart(e) { + this.setData({ + tauchStart: e.touches[0].pageX + }) + }, + // tauchSwiper计算方向 + tauchMove(e) { + this.setData({ + direction: e.touches[0].pageX - this.data.tauchStart > 0 ? 'right' : 'left' + }) + }, + // tauchSwiper计算滚动 + tauchEnd(e) { + let direction = this.data.direction; + let list = this.data.swiperList; + if (direction == 'right') { + let mLeft = list[0].mLeft; + let zIndex = list[0].zIndex; + for (let i = 1; i < list.length; i++) { + list[i - 1].mLeft = list[i].mLeft + list[i - 1].zIndex = list[i].zIndex + } + list[list.length - 1].mLeft = mLeft; + list[list.length - 1].zIndex = zIndex; + this.setData({ + swiperList: list + }) + } else { + let mLeft = list[list.length - 1].mLeft; + let zIndex = list[list.length - 1].zIndex; + for (let i = list.length - 1; i > 0; i--) { + list[i].mLeft = list[i - 1].mLeft + list[i].zIndex = list[i - 1].zIndex + } + list[0].mLeft = mLeft; + list[0].zIndex = zIndex; + this.setData({ + swiperList: list + }) + } + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/src/wechat_app/pages/v6_administrator/v6_administrator.json b/src/wechat_app/pages/v6_administrator/v6_administrator.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/src/wechat_app/pages/v6_administrator/v6_administrator.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/src/wechat_app/pages/v6_administrator/v6_administrator.wxml b/src/wechat_app/pages/v6_administrator/v6_administrator.wxml new file mode 100644 index 0000000..e08c71a --- /dev/null +++ b/src/wechat_app/pages/v6_administrator/v6_administrator.wxml @@ -0,0 +1,32 @@ + + + + + + + + + + 查看疫情信息 + + + + + 审批 + + + + + + + + + + + + + + + + + diff --git a/src/wechat_app/pages/v6_administrator/v6_administrator.wxss b/src/wechat_app/pages/v6_administrator/v6_administrator.wxss new file mode 100644 index 0000000..1b3083c --- /dev/null +++ b/src/wechat_app/pages/v6_administrator/v6_administrator.wxss @@ -0,0 +1,104 @@ +/* pages/index/index.wxss */ +.c1{ + color: red; +} +.image1{ + width: 200rpx; + height: 200rpx; + /* 如果要设置圆角的话 */ + border-radius: 100rpx; +} + .menu{ + display: flex; + /* 规定主轴的方向 */ + flex-direction: row; + /* 元素在主轴方向的排列方式 我用的是平均排列*/ + justify-content: space-around; + /* 元素在负轴方向如何展示 */ + /* align-items: center; */ + +} +/* 缺个空格差点g。 */ + .menu .item{ + display: flex; + flex-direction: column; + /* 元素在负轴方向如何展示 */ + align-items: center; +} + +/* 波浪的渲染 */ +.header { + position: relative; + height:450rpx; + background: linear-gradient(to bottom, #56ccf2, #2f80ed); +} + +.bg_ware { + position: absolute; + left: 0; + bottom: -2rpx; + width: 100%; + mix-blend-mode: screen; + height: 120rpx; +} + +/* 轮播图 */ +.swiper-item image, +.swiper-item video { + width: 100%; + display: block; + height: 100%; + margin: 0; + pointer-events: none; +} + +image { + max-width: 100%; + display: inline-block; + position: relative; + z-index: 0; +} + +.swiper-box { + height: 420rpx; + position: relative; + max-width: 750rpx; + overflow: hidden; + box-sizing: border-box; + margin-top: 90rpx; +} + +.swiper-box .item-box { + position: absolute; + width: 300rpx; + height: 380rpx; + top: 0; + bottom: 0; + left: 50%; + margin: auto; + transition: all 0.2s ease-in 0s; + opacity: 1; + box-shadow: 0px 13rpx 12rpx rgba(0, 0, 0, .5); + border-radius: 15rpx; + overflow: hidden; +} + +.swiper-box .item-box.none { + opacity: 0; +} + +.swiper-box .item-box .swiper-item { + width: 100%; + height: 100%; + border-radius: 6rpx; + overflow: hidden; +} + + +.swiper-box .item-box { + transform: scale(calc(0.5 + var(--index) / 10)); + margin-left: calc(var(--left) * 100rpx - 150rpx); + z-index: var(--index); +} + + diff --git a/src/wechat_app/project.config.json b/src/wechat_app/project.config.json new file mode 100644 index 0000000..841ae49 --- /dev/null +++ b/src/wechat_app/project.config.json @@ -0,0 +1,29 @@ +{ + "appid": "wx1be3d41368551c6d", + "projectname": "%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%BC%80%E5%8F%91%E9%A1%B9%E7%9B%AE", + "compileType": "miniprogram", + "libVersion": "2.19.4", + "packOptions": { + "ignore": [], + "include": [] + }, + "setting": { + "coverView": true, + "es6": true, + "postcss": true, + "minified": true, + "enhance": true, + "showShadowRootInWxmlPanel": true, + "packNpmRelationList": [], + "compileHotReLoad": true, + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + } + }, + "editorSetting": { + "tabIndent": "insertSpaces", + "tabSize": 2 + } +} \ No newline at end of file diff --git a/src/wechat_app/project.private.config.json b/src/wechat_app/project.private.config.json new file mode 100644 index 0000000..ab949bd --- /dev/null +++ b/src/wechat_app/project.private.config.json @@ -0,0 +1,89 @@ +{ + "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "condition": { + "miniprogram": { + "list": [ + { + "name": "", + "pathName": "pages/v8_in_school/v8_in_school", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/v11_success/v11_success", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/v9_manual/v9_manual", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/info/info", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/v19_test/v19_test", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/v13_look_info/v13_look_info", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/v15_scan_the_code/v15_scan_the_code", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/v16_user_state/v16_user_state", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/user/user", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/v6_administrator/v6_administrator", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/v7_out_school/v7_out_school", + "query": "", + "launchMode": "default", + "scene": null + } + ] + } + }, + "setting": { + "urlCheck": false + } +} \ No newline at end of file diff --git a/src/wechat_app/static/image/1.jpg b/src/wechat_app/static/image/1.jpg new file mode 100644 index 0000000..87b2b00 Binary files /dev/null and b/src/wechat_app/static/image/1.jpg differ diff --git a/src/wechat_app/static/image/2.jpg b/src/wechat_app/static/image/2.jpg new file mode 100644 index 0000000..0c3c542 Binary files /dev/null and b/src/wechat_app/static/image/2.jpg differ diff --git a/src/wechat_app/static/image/3.jpg b/src/wechat_app/static/image/3.jpg new file mode 100644 index 0000000..89095fa Binary files /dev/null and b/src/wechat_app/static/image/3.jpg differ diff --git a/src/wechat_app/static/image/CAUC.png b/src/wechat_app/static/image/CAUC.png new file mode 100644 index 0000000..7dd03bc Binary files /dev/null and b/src/wechat_app/static/image/CAUC.png differ diff --git a/src/wechat_app/static/image/apic2098.jpg b/src/wechat_app/static/image/apic2098.jpg new file mode 100644 index 0000000..a644e32 Binary files /dev/null and b/src/wechat_app/static/image/apic2098.jpg differ diff --git a/src/wechat_app/static/image/apic27858.jpg b/src/wechat_app/static/image/apic27858.jpg new file mode 100644 index 0000000..fb39876 Binary files /dev/null and b/src/wechat_app/static/image/apic27858.jpg differ diff --git a/src/wechat_app/static/image/background.jpg b/src/wechat_app/static/image/background.jpg new file mode 100644 index 0000000..2784dea Binary files /dev/null and b/src/wechat_app/static/image/background.jpg differ diff --git a/src/wechat_app/static/image/home-o.png b/src/wechat_app/static/image/home-o.png new file mode 100644 index 0000000..3324e9f Binary files /dev/null and b/src/wechat_app/static/image/home-o.png differ diff --git a/src/wechat_app/static/image/home.png b/src/wechat_app/static/image/home.png new file mode 100644 index 0000000..1e5c055 Binary files /dev/null and b/src/wechat_app/static/image/home.png differ diff --git a/src/wechat_app/static/image/my-o.png b/src/wechat_app/static/image/my-o.png new file mode 100644 index 0000000..f76ba80 Binary files /dev/null and b/src/wechat_app/static/image/my-o.png differ diff --git a/src/wechat_app/static/image/my.png b/src/wechat_app/static/image/my.png new file mode 100644 index 0000000..5ebb3df Binary files /dev/null and b/src/wechat_app/static/image/my.png differ