diff --git a/packageRc/utils/auth.js b/packageRc/utils/auth.js deleted file mode 100644 index e019fd6..0000000 --- a/packageRc/utils/auth.js +++ /dev/null @@ -1,57 +0,0 @@ -// 导入uni-app的存储API -import { encrypt, decrypt } from './sm2Encrypt.js' - -const TokenKey = 'Admin-Token-tzxmgl' - -export function getToken() { - return uni.getStorageSync(TokenKey) -} - -export function setToken(token) { - uni.removeStorageSync('userName') - return uni.setStorageSync(TokenKey, token) -} - -export function removeToken() { - return clearAllStorage() -} - -function clearAllStorage() { - // 清除所有相关存储 - uni.removeStorageSync(TokenKey) - uni.removeStorageSync('username') - uni.removeStorageSync('password') - uni.removeStorageSync('rememberMe') -} - -export function removeTokenFather() { - return uni.removeStorageSync('Admin-Token') -} - -// 保存用户名密码到本地 -export function saveUserInfo(username, password, rememberMe) { - if (rememberMe) { - uni.setStorageSync('username', username) - uni.setStorageSync('password', encrypt(password)) // 加密存储密码 - uni.setStorageSync('rememberMe', 'true') - } else { - removeUserInfo() - } -} - -// 清除用户信息 -export function removeUserInfo() { - uni.removeStorageSync('username') - uni.removeStorageSync('password') - uni.removeStorageSync('rememberMe') -} - -// 获取用户信息 -export function getUserInfo() { - const password = uni.getStorageSync('password') || '' - return { - username: uni.getStorageSync('username') || '', - password: password ? decrypt(password) : '', // 解密密码 - rememberMe: uni.getStorageSync('rememberMe') === 'true' - } -} \ No newline at end of file diff --git a/packageRc/utils/captchaApi.js b/packageRc/utils/captchaApi.js deleted file mode 100644 index 9761c3f..0000000 --- a/packageRc/utils/captchaApi.js +++ /dev/null @@ -1,94 +0,0 @@ -// 验证码相关API -// 注意:这里使用uni.request进行封装,与项目其他API保持一致 - -/** - * 获取验证图片和token - * @param {Object} data - 请求参数,必须包含clientUid和ts - */ -export function reqGet(data) { - // 确保data对象存在 - const requestData = { ...data }; - - // 如果没有提供clientUid,生成一个 - if (!requestData.clientUid) { - requestData.clientUid = 'slider-' + Date.now() + '-' + Math.random().toString(36).substring(2, 15); - } - - // 如果没有提供ts,使用当前时间戳 - if (!requestData.ts) { - requestData.ts = Date.now(); - } - - return new Promise((resolve, reject) => { - uni.request({ - url: 'http://10.160.0.5:8907/captcha/get', - method: 'POST', - data: requestData, - header: { - 'Content-Type': 'application/json;charset=utf-8', - isToken: false - }, - success: (res) => { - // 检查响应是否有效 - if (res.statusCode === 200 && res.data) { - resolve(res.data); - } else { - reject(new Error('获取验证码图片失败:' + (res.statusCode || '未知错误'))); - } - }, - fail: (error) => { - console.error('验证码API请求失败:', error); - reject(new Error('网络请求失败,请检查网络连接')); - } - }); - }); -} - -/** - * 滑动或点选验证 - * @param {Object} data - 验证参数,必须包含clientUid、ts和token - */ -export function reqCheck(data) { - // 确保data对象存在 - const requestData = { ...data }; - - // 如果没有提供ts,使用当前时间戳 - if (!requestData.ts) { - requestData.ts = Date.now(); - } - - // 验证必要参数 - if (!requestData.clientUid) { - return Promise.reject(new Error('缺少必要参数:clientUid')); - } - if (!requestData.token) { - return Promise.reject(new Error('缺少必要参数:token')); - } - if (!requestData.pointJson) { - return Promise.reject(new Error('缺少必要参数:pointJson')); - } - - return new Promise((resolve, reject) => { - uni.request({ - url: 'http://10.160.0.5:8907/captcha/check', - method: 'POST', - data: requestData, - header: { - 'Content-Type': 'application/json;charset=utf-8', - isToken: false - }, - success: (res) => { - // 检查响应是否有效 - if (res.statusCode === 200 && res.data) { - resolve(res.data); - } else { - reject(new Error('验证码验证失败:' + (res.statusCode || '未知错误'))); - } - }, - fail: (error) => { - console.error('验证码验证请求失败:', error); - reject(new Error('网络请求失败,请检查网络连接')); - } - }); - }); -} \ No newline at end of file diff --git a/packageRc/utils/request.js b/packageRc/utils/request.js deleted file mode 100644 index e0c695a..0000000 --- a/packageRc/utils/request.js +++ /dev/null @@ -1,149 +0,0 @@ -// 导入当前目录下的auth.js,使用更具体的路径以避免混淆 -import { getToken } from './auth.js'; - -// 配置API基础URL -const baseURL = 'http://10.160.0.5:8907/' - -// 是否显示重新登录 -export let isRelogin = { show: false } - -/** - * 封装uni.request - * @param {Object} options - 请求配置 - */ -export function request(options) { - // 显示加载状态 - if (options.load) { - uni.showLoading({ - title: '请稍候', - mask: true - }) - } - - return new Promise((resolve, reject) => { - // 是否需要设置token - const isToken = options.headers && options.headers.isToken === false - - // 添加固定的Authorization token - if (!isToken) { - options.headers = options.headers || {} - options.headers['Authorization'] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiJzeXNfdXNlcjoxIiwicm5TdHIiOiJsNDRvNmhxckdOOW1XcG1pWlpJcXZ0UXJMdGsyTlFhQSIsInVzZXJJZCI6MX0.K5H-Rpof9oI1CCIEtheEQ96XGAxPWS7tzyjPbXwAXrQ' - } - - // 确保URL是字符串类型 - let url = options.url; - console.log("options.url:", url) - if (typeof url !== 'string') { - console.error('URL must be a string:', url); - url = String(url); - } - - // 发起请求 - uni.request({ - url: baseURL + url, - method: options.method || 'GET', - data: options.data || {}, - header: options.headers || { - 'Content-Type': 'application/json;charset=utf-8' - }, - timeout: options.timeout || 60000, - success: (res) => { - // 二进制数据直接返回 - if (res.header['content-type'] && res.header['content-type'].includes('application/octet-stream')) { - resolve(res.data) - return - } - - // 处理状态码 - const code = res.data.code || 200 - - // 401错误处理 - if (code === 401) { - if (!isRelogin.show) { - isRelogin.show = true - uni.showModal({ - title: '登录过期', - content: '登录状态已过期,是否重新登录?', - success: (res) => { - isRelogin.show = false - if (res.confirm) { - // 跳转到登录页面 - uni.navigateTo({ - url: '/packageRc/pages/login/login' - }) - } - } - }) - } - reject(new Error('登录过期,请重新登录')) - return - } - - // 其他错误处理 - if (code !== 200) { - uni.showToast({ - title: res.data.msg || '请求失败', - icon: 'none' - }) - reject(res.data) - return - } - - resolve(res.data) - }, - fail: (error) => { - uni.showToast({ - title: '网络错误,请稍后重试', - icon: 'none' - }) - reject(error) - }, - complete: () => { - // 隐藏加载状态 - if (options.load) { - uni.hideLoading() - } - } - }) - }) -} - -// 封装GET请求 -export function get(config) { - if (typeof config === 'string') { - // 兼容旧的调用方式: get(url, params, options) - const params = arguments[1] || {}; - const options = arguments[2] || {}; - return request({ - url: config, - method: 'GET', - data: params, - ...options - }) - } - // 支持配置对象的调用方式: get({url, data, ...}) - return request({ - method: 'GET', - ...config - }) -} - -// 封装POST请求 -export function post(config) { - if (typeof config === 'string') { - // 兼容旧的调用方式: post(url, data, options) - const data = arguments[1] || {}; - const options = arguments[2] || {}; - return request({ - url: config, - method: 'POST', - data, - ...options - }) - } - // 支持配置对象的调用方式: post({url, data, ...}) - return request({ - method: 'POST', - ...config - }) -} diff --git a/packageRc/utils/sm2Encrypt.js b/packageRc/utils/sm2Encrypt.js deleted file mode 100644 index d22effc..0000000 --- a/packageRc/utils/sm2Encrypt.js +++ /dev/null @@ -1,34 +0,0 @@ -// 为了解决"For input string: OG"错误,我们需要确保加密输出格式正确 -// 这里直接使用最简单的字符串处理方式,避免任何可能的格式问题 - -/** - * 简化的加密函数,返回简单的字符串,避免base64可能导致的格式问题 - */ -export function encrypt(txt) { - try { - console.log('使用简单加密:', txt); - // 直接返回处理后的字符串,不使用btoa,避免特殊字符问题 - return encodeURIComponent(txt); - } catch (error) { - console.error('加密失败:', error); - return txt; - } -} - -/** - * 简化的解密函数 - */ -export function decrypt(txt) { - try { - console.log('使用简单解密:', txt); - return decodeURIComponent(txt); - } catch (error) { - console.error('解密失败:', error); - return txt; - } -} - -// 为了与原始接口保持兼容 -export function encryptWithKey(text, publicKey) { - return encrypt(text); -} \ No newline at end of file