Browse Source

no message

sys 2 years ago
parent
commit
5d6fed00ec

+ 0 - 1
package.json

@@ -2,7 +2,6 @@
   "dependencies": {
     "animate.css": "^4.1.1",
     "cos-js-sdk-v5": "^1.4.18",
-    "cos-nodejs-sdk-v5": "^1.*",
     "crypto": "^1.0.1",
     "inobounce": "^0.2.1",
     "jquery": "^3.6.4",

+ 1 - 0
pages/login/index.vue

@@ -34,6 +34,7 @@ export default {
     // #ifdef H5
     this.showContent=true
     //#endif
+
   },
   onShow() {
     // 当app切到后台再切回前台的时候会触发onShow这个时候视频应该继续播放,不这样做视频会暂停的

+ 5 - 0
pages/perfect/sexAndAge.vue

@@ -68,6 +68,7 @@
 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() {
@@ -98,6 +99,10 @@ export default {
     this.maxYear=year-18
     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 (){
       this.verifyIsOK()

+ 48 - 32
service/txOssSts.js

@@ -18,6 +18,10 @@
 // #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"
@@ -25,6 +29,7 @@ import COS from "cos-js-sdk-v5"
 // 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";
 
 
 
@@ -35,43 +40,40 @@ let Bucket = 'icoco-1317650740';
 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: function (options, callback) {
+        getAuthorization:async function (options, callback) {
             console.log('---------------获取初始化信息')
-            let  cosToken=tools.getCosToken()
+            let  cosToken= await getSts()
             console.log(cosToken)
-            if(cosToken){
-                callback({
-                    TmpSecretId: cosToken.credentials.tmpSecretId,
-                    TmpSecretKey: cosToken.credentials.tmpSecretKey,
-                    XCosSecurityToken: cosToken.credentials.sessionToken,
-                    StartTime: cosToken.startTime*1, // 时间戳,单位秒,如:1580000000,建议返回服务器时间作为签名的开始时间,避免用户浏览器本地时间偏差过大导致签名错误
-                    ExpiredTime: cosToken.expiredTime*1, // 时间戳,单位秒,如:1580000900
-                })
-            }else {
-                getTxySts().then((res)=>{
-
-                    console.log('---------------获取初始化信息')
-                    if(res.code===0){
-                        tools.setCosToken(res.data)
-                        callback({
-                            TmpSecretId: res.data.credentials.tmpSecretId,
-                            TmpSecretKey: res.data.credentials.tmpSecretKey,
-                            XCosSecurityToken: res.data.credentials.sessionToken,
-                            StartTime: res.data.startTime*1, // 时间戳,单位秒,如:1580000000,建议返回服务器时间作为签名的开始时间,避免用户浏览器本地时间偏差过大导致签名错误
-                            ExpiredTime: res.data.expiredTime*1, // 时间戳,单位秒,如:1580000900
-                        })
-                        setTimeout(()=>{
-                            cos=null
-                            tools.delCosToken()
-                        },(res.data.expiredTime-res.data.startTime))
-                    }
-                })
-            }
-
-
+            callback({
+                TmpSecretId: cosToken.credentials.tmpSecretId,
+                TmpSecretKey: cosToken.credentials.tmpSecretKey,
+                XCosSecurityToken: cosToken.credentials.sessionToken,
+                StartTime: cosToken.startTime*1, // 时间戳,单位秒,如:1580000000,建议返回服务器时间作为签名的开始时间,避免用户浏览器本地时间偏差过大导致签名错误
+                ExpiredTime: cosToken.expiredTime*1, // 时间戳,单位秒,如:1580000900
+            })
         }
     });
 }
@@ -123,6 +125,20 @@ cosServe.txUploadFile=function (file,folder){
 
 }
 
+cosServe.getSignObject=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);
+    console.log(signUrl)
+    return  signUrl
+
+}
 
 cosServe.getSignUrl=  function (url){
     if(!url){

+ 2 - 2
uniCloud-aliyun/cloudfunctions/tencentcloud-plugin/cos/config.js

@@ -18,7 +18,7 @@
 
 // 腾讯云uni-app对象存储COS插件依赖云函数的配置
 module.exports = {
-  bucket: '', // COS存储桶名称
-  region: '', // COS地域
+  bucket: 'icoco-1317650740', // COS存储桶名称
+  region: 'ap-guangzhou', // COS地域
   expires: 60 // 签名有效期(单位:秒)
 };

+ 55 - 7
uniCloud-aliyun/cloudfunctions/tencentcloud-plugin/package-lock.json

@@ -4,18 +4,66 @@
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
+    "asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+    },
     "axios": {
-      "version": "0.21.1",
-      "resolved": "http://mirrors.tencent.com/npm/axios/-/axios-0.21.1.tgz",
-      "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
+      "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
+      "requires": {
+        "follow-redirects": "^1.15.0",
+        "form-data": "^4.0.0",
+        "proxy-from-env": "^1.1.0"
+      }
+    },
+    "combined-stream": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
       "requires": {
-        "follow-redirects": "^1.10.0"
+        "delayed-stream": "~1.0.0"
       }
     },
+    "delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
+    },
     "follow-redirects": {
-      "version": "1.13.1",
-      "resolved": "http://mirrors.tencent.com/npm/follow-redirects/-/follow-redirects-1.13.1.tgz",
-      "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg=="
+      "version": "1.15.2",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+      "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
+    },
+    "form-data": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+      "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+      "requires": {
+        "asynckit": "^0.4.0",
+        "combined-stream": "^1.0.8",
+        "mime-types": "^2.1.12"
+      }
+    },
+    "mime-db": {
+      "version": "1.52.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
+    },
+    "mime-types": {
+      "version": "2.1.35",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+      "requires": {
+        "mime-db": "1.52.0"
+      }
+    },
+    "proxy-from-env": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
     }
   }
 }

+ 5 - 0
yarn.lock

@@ -129,6 +129,11 @@ crypto-js@^4.1.1:
   resolved "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz"
   integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==
 
+crypto@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/crypto/-/crypto-1.0.1.tgz#2af1b7cad8175d24c8a1b0778255794a21803037"
+  integrity sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==
+
 csstype@^3.1.0:
   version "3.1.0"
   resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz"