sys 2 ani în urmă
părinte
comite
a65744d923

+ 4 - 3
pages/perfect/cards.vue

@@ -105,12 +105,13 @@ export default {
           if(res.tempFiles.length>0){
             console.log(res.tempFiles)
             res.tempFiles.forEach((item,key)=>{
-              cosServe.txUploadFile(item,'gallery').then(async (res)=>{
+              cosServe.txUploadFile(item,'gallery').then(async (imgUrl)=>{
+                console.log(res)
                 if(key===0){
-                  this.imgBg=res.Location
+                  this.imgBg=imgUrl
                   this.imgBg=await cosServe.getSignUrl(this.imgBg)
                 }
-                this.imgList.push(res.Location)
+                this.imgList.push(imgUrl)
               })
             })
             console.log( this.imgList)

+ 2 - 4
pages/perfect/sexAndAge.vue

@@ -67,8 +67,7 @@
 <script>
 import EnNav from "@/components/en-utils/en-nav/en-nav";
 import tools from "@/service/tools";
-import $ from 'jquery'
-import txOssSts from "@/service/txOssSts";
+
 export default {
   components: {EnNav},
   data() {
@@ -100,8 +99,7 @@ export default {
     this.placeholderYear=year-24
   },
   mounted() {
-    let url='https://icoco-1317650740.cos.ap-guangzhou.myqcloud.com/gallery/2023-6-21/gm3xrwze2c.jpg'
-    txOssSts.getSignObject(url)
+
   },
   watch:{
     'age':function (){

+ 10 - 135
service/txOssSts.js

@@ -12,71 +12,12 @@
  * @param {area} 地区
  * @return {string|boolean} 成功返回文件地址,失败返回false
  */
-// #ifdef H5
-
-//#endif
-// #ifdef APP-PLUS
-
-//#endif
 
 
 import getFileAccessUrl from "@/js_sdk/tencentcloud-plugin-cos/get-file-access-url";
-
-console.log('COS加载js版本')
-import COS from "cos-js-sdk-v5"
-// import COS from "./cos-wx-sdk-v5.min"
-// console.log('COS加载node版本')
-// import COS from "cos-nodejs-sdk-v5"
 import tools from "./tools";
-import {getTxySts} from "@/api/common";
-import {secretId, secretKey} from "@/uniCloud-aliyun/cloudfunctions/tencentcloud-plugin/config";
-
+import uploadFile from "@/js_sdk/tencentcloud-plugin-cos/upload-file";
 
-
-// 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
-let Bucket = 'icoco-1317650740';
-// 存储桶Region可以在COS控制台指定存储桶的概览页查看 https://console.cloud.tencent.com/cos5/bucket/
-// 关于地域的详情见 https://cloud.tencent.com/document/product/436/6224
-let Region = 'ap-guangzhou';
-
-let cos=null;
-
-/**
- * 获取sts权限信息
- * @returns {Promise<*>}
- */
- async function  getSts(){
-     let  cosToken=tools.getCosToken()
-     if(!cosToken) {
-      let res =await  getTxySts()
-         if(res.code===0){
-             tools.setCosToken(res.data)
-             setTimeout(()=>{
-                 cos=null
-                 tools.delCosToken()
-             },(res.data.expiredTime-res.data.startTime))
-         }
-     }
-     return cosToken
-}
-
-function startCos(){
-    console.log('startCos-----------------')
-    cos = new COS({
-        getAuthorization:async function (options, callback) {
-            console.log('---------------获取初始化信息')
-            let  cosToken= await getSts()
-            console.log(cosToken)
-            callback({
-                TmpSecretId: cosToken.credentials.tmpSecretId,
-                TmpSecretKey: cosToken.credentials.tmpSecretKey,
-                XCosSecurityToken: cosToken.credentials.sessionToken,
-                StartTime: cosToken.startTime*1, // 时间戳,单位秒,如:1580000000,建议返回服务器时间作为签名的开始时间,避免用户浏览器本地时间偏差过大导致签名错误
-                ExpiredTime: cosToken.expiredTime*1, // 时间戳,单位秒,如:1580000900
-            })
-        }
-    });
-}
 let cosServe={}
 /**
  * COS文件上传
@@ -84,97 +25,31 @@ let cosServe={}
  * @param folder 上传目录
  * @returns {Promise<unknown>}
  */
-cosServe.txUploadFile=function (file,folder){
-    if(cos===null){
-        console.log('对象初始化')
-        //初始化对象
-        startCos();
-    }
+cosServe.txUploadFile=async function (file,folder){
+
     //默认为个人目录gallery
     folder=folder==='moment'?'moment':'gallery'
-    // tools.showLoading()
-    return new Promise((resolve, reject) => {
-        console.log('cos-*-------------------------',cos)
-        console.log(file)
-        console.log(folder+'/'+tools.getDate()+tools.getRandFileName(file.name))
-        // 分片上传文件
-        cos.putObject({
-            Bucket: Bucket,
-            Region: Region,
-            Key: folder+'/'+tools.getDate()+'/'+tools.getRandFileName(file.name),
-            Body: file,
-            onHashProgress: function (progressData) {
-                console.log('校验中', JSON.stringify(progressData));
-            },
-            onProgress: function (progressData) {
-                console.log('上传中', JSON.stringify(progressData));
-            },
-        }, function (err, data) {
-            tools.hideLoading()
-            console.log(err);
-            console.log(data);
-            if(data.Location!==undefined){
-                data.Location='https://'+data.Location;
-                resolve( data)
-            }else {
-                resolve( false)
-            }
+    let key=folder+'/'+tools.getDate()+'/'+tools.getRandFileName(file.name)
+    let url = await uploadFile(file,key);
+    console.log(url)
+    return  url
+}
 
-        });
-    })
 
-}
 
-cosServe.getSignObject=async function (url){
+cosServe.getSignUrl= async function (url){
     if(!url){
         return  ''
     }
-
     console.log(url)
     url= url.replace('https://','')
     url= url.replace('http://','')
     url= url.replace('icoco-1317650740.cos.ap-guangzhou.myqcloud.com/','')
-   let signUrl = await getFileAccessUrl(url);
+    let signUrl = await getFileAccessUrl(url);
     console.log(signUrl)
     return  signUrl
 
 }
 
-cosServe.getSignUrl=  function (url){
-    if(!url){
-        return  ''
-    }
-    if(cos===null){
-        startCos();
-    }
-    console.log(url)
-    url= url.replace('https://','')
-    url= url.replace('http://','')
-    url= url.replace('icoco-1317650740.cos.ap-guangzhou.myqcloud.com/','')
-    console.log(url)
-    console.log('开始签名----------------------------'+url)
-    console.log({
-        Bucket: Bucket,
-        Region: Region,
-        Key: url, /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),支持中文,必须字段 */
-    })
-    return new Promise((resolve, reject) => {
-        cos.getObjectUrl({
-                Bucket: Bucket,
-                Region: Region,
-                Key: url, /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),支持中文,必须字段 */
-            },
-            function (err, data) {
-                console.log(err || data.Url);
-                if(err){
-                    resolve('')
-                }else {
-                    resolve(data.Url)
-                }
-            })
-    })
-
-}
-
 
 export default cosServe

+ 3 - 3
uniCloud-aliyun/cloudfunctions/tencentcloud-plugin/config.js

@@ -17,8 +17,8 @@
 'use strict';
 // 腾讯云uni-app插件依赖云函数的公共配置
 module.exports = {
-  appId: '', // 腾讯云appId
-  secretId: '', // 腾讯云secretId
-  secretKey: '', // 腾讯云secretKey
+  appId: '1317650740', // 腾讯云appId
+  secretId: 'AKIDdEcnkX8YlmabOzNWSRIB311xjIepyvvl', // 腾讯云secretId
+  secretKey: 'kIeqriT2Xqx7Nf1Qly7FPZlz62mJcibG', // 腾讯云secretKey
   isReport: true // 是否允许上报插件使用情况(注:仅在首次使用时会上报一次,对正常业务逻辑无影响)
 };

+ 1 - 1
uniCloud-aliyun/cloudfunctions/tencentcloud-plugin/package.json

@@ -3,6 +3,6 @@
   "version": "1.0.0",
   "main": "index.js",
   "dependencies": {
-    "axios": ">=0.21.1"
+    "axios": "^0.27.2"
   }
 }

+ 54 - 0
uniCloud-aliyun/cloudfunctions/tencentcloud-plugin/yarn.lock

@@ -0,0 +1,54 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+asynckit@^0.4.0:
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+  integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+
+axios@^0.27.2:
+  version "0.27.2"
+  resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972"
+  integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==
+  dependencies:
+    follow-redirects "^1.14.9"
+    form-data "^4.0.0"
+
+combined-stream@^1.0.8:
+  version "1.0.8"
+  resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+  integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+  dependencies:
+    delayed-stream "~1.0.0"
+
+delayed-stream@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+  integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+
+follow-redirects@^1.14.9:
+  version "1.15.2"
+  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
+  integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
+
+form-data@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+  integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+  dependencies:
+    asynckit "^0.4.0"
+    combined-stream "^1.0.8"
+    mime-types "^2.1.12"
+
+mime-db@1.52.0:
+  version "1.52.0"
+  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+  integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+mime-types@^2.1.12:
+  version "2.1.35"
+  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+  integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+  dependencies:
+    mime-db "1.52.0"