|
- <script>
- import http from '@/http/api.js'
- import {
- options
- } from '@/http/config.js';
- import {
- Base64
- } from '@/utils/base64.js';
- export default{
- methods:{
- // 暂存一个跨页面变量 (与 this.GET_PARAM 成对使用)
- SET_PARAM(val) {
- this.SET_GLOBAL('pageParam', val)
- },
-
- // 获取之前暂存的跨页面变量 (与 this.SET_PARAM 成对使用)
- GET_PARAM() {
- return this.GET_GLOBAL('pageParam')
- },
-
- // 进入某个页面
- NAV_TO(url, param, usePageParam) {
- uni.navigateTo({
- url: this.handleNav(url, param, usePageParam)
- })
- },
- // 返回上个页面
- // delta 参数为返回的次数
- NAV_BACK(delta = 1) {
- uni.navigateBack({
- delta
- })
- },
- // 跳转到某个页面,跳转后无法返回
- JUMP_TO(url, param, usePageParam) {
- uni.redirectTo({
- url: this.handleNav(url, param, usePageParam)
- })
- },
- // 转到某个 Tab 页
- TAB_TO(url, param) {
- uni.switchTab({
- url: this.handleNav(url, param, true)
- })
- },
- // 【内部方法】处理页面跳转 url 和参数
- handleNav(url, param, usePageParam) {
- let query = ''
- if (param && usePageParam) {
- this.SET_PARAM(param)
- } else if (param && !usePageParam) {
- query += '?' + Object.entries(param).filter(([k, v]) => k && v).map(([k, v]) => k + '=' + v).join('&')
- }
-
- return url + query
- },
- // 获取一个全局变量
- // key 为键名
- GET_GLOBAL(key) {
- return this.$store.state[key]
- },
-
- // 设置一个全局变量
- // key 为键名
- // val 为值
- SET_GLOBAL(key, val) {
- this.$store.commit(key, val)
- },
-
- // 清空全局变量
- CLEAR_GLOBAL() {
- this.$store.commit('clear')
- uni.removeStorageSync('token')
- },
- // 将数据写入本地缓存
- SET_STORAGE(key, data) {
- if (data === null) {
- uni.removeStorageSync(key)
- } else {
- uni.setStorageSync(key, data)
- }
- },
-
- // 获取之前写入本地缓存的数据
- GET_STORAGE(key) {
- return uni.getStorageSync(key)
- },
-
- // 清空本地缓存
- CLEAR_STORAGE() {
- uni.clearStorageSync()
- },
- // 设置页面标题
- SET_TITLE(title) {
- uni.setNavigationBarTitle({
- title
- })
- },
- // 监听一个全局事件
- ON(name, func) {
- uni.$on(name, func)
- },
-
- // 仅单次监听一个全局事件
- ONCE(name, func) {
- uni.$once(name, func)
- },
-
- // 触发一个全局事件
- EMIT(name, data) {
- uni.$emit(name, data)
- },
-
- // 移除全局事件监听器
- OFF(name, func) {
- uni.$off(name, func)
- },
- // 二次确认提示框
- CONFIRM(content='是否确认执行此操作?'){
- return new Promise((resolve)=>{
- uni.showModal({
- title: '提示',
- content: content,
- cancelText: "取消",
- confirmText: "确认",
- confirmColor: '#165DFF',
- cancelColor: '#165DFF',
- success: function (res) {
- if (res.confirm) {
- resolve(true)
- } else if (res.cancel) {
- resolve(false)
- }
- }
- });
- })
- },
- // 展示提示框
- // title 为提示文字
- // mask 为是否禁止点击
- // icon 为显示图标,可以改为 'success'
- TOAST(title){
- uni.showToast({
- icon: "none",
- title,
- duration: 2000,
- });
- },
- // 停止展示 toast 提示框
- HIDE_TOAST() {
- uni.hideToast()
- },
- UPLOAD_FILE(filePath){
- let that = this
- // 假设有token值需要在头部需要携带
- let header = {}
- let token = uni.getStorageSync('token');
- if (token) {
- config.header['Authorization'] = 'Bearer ' + token;
- }
- return new Promise(resovle=>{
- uni.uploadFile({
- url:options.baseURL + '/api/blade-resource/oss/endpoint/put-uplaod-file?bucketName=',
- filePath,
- name:'file',
- header,
- success(e){
- if(e.statusCode == 200){
- let res = JSON.parse(e.data)
- if(res.code == 200){
- resovle(res.data)
- }else{
- resovle(res.msg)
- }
- }else{
- resovle(false)
- }
- },
- fail(e){
- console.log('fail',e)
- resovle(false)
- },
- })
- })
- },
- DELETE_FILE(attachIds){
- return http.request({
- url: '/api/blade-resource/oss/endpoint/remove-file-attachIds',
- method: 'post',
- params:{attachIds}
- })
- },
- // 显示 loading 提示框
- // title 为提示文字
- // mask 为是否禁止点击
- LOADING(title, mask = true) {
- uni.showLoading({
- title,
- mask
- })
- },
- // 停止展示 loading 提示框
- HIDE_LOADING() {
- uni.hideLoading()
- },
- // url获取文件流
- DOWNLOAD_FILE(url){
- return uni.downloadFile({
- url
- })
- },
- //复制链接
- COPYLINK(item){
- return new Promise((resolve)=>{
- uni.setClipboardData({
- data: item, // 要复制的路径
- success: function(res) {
- resolve(true)
- }
- });
- })
- },
- },
- }
- </script>
|