From bb40bf6ab45d2b0c3d7e73b9e6cafb846d23c57c Mon Sep 17 00:00:00 2001
From: Iruka <1017819588@qq.com>
Date: Fri, 7 Feb 2025 16:16:29 +0800
Subject: [PATCH] .
---
App.vue | 11 +-
pages.json | 6 +
pages/agreement.vue | 254 +++++++++++++++++++++++++++++++++
pages/common/webview/index.vue | 9 +-
pages/login.vue | 154 +++++---------------
pages/mine/setting/index.vue | 194 +++++++++++++------------
utils/login.js | 92 ++++++++++++
utils/request.js | 2 +-
utils/upload.js | 2 +-
9 files changed, 505 insertions(+), 219 deletions(-)
create mode 100644 pages/agreement.vue
create mode 100644 utils/login.js
diff --git a/App.vue b/App.vue
index b713cc3..d51fc6a 100644
--- a/App.vue
+++ b/App.vue
@@ -12,9 +12,9 @@
export default {
data() {
return {
- ijs: new indexUtil(), //全局地块列表管理
- dc: new deviceControl(2, this.dcEventHandler), // 设备控制类
- mqtt: new mqttUtil(mqttUrl, this.mqttStateHandler, this.mqttMsgHandler), //Mqtt
+ ijs: null, //全局地块列表管理
+ dc: null, // 设备控制类
+ mqtt: null, //Mqtt
isFirseLink: true, //Mqtt第一次链接
mqttFun: {},
landFun: {},
@@ -48,6 +48,11 @@
console.log('App Hide')
},
methods: {
+ initData() {
+ this.ijs = new indexUtil(); //全局地块列表管理
+ this.dc = new deviceControl(2, this.dcEventHandler); // 设备控制类
+ this.mqtt = new mqttUtil(mqttUrl, this.mqttStateHandler, this.mqttMsgHandler); //Mqtt
+ },
// 添加一个消息回调
on(type, key, callBack) {
switch (type) {
diff --git a/pages.json b/pages.json
index ee1698d..d60952e 100644
--- a/pages.json
+++ b/pages.json
@@ -5,6 +5,12 @@
// }
// },
"pages": [{
+ "path": "pages/agreement",
+ "style": {
+ "navigationBarTitleText": "协议",
+ "navigationStyle": "custom"
+ }
+ }, {
"path": "pages/login",
"style": {
"navigationBarTitleText": "登录",
diff --git a/pages/agreement.vue b/pages/agreement.vue
new file mode 100644
index 0000000..a6287b7
--- /dev/null
+++ b/pages/agreement.vue
@@ -0,0 +1,254 @@
+
+
+
+
+ {{appInfo.name}}
+
+
+ 数据加载中
+
+
+ 浙ICP备2023018079号-2A
+ 浙江及时雨智能灌溉设备有限责任公司
+
+
+
+
+
+
+
+ 用户协议和隐私协议
+
+
+ 我们依据相关法律制定了
+ 《用户协议》
+ 和
+ 《隐私协议》
+ ,请您在点击同意之前仔细阅读并充分理解相关条款。为了便于您理解《隐私政策》,特向您说明如下:
+
+ 1、为了向您提供服务,我们需要收集您的设备信息和操作日志;
+
+ 2、我们会采取业界先进的安全措施保护您的信息安全,未经您同意,我们不会向第三方共享您的信息;
+
+ 3、您可以对上述信息进行查询、更正、删除我们也在政策中提供专门的个人信息保护联系方式。
+
+
+ 如您同意以上协议内容,请点击"同意"接受并开始使用我们的服务。
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/common/webview/index.vue b/pages/common/webview/index.vue
index f659144..50e6e9b 100644
--- a/pages/common/webview/index.vue
+++ b/pages/common/webview/index.vue
@@ -1,8 +1,7 @@
-
+
@@ -34,15 +33,17 @@
// }
},
onReady() {
+ uni.showLoading()
// #ifdef APP-PLUS
//此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效
var currentWebview = this.$scope.$getAppWebview()
setTimeout(function() {
wv = currentWebview.children()[0]
wv.setStyle({
- top: 60
+ top: 70
})
- }, 100); //如果是页面初始化调用时,需要延时一下
+ uni.hideLoading()
+ }, 500); //如果是页面初始化调用时,需要延时一下
// #endif
}
}
diff --git a/pages/login.vue b/pages/login.vue
index 0a396ea..6473c81 100644
--- a/pages/login.vue
+++ b/pages/login.vue
@@ -50,13 +50,13 @@
-
+
【账号安全提醒】系统账号是您登录系统唯一授权凭证,如果因为账号丢失或转交给别人,导致设备运行风险,平台方概不负责。
@@ -68,36 +68,30 @@
+ .item-box {
+
+ margin: 30rpx;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ padding: 10rpx;
+ border-radius: 8rpx;
+ color: #303133;
+ font-size: 32rpx;
+ }
+
\ No newline at end of file
diff --git a/utils/login.js b/utils/login.js
new file mode 100644
index 0000000..a863fa6
--- /dev/null
+++ b/utils/login.js
@@ -0,0 +1,92 @@
+import store from '@/store'
+import {
+ getToken
+} from '@/utils/auth'
+/**
+ * 登录成功逻辑
+ */
+export function loginHandle(loginAPI) {
+ uni.showLoading({
+ mask: true
+ });
+ return new Promise((resolve, reject) => {
+ store
+ .dispatch(loginAPI.url, loginAPI.data)
+ .then(res => {
+ uni.hideLoading();
+ getInfo().then(res => {
+ resolve();
+ }).catch(error => {
+ reject(error)
+ })
+ })
+ .catch(error => {
+ reject(error)
+ })
+ .finally(() => {})
+ })
+}
+
+/**
+ * 判断token
+ */
+export function hasToken() {
+ return new Promise((resolve, reject) => {
+ // 如果存在token,则直接登录
+ if (getToken()) {
+ resolve();
+ } else {
+ reject();
+ }
+ })
+}
+
+/**
+ * 获取用户信息
+ */
+export function getInfo() {
+ //初始化app参数
+ getApp().initData();
+ getUserRoles();
+ //获取用户权限
+ return new Promise((resolve, reject) => {
+ uni.showLoading({
+ mask: true
+ });
+ // 保存用户基本信息
+ store.dispatch("GetInfo").then(result => {
+ if (result.code == 200) {
+ // 如果是手机端,则自动链接MQTT,H5手动链接,防止重复链接
+ // #ifdef APP-PLUS
+ getApp().mqttLink(result.user.userId);
+ // #endif
+
+ uni.switchTab({
+ url: '/pages/index',
+ success: () => {
+ // // 初始化数据
+ // getApp().ijs.initData(userId, (land, wo) => {
+ // getApp().getWoList(land, wo);
+ // });
+ uni.hideLoading();
+ resolve()
+ },
+ fail: () => {},
+ complete: () => {}
+ });
+ } else {
+ uni.hideLoading();
+ reject(result.msg)
+ }
+ }).finally(() => {})
+ })
+}
+
+// 用户菜单
+async function getUserRoles() {
+ store
+ .dispatch("getUserRoles")
+ .then(res => {})
+ .catch(error => {})
+ .finally(() => {})
+}
\ No newline at end of file
diff --git a/utils/request.js b/utils/request.js
index ffc21a4..abf7f3c 100644
--- a/utils/request.js
+++ b/utils/request.js
@@ -51,7 +51,7 @@ const request = config => {
store.dispatch("LogOut").then(res => {
uni.reLaunch({
- url: "/pages/login"
+ url: "/pages/agreement"
})
})
}
diff --git a/utils/upload.js b/utils/upload.js
index fac7747..2b6ce4f 100644
--- a/utils/upload.js
+++ b/utils/upload.js
@@ -37,7 +37,7 @@ const upload = config => {
showConfirm("登录状态已过期,您可以继续留在该页面,或者重新登录?").then(res => {
if (res.confirm) {
store.dispatch('LogOut').then(res => {
- uni.reLaunch({ url: '/pages/login/login' })
+ uni.reLaunch({ url: '/pages/agreement' })
})
}
})