Browse Source

APP与H5文件上传兼容处理完成

BF-202210271038\Administrator 2 years ago
parent
commit
b2cc588687
6 changed files with 38 additions and 12 deletions
  1. 1 1
      api/login.js
  2. 18 0
      js_sdk/tencentcloud-plugin-cos/upload-file.js
  3. 2 8
      manifest.json
  4. 1 1
      pages/perfect/cards.vue
  5. 1 0
      service/tools.js
  6. 15 2
      service/txOssSts.js

+ 1 - 1
api/login.js

@@ -6,5 +6,5 @@ const newsUrl = '/admin/utility/'
 export const login = (data) => request('/auth/oauth2/token', 'post', { ...data },false)
 export const forgetPassword = (data) => request(newsUrl + 'forget_password', 'post', { ...data },false)
 export const register = (data) => request(newsUrl + 'register', 'post', { ...data },true)
-export const filUserInfo = (data) => request(newsUrl + 'fill_user_info', 'post', { ...data },true)
+export const filUserInfo = (data) => request(newsUrl + 'fillUserInfo', 'post', { ...data },true)
 export const setCard = (data) => request(newsUrl + 'card', 'post', { ...data },true)

+ 18 - 0
js_sdk/tencentcloud-plugin-cos/upload-file.js

@@ -38,6 +38,7 @@ export default async function uploadFile(file, key, onProgressUpdate) {
     },
   });
   const signData = result;
+  console.log('key:'+key)
   console.log(signData)
   return new Promise((resolve, reject) => {
     let filePath = undefined;
@@ -65,6 +66,18 @@ export default async function uploadFile(file, key, onProgressUpdate) {
     if (!key) {
       key = `${UUID.v1()}.${fileExt}`;
     }
+    console.log(key)
+    console.log('file',file)
+    console.log('filePath',filePath)
+    console.log('fileType',fileType)
+    console.log({
+      key,
+      'q-sign-algorithm': signData.signAlgorithm,
+      'q-ak': signData.ak,
+      'q-key-time': signData.keyTime,
+      'q-signature': signData.signature,
+      'policy': signData.policy
+    })
     const uploadTask = uni.uploadFile({
       url: signData.host,
       file,
@@ -80,14 +93,19 @@ export default async function uploadFile(file, key, onProgressUpdate) {
         'policy': signData.policy
       },
       success(response) {
+        console.log(response)
         if (response.statusCode !== 204) {
           reject(new Error('文件上传失败'));
         } else {
           resolve(key);
         }
       },
+      complete(r){
+        console.log('回调执行成功')
+      },
       fail(error) {
         // 支付宝小程序环境下会将返回的204状态码识别为异常而触发fail回调,实际上是上传成功了的
+        console.log(error)
         if (error.statusCode === 204) {
           resolve(key);
         } else {

+ 2 - 8
manifest.json

@@ -132,18 +132,12 @@
                 "/admin" : {
                     "target" : "https://icoco.tech/",
                     "changeOrigin" : true,
-                    "secure" : false,
-                    "pathRewrite" : {
-                        "^/admin" : "admin"
-                    }
+                    "secure" : false
                 },
                 "/auth" : {
                     "target" : "https://icoco.tech/",
                     "changeOrigin" : true,
-                    "secure" : false,
-                    "pathRewrite" : {
-                        "^/auth" : "auth"
-                    }
+                    "secure" : false
                 }
             }
         }

+ 1 - 1
pages/perfect/cards.vue

@@ -98,7 +98,7 @@ export default {
     openChooseImage(){
       uni.chooseImage({
         count: 6, //默认9
-        sizeType: ['original'], //可以指定是原图还是压缩图,默认二者都有
+        sizeType: ['compressed '], //可以指定是原图还是压缩图,默认二者都有
         sourceType: ['album'], //从相册选择
         success:  (res) =>{
           console.log(res)

+ 1 - 0
service/tools.js

@@ -354,6 +354,7 @@ tools.getDateYM = ()=>{
  * @param type
  */
 tools.setLoginData = function (data) {
+    uni.setStorageSync('user_id', data.user_id)
     uni.setStorageSync('token', data.access_token)
     uni.setStorageSync('tokenType', data.token_type)
     uni.setStorageSync('refreshToken', data.access_token)

+ 15 - 2
service/txOssSts.js

@@ -26,10 +26,23 @@ let cosServe={}
  * @returns {Promise<unknown>}
  */
 cosServe.txUploadFile=async function (file,folder){
-
     //默认为个人目录gallery
     folder=folder==='moment'?'moment':'gallery'
-    let key=folder+'/'+tools.getDate()+'/'+tools.getRandFileName(file.name)
+    console.log('folder:'+folder)
+   let user_id= uni.getStorageSync('user_id')
+    if(!user_id){
+        user_id='00'
+    }
+    console.log('user_id:'+user_id)
+    console.log(file)
+    if(!file.name){
+        file.name=file.path
+    }
+    let key=folder+'/'+user_id+'/'+tools.getDate()+'/'+tools.getRandFileName(file.name)
+    console.log('key:'+key)
+    // #ifdef APP-PLUS
+    file =file.path;
+    //#endif
     let url = await uploadFile(file,key);
     console.log(url)
     return  url