@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Eslint config file
|
||||
* Documentation: https://eslint.org/docs/user-guide/configuring/
|
||||
* Install the Eslint extension before using this feature.
|
||||
*/
|
||||
module.exports = {
|
||||
env: {
|
||||
es6: true,
|
||||
browser: true,
|
||||
node: true,
|
||||
},
|
||||
ecmaFeatures: {
|
||||
modules: true,
|
||||
},
|
||||
parserOptions: {
|
||||
ecmaVersion: 2018,
|
||||
sourceType: 'module',
|
||||
},
|
||||
globals: {
|
||||
wx: true,
|
||||
App: true,
|
||||
Page: true,
|
||||
getCurrentPages: true,
|
||||
getApp: true,
|
||||
Component: true,
|
||||
requirePlugin: true,
|
||||
requireMiniProgram: true,
|
||||
},
|
||||
// extends: 'eslint:recommended',
|
||||
rules: {},
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
# 云开发 quickstart
|
||||
|
||||
这是云开发的快速启动指引,其中演示了如何上手使用云开发的三大基础能力:
|
||||
|
||||
- 数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 文档型数据库
|
||||
- 文件存储:在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理
|
||||
- 云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写业务逻辑代码
|
||||
|
||||
## 参考文档
|
||||
|
||||
- [云开发文档](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)
|
||||
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"permissions": {
|
||||
"openapi": [
|
||||
]
|
||||
}
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "useroption",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"wx-server-sdk": "~2.6.3"
|
||||
}
|
||||
}
|
@ -0,0 +1,72 @@
|
||||
{
|
||||
"pages": [
|
||||
"pages/login/login",
|
||||
"pages/Find directions/Find directions",
|
||||
"pages/text/text",
|
||||
"pages/ModifyMap/ModifyMap",
|
||||
"pages/ModifyInformation/ModifyInformation",
|
||||
"pages/ManageAccount/ManageAccount",
|
||||
"pages/index/index",
|
||||
"pages/adduser/index",
|
||||
"pages/addusers/index",
|
||||
"pages/adduserssuccess/index",
|
||||
"pages/delete/index",
|
||||
"pages/deleteuser/index",
|
||||
"pages/deleteusers/index",
|
||||
"pages/deleteuserssuccess/index",
|
||||
"pages/selectusers/index",
|
||||
"pages/selectusers(ID)/index",
|
||||
"pages/selectusers(college)/index",
|
||||
"pages/selectuserss/index",
|
||||
"pages/selectuserssuccess/index",
|
||||
"pages/updateusers/index",
|
||||
"pages/updateuserssuccess/index",
|
||||
"pages/index_hjf/index_hjf",
|
||||
"pages/index1/index1",
|
||||
"pages/adlogin/adlogin",
|
||||
"pages/login_1/login_1",
|
||||
"pages/getWeather/getWeather",
|
||||
"pages/map/map"
|
||||
|
||||
],
|
||||
"window": {
|
||||
"backgroundColor": "#F6F6F6",
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarBackgroundColor": "#F6F6F6",
|
||||
"navigationBarTitleText": "管理用户",
|
||||
"navigationBarTextStyle": "black"
|
||||
},
|
||||
"tabBar": {
|
||||
"color": "#dddddd",
|
||||
"selectedColor": "#3cc51f",
|
||||
"borderStyle": "black",
|
||||
"backgroundColor": "#ffffff",
|
||||
"list": [{
|
||||
"pagePath": "pages/map/map",
|
||||
"iconPath": "image/wechat.png",
|
||||
"selectedIconPath": "image/locate.png",
|
||||
"text": "导航"
|
||||
},{
|
||||
"pagePath": "pages/text/text",
|
||||
"iconPath": "image/locate.png",
|
||||
"selectedIconPath": "image/locateHL.png",
|
||||
"text": "信息栏"
|
||||
}
|
||||
]
|
||||
},
|
||||
"debug": true,
|
||||
"style": "v2",
|
||||
"sitemapLocation": "sitemap.json",
|
||||
"requiredPrivateInfos":[
|
||||
"getLocation"
|
||||
],
|
||||
"permission": {
|
||||
"scope.userLocation": {
|
||||
"desc": "你的位置信息将用于小程序位置接口的效果展示"
|
||||
}
|
||||
},
|
||||
"navigateToMiniProgramAppIdList": [
|
||||
"wx5e77d1bb9e24f179"
|
||||
]
|
||||
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
/**app.wxss**/
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
button {
|
||||
background: initial;
|
||||
}
|
||||
|
||||
button:focus{
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
button::after{
|
||||
border: none;
|
||||
}
|
||||
|
||||
|
||||
page {
|
||||
background: #f6f6f6;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
// miniprogram/components/cloudTipModal/index.js
|
||||
const { isMac } = require('../../envList.js');
|
||||
|
||||
Component({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
showUploadTip: false,
|
||||
tipText: isMac ? 'sh ./uploadCloudFunction.sh' : './uploadCloudFunction.bat'
|
||||
},
|
||||
properties: {
|
||||
showUploadTipProps: Boolean
|
||||
},
|
||||
observers: {
|
||||
showUploadTipProps: function(showUploadTipProps) {
|
||||
this.setData({
|
||||
showUploadTip: showUploadTipProps
|
||||
});
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onChangeShowUploadTip() {
|
||||
this.setData({
|
||||
showUploadTip: !this.data.showUploadTip
|
||||
});
|
||||
},
|
||||
|
||||
copyShell() {
|
||||
wx.setClipboardData({
|
||||
data: this.data.tipText,
|
||||
});
|
||||
},
|
||||
}
|
||||
|
||||
});
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"usingComponents": {},
|
||||
"component": true
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
<!--miniprogram/components/cloudTipModal/index.wxml-->
|
||||
<view class="install_tip" wx:if="{{showUploadTip}}">
|
||||
<view class="install_tip_back"></view>
|
||||
<view class="install_tip_detail">
|
||||
<view class="install_tip_detail_title">体验前需部署云资源</view>
|
||||
<view class="install_tip_detail_tip">请开启调试器进入终端窗口,复制并运行以下命令</view>
|
||||
<view class="install_tip_detail_shell">
|
||||
{{tipText}}
|
||||
<view bindtap="copyShell" class="install_tip_detail_copy">复制</view>
|
||||
</view>
|
||||
<view bindtap="onChangeShowUploadTip" class="install_tip_detail_button">已执行命令</view>
|
||||
</view>
|
||||
</view>
|
@ -0,0 +1,57 @@
|
||||
.install_tip_back {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
background-color: rgba(0,0,0,0.4);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.install_tip_detail {
|
||||
position: fixed;
|
||||
background-color: white;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
top: 60%;
|
||||
border-radius: 40rpx 40rpx 0 0;
|
||||
padding: 50rpx;
|
||||
z-index: 9;
|
||||
}
|
||||
|
||||
.install_tip_detail_title {
|
||||
font-weight: 400;
|
||||
font-size: 40rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.install_tip_detail_tip {
|
||||
font-size: 25rpx;
|
||||
color: rgba(0,0,0,0.4);
|
||||
margin-top: 20rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.install_tip_detail_shell {
|
||||
margin: 70rpx 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.install_tip_detail_copy {
|
||||
color: #546488;
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
|
||||
.install_tip_detail_button {
|
||||
color: #07C160;
|
||||
font-weight: 500;
|
||||
background-color: rgba(0,0,0,0.1);
|
||||
width: 60%;
|
||||
text-align: center;
|
||||
height: 90rpx;
|
||||
line-height: 90rpx;
|
||||
border-radius: 10rpx;
|
||||
margin: 0 auto;
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
const envList = [{"envId":"cloud1-7gnkwzfv6ba72e50","alias":"cloud1"}]
|
||||
const isMac = false
|
||||
module.exports = {
|
||||
envList,
|
||||
isMac
|
||||
}
|
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 9.2 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 59 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 156 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 173 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 906 B |
After Width: | Height: | Size: 155 KiB |
After Width: | Height: | Size: 328 KiB |
After Width: | Height: | Size: 181 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 115 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 9.1 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 139 KiB |
@ -0,0 +1,66 @@
|
||||
// pages/Find directions/Find directions.js
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
@ -0,0 +1,2 @@
|
||||
<!--pages/Find directions/Find directions.wxml-->
|
||||
<text>pages/Find directions/Find directions.wxml</text>
|
@ -0,0 +1,17 @@
|
||||
Page({
|
||||
data: {
|
||||
loginOK: false
|
||||
},
|
||||
//information
|
||||
information() {
|
||||
wx.navigateTo({
|
||||
url: '/pages/ModifyInformation/ModifyInformation',
|
||||
})
|
||||
},
|
||||
//account
|
||||
account() {
|
||||
wx.navigateTo({
|
||||
url: '/pages/index/index'
|
||||
})
|
||||
}
|
||||
})
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
<view class="ModifyAccount">
|
||||
<button class="information" type="primary" bindtap="information" style="width: 387rpx; height: 108rpx; display: block; box-sizing: border-box; left: -182rpx; top: 1081rpx; position: relative">修改信息</button>
|
||||
<button class="account" type="primary" bindtap="account" style="width: 361rpx; height: 108rpx; display: block; box-sizing: border-box; left: 194rpx; top: 973rpx; position: relative">管理账户</button>
|
||||
</view>
|
@ -0,0 +1 @@
|
||||
/* pages/ManageAccount/ManageAccount.wxss */
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
<button class="account" type="primary" bindtap="check" style="width: 462rpx; height: 101rpx; display: block; box-sizing: border-box; left: 0rpx; top: 404rpx; position: relative">发布公告</button>
|
||||
|
||||
<view class="ModifyInformation">
|
||||
<button class="information" type="primary" bindtap="information" style="width: 425rpx; height: 99rpx; display: block; box-sizing: border-box; left: -211rpx; top: 983rpx; position: relative">修改公告栏信息</button>
|
||||
<button class="account" type="primary" bindtap="account" style="width: 392rpx; height: 99rpx; display: block; box-sizing: border-box; left: 197rpx; top: 884rpx; position: relative">管理账户信息</button>
|
||||
</view>
|
@ -0,0 +1 @@
|
||||
/* pages/ModifyInformation/ModifyInformation.wxss */
|
@ -0,0 +1,66 @@
|
||||
// pages/ModifyMap/ModifyMap.js
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
@ -0,0 +1,2 @@
|
||||
<!--pages/ModifyMap/ModifyMap.wxml-->
|
||||
<text>pages/ModifyMap/ModifyMap.wxml</text>
|
@ -0,0 +1,89 @@
|
||||
// pages/index/index.js
|
||||
//连接数据库
|
||||
const db = wx.cloud.database()
|
||||
Page({
|
||||
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
User_ID:'',
|
||||
User_College:'',
|
||||
User_Key:'',
|
||||
User_Class:'',
|
||||
User_Grade:''
|
||||
},
|
||||
|
||||
//监听并修改用户名和年龄的输入
|
||||
inputID:function(e){
|
||||
this.setData({
|
||||
User_ID:e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
inputCollege:function(e){
|
||||
this.setData({
|
||||
User_College:e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
inputGrade:function(e){
|
||||
this.setData({
|
||||
User_Grade:e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
inputClass:function(e){
|
||||
this.setData({
|
||||
User_Class:e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
inputKey:function(e){
|
||||
this.setData({
|
||||
User_Key:e.detail.value
|
||||
})
|
||||
},
|
||||
//使用云函数
|
||||
//插入数据(增)
|
||||
add:function(e){
|
||||
//要添加的数据是一个对象
|
||||
// var user={
|
||||
// username:this.data.username,
|
||||
// age:this.data.age
|
||||
// };
|
||||
|
||||
console.log(e);
|
||||
wx.cloud.callFunction({
|
||||
name: 'useroption',
|
||||
data: {
|
||||
option: 'add',
|
||||
addData:{
|
||||
User_ID:this.data.User_ID,
|
||||
User_College:this.data.User_College,
|
||||
User_Grade:this.data.User_Grade,
|
||||
User_Class:this.data.User_Class,
|
||||
User_Key:this.data.User_Key
|
||||
}
|
||||
},
|
||||
success: res => {
|
||||
wx.showToast({
|
||||
title: '用户添加成功',
|
||||
})
|
||||
console.log("添加成功")
|
||||
console.log(res)
|
||||
},
|
||||
fail:err => {
|
||||
wx.showToast({
|
||||
title: '用户添加失败',
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getback:function(){
|
||||
wx.navigateBack({
|
||||
delta:1,
|
||||
})
|
||||
}
|
||||
})
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
<!--pages/addusers/index.wxml-->
|
||||
<view class="add">
|
||||
<input
|
||||
type="text"
|
||||
value="{{User_ID}}"
|
||||
placeholder="请输入学号"
|
||||
bindblur="inputID"
|
||||
/>
|
||||
<input
|
||||
type="text"
|
||||
value="{{User_College}}"
|
||||
bindblur="inputCollege"
|
||||
placeholder="请输入用户院系"
|
||||
/>
|
||||
<input
|
||||
type="text"
|
||||
value="{{User_Class}}"
|
||||
bindblur="inputClass"
|
||||
placeholder="请输入用户班级"
|
||||
/>
|
||||
<input
|
||||
type="text"
|
||||
value="{{User_Grade}}"
|
||||
bindblur="inputGrade"
|
||||
placeholder="请输入用户年级"
|
||||
/>
|
||||
<input
|
||||
type="text"
|
||||
value="{{User_Key}}"
|
||||
bindblur="inputKey"
|
||||
placeholder="请输入用户密码"
|
||||
/>
|
||||
<button class="button" bindtap="add" type="primary">增加</button>
|
||||
</view>
|
||||
<button class="button" type="primary" bindtap="getback">返回</button>
|
@ -0,0 +1,100 @@
|
||||
/* pages/addusers/index.wxss */
|
||||
|
||||
page {
|
||||
padding-top: 54rpx;
|
||||
background-color: #f6f6f6;
|
||||
padding-bottom: 60rpx;
|
||||
}
|
||||
|
||||
.button {
|
||||
margin-top: 50px;
|
||||
margin-left: 50px;
|
||||
margin-right: 50px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #000000;
|
||||
font-size: 44rpx;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.top_tip {
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #888888;
|
||||
margin-bottom: 28rpx;
|
||||
}
|
||||
|
||||
.power {
|
||||
margin-top: 30rpx;
|
||||
border-radius: 5px;
|
||||
background-color: white;
|
||||
width: 93%;
|
||||
padding-bottom: 1rpx;
|
||||
}
|
||||
|
||||
.power_info {
|
||||
display: flex;
|
||||
padding: 30rpx 25rpx;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.power_info_more {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
.power_info_less {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
|
||||
.power_info_text {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.power_info_text_title {
|
||||
margin-bottom: 10rpx;
|
||||
font-weight: 400;
|
||||
font-size: 35rpx;
|
||||
}
|
||||
|
||||
.power_info_text_tip {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
font-size: 25rpx;
|
||||
}
|
||||
|
||||
.power_item {
|
||||
padding: 30rpx 25rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.power_item_title {
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.power_item_icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
}
|
||||
|
||||
.line {
|
||||
width: 95%;
|
||||
margin: 0 auto;
|
||||
height: 2rpx;
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.environment {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
font-size: 24rpx;
|
||||
margin-top: 25%;
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
// pages/addusers/index.js
|
||||
const db = wx.cloud.database()
|
||||
Page({
|
||||
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
User_ID:'',
|
||||
User_College:'',
|
||||
User_Key:'',
|
||||
User_Class:'',
|
||||
User_Grade:''
|
||||
},
|
||||
|
||||
//监听并修改用户名和年龄的输入
|
||||
inputID:function(e){
|
||||
this.setData({
|
||||
User_ID:e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
inputCollege:function(e){
|
||||
this.setData({
|
||||
User_College:e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
inputGrade:function(e){
|
||||
this.setData({
|
||||
User_Grade:e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
inputClass:function(e){
|
||||
this.setData({
|
||||
User_Class:e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
inputKey:function(e){
|
||||
this.setData({
|
||||
User_Key:e.detail.value
|
||||
})
|
||||
},
|
||||
//使用云函数
|
||||
//插入数据(增)
|
||||
add:function(e){
|
||||
//要添加的数据是一个对象
|
||||
// var user={
|
||||
// username:this.data.username,
|
||||
// age:this.data.age
|
||||
// };
|
||||
|
||||
console.log(e);
|
||||
wx.cloud.callFunction({
|
||||
name: 'useroption',
|
||||
data: {
|
||||
option: 'add',
|
||||
addData:{
|
||||
User_ID:this.data.User_ID,
|
||||
User_College:this.data.User_College,
|
||||
User_Grade:this.data.User_Grade,
|
||||
User_Class:this.data.User_Class,
|
||||
User_Key:this.data.User_Key
|
||||
}
|
||||
},
|
||||
success: res => {
|
||||
wx.showToast({
|
||||
title: '用户添加成功',
|
||||
})
|
||||
console.log("添加成功")
|
||||
console.log(res)
|
||||
},
|
||||
fail:err => {
|
||||
wx.showToast({
|
||||
title: '用户添加失败',
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getback:function(){
|
||||
wx.navigateBack({
|
||||
delta:1,
|
||||
})
|
||||
}
|
||||
})
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
<!--pages/addusers/index.wxml-->
|
||||
<!--pages/addusers/index.wxml-->
|
||||
<view class="add">
|
||||
<input
|
||||
type="text"
|
||||
value="{{User_ID}}"
|
||||
placeholder="请输入学号"
|
||||
bindblur="inputID"
|
||||
/>
|
||||
<input
|
||||
type="text"
|
||||
value="{{User_College}}"
|
||||
bindblur="inputCollege"
|
||||
placeholder="请输入用户院系"
|
||||
/>
|
||||
<input
|
||||
type="text"
|
||||
value="{{User_Class}}"
|
||||
bindblur="inputClass"
|
||||
placeholder="请输入用户班级"
|
||||
/>
|
||||
<input
|
||||
type="text"
|
||||
value="{{User_Grade}}"
|
||||
bindblur="inputGrade"
|
||||
placeholder="请输入用户年级"
|
||||
/>
|
||||
<input
|
||||
type="text"
|
||||
value="{{User_Key}}"
|
||||
bindblur="inputKey"
|
||||
placeholder="请输入用户密码"
|
||||
/>
|
||||
<button class="button" bindtap="add" type="primary">增加</button>
|
||||
</view>
|
||||
<button class="button" type="primary" bindtap="getback">返回</button>
|
@ -0,0 +1,100 @@
|
||||
/* pages/addusers/index.wxss */
|
||||
|
||||
page {
|
||||
padding-top: 54rpx;
|
||||
background-color: #f6f6f6;
|
||||
padding-bottom: 60rpx;
|
||||
}
|
||||
|
||||
.button {
|
||||
margin-top: 50px;
|
||||
margin-left: 50px;
|
||||
margin-right: 50px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #000000;
|
||||
font-size: 44rpx;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.top_tip {
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #888888;
|
||||
margin-bottom: 28rpx;
|
||||
}
|
||||
|
||||
.power {
|
||||
margin-top: 30rpx;
|
||||
border-radius: 5px;
|
||||
background-color: white;
|
||||
width: 93%;
|
||||
padding-bottom: 1rpx;
|
||||
}
|
||||
|
||||
.power_info {
|
||||
display: flex;
|
||||
padding: 30rpx 25rpx;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.power_info_more {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
.power_info_less {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
|
||||
.power_info_text {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.power_info_text_title {
|
||||
margin-bottom: 10rpx;
|
||||
font-weight: 400;
|
||||
font-size: 35rpx;
|
||||
}
|
||||
|
||||
.power_info_text_tip {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
font-size: 25rpx;
|
||||
}
|
||||
|
||||
.power_item {
|
||||
padding: 30rpx 25rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.power_item_title {
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.power_item_icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
}
|
||||
|
||||
.line {
|
||||
width: 95%;
|
||||
margin: 0 auto;
|
||||
height: 2rpx;
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.environment {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
font-size: 24rpx;
|
||||
margin-top: 25%;
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
// pages/adduserssuccess/index.js
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
@ -0,0 +1,2 @@
|
||||
<!--pages/adduserssuccess/index.wxml-->
|
||||
<text>pages/adduserssuccess/index.wxml</text>
|
@ -0,0 +1,82 @@
|
||||
// pages/adlogin/adlogin.js
|
||||
Page({
|
||||
data: {
|
||||
account:'',
|
||||
password:''
|
||||
},
|
||||
|
||||
//获取输入的账号
|
||||
getAccount(evt) {
|
||||
//console.log('账号', evt.detail.value)
|
||||
this.setData({
|
||||
account: evt.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
//获取管理员输入的密码
|
||||
getPassword(event) {
|
||||
// console.log('密码', event.detail.value)
|
||||
this.setData({
|
||||
password: event.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
//点击管理员登陆
|
||||
guanliyuanlogin() {
|
||||
|
||||
let account = this.data.account
|
||||
let password = this.data.password
|
||||
console.log('管理员账号', account, '管理员密码', password)
|
||||
if (account.length < 4) {
|
||||
wx.showToast({
|
||||
icon: 'none',
|
||||
title: '账号至少4位',
|
||||
})
|
||||
return
|
||||
}
|
||||
if (password.length < 4) {
|
||||
wx.showToast({
|
||||
icon: 'none',
|
||||
title: '密码至少4位',
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
//管理员登陆
|
||||
wx.cloud.database().collection('manager').where({
|
||||
account: account
|
||||
}).get({
|
||||
success(res) {
|
||||
console.log("获取数据成功", res)
|
||||
let manager = res.data[0]
|
||||
console.log("manager", manager)
|
||||
if (password == manager.password) {
|
||||
console.log('登陆成功')
|
||||
wx.showToast({
|
||||
title: '登陆成功',
|
||||
})
|
||||
// wx.navigateTo({
|
||||
// url: '../home/home?name=' + user.name,
|
||||
// })
|
||||
wx.navigateTo({
|
||||
url: '../index/index',
|
||||
})
|
||||
//保存管理员登陆状态
|
||||
wx.setStorageSync('manager', manager)
|
||||
} else {
|
||||
console.log('登陆失败')
|
||||
wx.showToast({
|
||||
icon: 'none',
|
||||
title: '账号或密码不正确',
|
||||
})
|
||||
}
|
||||
},
|
||||
fail(res) {
|
||||
console.log("获取数据失败", res)
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
})
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
输入管理员账号
|
||||
<input class="input" bindinput="getAccount"></input>
|
||||
输入管理员密码
|
||||
<input class="input" bindinput="getPassword"></input>
|
||||
<button bindtap="guanliyuanlogin" type="primary">登录</button>
|
@ -0,0 +1,5 @@
|
||||
/* pages/adlogin/adlogin.wxss */
|
||||
.input{
|
||||
border: 1px solid gainsboro;
|
||||
margin: 20rpx;
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
// pages/delete/index.js
|
||||
const db = wx.cloud.database()
|
||||
Page({
|
||||
removeuser:function(){
|
||||
wx.navigateTo({
|
||||
url: '/pages/deleteuser/index',
|
||||
})
|
||||
},
|
||||
removeusers:function(){
|
||||
wx.navigateTo({
|
||||
url: '/pages/deleteusers/index',
|
||||
})
|
||||
},
|
||||
})
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
<!--pages/delete/index.wxml-->
|
||||
<view class="delete">
|
||||
<button class="button" type="primary" bindtap="removeuser">删除单个用户</button>
|
||||
</view>
|
||||
<view class="delete">
|
||||
<button class="button" type="primary" bindtap="removeusers">删除一批用户</button>
|
||||
</view>
|
@ -0,0 +1,100 @@
|
||||
/* pages/delete/index.wxss */
|
||||
page {
|
||||
padding-top: 54rpx;
|
||||
background-color: #f6f6f6;
|
||||
padding-bottom: 60rpx;
|
||||
}
|
||||
|
||||
.button {
|
||||
margin-top: 50px;
|
||||
margin-left: 50px;
|
||||
margin-right: 50px;
|
||||
}
|
||||
|
||||
|
||||
.title {
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #000000;
|
||||
font-size: 44rpx;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.top_tip {
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #888888;
|
||||
margin-bottom: 28rpx;
|
||||
}
|
||||
|
||||
.power {
|
||||
margin-top: 30rpx;
|
||||
border-radius: 5px;
|
||||
background-color: white;
|
||||
width: 93%;
|
||||
padding-bottom: 1rpx;
|
||||
}
|
||||
|
||||
.power_info {
|
||||
display: flex;
|
||||
padding: 30rpx 25rpx;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.power_info_more {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
.power_info_less {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
|
||||
.power_info_text {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.power_info_text_title {
|
||||
margin-bottom: 10rpx;
|
||||
font-weight: 400;
|
||||
font-size: 35rpx;
|
||||
}
|
||||
|
||||
.power_info_text_tip {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
font-size: 25rpx;
|
||||
}
|
||||
|
||||
.power_item {
|
||||
padding: 30rpx 25rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.power_item_title {
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.power_item_icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
}
|
||||
|
||||
.line {
|
||||
width: 95%;
|
||||
margin: 0 auto;
|
||||
height: 2rpx;
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.environment {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
font-size: 24rpx;
|
||||
margin-top: 25%;
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
// pages/deleteuser/index.js
|
||||
Page({
|
||||
inputdelID:function(e){
|
||||
this.setData({
|
||||
delUser_ID:e.detail.value
|
||||
})
|
||||
},
|
||||
removeDataFn:function(){
|
||||
wx.cloud.callFunction({
|
||||
name: 'useroption',
|
||||
data: {
|
||||
option: 'deleteuser',
|
||||
//要删除的数据
|
||||
delUser_ID:this.data.delUser_ID
|
||||
},
|
||||
success: res => {
|
||||
wx.showToast({
|
||||
title: '用户删除成功',
|
||||
})
|
||||
console.log(res)
|
||||
},
|
||||
fail: err => {
|
||||
wx.showToast({
|
||||
title: '用户删除失败',
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getback:function(){
|
||||
wx.navigateBack({
|
||||
delta:2,
|
||||
})
|
||||
}
|
||||
})
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
<!--pages/deleteuser/index.wxml-->
|
||||
<view class="delete">
|
||||
<input
|
||||
value="{{delUser_ID}}"
|
||||
placeholder="请输入要删除用户的学号"
|
||||
bindblur="inputdelID"
|
||||
/>
|
||||
</view>
|
||||
<button class="button" type="primary" bindtap="removeDataFn">删除用户</button>
|
||||
<button class="button" type="primary" bindtap="getback">返回</button>
|
@ -0,0 +1,100 @@
|
||||
/* pages/deleteuser/index.wxss */
|
||||
|
||||
page {
|
||||
padding-top: 54rpx;
|
||||
background-color: #f6f6f6;
|
||||
padding-bottom: 60rpx;
|
||||
}
|
||||
|
||||
.button {
|
||||
margin-top: 50px;
|
||||
margin-left: 50px;
|
||||
margin-right: 50px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #000000;
|
||||
font-size: 44rpx;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.top_tip {
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #888888;
|
||||
margin-bottom: 28rpx;
|
||||
}
|
||||
|
||||
.power {
|
||||
margin-top: 30rpx;
|
||||
border-radius: 5px;
|
||||
background-color: white;
|
||||
width: 93%;
|
||||
padding-bottom: 1rpx;
|
||||
}
|
||||
|
||||
.power_info {
|
||||
display: flex;
|
||||
padding: 30rpx 25rpx;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.power_info_more {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
.power_info_less {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
|
||||
.power_info_text {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.power_info_text_title {
|
||||
margin-bottom: 10rpx;
|
||||
font-weight: 400;
|
||||
font-size: 35rpx;
|
||||
}
|
||||
|
||||
.power_info_text_tip {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
font-size: 25rpx;
|
||||
}
|
||||
|
||||
.power_item {
|
||||
padding: 30rpx 25rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.power_item_title {
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.power_item_icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
}
|
||||
|
||||
.line {
|
||||
width: 95%;
|
||||
margin: 0 auto;
|
||||
height: 2rpx;
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.environment {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
font-size: 24rpx;
|
||||
margin-top: 25%;
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
// pages/deleteusers/index.js
|
||||
Page({
|
||||
inputdelCollege:function(e){
|
||||
this.setData({
|
||||
delUser_College:e.detail.value,
|
||||
})
|
||||
},
|
||||
inputdelGrade:function(e){
|
||||
this.setData({
|
||||
delUser_Grade:e.detail.value,
|
||||
})
|
||||
},
|
||||
inputdelClass:function(e){
|
||||
this.setData({
|
||||
delUser_Class:e.detail.value,
|
||||
})
|
||||
},
|
||||
removeDataFn:function(){
|
||||
wx.cloud.callFunction({
|
||||
name: 'useroption',
|
||||
data: {
|
||||
option: 'deleteusers',
|
||||
//要删除的数据
|
||||
delUser_College:this.data.delUser_College,
|
||||
delUser_Grade:this.data.delUser_Grade,
|
||||
delUser_Class:this.data.delUser_Class
|
||||
},
|
||||
success: res => {
|
||||
wx.showToast({
|
||||
title: '用户删除成功',
|
||||
})
|
||||
console.log(res)
|
||||
},
|
||||
fail: err => {
|
||||
wx.showToast({
|
||||
title: '用户删除失败',
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getback:function(){
|
||||
wx.navigateBack({
|
||||
delta:2,
|
||||
})
|
||||
}
|
||||
})
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
<!--pages/deleteusers/index.wxml-->
|
||||
<view class="delete">
|
||||
<input
|
||||
value="{{delUser_College}}"
|
||||
placeholder="请输入要删除用户的院系"
|
||||
bindblur="inputdelCollege"
|
||||
/>
|
||||
<input
|
||||
value="{{delUser_Grade}}"
|
||||
placeholder="请输入要删除用户的年级"
|
||||
bindblur="inputdelGrade"
|
||||
/>
|
||||
<input
|
||||
value="{{delUser_Class}}"
|
||||
placeholder="请输入要删除用户的班级"
|
||||
bindblur="inputdelClass"
|
||||
/>
|
||||
</view>
|
||||
<button class="button" type="primary" bindtap="removeDataFn">删除用户</button>
|
||||
<button class="button" type="primary" bindtap="getback">返回</button>
|
@ -0,0 +1,100 @@
|
||||
/* pages/deleteusers/index.wxss */
|
||||
|
||||
page {
|
||||
padding-top: 54rpx;
|
||||
background-color: #f6f6f6;
|
||||
padding-bottom: 60rpx;
|
||||
}
|
||||
|
||||
.button {
|
||||
margin-top: 50px;
|
||||
margin-left: 50px;
|
||||
margin-right: 50px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #000000;
|
||||
font-size: 44rpx;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.top_tip {
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #888888;
|
||||
margin-bottom: 28rpx;
|
||||
}
|
||||
|
||||
.power {
|
||||
margin-top: 30rpx;
|
||||
border-radius: 5px;
|
||||
background-color: white;
|
||||
width: 93%;
|
||||
padding-bottom: 1rpx;
|
||||
}
|
||||
|
||||
.power_info {
|
||||
display: flex;
|
||||
padding: 30rpx 25rpx;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.power_info_more {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
.power_info_less {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
|
||||
.power_info_text {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.power_info_text_title {
|
||||
margin-bottom: 10rpx;
|
||||
font-weight: 400;
|
||||
font-size: 35rpx;
|
||||
}
|
||||
|
||||
.power_info_text_tip {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
font-size: 25rpx;
|
||||
}
|
||||
|
||||
.power_item {
|
||||
padding: 30rpx 25rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.power_item_title {
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.power_item_icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
}
|
||||
|
||||
.line {
|
||||
width: 95%;
|
||||
margin: 0 auto;
|
||||
height: 2rpx;
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.environment {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
font-size: 24rpx;
|
||||
margin-top: 25%;
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
// pages/deleteuserssuccess/index.js
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
@ -0,0 +1,2 @@
|
||||
<!--pages/deleteuserssuccess/index.wxml-->
|
||||
<text>pages/deleteuserssuccess/index.wxml</text>
|
@ -0,0 +1,36 @@
|
||||
var amapFile = require('../../utils/amap-wx.js');
|
||||
var app = getApp();
|
||||
|
||||
Page({
|
||||
data: {
|
||||
city:"天津",
|
||||
weather:"晴",
|
||||
temperature:"10",
|
||||
windpower:"18级",
|
||||
winddirection:"南",
|
||||
humidity:"5",
|
||||
},
|
||||
onLoad: function(options){
|
||||
var that = this;
|
||||
var myAmapFun = new amapFile.AMapWX({key:'78a99442f6e5cad3bfb832e33bdcf629'});
|
||||
myAmapFun.getWeather({
|
||||
success: function(res){
|
||||
//成功回调
|
||||
console.log("调取天气接口成功", res)
|
||||
// 一定要在接口里进行赋值,否则接口数据还未返回,页面就已经将数据取走进行显示
|
||||
that.setData({
|
||||
city: res.city.data,
|
||||
weather: res.weather.data,
|
||||
temperature: res.temperature.data,
|
||||
windpower: res.windpower.data,
|
||||
winddirection: res.winddirection.data,
|
||||
humidity: res.humidity.data
|
||||
})
|
||||
},
|
||||
fail: function(info){
|
||||
//失败回调
|
||||
console.log(info)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "天气",
|
||||
"usingComponents": {}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
<!--pages/getWeather/getWeather.wxml-->
|
||||
<view class="container">
|
||||
<!--定义页面结构,使用文本组件或其他组件 -->
|
||||
<view class="weather">城市:{{city}}</view>
|
||||
<view>天气:{{weather}}</view>
|
||||
<view>温度:{{temperature}}</view>
|
||||
<view>风力:{{windpower}}</view>
|
||||
<view>风向:{{winddirection}}</view>
|
||||
<view>湿度:{{humidity}}</view>
|
||||
</view>
|
@ -0,0 +1,14 @@
|
||||
/* pages/getWeather/getWeather.wxss */
|
||||
|
||||
.container{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: #4D8AD7;
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
padding-top: 200rpx;
|
||||
padding-left: 150rpx;
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
// pages/home/home.js
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
<!--pages/home/home.wxml-->
|
||||
<text>pages/home/home.wxml</text>
|
@ -0,0 +1 @@
|
||||
/* pages/home/home.wxss */
|
@ -0,0 +1,64 @@
|
||||
// pages/index/index.js
|
||||
//连接数据库
|
||||
const db = wx.cloud.database()
|
||||
Page({
|
||||
data: {
|
||||
loginOK: false
|
||||
},
|
||||
//information
|
||||
information() {
|
||||
wx.navigateTo({
|
||||
url: '/pages/ModifyInformation/ModifyInformation',
|
||||
})
|
||||
},
|
||||
//account
|
||||
account() {
|
||||
wx.navigateTo({
|
||||
url: '/pages/index/index'
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
|
||||
|
||||
|
||||
//使用云函数
|
||||
//插入数据(增)
|
||||
add:function(e){
|
||||
wx.navigateTo({
|
||||
url: '/pages/adduser/index',
|
||||
})
|
||||
},
|
||||
|
||||
//删除数据(删)
|
||||
removeDataFn:function(){
|
||||
wx.navigateTo({
|
||||
url: '/pages/delete/index',
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
//查询数据(查)
|
||||
searchDataNameFn:function(){
|
||||
wx.navigateTo({
|
||||
url: '/pages/selectusers/index',
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
//修改数据(改)
|
||||
updateDataFn(){
|
||||
wx.navigateTo({
|
||||
url: '/pages/updateusers/index',
|
||||
})
|
||||
},
|
||||
//返回
|
||||
getback:function(){
|
||||
wx.navigateBack({
|
||||
delta: 1,
|
||||
})
|
||||
},
|
||||
})
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"usingComponents": {
|
||||
"cloud-tip-modal": "/components/cloudTipModal/index"
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
<!--pages/index/index.wxml-->
|
||||
<view class="add">
|
||||
<button class="button" bindtap="add" type="primary">增加用户</button>
|
||||
</view>
|
||||
|
||||
<view class="delete">
|
||||
<button class="button" type="primary" bindtap="removeDataFn">删除用户</button>
|
||||
</view>
|
||||
|
||||
<view class="get">
|
||||
<button class="button" type="primary" bindtap="searchDataNameFn">查询用户</button>
|
||||
</view>
|
||||
|
||||
<view class="update">
|
||||
<button class="button" type="primary" bindtap="updateDataFn">修改用户</button>
|
||||
</view>
|
||||
<view class="ModifyAccount">
|
||||
<button class="information" type="primary" bindtap="information" style="width: 425rpx; height: 99rpx; display: block; box-sizing: border-box; left: -213rpx; top: 197rpx; position: relative">修改公告栏信息</button>
|
||||
<button class="account" type="primary" bindtap="account" style="width: 392rpx; height: 99rpx; display: block; box-sizing: border-box; left: 197rpx; top: 99rpx; position: relative">管理账户信息</button>
|
||||
</view>
|
||||
|
||||
|
||||
|
@ -0,0 +1,101 @@
|
||||
/**index.wxss**/
|
||||
|
||||
page {
|
||||
padding-top: 54rpx;
|
||||
background-color: #f6f6f6;
|
||||
padding-bottom: 60rpx;
|
||||
}
|
||||
|
||||
.button {
|
||||
margin-top: 50px;
|
||||
margin-left: 50px;
|
||||
margin-right: 50px;
|
||||
}
|
||||
|
||||
|
||||
.title {
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #000000;
|
||||
font-size: 44rpx;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.top_tip {
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #888888;
|
||||
margin-bottom: 28rpx;
|
||||
}
|
||||
|
||||
.power {
|
||||
margin-top: 30rpx;
|
||||
border-radius: 5px;
|
||||
background-color: white;
|
||||
width: 93%;
|
||||
padding-bottom: 1rpx;
|
||||
}
|
||||
|
||||
.power_info {
|
||||
display: flex;
|
||||
padding: 30rpx 25rpx;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.power_info_more {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
.power_info_less {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
|
||||
.power_info_text {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.power_info_text_title {
|
||||
margin-bottom: 10rpx;
|
||||
font-weight: 400;
|
||||
font-size: 35rpx;
|
||||
}
|
||||
|
||||
.power_info_text_tip {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
font-size: 25rpx;
|
||||
}
|
||||
|
||||
.power_item {
|
||||
padding: 30rpx 25rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.power_item_title {
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.power_item_icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
}
|
||||
|
||||
.line {
|
||||
width: 95%;
|
||||
margin: 0 auto;
|
||||
height: 2rpx;
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.environment {
|
||||
color: rgba(0, 0, 0, 0.4);
|
||||
font-size: 24rpx;
|
||||
margin-top: 25%;
|
||||
}
|
@ -0,0 +1,90 @@
|
||||
Page({
|
||||
data: {
|
||||
name: '',
|
||||
account: '',
|
||||
password: ''
|
||||
},
|
||||
//获取用户名
|
||||
getName(event) {
|
||||
console.log('获取输入的用户名', event.detail.value)
|
||||
this.setData({
|
||||
name: event.detail.value
|
||||
})
|
||||
},
|
||||
//获取用户账号
|
||||
getAccount(event) {
|
||||
console.log('获取输入的账号', event.detail.value)
|
||||
this.setData({
|
||||
account: event.detail.value
|
||||
})
|
||||
},
|
||||
// 获取密码
|
||||
getPassword(event) {
|
||||
console.log('获取输入的密码', event.detail.value)
|
||||
this.setData({
|
||||
password: event.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
//注册
|
||||
adzhuce() {
|
||||
let name = this.data.name
|
||||
let account = this.data.account
|
||||
let password = this.data.password
|
||||
console.log("点击了注册")
|
||||
console.log("name", name)
|
||||
console.log("account", account)
|
||||
console.log("password", password)
|
||||
//校验用户名
|
||||
if (name.length < 2) {
|
||||
wx.showToast({
|
||||
icon: 'none',
|
||||
title: '用户名至少2位',
|
||||
})
|
||||
return
|
||||
}
|
||||
if (name.length > 10) {
|
||||
wx.showToast({
|
||||
icon: 'none',
|
||||
title: '用户名最多10位',
|
||||
})
|
||||
return
|
||||
}
|
||||
//校验账号
|
||||
if (account.length < 4) {
|
||||
wx.showToast({
|
||||
icon: 'none',
|
||||
title: '账号至少4位',
|
||||
})
|
||||
return
|
||||
}
|
||||
//校验密码
|
||||
if (password.length < 4) {
|
||||
wx.showToast({
|
||||
icon: 'none',
|
||||
title: '密码至少4位',
|
||||
})
|
||||
return
|
||||
}
|
||||
//注册功能的实现
|
||||
wx.cloud.database().collection('manager').add({
|
||||
data: {
|
||||
name: name,
|
||||
account: account,
|
||||
password: password
|
||||
},
|
||||
success(res) {
|
||||
console.log('注册成功', res)
|
||||
wx.showToast({
|
||||
title: '注册成功',
|
||||
})
|
||||
wx.navigateTo({
|
||||
url: '../adlogin/adlogin',
|
||||
})
|
||||
},
|
||||
fail(res) {
|
||||
console.log('注册失败', res)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|