feat: 调用云开发

This commit is contained in:
eric
2022-12-14 14:04:36 +08:00
parent 5f3712b7ab
commit 208c530dda
8 changed files with 102 additions and 56 deletions

View File

@@ -1,3 +1,4 @@
const path=require("path")
const config = {
enableShareTimeline: true,//允许分享到朋友圈
enableShareAppMessage: true,
@@ -60,6 +61,9 @@ const config = {
},
},
},
alias: {
'@/utils': path.resolve(__dirname, '..', 'src/utils'),
}
};
module.exports = function (merge) {

2
dist/common.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,5 @@
/*! ../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ruleSet[1].rules[9].use[1]!./index.tsx */
/*! ../../utils/index */
/*! ../cell */
/*! ../common/jumpLink */
@@ -40,6 +38,8 @@
/*! ./wxs */
/*! @/utils/index */
/*! @antmjs/vantui/es/dialog */
/*! @antmjs/vantui/es/grid */

2
dist/runtime.js vendored
View File

@@ -1 +1 @@
!function(){"use strict";var e,r,t,n,_={},a={};function __webpack_require__(e){var r=a[e];if(void 0!==r)return r.exports;var t=a[e]={id:e,loaded:!1,exports:{}};return _[e].call(t.exports,t,t.exports,__webpack_require__),t.loaded=!0,t.exports}__webpack_require__.m=_,e=[],__webpack_require__.O=function(r,t,n,_){if(!t){var a=1/0;for(c=0;c<e.length;c++){t=e[c][0],n=e[c][1],_=e[c][2];for(var i=!0,o=0;o<t.length;o++)(!1&_||a>=_)&&Object.keys(__webpack_require__.O).every((function(e){return __webpack_require__.O[e](t[o])}))?t.splice(o--,1):(i=!1,_<a&&(a=_));if(i){e.splice(c--,1);var u=n();void 0!==u&&(r=u)}}return r}_=_||0;for(var c=e.length;c>0&&e[c-1][2]>_;c--)e[c]=e[c-1];e[c]=[t,n,_]},__webpack_require__.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(r,{a:r}),r},__webpack_require__.d=function(e,r){for(var t in r)__webpack_require__.o(r,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},__webpack_require__.f={},__webpack_require__.e=function(e){return Promise.all(Object.keys(__webpack_require__.f).reduce((function(r,t){return __webpack_require__.f[t](e,r),r}),[]))},__webpack_require__.u=function(e){},__webpack_require__.miniCssF=function(e){},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},__webpack_require__.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},r={},t="myApp:",__webpack_require__.l=function(e,n,_,a){if(r[e])r[e].push(n);else{var i,o;if(void 0!==_)for(var u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var p=u[c];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")==t+_){i=p;break}}i||(o=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,__webpack_require__.nc&&i.setAttribute("nonce",__webpack_require__.nc),i.setAttribute("data-webpack",t+_),i.src=e),r[e]=[n];var onScriptComplete=function(t,n){i.onerror=i.onload=null,clearTimeout(l);var _=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),_&&_.forEach((function(e){return e(n)})),t)return t(n)},l=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=onScriptComplete.bind(null,i.onerror),i.onload=onScriptComplete.bind(null,i.onload),o&&document.head.appendChild(i)}},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n={"webpack/container/remote/@tarojs/plugin-platform-weapp/dist/runtime":["default","./@tarojs/plugin-platform-weapp/dist/runtime",null],"webpack/container/remote/@tarojs/plugin-framework-react/dist/runtime":["default","./@tarojs/plugin-framework-react/dist/runtime",null],"webpack/container/remote/react-dom":["default","./react-dom",null],"webpack/container/remote/lodash":["default","./lodash",null],"webpack/container/remote/@tarojs/runtime":["default","./@tarojs/runtime",null],"webpack/container/remote/react":["default","./react",null],"webpack/container/remote/@tarojs/taro":["default","./@tarojs/taro",null],"webpack/container/remote/react/jsx-runtime":["default","./react/jsx-runtime",null],"webpack/container/remote/moment":["default","./moment",null]},__webpack_require__.taro=function(e){for(var r in n){var t=e(n[r][1]);_[r]=function(e){return function(r){r.exports=e()}}(t)}},__webpack_require__.p="/",function(){var e={runtime:0};__webpack_require__.f.j=function(r,t){var n=__webpack_require__.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if("runtime"!=r){var _=new Promise((function(t,_){n=e[r]=[t,_]}));t.push(n[2]=_);var a=__webpack_require__.p+__webpack_require__.u(r),i=new Error;__webpack_require__.l(a,(function(t){if(__webpack_require__.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var _=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+_+": "+a+")",i.name="ChunkLoadError",i.type=_,i.request=a,n[1](i)}}),"chunk-"+r,r)}else e[r]=0},__webpack_require__.O.j=function(r){return 0===e[r]};var webpackJsonpCallback=function(r,t){var n,_,a=t[0],i=t[1],o=t[2],u=0;if(a.some((function(r){return 0!==e[r]}))){for(n in i)__webpack_require__.o(i,n)&&(__webpack_require__.m[n]=i[n]);if(o)var c=o(__webpack_require__)}for(r&&r(t);u<a.length;u++)_=a[u],__webpack_require__.o(e,_)&&e[_]&&e[_][0](),e[_]=0;return __webpack_require__.O(c)},r=wx.webpackJsonp=wx.webpackJsonp||[];r.forEach(webpackJsonpCallback.bind(null,0)),r.push=webpackJsonpCallback.bind(null,r.push.bind(r))}()}();
!function(){"use strict";var e,r,t,n,_={},a={};function __webpack_require__(e){var r=a[e];if(void 0!==r)return r.exports;var t=a[e]={id:e,loaded:!1,exports:{}};return _[e].call(t.exports,t,t.exports,__webpack_require__),t.loaded=!0,t.exports}__webpack_require__.m=_,e=[],__webpack_require__.O=function(r,t,n,_){if(!t){var a=1/0;for(c=0;c<e.length;c++){t=e[c][0],n=e[c][1],_=e[c][2];for(var i=!0,o=0;o<t.length;o++)(!1&_||a>=_)&&Object.keys(__webpack_require__.O).every((function(e){return __webpack_require__.O[e](t[o])}))?t.splice(o--,1):(i=!1,_<a&&(a=_));if(i){e.splice(c--,1);var u=n();void 0!==u&&(r=u)}}return r}_=_||0;for(var c=e.length;c>0&&e[c-1][2]>_;c--)e[c]=e[c-1];e[c]=[t,n,_]},__webpack_require__.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(r,{a:r}),r},__webpack_require__.d=function(e,r){for(var t in r)__webpack_require__.o(r,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},__webpack_require__.f={},__webpack_require__.e=function(e){return Promise.all(Object.keys(__webpack_require__.f).reduce((function(r,t){return __webpack_require__.f[t](e,r),r}),[]))},__webpack_require__.u=function(e){},__webpack_require__.miniCssF=function(e){},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},__webpack_require__.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},r={},t="myApp:",__webpack_require__.l=function(e,n,_,a){if(r[e])r[e].push(n);else{var i,o;if(void 0!==_)for(var u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var p=u[c];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")==t+_){i=p;break}}i||(o=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,__webpack_require__.nc&&i.setAttribute("nonce",__webpack_require__.nc),i.setAttribute("data-webpack",t+_),i.src=e),r[e]=[n];var onScriptComplete=function(t,n){i.onerror=i.onload=null,clearTimeout(l);var _=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),_&&_.forEach((function(e){return e(n)})),t)return t(n)},l=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=onScriptComplete.bind(null,i.onerror),i.onload=onScriptComplete.bind(null,i.onload),o&&document.head.appendChild(i)}},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n={"webpack/container/remote/@tarojs/plugin-platform-weapp/dist/runtime":["default","./@tarojs/plugin-platform-weapp/dist/runtime",null],"webpack/container/remote/@tarojs/plugin-framework-react/dist/runtime":["default","./@tarojs/plugin-framework-react/dist/runtime",null],"webpack/container/remote/react-dom":["default","./react-dom",null],"webpack/container/remote/lodash":["default","./lodash",null],"webpack/container/remote/@tarojs/runtime":["default","./@tarojs/runtime",null],"webpack/container/remote/@tarojs/taro":["default","./@tarojs/taro",null],"webpack/container/remote/react":["default","./react",null],"webpack/container/remote/react/jsx-runtime":["default","./react/jsx-runtime",null],"webpack/container/remote/moment":["default","./moment",null]},__webpack_require__.taro=function(e){for(var r in n){var t=e(n[r][1]);_[r]=function(e){return function(r){r.exports=e()}}(t)}},__webpack_require__.p="/",function(){var e={runtime:0};__webpack_require__.f.j=function(r,t){var n=__webpack_require__.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if("runtime"!=r){var _=new Promise((function(t,_){n=e[r]=[t,_]}));t.push(n[2]=_);var a=__webpack_require__.p+__webpack_require__.u(r),i=new Error;__webpack_require__.l(a,(function(t){if(__webpack_require__.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var _=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+_+": "+a+")",i.name="ChunkLoadError",i.type=_,i.request=a,n[1](i)}}),"chunk-"+r,r)}else e[r]=0},__webpack_require__.O.j=function(r){return 0===e[r]};var webpackJsonpCallback=function(r,t){var n,_,a=t[0],i=t[1],o=t[2],u=0;if(a.some((function(r){return 0!==e[r]}))){for(n in i)__webpack_require__.o(i,n)&&(__webpack_require__.m[n]=i[n]);if(o)var c=o(__webpack_require__)}for(r&&r(t);u<a.length;u++)_=a[u],__webpack_require__.o(e,_)&&e[_]&&e[_][0](),e[_]=0;return __webpack_require__.O(c)},r=wx.webpackJsonp=wx.webpackJsonp||[];r.forEach(webpackJsonpCallback.bind(null,0)),r.push=webpackJsonpCallback.bind(null,r.push.bind(r))}()}();

View File

@@ -30,11 +30,12 @@ import Taro, { useShareTimeline } from "@tarojs/taro";
import { Tabbar, TabbarItem } from "@antmjs/vantui";
import TabbarCom from "../components/TabbarCom";
import {
cloudcall,
getTable,
getTableid,
phoneLogin,
updateTableid,
} from "../../utils/index";
} from "@/utils/index";
import { Icon } from "@antmjs/vantui";
import "./index.scss";
import { Search } from "@antmjs/vantui";
@@ -94,12 +95,11 @@ const Home = () => {
});
const testCloud = async () => {
// const app = Taro.getApp()
// console.log('app',app)
// const res = await app.call({
// path:'/'
// })
// console.log('业务返回结果',res)
const res = await cloudcall({
path:'/'
})
console.log('业务返回结果',res)
};
useEffect(() => {
testCloud();

View File

@@ -1,7 +1,7 @@
import { Toast } from "@antmjs/vantui";
import Taro from "@tarojs/taro";
import { getCurrentInstance } from "@tarojs/taro";
import {type} from '../../config'
import { appId, type } from "../../config";
// 数据库环境
// const db: any = Taro.cloud.database({
@@ -23,7 +23,6 @@ export const getparams = () => {
return $instance?.router?.params;
};
// 添加数据
export const addTable: any = ({ env, tableName, objData, okFun }: Typeint) => {
// 数据库环境
@@ -38,34 +37,38 @@ export const addTable: any = ({ env, tableName, objData, okFun }: Typeint) => {
success: (res: any) => {
okFun(res);
},
fail:(err:any)=>{
console.log('err',err)
}
fail: (err: any) => {
console.log("err", err);
},
});
};
// 获取指定集合数据表 (keyValue指定条件)
export const getTable: any = ({ env, tableName, keyValue={}, okFun }: Typeint) => {
export const getTable: any = ({
env,
tableName,
keyValue = {},
okFun,
}: Typeint) => {
// 数据库环境
const db: any = Taro.cloud.database({
env: env,
});
let nowtable: any = db?.collection(tableName);
if(Object.keys(keyValue)?.length>0){
if (Object.keys(keyValue)?.length > 0) {
nowtable?.where(keyValue).get({
success: (res: any) => {
okFun(res);
},
});
}else{
} else {
nowtable?.get({
success: (res: any) => {
okFun(res);
},
});
}
};
// 获取指定id数据数据
@@ -73,7 +76,7 @@ export const getTableid: any = ({
env,
tableName,
id,
keyValue={},
keyValue = {},
okFun,
}: Typeint) => {
// 数据库环境
@@ -83,30 +86,28 @@ export const getTableid: any = ({
let nowtable: any = db?.collection(tableName);
if(Object.keys(keyValue)?.length>0){
if (Object.keys(keyValue)?.length > 0) {
nowtable
?.doc(id)
.where(keyValue)
.get({
?.doc(id)
.where(keyValue)
.get({
success: (res: any) => {
okFun(res);
},
fail: (err: any) => {
console.log("err", err);
},
});
} else {
nowtable?.doc(id)?.get({
success: (res: any) => {
okFun(res);
},
fail:(err:any)=>{
console.log('err',err)
}
});
}else{
nowtable
?.doc(id)?.get({
success: (res: any) => {
okFun(res);
fail: (err: any) => {
console.log("err", err);
},
fail:(err:any)=>{
console.log('err',err)
}
});
}
};
// 更新数据
@@ -129,9 +130,9 @@ export const updateTableid: any = ({
success: (res: any) => {
okFun(res);
},
fail:(err:any)=>{
console.log('err',err)
}
fail: (err: any) => {
console.log("err", err);
},
});
};
@@ -191,8 +192,9 @@ export const getOpenid = async () => {
};
export const phoneLogin = async () => {
return new Promise((resolve, reject) => { // 数据库环境
const db: any = Taro.cloud.database({ });
return new Promise((resolve, reject) => {
// 数据库环境
const db: any = Taro.cloud.database({});
const _ = db.command;
let openId = "";
Taro.cloud.callFunction({
@@ -207,7 +209,7 @@ export const phoneLogin = async () => {
// 指定条件, 有openid相等的数据
keyValue: { openId: _.eq(openId) },
// keyValue: { _openId: openId },
okFun: (res: any) => {
console.log("res", res);
let data = res?.data ?? [];
@@ -223,27 +225,62 @@ export const phoneLogin = async () => {
} else {
//查看是否存在手机号
if (data?.[0]?.authInfo?.[0]?.telNumber) {
resolve(true)
resolve(true);
return true;
} else {
if(type==='people'){
if (type === "people") {
// resolve(true)
// return true;
resolve(false)
resolve(false);
return false;
}else{
resolve(false)
} else {
resolve(false);
return false;
}
}
}
},
});
},
});})
});
});
// 不存在-未登录
};
export const cloudcall = async (obj: any, number = 0) => {
const that: any = {};
that.cloud = new Taro.cloud.Cloud({
resourceAppid: appId, // 微信云托管环境所属账号服务商appid、公众号或小程序appid
resourceEnv: "prod-4go74loxa6ac34a8", // 微信云托管的环境ID
});
await that?.cloud.init(); // init过程是异步的需要等待 init 完成才可以发起调用
try {
const result = await that.cloud.callContainer({
path: obj.path, // 填入业务自定义路径和参数,根目录,就是 /
method: obj.method || "GET", // 按照自己的业务开发,选择对应的方法
// dataType:'text', // 如果返回的不是 json 格式,需要添加此项
header: {
"X-WX-SERVICE": "fastapi", // xxx中填入服务名称微信云托管 - 服务管理 - 服务列表 - 服务名称)
// 其他 header 参数
},
// 其余参数同 wx.request
});
console.log(`微信云托管调用结果${result.errMsg} | callid:${result.callID}`);
return result.data; // 业务数据在 data 中
} catch (e) {
const error = e.toString();
// 如果错误信息为未初始化则等待300ms再次尝试因为 init 过程是异步的
if (error.indexOf("Cloud API isn't enabled") != -1 && number < 3) {
return new Promise((resolve) => {
setTimeout(function () {
resolve(that.call(obj, number + 1));
}, 300);
});
} else {
throw new Error(`微信云托管调用失败${error}`);
}
}
};

View File

@@ -18,9 +18,14 @@
"jsx": "react-jsx",
"allowJs": true,
"resolveJsonModule": true,
"typeRoots": [
"typeRoots": [
"node_modules/@types"
]
],
"paths": {
"@/utils/*": [
"./src/utils/*"
]
}
},
"include": ["./src", "./types"],
"compileOnSave": false