diff --git a/package.json b/package.json
index f0d2c8a..6e3283f 100644
--- a/package.json
+++ b/package.json
@@ -67,6 +67,7 @@
"@dcloudio/uni-stacktracey": "3.0.0-3081220230817001",
"@dcloudio/vite-plugin-uni": "3.0.0-3081220230817001",
"@vue/runtime-core": "^3.2.45",
+ "pinia-plugin-unistorage": "0.0.17",
"sass": "^1.68.0",
"sass-loader": "^13.3.2",
"vite": "4.1.4"
diff --git a/src/pages/camera/index.vue b/src/pages/camera/index.vue
index 4512aea..45f5977 100644
--- a/src/pages/camera/index.vue
+++ b/src/pages/camera/index.vue
@@ -85,6 +85,7 @@ let isShowCanvas = ref(true);
let isUpload = ref(false);
let modelUrl = ref("");
+let modelId = ref("");
let QRCodeUrl = ref("");
let showQrCode = ref(false);
@@ -213,7 +214,7 @@ const takePicture = () => {
const confirmPhoto = () => {
if (UimgSrc.value) {
uni.navigateTo({
- url: `/pages/createing/index?imageUrl=${UimgSrc.value}`,
+ url: `/pages/createing/index?imageUrl=${UimgSrc.value}&id=${modelId.value}`,
});
}
};
@@ -280,6 +281,7 @@ const cancelUplaod = () => {
onLoad((options) => {
console.log(options, "options");
modelUrl.value = options.modelUrl;
+ modelId.value = options.id;
});
onMounted(() => {
diff --git a/src/pages/created/index.vue b/src/pages/created/index.vue
index e03d357..e796dfb 100644
--- a/src/pages/created/index.vue
+++ b/src/pages/created/index.vue
@@ -60,6 +60,8 @@ onLoad(async (options) => {
// await getTemplateMsg();
await getSwiperList();
await getSupperPhotoState(swiperList.value[0].id);
+
+ uni.setStorageSync("createTimes", userInfoModulesPinia.createTimes);
});
onUnload(() => {
clearTimeout(timer);
@@ -195,12 +197,19 @@ watch(
//#endregion ---------------------
//#region 退出登录
-function loginOut(params) {
- uni.setStorageSync("token", null);
- uni.setStorageSync("UserId", null);
- uni.setStorageSync("phone", null);
- uni.navigateTo({
- url: "/pages/login/index",
+function loginOut() {
+ uni.showModal({
+ title: "提示",
+ content: "是否退出登录?",
+ success: function (res) {
+ if (res.confirm) {
+ console.log("用户点击确定");
+ userInfoModulesPinia.clearStorage();
+ uni.navigateTo({ url: "/pages/login/index" });
+ } else if (res.cancel) {
+ console.log("用户点击取消");
+ }
+ },
});
}
//#endregion ---------------------
diff --git a/src/pages/createing/index.vue b/src/pages/createing/index.vue
index 81405b3..d563bab 100644
--- a/src/pages/createing/index.vue
+++ b/src/pages/createing/index.vue
@@ -35,7 +35,18 @@
- 打开微信扫码登录小程序
+ 打开微信扫码登录小程序
+ 剩余生成次数不足,请扫码充值!
{{ payCount }}秒后过期
@@ -62,9 +73,15 @@ const userInfoModulesPinia = userInfoModules();
//#region 初始化
const styleId = ref(null);
const styleData = ref({});
-onLoad((options) => {
+const cameraImg = ref(null);
+onLoad(async (options) => {
styleId.value = options.id;
// getInfo();
+ cameraImg.value = options.imageUrl;
+ if (options.imageUrl) {
+ await getInfo();
+ createing2();
+ }
});
onShow(() => {
getInfo();
@@ -90,6 +107,8 @@ async function createing1() {
if (!uni.getStorageSync("token")) {
showQrCode.value = true;
return;
+ } else if (uni.getStorageSync("createTimes") == 0) {
+ showQrCode.value = true;
} else {
toCamera();
}
@@ -101,8 +120,9 @@ async function createing2() {
mask: true,
});
// const res = await findImageApi();
- let myImg =
- "https://suimang.oss-accelerate.aliyuncs.com/capi/2023-09-18/bd50b0024ea4470cbd391bcb00382f72.jpg?x-oss-process=image/resize,w_10000/quality,q_60";
+ // let myImg =
+ // "https://suimang.oss-accelerate.aliyuncs.com/capi/2023-09-18/bd50b0024ea4470cbd391bcb00382f72.jpg?x-oss-process=image/resize,w_10000/quality,q_60";
+ let myImg = cameraImg.value;
const data = {
machineQrcodeId: uni.getStorageSync("UserId"),
plat: uni.getStorageSync("plat"),
@@ -111,10 +131,15 @@ async function createing2() {
title: styleData.value.title,
};
const res2 = await createPhotoApi(data);
- console.log(res2);
- uni.navigateTo({
- url: `/pages/created/index?id=${res2.data.id}`,
- });
+ if (res2.data) {
+ console.log(res2);
+ userInfoModulesPinia.createTimes = userInfoModulesPinia.createTimes - 1;
+ uni.navigateTo({
+ url: `/pages/created/index?id=${res2.data.id}`,
+ });
+ } else {
+ throw new Error();
+ }
uni.hideLoading();
} catch (error) {
console.log(error);
@@ -283,8 +308,9 @@ onUnload(() => {
//#region 路由跳转
function toCamera() {
const url = styleData.value.coverImg;
+ const id = styleData.value.id;
uni.navigateTo({
- url: `/pages/camera/index?modelUrl=${url}`,
+ url: `/pages/camera/index?modelUrl=${url}&id=${id}`,
});
}
//#endregion ---------------------
diff --git a/src/store/index.js b/src/store/index.js
index 2cc8330..e362629 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -1,10 +1,10 @@
import { createPinia } from 'pinia'
import * as Pinia from 'pinia'
-// import { createUnistorage } from 'pinia-plugin-unistorage'
+import { createUnistorage } from 'pinia-plugin-unistorage'
// import { createPersistedState } from 'pinia-plugin-persistedstate'
const store = createPinia();
// const store = Pinia.createPinia()
-// store.use(createUnistorage())
+store.use(createUnistorage())
export { store, Pinia };
diff --git a/src/store/modules/userInfo.js b/src/store/modules/userInfo.js
index 1962488..1285628 100644
--- a/src/store/modules/userInfo.js
+++ b/src/store/modules/userInfo.js
@@ -40,6 +40,8 @@ export const userInfoModules = defineStore("userInfoStore", () => {
uni.setStorageSync("phone", null);
}
return { token, phone, createTimes, clearStorage };
-}
-
+},
+ {
+ unistorage: true,
+ }
);
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 7042cd4..eb59c80 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3581,6 +3581,13 @@ pify@^2.3.0:
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
+pinia-plugin-unistorage@0.0.17:
+ version "0.0.17"
+ resolved "https://registry.yarnpkg.com/pinia-plugin-unistorage/-/pinia-plugin-unistorage-0.0.17.tgz#b237d1146069c400b5b81ac5dac0467e3d07db68"
+ integrity sha512-Oo4KTWyZP+7/fRRGG5ACoFIBZznEgFt8SPSOcg99t5NHzFP1wSTAfgl25eRr7Tv11pkWyzgZSa3oMGVIBBs1MA==
+ dependencies:
+ pinia "^2.0.33"
+
pinia@2.0.33:
version "2.0.33"
resolved "https://registry.yarnpkg.com/pinia/-/pinia-2.0.33.tgz#b70065be697874d5824e9792f59bd5d87ddb5e7d"
@@ -3589,6 +3596,14 @@ pinia@2.0.33:
"@vue/devtools-api" "^6.5.0"
vue-demi "*"
+pinia@^2.0.33:
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/pinia/-/pinia-2.1.6.tgz#e88959f14b61c4debd9c42d0c9944e2875cbe0fa"
+ integrity sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==
+ dependencies:
+ "@vue/devtools-api" "^6.5.0"
+ vue-demi ">=0.14.5"
+
pixelmatch@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854"
@@ -4196,7 +4211,7 @@ vite@4.1.4:
optionalDependencies:
fsevents "~2.3.2"
-vue-demi@*:
+vue-demi@*, vue-demi@>=0.14.5:
version "0.14.6"
resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.6.tgz#dc706582851dc1cdc17a0054f4fec2eb6df74c92"
integrity sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==