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 @@ - - - - - \ 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内容,支持的标签及属性可参考: -``` - 或 :加粗文本。 - 或 :斜体文本。 -:下划线文本。 -:上标文本。 -:下标文本。 -:等宽字体文本。 -:放大字体。 -:缩小字体。 - 或 或 :带有删除线的文本。 -

:段落。 -

:块级容器。 -

,

,

,

,

,
:区域标题元素。 -
    ,
      ,
    1. :无序列表和有序列表。 -
      :换行。 - 和 :设置文本颜色和大小。 -``` - -## 示例 - -``` - -``` \ 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;