From 49f4a1d6ccd728cf4630a78ce7c56b4880c71a38 Mon Sep 17 00:00:00 2001
From: zzc <1761997216@qq.com>
Date: Fri, 24 Apr 2026 10:20:50 +0800
Subject: [PATCH] first commit
---
.gitignore | 2 +
.hbuilderx/launch.json | 16 +
App.vue | 68 ++
api/auth.js | 45 ++
api/mine.js | 40 ++
api/pay.js | 16 +
api/system.js | 85 +++
api/user.js | 8 +
common/images/preview_small.webp | Bin 0 -> 6968 bytes
common/style/base-style.scss | 10 +
common/style/common-style.scss | 8 +
components/LoginPopup/LoginPopup.vue | 516 ++++++++++++++
components/NavBar/NavBar.vue | 123 ++++
components/PrivacyPopup/PrivacyPopup.vue | 208 ++++++
components/RewardAd/RewardAd.vue | 49 ++
components/custom-content/custom-content.vue | 69 ++
components/layout/layout.vue | 70 ++
index.html | 20 +
main.js | 39 +
manifest.json | 75 ++
pages.json | 105 +++
pages/.DS_Store | Bin 0 -> 6148 bytes
pages/creation/index.vue | 90 +++
pages/feedback/index.vue | 381 ++++++++++
pages/index/index.vue | 206 ++++++
pages/mine/help.vue | 441 ++++++++++++
pages/mine/mine.vue | 510 ++++++++++++++
pages/mine/profile.vue | 372 ++++++++++
pages/mine/vip.vue | 529 ++++++++++++++
pages/webview/index.vue | 21 +
polyfill.js | 53 ++
static/.DS_Store | Bin 0 -> 6148 bytes
static/images/.DS_Store | Bin 0 -> 6148 bytes
static/images/default-avatar.png | Bin 0 -> 6719 bytes
static/images/qrcode.jpg | Bin 0 -> 72489 bytes
static/images/tabBar/creation.png | Bin 0 -> 6123 bytes
static/images/tabBar/creation_s.png | Bin 0 -> 6212 bytes
static/images/tabBar/home.png | Bin 0 -> 5090 bytes
static/images/tabBar/home_s.png | Bin 0 -> 5099 bytes
static/images/tabBar/me.png | Bin 0 -> 6001 bytes
static/images/tabBar/me_s.png | Bin 0 -> 5930 bytes
stores/user.js | 88 +++
uni.promisify.adaptor.js | 13 +
uni.scss | 76 ++
uni_modules/uni-icons/changelog.md | 44 ++
.../components/uni-icons/uni-icons.uvue | 91 +++
.../components/uni-icons/uni-icons.vue | 110 +++
.../components/uni-icons/uniicons.css | 664 ++++++++++++++++++
.../components/uni-icons/uniicons.ttf | Bin 0 -> 35824 bytes
.../components/uni-icons/uniicons_file.ts | 664 ++++++++++++++++++
.../components/uni-icons/uniicons_file_vue.js | 649 +++++++++++++++++
uni_modules/uni-icons/package.json | 111 +++
uni_modules/uni-icons/readme.md | 8 +
uni_modules/uni-popup/changelog.md | 94 +++
.../components/uni-popup-dialog/keypress.js | 45 ++
.../uni-popup-dialog/uni-popup-dialog.vue | 327 +++++++++
.../uni-popup-message/uni-popup-message.vue | 143 ++++
.../uni-popup-share/uni-popup-share.vue | 188 +++++
.../components/uni-popup/i18n/en.json | 7 +
.../components/uni-popup/i18n/index.js | 8 +
.../components/uni-popup/i18n/zh-Hans.json | 7 +
.../components/uni-popup/i18n/zh-Hant.json | 7 +
.../components/uni-popup/keypress.js | 45 ++
.../uni-popup/components/uni-popup/popup.js | 26 +
.../components/uni-popup/uni-popup.uvue | 90 +++
.../components/uni-popup/uni-popup.vue | 518 ++++++++++++++
uni_modules/uni-popup/package.json | 90 +++
uni_modules/uni-popup/readme.md | 17 +
uni_modules/uni-scss/changelog.md | 8 +
uni_modules/uni-scss/index.scss | 1 +
uni_modules/uni-scss/package.json | 82 +++
uni_modules/uni-scss/readme.md | 4 +
uni_modules/uni-scss/styles/index.scss | 7 +
.../uni-scss/styles/setting/_border.scss | 3 +
.../uni-scss/styles/setting/_color.scss | 66 ++
.../uni-scss/styles/setting/_radius.scss | 55 ++
.../uni-scss/styles/setting/_space.scss | 56 ++
.../uni-scss/styles/setting/_styles.scss | 167 +++++
.../uni-scss/styles/setting/_text.scss | 24 +
.../uni-scss/styles/setting/_variables.scss | 146 ++++
.../uni-scss/styles/tools/functions.scss | 19 +
uni_modules/uni-scss/theme.scss | 31 +
uni_modules/uni-scss/variables.scss | 62 ++
uni_modules/uni-transition/changelog.md | 27 +
.../uni-transition/createAnimation.js | 131 ++++
.../uni-transition/uni-transition.vue | 289 ++++++++
uni_modules/uni-transition/package.json | 87 +++
uni_modules/uni-transition/readme.md | 11 +
utils/ability.js | 92 +++
utils/adManager.js | 199 ++++++
utils/common.js | 127 ++++
utils/date.js | 18 +
utils/login.js | 53 ++
utils/request.js | 143 ++++
utils/system.js | 122 ++++
utils/track.js | 121 ++++
96 files changed, 10456 insertions(+)
create mode 100644 .gitignore
create mode 100644 .hbuilderx/launch.json
create mode 100644 App.vue
create mode 100644 api/auth.js
create mode 100644 api/mine.js
create mode 100644 api/pay.js
create mode 100644 api/system.js
create mode 100644 api/user.js
create mode 100644 common/images/preview_small.webp
create mode 100644 common/style/base-style.scss
create mode 100644 common/style/common-style.scss
create mode 100644 components/LoginPopup/LoginPopup.vue
create mode 100644 components/NavBar/NavBar.vue
create mode 100644 components/PrivacyPopup/PrivacyPopup.vue
create mode 100644 components/RewardAd/RewardAd.vue
create mode 100644 components/custom-content/custom-content.vue
create mode 100644 components/layout/layout.vue
create mode 100644 index.html
create mode 100644 main.js
create mode 100644 manifest.json
create mode 100644 pages.json
create mode 100644 pages/.DS_Store
create mode 100644 pages/creation/index.vue
create mode 100644 pages/feedback/index.vue
create mode 100644 pages/index/index.vue
create mode 100644 pages/mine/help.vue
create mode 100644 pages/mine/mine.vue
create mode 100644 pages/mine/profile.vue
create mode 100644 pages/mine/vip.vue
create mode 100644 pages/webview/index.vue
create mode 100644 polyfill.js
create mode 100644 static/.DS_Store
create mode 100644 static/images/.DS_Store
create mode 100644 static/images/default-avatar.png
create mode 100644 static/images/qrcode.jpg
create mode 100644 static/images/tabBar/creation.png
create mode 100644 static/images/tabBar/creation_s.png
create mode 100644 static/images/tabBar/home.png
create mode 100644 static/images/tabBar/home_s.png
create mode 100644 static/images/tabBar/me.png
create mode 100644 static/images/tabBar/me_s.png
create mode 100644 stores/user.js
create mode 100644 uni.promisify.adaptor.js
create mode 100644 uni.scss
create mode 100644 uni_modules/uni-icons/changelog.md
create mode 100644 uni_modules/uni-icons/components/uni-icons/uni-icons.uvue
create mode 100644 uni_modules/uni-icons/components/uni-icons/uni-icons.vue
create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons.css
create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons.ttf
create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons_file.ts
create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js
create mode 100644 uni_modules/uni-icons/package.json
create mode 100644 uni_modules/uni-icons/readme.md
create mode 100644 uni_modules/uni-popup/changelog.md
create mode 100644 uni_modules/uni-popup/components/uni-popup-dialog/keypress.js
create mode 100644 uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue
create mode 100644 uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue
create mode 100644 uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue
create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/en.json
create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/index.js
create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json
create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json
create mode 100644 uni_modules/uni-popup/components/uni-popup/keypress.js
create mode 100644 uni_modules/uni-popup/components/uni-popup/popup.js
create mode 100644 uni_modules/uni-popup/components/uni-popup/uni-popup.uvue
create mode 100644 uni_modules/uni-popup/components/uni-popup/uni-popup.vue
create mode 100644 uni_modules/uni-popup/package.json
create mode 100644 uni_modules/uni-popup/readme.md
create mode 100644 uni_modules/uni-scss/changelog.md
create mode 100644 uni_modules/uni-scss/index.scss
create mode 100644 uni_modules/uni-scss/package.json
create mode 100644 uni_modules/uni-scss/readme.md
create mode 100644 uni_modules/uni-scss/styles/index.scss
create mode 100644 uni_modules/uni-scss/styles/setting/_border.scss
create mode 100644 uni_modules/uni-scss/styles/setting/_color.scss
create mode 100644 uni_modules/uni-scss/styles/setting/_radius.scss
create mode 100644 uni_modules/uni-scss/styles/setting/_space.scss
create mode 100644 uni_modules/uni-scss/styles/setting/_styles.scss
create mode 100644 uni_modules/uni-scss/styles/setting/_text.scss
create mode 100644 uni_modules/uni-scss/styles/setting/_variables.scss
create mode 100644 uni_modules/uni-scss/styles/tools/functions.scss
create mode 100644 uni_modules/uni-scss/theme.scss
create mode 100644 uni_modules/uni-scss/variables.scss
create mode 100644 uni_modules/uni-transition/changelog.md
create mode 100644 uni_modules/uni-transition/components/uni-transition/createAnimation.js
create mode 100644 uni_modules/uni-transition/components/uni-transition/uni-transition.vue
create mode 100644 uni_modules/uni-transition/package.json
create mode 100644 uni_modules/uni-transition/readme.md
create mode 100644 utils/ability.js
create mode 100644 utils/adManager.js
create mode 100644 utils/common.js
create mode 100644 utils/date.js
create mode 100644 utils/login.js
create mode 100644 utils/request.js
create mode 100644 utils/system.js
create mode 100644 utils/track.js
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ccaa112
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/unpackage
+unpackage
diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json
new file mode 100644
index 0000000..81f13f4
--- /dev/null
+++ b/.hbuilderx/launch.json
@@ -0,0 +1,16 @@
+{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
+ // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
+ "version": "0.0",
+ "configurations": [{
+ "default" :
+ {
+ "launchtype" : "local"
+ },
+ "mp-weixin" :
+ {
+ "launchtype" : "local"
+ },
+ "type" : "uniCloud"
+ }
+ ]
+}
diff --git a/App.vue b/App.vue
new file mode 100644
index 0000000..ceaacbf
--- /dev/null
+++ b/App.vue
@@ -0,0 +1,68 @@
+
+
+
diff --git a/api/auth.js b/api/auth.js
new file mode 100644
index 0000000..9adb7a8
--- /dev/null
+++ b/api/auth.js
@@ -0,0 +1,45 @@
+import { request } from "@/utils/request.js";
+
+export const apiLogin = async (data) => {
+ return request({
+ url: "/api/user/login",
+ method: "POST",
+ data,
+ });
+};
+
+export const getUserInfo = async () => {
+ return request({
+ url: "/api/user/info",
+ method: "GET",
+ });
+};
+
+export const updateUserInfo = async (body) => {
+ return request({
+ url: "/api/user/info",
+ method: "PUT",
+ data: body,
+ });
+};
+
+export const userOpenApp = async () => {
+ return request({
+ url: "/api/user/open-app",
+ method: "POST",
+ });
+};
+
+export const getUserAsset = async () => {
+ return request({
+ url: "/api/user/asset",
+ method: "GET",
+ });
+};
+
+export const reportPrivacy = async () => {
+ // return request({
+ // url: "/api/common/privacy/report",
+ // method: "POST",
+ // });
+};
diff --git a/api/mine.js b/api/mine.js
new file mode 100644
index 0000000..29be01a
--- /dev/null
+++ b/api/mine.js
@@ -0,0 +1,40 @@
+import { request } from "@/utils/request.js";
+
+export const sendFeedback = async (data) => {
+ return request({
+ url: "/api/common/feedback",
+ method: "POST",
+ data,
+ });
+};
+
+export const getMyCard = async (page = 1) => {
+ return request({
+ url: "/api/blessing/my/card?page=" + page,
+ method: "GET",
+ });
+};
+
+export const getMyWallpaper = async (page = 1) => {
+ return request({
+ url: "/api/blessing/my/wallpaper?page=" + page,
+ method: "GET",
+ });
+};
+
+export const getMyAvatar = async (page = 1) => {
+ return request({
+ url: "/api/blessing/my/avatar?page=" + page,
+ method: "GET",
+ });
+};
+
+export const userAvatarChange = async (imageUrl) => {
+ return request({
+ url: "/api/blessing/user/avatar/change",
+ method: "POST",
+ data: {
+ imageUrl,
+ },
+ });
+};
diff --git a/api/pay.js b/api/pay.js
new file mode 100644
index 0000000..5cac542
--- /dev/null
+++ b/api/pay.js
@@ -0,0 +1,16 @@
+import { request } from "@/utils/request.js";
+
+export const createOrder = async (data) => {
+ return request({
+ url: "/api/pay/order/v2/create",
+ method: "POST",
+ data,
+ });
+};
+
+export const getVipPlan = async () => {
+ return request({
+ url: "/api/blessing/vip/plan",
+ method: "GET",
+ });
+};
diff --git a/api/system.js b/api/system.js
new file mode 100644
index 0000000..d885837
--- /dev/null
+++ b/api/system.js
@@ -0,0 +1,85 @@
+import { request } from "@/utils/request.js";
+import { useUserStore } from "@/stores/user";
+
+export const createShareToken = async (data) => {
+ return request({
+ url: "/api/blessing/share/token",
+ method: "POST",
+ data,
+ });
+};
+
+export const getShareReward = async (data) => {
+ const res = await request({
+ url: "/api/reward/share",
+ method: "POST",
+ data,
+ });
+ console.log("getShareReward res", res);
+ if (res && res.success) {
+ const userStore = useUserStore();
+ userStore.fetchUserAssets();
+ }
+ return res;
+};
+
+export const saveRecord = async (data) => {
+ return request({
+ url: "/api/blessing/save/record",
+ method: "POST",
+ data,
+ });
+};
+
+export const viewRecord = async (data) => {
+ return request({
+ url: "/api/blessing/view/record",
+ method: "POST",
+ data,
+ });
+};
+
+export const getRecommendList = async (page = 1) => {
+ return request({
+ url: `/api/blessing/recommend/list?page=${page}`,
+ method: "get",
+ });
+};
+
+export const msgCheckApi = async (content) => {
+ return request({
+ url: "/api/common/msg-check?content=" + content,
+ method: "get",
+ });
+};
+
+export const createTracking = async (data) => {
+ return request({
+ url: "/api/common/tracking/create",
+ method: "POST",
+ data,
+ });
+};
+
+export const watchAdReward = async (token, scene, type, resourceId) => {
+ return request({
+ url: "/api/ad/reward",
+ method: "POST",
+ data: {
+ rewardToken: token,
+ scene,
+ type,
+ resourceId,
+ },
+ });
+};
+
+export const watchAdStart = async () => {
+ return request({
+ url: "/api/ad/start",
+ method: "POST",
+ data: {
+ adPlacementId: "adunit-d7a28e0357d98947",
+ },
+ });
+};
diff --git a/api/user.js b/api/user.js
new file mode 100644
index 0000000..c8daafc
--- /dev/null
+++ b/api/user.js
@@ -0,0 +1,8 @@
+import { request } from "@/utils/request.js";
+
+export const getUserSignInfo = async () => {
+ return request({
+ url: "/api/sign/info",
+ method: "GET",
+ });
+};
diff --git a/common/images/preview_small.webp b/common/images/preview_small.webp
new file mode 100644
index 0000000000000000000000000000000000000000..716f2cbe633d49f2753c3b4943373d9e92c038ed
GIT binary patch
literal 6968
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
Sa41cAwZn}WvW3
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/NavBar/NavBar.vue b/components/NavBar/NavBar.vue
new file mode 100644
index 0000000..a6cf15c
--- /dev/null
+++ b/components/NavBar/NavBar.vue
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+ ‹
+ {{ title }}
+
+
+
+
+
+
+
+
diff --git a/components/PrivacyPopup/PrivacyPopup.vue b/components/PrivacyPopup/PrivacyPopup.vue
new file mode 100644
index 0000000..6bd276e
--- /dev/null
+++ b/components/PrivacyPopup/PrivacyPopup.vue
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+
diff --git a/components/RewardAd/RewardAd.vue b/components/RewardAd/RewardAd.vue
new file mode 100644
index 0000000..5b8b19f
--- /dev/null
+++ b/components/RewardAd/RewardAd.vue
@@ -0,0 +1,49 @@
+
+
+
+
+
diff --git a/components/custom-content/custom-content.vue b/components/custom-content/custom-content.vue
new file mode 100644
index 0000000..c3788c9
--- /dev/null
+++ b/components/custom-content/custom-content.vue
@@ -0,0 +1,69 @@
+
+
+
+ {{title}}
+ {{enTitle}}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/layout/layout.vue b/components/layout/layout.vue
new file mode 100644
index 0000000..66a42e3
--- /dev/null
+++ b/components/layout/layout.vue
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..c3ff205
--- /dev/null
+++ b/index.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/main.js b/main.js
new file mode 100644
index 0000000..db68db0
--- /dev/null
+++ b/main.js
@@ -0,0 +1,39 @@
+import './polyfill'
+import App from './App'
+
+// #ifndef VUE3
+import Vue from 'vue'
+import './uni.promisify.adaptor'
+import { createPinia } from 'pinia'
+
+Vue.config.productionTip = false
+App.mpType = 'app'
+const app = new Vue({
+ ...App
+})
+const pinia = createPinia()
+app.use(pinia)
+
+app.$mount()
+// #endif
+
+// #ifdef VUE3
+import { createSSRApp } from 'vue'
+import { createPinia } from 'pinia'
+import { trackRecord } from '@/utils/common.js' // 引入埋点方法
+
+export function createApp() {
+ const app = createSSRApp(App)
+ const pinia = createPinia()
+ app.use(pinia) // ✅ 这句是关键
+
+ // 挂载到全局配置,使得在 vue3 setup 中可以通过 proxy 或 app.config.globalProperties 访问
+ app.config.globalProperties.$trackRecord = trackRecord
+ // 同时也挂载到 uni 对象上,这样在任何地方都可以直接 uni.$trackRecord 调用
+ uni.$trackRecord = trackRecord
+
+ return {
+ app
+ }
+}
+// #endif
diff --git a/manifest.json b/manifest.json
new file mode 100644
index 0000000..b9d7797
--- /dev/null
+++ b/manifest.json
@@ -0,0 +1,75 @@
+{
+ "name" : "tpl-mini",
+ "appid" : "",
+ "description" : "",
+ "versionName" : "1.0.0",
+ "versionCode" : "100",
+ "transformPx" : false,
+ /* 5+App特有相关 */
+ "app-plus" : {
+ "usingComponents" : true,
+ "nvueStyleCompiler" : "uni-app",
+ "compilerVersion" : 3,
+ "splashscreen" : {
+ "alwaysShowBeforeRender" : true,
+ "waiting" : true,
+ "autoclose" : true,
+ "delay" : 0
+ },
+ /* 模块配置 */
+ "modules" : {},
+ /* 应用发布信息 */
+ "distribute" : {
+ /* android打包配置 */
+ "android" : {
+ "permissions" : [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ /* ios打包配置 */
+ "ios" : {},
+ /* SDK配置 */
+ "sdkConfigs" : {}
+ }
+ },
+ /* 快应用特有相关 */
+ "quickapp" : {},
+ /* 小程序特有相关 */
+ "mp-weixin" : {
+ "appid" : "wx8d0a4bfb94c9a7f0",
+ "__usePrivacyCheck__" : true,
+ "setting" : {
+ "urlCheck" : false
+ },
+ "usingComponents" : true,
+ "lazyCodeLoading" : "requiredComponents"
+ },
+ "mp-alipay" : {
+ "usingComponents" : true,
+ "appid" : "2021006125616610"
+ },
+ "mp-baidu" : {
+ "usingComponents" : true
+ },
+ "mp-toutiao" : {
+ "usingComponents" : true
+ },
+ "uniStatistics" : {
+ "enable" : false
+ },
+ "vueVersion" : "3"
+}
diff --git a/pages.json b/pages.json
new file mode 100644
index 0000000..ffbbadf
--- /dev/null
+++ b/pages.json
@@ -0,0 +1,105 @@
+{
+ "pages": [
+ {
+ "path": "pages/index/index",
+ "style": {
+ "navigationBarTitleText": "祝福 壁纸 头像",
+ "enablePullDownRefresh": true,
+ "navigationStyle": "custom",
+ "backgroundColor": "#FFFFFF"
+ }
+ },
+ {
+ "path": "pages/mine/help",
+ "style": {
+ "navigationBarTitleText": "帮助中心",
+ "navigationStyle": "custom",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/mine/vip",
+ "style": {
+ "navigationBarTitleText": "会员中心",
+ "navigationStyle": "custom",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/mine/profile",
+ "style": {
+ "navigationBarTitleText": "个人信息",
+ "navigationStyle": "custom",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/mine/mine",
+ "style": {
+ "navigationBarTitleText": "我的",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/creation/index",
+ "style": {
+ "navigationBarTitleText": "创作中心",
+ "navigationStyle": "custom",
+ "backgroundColor": "#fbfbfb"
+ }
+ },
+ {
+ "path": "pages/webview/index",
+ "style": {
+ "navigationBarTitleText": "加载中...",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/feedback/index",
+ "style": {
+ "navigationBarTitleText": "意见反馈",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ }
+ ],
+ "globalStyle": {
+ "navigationBarTextStyle": "black",
+ "navigationBarTitleText": "uni-app",
+ "navigationBarBackgroundColor": "#F8F8F8",
+ "backgroundColor": "#F8F8F8",
+ "mp-alipay": {
+ "transparentTitle": "always",
+ "titlePenetrate": "YES"
+ }
+ },
+ "tabBar": {
+ "color": "#999999",
+ "selectedColor": "#ff3b30",
+ "backgroundColor": "#ffffff",
+ "iconWidth": "24px",
+ "list": [
+ {
+ "text": "首页",
+ "pagePath": "pages/index/index",
+ "iconPath": "static/images/tabBar/home.png",
+ "selectedIconPath": "static/images/tabBar/home_s.png"
+ },
+ {
+ "text": "创作",
+ "pagePath": "pages/creation/index",
+ "iconPath": "static/images/tabBar/creation.png",
+ "selectedIconPath": "static/images/tabBar/creation_s.png"
+ },
+ {
+ "text": "我的",
+ "pagePath": "pages/mine/mine",
+ "iconPath": "static/images/tabBar/me.png",
+ "selectedIconPath": "static/images/tabBar/me_s.png"
+ }
+ ]
+ },
+ "uniIdRouter": {}
+}
diff --git a/pages/.DS_Store b/pages/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..8ef2d1b6ab03c89ed1304dd25f142ba515c59f4c
GIT binary patch
literal 6148
zcmeHKJ8r^25S>X}SV}{ga<7mZtdKbY7XU(%BFIRQLhXukaWvk16b0EdNHpk;HS>1I
z^Vae!JRT9z`S12kWF{gl+)$1d#%A};NA{E%1;TO0M%MB!--qQ-KdPQi7`K&A`M|aP
z&)@C)uQ+#_$Sf700#twsPys4%lLFRzVeLyGBNd
+
+
+ 创作中心
+
+
+
+
+
+
+
diff --git a/pages/feedback/index.vue b/pages/feedback/index.vue
new file mode 100644
index 0000000..5ed0948
--- /dev/null
+++ b/pages/feedback/index.vue
@@ -0,0 +1,381 @@
+
+
+
+
+
+
+
+ 此投诉为本小程序自有投诉渠道,非微信官方投诉渠道
+
+
+
+
+ 反馈类型
+
+
+ {{ item.label }}
+
+
+
+
+
+
+ 反馈内容 *
+
+
+ {{ formData.content.length }}/200
+
+
+
+
+
+ 图片上传 (选填,最多3张)
+
+
+
+ ×
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/index/index.vue b/pages/index/index.vue
new file mode 100644
index 0000000..d6bf981
--- /dev/null
+++ b/pages/index/index.vue
@@ -0,0 +1,206 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/mine/help.vue b/pages/mine/help.vue
new file mode 100644
index 0000000..74b4cf3
--- /dev/null
+++ b/pages/mine/help.vue
@@ -0,0 +1,441 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 制作贺卡
+
+
+
+
+
+
+
+
+ 佩戴挂饰
+
+
+
+
+
+
+
+
+ 送出祝福
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.q }}
+
+
+
+ {{ item.a }}
+
+
+
+
+
+
+
+
+
+
+ 没找到答案?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/mine/mine.vue b/pages/mine/mine.vue
new file mode 100644
index 0000000..81636e0
--- /dev/null
+++ b/pages/mine/mine.vue
@@ -0,0 +1,510 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ userInfo.nickName }}
+
+ VIP 祥瑞会员
+
+
+
+
+
+
+
+ 点击登录解锁更多功能
+
+
+ ›
+
+
+
+
+
+
+
+
+
+
+ 祥瑞会员中心
+ DIAMOND
+
+ 开通会员解锁全部特权
+
+
+
+ 立即开通
+ ›
+
+
+
+
+ 我的xx
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/mine/profile.vue b/pages/mine/profile.vue
new file mode 100644
index 0000000..1586772
--- /dev/null
+++ b/pages/mine/profile.vue
@@ -0,0 +1,372 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 更换头像
+
+
+
+
+
+ 昵称
+
+ {{ form.nickName || "微信用户" }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/mine/vip.vue b/pages/mine/vip.vue
new file mode 100644
index 0000000..d8e8367
--- /dev/null
+++ b/pages/mine/vip.vue
@@ -0,0 +1,529 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ userInfo.nickName || "微信用户" }}
+ VIP 祥瑞会员
+ 普通用户
+
+
+ {{ userInfo.vipExpireAt }} 到期
+
+ 开通会员解锁专属权益
+
+
+
+
+ 选择会员方案
+
+
+
+ {{ plan.badge }}
+
+ {{ plan.name }}
+
+ ¥
+ {{ plan.price / 100 }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ benefit.name }}
+
+
+
+
+
+
+ 购买说明
+
+
+ •
+ {{ note }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/webview/index.vue b/pages/webview/index.vue
new file mode 100644
index 0000000..5b71d05
--- /dev/null
+++ b/pages/webview/index.vue
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
diff --git a/polyfill.js b/polyfill.js
new file mode 100644
index 0000000..fba0a31
--- /dev/null
+++ b/polyfill.js
@@ -0,0 +1,53 @@
+// #ifdef MP-WEIXIN
+// 拦截 wx.getSystemInfoSync 和 wx.getSystemInfo,避免 uni-app 内部或第三方库调用导致微信原生警告
+if (typeof wx !== 'undefined' && wx.getSystemInfoSync) {
+ const originalGetSystemInfoSync = wx.getSystemInfoSync;
+ wx.getSystemInfoSync = function () {
+ if (wx.getWindowInfo && wx.getAppBaseInfo && wx.getDeviceInfo && wx.getAppAuthorizeSetting && wx.getSystemSetting) {
+ try {
+ const windowInfo = wx.getWindowInfo() || {};
+ const appBaseInfo = wx.getAppBaseInfo() || {};
+ const deviceInfo = wx.getDeviceInfo() || {};
+ const appAuthorizeSetting = wx.getAppAuthorizeSetting() || {};
+ const systemSetting = wx.getSystemSetting() || {};
+
+ let safeAreaInsets = undefined;
+ if (windowInfo.safeArea) {
+ safeAreaInsets = {
+ top: windowInfo.safeArea.top,
+ left: windowInfo.safeArea.left,
+ right: windowInfo.screenWidth - windowInfo.safeArea.right,
+ bottom: windowInfo.screenHeight - windowInfo.safeArea.bottom
+ };
+ }
+
+ return {
+ ...windowInfo,
+ ...appBaseInfo,
+ ...deviceInfo,
+ ...appAuthorizeSetting,
+ ...systemSetting,
+ safeAreaInsets,
+ system: deviceInfo.system,
+ platform: deviceInfo.platform,
+ model: deviceInfo.model
+ };
+ } catch (e) {
+ return originalGetSystemInfoSync.call(wx);
+ }
+ }
+ return originalGetSystemInfoSync.call(wx);
+ };
+ const originalGetSystemInfo = wx.getSystemInfo;
+ wx.getSystemInfo = function (options) {
+ if (wx.getSystemInfoAsync) {
+ try {
+ return wx.getSystemInfoAsync(options);
+ } catch (e) {
+ return originalGetSystemInfo.call(wx, options);
+ }
+ }
+ return originalGetSystemInfo.call(wx, options);
+ };
+}
+// #endif
diff --git a/static/.DS_Store b/static/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..1fbacac02f65d56fbe985b77c869d0dfd77d1093
GIT binary patch
literal 6148
zcmeHK%}T>S5Z<-5-BN@e6nb3nTChJ>5HBIt7cim+m70)JgK4%jtvQrJ&iX<=iO=KA
z?&c6IcoVTRu=~x<&u->}>R_&nokl{&JPN{^A}-H%i4p
zq5HvYG|9%T!%LMc{V16%bV3wPAmrgLN2u1M7=NB
Xi@8CZ1?@T=kS+q65bB75Utr)1vY|{1
literal 0
HcmV?d00001
diff --git a/static/images/.DS_Store b/static/images/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6
GIT binary patch
literal 6148
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
ZHgLORHAm%3+ze|6*ju|;J+PoA{tp*1qE`R_
literal 0
HcmV?d00001
diff --git a/static/images/qrcode.jpg b/static/images/qrcode.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d00772fd6b3080e0ba7d81cbe9dd6ac16cf004c5
GIT binary patch
literal 72489
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