From 0e8ba159ee77832da2a1f39a4be581bebad0485b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A7=A6=E5=BD=A6=E7=A5=96?= <605893810@qq.com>
Date: Tue, 3 Feb 2026 21:46:29 +0800
Subject: [PATCH] =?UTF-8?q?feat:=E5=8E=BB=E6=8E=89app=E7=9A=84=E6=9D=83?=
=?UTF-8?q?=E9=99=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
App.vue | 7 +-
pages/login_package/login/login.vue | 1080 ++++++++---------
.../changelog.md | 8 -
.../package.json | 115 --
.../readme.md | 95 --
.../utssdk/app-android/AndroidManifest.xml | 3 -
.../utssdk/app-android/config.json | 3 -
.../utssdk/app-android/index.uts | 148 ---
.../res/anim/popupwindow_enter.xml | 6 -
.../app-android/res/anim/popupwindow_exit.xml | 5 -
.../drawable/dcloud_permission_background.xml | 6 -
.../utssdk/interface.uts | 19 -
utils/permissionTips.js | 128 --
utils/request.js | 246 ++--
14 files changed, 663 insertions(+), 1206 deletions(-)
delete mode 100644 uni_modules/uni-registerRequestPermissionTips/changelog.md
delete mode 100644 uni_modules/uni-registerRequestPermissionTips/package.json
delete mode 100644 uni_modules/uni-registerRequestPermissionTips/readme.md
delete mode 100644 uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/AndroidManifest.xml
delete mode 100644 uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/config.json
delete mode 100644 uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/index.uts
delete mode 100644 uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/res/anim/popupwindow_enter.xml
delete mode 100644 uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/res/anim/popupwindow_exit.xml
delete mode 100644 uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/res/drawable/dcloud_permission_background.xml
delete mode 100644 uni_modules/uni-registerRequestPermissionTips/utssdk/interface.uts
delete mode 100644 utils/permissionTips.js
diff --git a/App.vue b/App.vue
index ad5a5c9..db4ace3 100644
--- a/App.vue
+++ b/App.vue
@@ -1,5 +1,4 @@
diff --git a/pages/login_package/login/login.vue b/pages/login_package/login/login.vue
index 061f693..ec71c19 100644
--- a/pages/login_package/login/login.vue
+++ b/pages/login_package/login/login.vue
@@ -1,541 +1,541 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- s
-
-
- 获取验证码
-
-
-
-
-
-
- 登录
-
-
- 验证码登录
- 密码登录登录
- 忘记密码
- 注册
-
-
-
-
- 其他登录方式
-
-
-
- 微信登录
-
-
-
-
- 支付宝登录
-
-
-
-
-
-
-
- 已阅读并同意
- 《服务协议》
- 、
- 《隐私政策》
- 、
- 《售后保障协议》
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/uni_modules/uni-registerRequestPermissionTips/changelog.md b/uni_modules/uni-registerRequestPermissionTips/changelog.md
deleted file mode 100644
index 67b6d9a..0000000
--- a/uni_modules/uni-registerRequestPermissionTips/changelog.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## 1.0.3(2024-10-18)
-修复4.25版引起的插件回调只触发一次的问题。
-## 1.0.2(2024-09-05)
-修复uni.chooseImage或者其他部分情况下弹窗不显示的bug。
-## 1.0.1(2024-05-30)
-修复云打包可能报错的bug
-## 1.0.0(2024-03-09)
-支持全局监听权限申请。当申请权限时,会在页面顶部显示申请权限的目的。
diff --git a/uni_modules/uni-registerRequestPermissionTips/package.json b/uni_modules/uni-registerRequestPermissionTips/package.json
deleted file mode 100644
index e730aa1..0000000
--- a/uni_modules/uni-registerRequestPermissionTips/package.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
- "id": "uni-registerRequestPermissionTips",
- "displayName": "uni-registerRequestPermissionTips",
- "version": "1.0.3",
- "description": "支持android平台全局监听权限的申请。当申请权限时,会在页面顶部显示申请权限的目的。主要解决上架华为应用市场审核要求:APP在调用终端权限时,应同步告知用户申请该权限的目的。",
- "keywords": [
- "权限",
- "权限申请",
- "上架",
- "华为"
- ],
- "repository": "",
- "engines": {
- "HBuilderX": "^4.0"
- },
- "dcloudext": {
- "type": "uts",
- "sale": {
- "regular": {
- "price": "0.00"
- },
- "sourcecode": {
- "price": "0.00"
- }
- },
- "contact": {
- "qq": ""
- },
- "declaration": {
- "ads": "无",
- "data": "无",
- "permissions": "无"
- },
- "npmurl": ""
- },
- "uni_modules": {
- "dependencies": [
- ],
- "uni-ext-api": {
- "uni": {
- "registerRequestPermissionTipsListener": {
- "name": "registerRequestPermissionTipsListener",
- "app": {
- "js": false,
- "kotlin": true,
- "swift": false
- }
- },
- "unregisterRequestPermissionTipsListener": {
- "name": "unregisterRequestPermissionTipsListener",
- "app": {
- "js": false,
- "kotlin": true,
- "swift": false
- }
- },
- "setRequestPermissionTips": {
- "name": "setRequestPermissionTips",
- "app": {
- "js": false,
- "kotlin": true,
- "swift": false
- }
- }
- }
- },
- "encrypt": [],
- "platforms": {
- "cloud": {
- "tcb": "y",
- "aliyun": "y",
- "alipay": "y"
- },
- "client": {
- "Vue": {
- "vue2": "y",
- "vue3": "y"
- },
- "App": {
- "app-android": "y",
- "app-ios": "n",
- "app-harmony": "u"
- },
- "H5-mobile": {
- "Safari": "n",
- "Android Browser": "n",
- "微信浏览器(Android)": "n",
- "QQ浏览器(Android)": "n"
- },
- "H5-pc": {
- "Chrome": "n",
- "IE": "n",
- "Edge": "n",
- "Firefox": "n",
- "Safari": "n"
- },
- "小程序": {
- "微信": "n",
- "阿里": "n",
- "百度": "n",
- "字节跳动": "n",
- "QQ": "n",
- "钉钉": "n",
- "快手": "n",
- "飞书": "n",
- "京东": "n"
- },
- "快应用": {
- "华为": "n",
- "联盟": "n"
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/uni_modules/uni-registerRequestPermissionTips/readme.md b/uni_modules/uni-registerRequestPermissionTips/readme.md
deleted file mode 100644
index 2673b32..0000000
--- a/uni_modules/uni-registerRequestPermissionTips/readme.md
+++ /dev/null
@@ -1,95 +0,0 @@
-## registerRequestPermissionTipsListener(listener?)
-注册权限监听事件
-## unregisterRequestPermissionTipsListener(listener?)
-取消注册权限监听事件
-
-## RequestPermissionTipsListener的属性值
-|名称 |类型 |描述 |必填 |
-|:-- |:-- |:-- |:-- |
-|onRequest |(permissions:Array)=>void |申请系统权限回调,permissions为触发权限申请的所有权限 |否 |
-|onConfirm |(permissions:Array)=>void |弹出系统权限授权框回调,permissions为触发弹出权限授权框的所有权限 |否 |
-|onComplete |(permissions:UTSJSONObject)=>void |权限申请完成回调,permissions包括权限及权限的状态。`grant`为权限已获取,`denied`为权限已拒绝 |否 |
-
-## setRequestPermissionTips(UTSJSONObject)
-设置权限监听的说明。支持针对权限设置具体的说明。
-
-参考:`{"android.permission.CAMERA":"相机权限申请说明
"}`
-
-安卓权限列表可参考[谷歌官方文档](https://developer.android.com/reference/android/Manifest.permission)。
-
-权限申请说明基于原生TextView实现,可以实现加载html内容,支持的标签及属性可参考:
-```
- 或 :加粗文本。
- 或 :斜体文本。
-:下划线文本。
-:上标文本。
-:下标文本。
-:等宽字体文本。
-:放大字体。
-:缩小字体。
- 或 或 :带有删除线的文本。
-:段落。
-
:块级容器。
-
,,,,,:区域标题元素。
-, , - :无序列表和有序列表。
-
:换行。
- 和 :设置文本颜色和大小。
-```
-
-## 示例
-
-```
-
-```
\ No newline at end of file
diff --git a/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/AndroidManifest.xml b/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/AndroidManifest.xml
deleted file mode 100644
index 1fb0490..0000000
--- a/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/AndroidManifest.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/config.json b/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/config.json
deleted file mode 100644
index 7bb39c1..0000000
--- a/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/config.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "minSdkVersion": "21"
-}
\ No newline at end of file
diff --git a/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/index.uts b/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/index.uts
deleted file mode 100644
index 8bb315e..0000000
--- a/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/index.uts
+++ /dev/null
@@ -1,148 +0,0 @@
-import { UnregisterRequestPermissionTipsListener, RegisterRequestPermissionTipsListener, RequestPermissionTipsListener, SetRequestPermissionTips } from "../interface";
-import RelativeLayout from 'android.widget.RelativeLayout';
-import LinearLayout from 'android.widget.LinearLayout';
-import Color from 'android.graphics.Color';
-import TextView from 'android.widget.TextView';
-import ViewGroup from 'android.view.ViewGroup';
-import Activity from 'android.app.Activity';
-import HashMap from 'java.util.HashMap';
-import AnimationUtils from 'android.view.animation.AnimationUtils';
-import R from 'io.dcloud.uts.permissionrequest.R'
-import Html from 'android.text.Html';
-import View from 'android.view.View';
-import Runnable from "java.lang.Runnable"
-
-let PermissionTipsView : View | null = null
-let permissionTips : HashMap = new HashMap()
-var permissionListener : RequestPermissionListener | null = null
-var listener : RequestPermissionTipsListener | null = null
-
-@UTSJS.keepAlive
-export function unregisterRequestPermissionTipsListener(e : RequestPermissionTipsListener | null) {
- listener = null;
- if (permissionListener != null) {
- permissionListener!.stop()
- permissionListener = null
- }
- if (PermissionTipsView != null) {
- if (PermissionTipsView!.getParent() != null) {
- PermissionTipsView!.setAnimation(null);
- ((PermissionTipsView!.getParent()) as ViewGroup).removeView(PermissionTipsView)
- }
- PermissionTipsView = null
- }
-}
-
-@UTSJS.keepAlive
-export function registerRequestPermissionTipsListener(l : RequestPermissionTipsListener | null) {
- listener = l
- if (permissionListener == null) {
- permissionListener = uni.createRequestPermissionListener()
- permissionListener!.onRequest((permissions : Array) => {
- if (listener != null)
- listener!.onRequest?.invoke(permissions)
- })
- permissionListener!.onConfirm((permissions : Array) => {
- UTSAndroid.getUniActivity()!.runOnUiThread(new ConfirmRunnable(permissions))
- })
- permissionListener!.onComplete((permissions : Array) => {
- UTSAndroid.getUniActivity()!.runOnUiThread(new CompleteRunnable(permissions))
- })
- }
-}
-
-class ConfirmRunnable implements Runnable {
- permissions : Array
- constructor(permissions : Array) {
- this.permissions = permissions
- }
- override run() {
- let activity = UTSAndroid.getUniActivity()!
- if (PermissionTipsView != null && PermissionTipsView!.getParent() != null) {
- PermissionTipsView!.setAnimation(null);
- ((PermissionTipsView!.getParent()) as ViewGroup).removeView(PermissionTipsView)
- }
- if (this.permissions.length > 0) {
- try {
- PermissionTipsView = createPermissionWindow(activity, this.permissions);
- if (PermissionTipsView != null) {
- (activity.findViewById(android.R.id.content) as ViewGroup).addView(PermissionTipsView!)
- }
- } catch (e) {
- console.log(e)
- }
- }
- if (listener != null)
- listener!.onConfirm?.invoke(this.permissions)
- }
-}
-
-class CompleteRunnable implements Runnable {
- permissions : Array
- constructor(permissions : Array) {
- this.permissions = permissions
- }
- override run() {
- let activity = UTSAndroid.getUniActivity()!
- if (PermissionTipsView != null) {
- PermissionTipsView!.setAnimation(AnimationUtils.loadAnimation(activity, R.anim.popupwindow_exit));
- ((PermissionTipsView!.getParent()) as ViewGroup).removeView(PermissionTipsView!)
- PermissionTipsView = null
- }
- if (listener != null) {
- var permissionStatus = {}
- for (var p in this.permissions) {
- permissionStatus[p] = UTSAndroid.checkSystemPermissionGranted(UTSAndroid.getUniActivity()!, [p]) ? "grant" : "denied"
- }
- listener!.onComplete?.invoke(permissionStatus)
- }
- }
-}
-
-export const setRequestPermissionTips : SetRequestPermissionTips = (tips : UTSJSONObject) => {
- permissionTips.clear()
- for (var k in tips) {
- permissionTips.put(k, tips[k] != null ? tips[k].toString() : "")
- }
-}
-
-function createPermissionWindow(activity : Activity, permissions : Array) : ViewGroup | null {
- let rootView = new RelativeLayout(activity);
- rootView.setBackgroundColor(Color.TRANSPARENT);
- let backgroundView = new LinearLayout(activity);
- backgroundView.setPadding(30, 0, 30, 30);
- backgroundView.setOrientation(1)
- backgroundView.setBackgroundResource(R.drawable.dcloud_permission_background);
- let permissionTipsList : Array = new Array()
- for (var p in permissions) {
- if (permissionTips.containsKey(p) && permissionTipsList.indexOf(permissionTips.get(p)) == -1) {
- permissionTipsList.push(permissionTips.get(p)!)
- }
- }
- for (var p in permissionTipsList) {
- let text = new TextView(activity);
- text.setText(Html.fromHtml(p, Html.FROM_HTML_SEPARATOR_LINE_BREAK_HEADING))
- text.setPadding(0, 30, 0, 0)
- text.setTextSize((5 * getScale()).toFloat())
- text.setTextColor(Color.BLACK)
- backgroundView.addView(text)
- }
- if (backgroundView.getChildCount() == 0) {
- return null;
- }
- let rll = new RelativeLayout.LayoutParams(-1, -2)
- rll.topMargin = (UTSAndroid.getStatusBarHeight() * getScale()).toInt();
- rll.leftMargin = 30;
- rll.rightMargin = 30;
- rll.bottomMargin = 30;
- rootView.addView(backgroundView, rll)
- rootView.setAnimation(AnimationUtils.loadAnimation(activity, R.anim.popupwindow_enter));
- return rootView;
-}
-
-function getScale() : Float {
- if (UTSAndroid.getUniActivity() != null) {
- return UTSAndroid.getUniActivity()!.resources.displayMetrics.scaledDensity
- }
- return (0 as number).toFloat();
-}
\ No newline at end of file
diff --git a/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/res/anim/popupwindow_enter.xml b/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/res/anim/popupwindow_enter.xml
deleted file mode 100644
index a4fe5da..0000000
--- a/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/res/anim/popupwindow_enter.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/res/anim/popupwindow_exit.xml b/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/res/anim/popupwindow_exit.xml
deleted file mode 100644
index e5ddc69..0000000
--- a/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/res/anim/popupwindow_exit.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
\ No newline at end of file
diff --git a/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/res/drawable/dcloud_permission_background.xml b/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/res/drawable/dcloud_permission_background.xml
deleted file mode 100644
index de0205a..0000000
--- a/uni_modules/uni-registerRequestPermissionTips/utssdk/app-android/res/drawable/dcloud_permission_background.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/uni_modules/uni-registerRequestPermissionTips/utssdk/interface.uts b/uni_modules/uni-registerRequestPermissionTips/utssdk/interface.uts
deleted file mode 100644
index 7183053..0000000
--- a/uni_modules/uni-registerRequestPermissionTips/utssdk/interface.uts
+++ /dev/null
@@ -1,19 +0,0 @@
-export type RequestPermissionTipsListener = {
- onRequest ?: ((permissions : Array) => void) | null,
- onConfirm ?: ((permission : Array) => void) | null,
- onComplete ?: ((permissions : UTSJSONObject) => void) | null
-}
-
-
-export type RegisterRequestPermissionTipsListener = (listener : RequestPermissionTipsListener | null) => void
-export type UnregisterRequestPermissionTipsListener = (listener : RequestPermissionTipsListener | null) => void
-export type SetRequestPermissionTips = (tips : UTSJSONObject) => void
-
-export interface Uni {
-
- registerRequestPermissionTipsListener : RegisterRequestPermissionTipsListener,
-
- unregisterRequestPermissionTipsListener : UnregisterRequestPermissionTipsListener
-
- setRequestPermissionTips : SetRequestPermissionTips
-}
\ No newline at end of file
diff --git a/utils/permissionTips.js b/utils/permissionTips.js
deleted file mode 100644
index c11a29b..0000000
--- a/utils/permissionTips.js
+++ /dev/null
@@ -1,128 +0,0 @@
-// #ifdef APP-PLUS
-import {
- registerRequestPermissionTipsListener,
- unregisterRequestPermissionTipsListener,
- setRequestPermissionTips,
-} from "@/uni_modules/uni-registerRequestPermissionTips";
-// #endif
-
-// 权限提示
-var PermissionTips = {};
-PermissionTips["android.permission.CAMERA"] =
- '获取相机权限
获取相机权限用于通过手机app扫码登录网页端、拍照上传图片服务';
-export const initPermissionTips = () => {
- // console.log("App Launch - Init Permission Tips");
- if (uni.getSystemInfoSync().platform === "android") {
- var brand = uni.getSystemInfoSync().deviceBrand;
- setRequestPermissionTips(PermissionTips);
- registerRequestPermissionTipsListener({
- onRequest: (e) => {
- console.log(e);
- },
- onConfirm: (e) => {
- console.log(e);
- },
- onComplete: (e) => {
-
- // 华为手机在权限禁止之后,再次申请权限不会出现权限申请框。此时应该引导用户去系统设置开启此权限,不应该频繁申请。
- if (
- brand.toLowerCase() == "huawei" ||
- brand.toLowerCase() == "honor"
- ) {
- var tips = {};
- var hasDeniedPermission = false;
- var currentPermission = null;
- for (var k in PermissionTips) {
- if (e[k] != "denied") {
- tips[k] = PermissionTips[k];
- } else {
- currentPermission = k;
- hasDeniedPermission = true;
- }
- }
- setRequestPermissionTips(tips); // 更新弹框提醒,防止华为手机不出现权限申请框时权限提醒框闪烁的情况
- if (
- hasDeniedPermission &&
- currentPermission !== "android.permission.WRITE_EXTERNAL_STORAGE"
- )
- uni.showModal({
- content: "权限已经被拒绝,请前往设置中开启",
- });
- }
- },
- });
- }
-}
-
-export const removePermissionTipsListener = () => {
- unregisterRequestPermissionTipsListener(null);
-}
-
-
-// 麦克风权限授权工具
-export function authorizeMicrophone() {
- return new Promise((resolve, reject) => {
- // #ifdef H5
- // H5环境通常在调用start时会自动请求权限,这里直接resolve
- // 或者可以使用 getUserMedia 预请求
- resolve();
- // #endif
-
- // #ifndef H5
- if (plus.os.name === "iOS") {
- const avAudioSession = plus.ios.import("AVAudioSession");
- const avAudio = avAudioSession.sharedInstance();
- const permissionStatus = avAudio.recordPermission();
- console.log("iOS麦克风权限状态:", permissionStatus);
-
- if (permissionStatus === 1735552628) {
- // 已授权
- resolve();
- } else if (permissionStatus === 1684369017) {
- // 已拒绝,提示去设置
- console.log("麦克风权限被拒绝");
- reject("麦克风权限被拒绝,请在设置中开启");
- uni.showModal({
- title: "提示",
- content: "请在设置中开启麦克风权限",
- success: function (res) {
- if (res.confirm) {
- plus.runtime.openURL("app-settings:");
- }
- },
- });
- } else {
- // 未决定 (Undetermined),请求权限
- console.log("请求麦克风权限...");
- avAudio.requestRecordPermission((granted) => {
- console.log("授权结果:", granted);
- if (granted) {
- resolve();
- } else {
- reject("用户拒绝授权");
- }
- });
- }
- } else if (plus.os.name === "Android") {
- plus.android.requestPermissions(
- ["android.permission.RECORD_AUDIO"],
- (resultObj) => {
- if (resultObj.granted.length > 0) {
- resolve();
- } else {
- reject("已拒绝安卓录音权限");
- }
- },
- (error) => {
- console.error(`申请安卓权限错误:${error.code} = ${error.message}`);
- reject(error);
- }
- );
- } else {
- // 其他平台默认 resolve
- resolve();
- }
- // #endif
- });
-}
-
diff --git a/utils/request.js b/utils/request.js
index 11b1b74..7af91df 100644
--- a/utils/request.js
+++ b/utils/request.js
@@ -1,133 +1,131 @@
-import {
- getStorageFun,
- TOKEN_NAME
-} from "./auth.js";
-import {
- BASE_URL,
- Authorization
-} from "@/utils/config.js";
+import { getStorageFun, TOKEN_NAME, USER_DATA } from "./auth.js";
+import { BASE_URL, Authorization } from "@/utils/config.js";
// utils/http.js (修改后的版本)
// const baseUrl = 'http://192.168.0.108:8087';
function request(options) {
- const {
- url,
- method = "GET",
- data = {},
- headers = {},
- isShowLoading = true,
- } = options;
+ const {
+ url,
+ method = "GET",
+ data = {},
+ headers = {},
+ isShowLoading = true,
+ } = options;
- // const token = uni.getStorageSync(tokenKey); // 获取token, 根据实际情况调整获取方式
- const token = getStorageFun(TOKEN_NAME); // 获取token, 根据实际情况调整获取方式
- let defaultHeaders = {
- Authorization: Authorization,
- "HSM-AUTH": token ? token : "", // 如果存在token, 则添加到请求头中
- "content-type": ["post", "POST"].includes(method) ?
- "application/x-www-form-urlencoded" :
- "application/json",
- };
- if (options.cha) {
- defaultHeaders["content-type"] = "application/json";
- }
- if (token) {
- defaultHeaders["HSM-AUTH"] = token;
- }
- return new Promise((resolve, reject) => {
- if (isShowLoading) {
- // 请求之前做一些事
- uni.showToast({
- title: "加载中...",
- image:"https://static.tbmall.xin/static/loading.gif",
- // image: "/static/common/loading.gif", // 本地图片路径
- position: "middle", // 可选:top/middle/bottom
- });
- }
- uni.request({
- url: BASE_URL + url,
- method,
- data,
- header: {
- ...defaultHeaders,
- ...headers, // 使用展开运算符合并默认头和自定义头
- },
- success: (res) => {
- if (isShowLoading) {
- // 请求之前做一些事
- uni.hideToast();
- }
+ // const token = uni.getStorageSync(tokenKey); // 获取token, 根据实际情况调整获取方式
+ const token = getStorageFun(TOKEN_NAME); // 获取token, 根据实际情况调整获取方式
+ let defaultHeaders = {
+ Authorization: Authorization,
+ "HSM-AUTH": token ? token : "", // 如果存在token, 则添加到请求头中
+ "content-type": ["post", "POST"].includes(method)
+ ? "application/x-www-form-urlencoded"
+ : "application/json",
+ };
+ if (options.cha) {
+ defaultHeaders["content-type"] = "application/json";
+ }
+ if (token) {
+ defaultHeaders["HSM-AUTH"] = token;
+ }
+ return new Promise((resolve, reject) => {
+ if (isShowLoading) {
+ // 请求之前做一些事
+ uni.showToast({
+ title: "加载中...",
+ image: "https://static.tbmall.xin/static/loading.gif",
+ // image: "/static/common/loading.gif", // 本地图片路径
+ position: "middle", // 可选:top/middle/bottom
+ });
+ }
+ uni.request({
+ url: BASE_URL + url,
+ method,
+ data,
+ header: {
+ ...defaultHeaders,
+ ...headers, // 使用展开运算符合并默认头和自定义头
+ },
+ success: (res) => {
+ if (isShowLoading) {
+ // 请求之前做一些事
+ uni.hideToast();
+ }
- let data = res.data;
- if (data && typeof data === "string") {
- data = JSON.parse(data);
- }
- if (data.status === 500) {
- uni.showToast({
- title: "系统异常,请稍后再试",
- icon: "none", // 可选 success/loading/none
- duration: 2000, // 持续时长,单位ms
- mask: false, // 是否显示透明蒙层,防止触摸穿透
- });
- return;
- }
- // 601 微信登录没注册
- if (data.bizcode === 100) {
- resolve(data); // 成功时返回数据
- } else if (data.bizcode === 201) {
- if ([201, 200].includes(data.errcode)) {
- uni.showToast({
- title: "登录失效,请重新登录",
- icon: "none", // 可选 success/loading/none
- duration: 2000, // 持续时长,单位ms
- mask: false, // 是否显示透明蒙层,防止触摸穿透
- position: "middle", // 位置,可选 top/middle/bottom
- });
- } else {
- uni.showToast({
- title: data.msg,
- icon: "none", // 可选 success/loading/none
- duration: 2000, // 持续时长,单位ms
- mask: false, // 是否显示透明蒙层,防止触摸穿透
- position: "middle", // 位置,可选 top/middle/bottom
- });
- }
- /**
- * 205:已经有账号,返回登录页面
- * 200 or 201:token失效,返回登录页面
- */
- if ([201, 200, 205].includes(data.errcode)) {
- setTimeout(() => {
- uni.navigateTo({
- url: "/pages/login_package/login/login",
- });
- }, 2000);
- }
- } else {
- console.log("错误-1",data, url)
- uni.showToast({
- title: data.msg || "系统错误,请稍后再试",
- icon: "none", // 可选 success/loading/none
- duration: 2000, // 持续时长,单位ms
- });
- reject(data); // 其他错误情况返回错误信息
- }
- },
- fail: (error) => {
- console.log("错误-2", url)
- if (isShowLoading) {
- // 请求之前做一些事
- uni.hideToast();
- }
- uni.showToast({
- title: "服务器异常,稍后再试",
- icon: "none", // 可选 success/loading/none
- duration: 2000, // 持续时长,单位ms
- });
- // reject(error); // 请求失败时返回错误信息
- },
- });
- });
+ let data = res.data;
+ if (data && typeof data === "string") {
+ data = JSON.parse(data);
+ }
+ if (data.status === 500) {
+ uni.showToast({
+ title: "系统异常,请稍后再试",
+ icon: "none", // 可选 success/loading/none
+ duration: 2000, // 持续时长,单位ms
+ mask: false, // 是否显示透明蒙层,防止触摸穿透
+ });
+ return;
+ }
+ // 601 微信登录没注册
+ if (data.bizcode === 100) {
+ resolve(data); // 成功时返回数据
+ } else if (data.bizcode === 201) {
+ if ([201, 200].includes(data.errcode)) {
+ uni.showToast({
+ title: "登录失效,请重新登录",
+ icon: "none", // 可选 success/loading/none
+ duration: 2000, // 持续时长,单位ms
+ mask: false, // 是否显示透明蒙层,防止触摸穿透
+ position: "middle", // 位置,可选 top/middle/bottom
+ });
+ } else {
+ uni.showToast({
+ title: data.msg,
+ icon: "none", // 可选 success/loading/none
+ duration: 2000, // 持续时长,单位ms
+ mask: false, // 是否显示透明蒙层,防止触摸穿透
+ position: "middle", // 位置,可选 top/middle/bottom
+ });
+ }
+ /**
+ * 205:已经有账号,返回登录页面
+ * 200 or 201:token失效,返回登录页面
+ */
+ if ([201, 200, 205].includes(data.errcode)) {
+ uni.removeStorageSync(TOKEN_NAME);
+ uni.removeStorageSync(USER_DATA);
+ let timer = setTimeout(() => {
+ clearTimeout(timer);
+ timer = null;
+ uni.navigateTo({
+ url: "/pages/login_package/login/login",
+ });
+ }, 2000);
+ }
+ } else {
+ console.log("错误-1", data, url);
+ uni.showToast({
+ title: data.msg || "系统错误,请稍后再试",
+ icon: "none", // 可选 success/loading/none
+ duration: 2000, // 持续时长,单位ms
+ });
+ reject(data); // 其他错误情况返回错误信息
+ }
+ },
+ fail: (error) => {
+ console.log("错误-2", url);
+ if (isShowLoading) {
+ // 请求之前做一些事
+ uni.hideToast();
+ }
+ uni.showToast({
+ title: "服务器异常,稍后再试",
+ icon: "none", // 可选 success/loading/none
+ duration: 2000, // 持续时长,单位ms
+ });
+ // reject(error); // 请求失败时返回错误信息
+ },
+ });
+ });
}
-export default request;
\ No newline at end of file
+export default request;