diff --git a/app/components/Authentication.vue b/app/components/Authentication.vue
index 6cb095e..79617e1 100644
--- a/app/components/Authentication.vue
+++ b/app/components/Authentication.vue
@@ -1,11 +1,11 @@
diff --git a/app/components/PictureList.vue b/app/components/PictureList.vue
index bde0450..598daad 100644
--- a/app/components/PictureList.vue
+++ b/app/components/PictureList.vue
@@ -30,7 +30,7 @@
class="mr-2"
size="20"
:color="item.isLike === 0 ? '#ccc' : '#ff0000'"
- @click="onLike(item)"
+ @click.stop="onLike(item)"
>
diff --git a/app/components/WechatLoginQr.vue b/app/components/WechatLoginQr.vue
index c750f0c..c99557a 100644
--- a/app/components/WechatLoginQr.vue
+++ b/app/components/WechatLoginQr.vue
@@ -33,10 +33,10 @@ async function onGetUUid() {
if (res.code === 200) {
const appid = 'wx0a72f196ec9c3a70'
const { uuid } = res
- const redirect_uri = `http://www.mc158c.com/api/wx/uuid/bind/openid?uuid=${uuid}`
+ const redirect_uri = `http://www.mc158c.com/login-success?uuid=${uuid}`
const codeUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${encodeURIComponent(
redirect_uri,
- )}&response_type=code&scope=snsapi_userinfo&state=123456#wechat_redirect`
+ )}&response_type=code&scope=snsapi_userinfo&state=12345e23436#wechat_redirect`
qrUrl.value = codeUrl
let counter = 1
pollingTimer && clearTimeout(pollingTimer)
diff --git a/app/components/publishModel/CreateModels.vue b/app/components/publishModel/CreateModels.vue
index b3f45c9..b89d23a 100644
--- a/app/components/publishModel/CreateModels.vue
+++ b/app/components/publishModel/CreateModels.vue
@@ -1,122 +1,117 @@
@@ -153,7 +165,10 @@ const isPublicList = [
size="large"
>
-
+
@@ -165,9 +180,7 @@ const isPublicList = [
:options="model_category"
/>
-
- 内容类别
-
+ 内容类别
填写类别可让模型获得更精准的流量, 平台也有权基于标准修改你的类别标签
@@ -182,7 +195,11 @@ const isPublicList = [
@update:value="handleCategoryUpdateValue"
/>
-
+
-
- 标签
-
+ 标签
添加标签将自动推荐给可能感兴趣的人
@@ -219,12 +234,8 @@ const isPublicList = [
:show="false"
/>
-
- 参与活动
-
-
- 参与特定活动或比赛,下拉选择
-
+ 参与活动
+ 参与特定活动或比赛,下拉选择
+
+
+ 权限设置
+ 可见范围
- 原创内容
+
+
+
+ {{ isPublicItem.label }}
+
+
+
-
+
+
付费设置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
原创内容
+
-
-
权限设置
-
可见范围
-
-
-
-
- {{ isPublicItem.label }}
-
-
-
-
-
+
-
- 魔创未来原创模型加密保护计划
-
+
魔创未来原创模型加密保护计划
原创模型加密保护计划是魔创未来推出的,为维护创作者权益、保障平台健康发展,通过技术手段遏制爬取、盗版、侵权等不法行为,保证创作者的劳动成果得到合理回报,进而激励更多优秀原创模型的诞生。
@@ -285,29 +342,32 @@ const isPublicList = [
加入后有何好处? 1.模型加密能力 2.流量扶持 3.创作激励
-
+
原创声明
本人声明并承诺模型是由本人原创,相关的权利和义务由本人承担。
-
+
-
+
diff --git a/app/components/publishModel/EditVersion.vue b/app/components/publishModel/EditVersion.vue
index 4d02df3..68899b1 100644
--- a/app/components/publishModel/EditVersion.vue
+++ b/app/components/publishModel/EditVersion.vue
@@ -110,9 +110,7 @@ const originalBtnList = ref([
value: 0,
},
]);
-function handleIsFree(index: number, value: number) {
- localForm.value.modelVersionList[index].isFree = value;
-}
+
async function nextStep() {
for (let i = 0; i < localForm.value.modelVersionList.length; i++) {
if (
@@ -329,37 +327,7 @@ function handledeleteFile(item:any){
-->
-
-
付费设置
-
-
- {{ subItem.label }}
-
-
-
- 选择会员专属或会员下载视为您已经阅读
- 《会员模型许可协议》
- 并同意其中条款
-
-
-
会员下载模型
-
- 下载模型需购买会员,在线生图对所有人开放,无生图次数限制;会员下载的模型版本生成图片默认可商用。
-
-
-
+
许可范围
diff --git a/app/components/publishModel/UploadImg.vue b/app/components/publishModel/UploadImg.vue
index 4265a13..c31fef8 100644
--- a/app/components/publishModel/UploadImg.vue
+++ b/app/components/publishModel/UploadImg.vue
@@ -57,6 +57,10 @@ async function handlePublish() {
}
}
+ if(param.modelProduct.isFree === 1){
+ param.modelProduct.productPrice = 0
+ }
+
if (type === 'add') {
try {
const res = await request.post('/model/insert', param)
diff --git a/app/pages/gold-detail/index.vue b/app/pages/gold-detail/index.vue
index 06e1de3..9aa64fa 100644
--- a/app/pages/gold-detail/index.vue
+++ b/app/pages/gold-detail/index.vue
@@ -1,10 +1,10 @@
-
金币明细
+
+ 金币明细
+
-
获取时间
-
获取来源
-
详情
-
金币值
+
+ 获取时间
+
+
+ 获取来源
+
+
+ 详情
+
+
+ 充值金币值
+
-
-
- {{ item.orderTime }}
+
+
+ {{ item.orderTime }}
+
+
+ {{ item.productName }}
+
+
+ -
+
+
+ {{ item.paymentAmount }}
+
-
{{ item.productName }}
-
-
-
- {{ item.paymentAmount }}
-
-
-
+
-
消耗时间
-
消耗类型
-
详情
-
充值金币值
+
+ 消耗时间
+
+
+ 消耗类型
+
+
+ 详情
+
+
+ 消费金币值
+
-
-
- {{ item.consumeDate }}
+
+
+ {{ item.consumeDate }}
+
+
+ {{ item.productName }}
+
+
+ -
+
+
+ {{ item.amount }}
+
-
{{ item.productName }}
-
-
-
- {{ item.amount }}
-
-
-
+
diff --git a/app/pages/login-success.vue b/app/pages/login-success.vue
new file mode 100644
index 0000000..10a1289
--- /dev/null
+++ b/app/pages/login-success.vue
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
+
+
+ 登录中
+
+ .
+ .
+ .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/member-center/index.vue b/app/pages/member-center/index.vue
index 3dce79c..d6f5a16 100644
--- a/app/pages/member-center/index.vue
+++ b/app/pages/member-center/index.vue
@@ -1,55 +1,58 @@
@@ -346,9 +413,9 @@ async function handelDown(){
+ >
@@ -451,11 +518,11 @@ async function handelDown(){
@@ -476,8 +543,8 @@ async function handelDown(){
- {{ versionByWorkInfo[currentTabsIndex].isCollect === 0 ? '加入模型库' : '已加入'}}
+ {{
+ versionByWorkInfo[currentTabsIndex].isCollect === 0
+ ? "加入模型库"
+ : "已加入"
+ }}
+
+ {{ detailsInfo.productPrice }} 金币
+
+
+

-
下载 {{ formatFileSize(versionByWorkInfo[currentTabsIndex].fileSize) }}
+
+ {{ detailsInfo.isBuy === 1 ? "下载" : "购买" }}
+ {{ formatFileSize(versionByWorkInfo[currentTabsIndex].fileSize) }}
+
@@ -583,7 +667,9 @@ async function handelDown(){
>
-
举报
+
+ 举报
+
@@ -592,10 +678,10 @@ async function handelDown(){
确认
@@ -632,6 +718,17 @@ async function handelDown(){
+
@@ -656,7 +753,7 @@ async function handelDown(){
font-weight: 700;
font-size: 24px !important;
}
-.n-tabs-tab--active{
+.n-tabs-tab--active {
font-size: 24px !important;
}
// .n-tabs.n-tabs--line-type .n-tabs-tab.n-tabs-tab--active, .n-tabs.n-tabs--bar-type .n-tabs-tab.n-tabs-tab--active{
@@ -668,8 +765,11 @@ async function handelDown(){
height: 4px;
background: linear-gradient(90deg, #173eff 0%, #1b7dff 100%);
border-radius: 2px;
- transition: left 0.2s var(--n-bezier), max-width 0.2s var(--n-bezier),
- opacity 0.3s var(--n-bezier), background-color 0.3s var(--n-bezier);
+ transition:
+ left 0.2s var(--n-bezier),
+ max-width 0.2s var(--n-bezier),
+ opacity 0.3s var(--n-bezier),
+ background-color 0.3s var(--n-bezier);
}
.original {
margin: 2px 0;
@@ -685,4 +785,26 @@ async function handelDown(){
border-radius: 4px;
transform: skew(-10deg);
}
+.product-price {
+ position: absolute;
+ top: -11px;
+ right: -1px;
+ flex-shrink: 0;
+ width: -moz-fit-content;
+ width: fit-content;
+ height: 24px;
+ padding: 0 8px;
+ color: #fff;
+ font-weight: 500;
+ font-size: 12px;
+ line-height: 24px;
+ text-align: center;
+ background: no-repeat 50% / 100% 100%;
+ background: linear-gradient(90deg, #ff7d1f, #ff2056 49.5%, #ff3773);
+ box-shadow: inset 0 -1px 0 0 rgba(234, 62, 26, 0.2);
+ border-top-left-radius: 8px;
+ border-bottom-right-radius: 8px;
+ border-top-right-radius: 2px;
+ border-bottom-left-radius: 2px;
+}
diff --git a/app/pages/order-management/index.vue b/app/pages/order-management/index.vue
index b9c4227..a56402f 100644
--- a/app/pages/order-management/index.vue
+++ b/app/pages/order-management/index.vue
@@ -1,5 +1,5 @@
@@ -588,7 +613,7 @@ const closeBindingModal = () =>{
class="head-img m-1 h-16 w-16 rounded-full bg-white"
:src="userStore?.userInfo?.avatar"
alt="User Avatar"
- />
+ >
@@ -603,7 +628,7 @@ const closeBindingModal = () =>{
已经实名
@@ -625,7 +650,9 @@ const closeBindingModal = () =>{
@negative-click="handleNegativeClick"
>
- 获取邀请码
+
+ 获取邀请码
+
邀请码: {{ invitationCode }}
@@ -633,10 +660,10 @@ const closeBindingModal = () =>{
-
+
已绑定支付宝
-
@@ -671,7 +698,7 @@ const closeBindingModal = () =>{
{{
- selectUserInfo.modelDownloadNum + selectUserInfo.modelRunNum
+ selectUserInfo.modelDownloadNum + selectUserInfo.modelRunNum
}}
作品被使用次数
@@ -789,10 +816,14 @@ const closeBindingModal = () =>{
/>
-
加载中...
-
没有更多数据了
+
+ 加载中...
+
+
+ 没有更多数据了
+
-
+
@@ -826,7 +857,7 @@ const closeBindingModal = () =>{
:src="item.avatar || ''"
alt=""
class="w-14 h-14 rounded-full mr-2"
- />
+ >
{{ item.nickName }}
{
:src="item.avatar || ''"
alt=""
class="w-14 h-14 rounded-full mr-2"
- />
+ >
{{ item.nickName }}
{
噢!
-->
-
邀请列表
+
+ 邀请列表
+
总收益: {{ invitationList.totalAmount }}
-
头像
-
邀请人购买数量
-
邀请人名字
+
+ 头像
+
+
+ 邀请人购买数量
+
+
+ 邀请人名字
+
-
![]()
+
![]()
+
+
+ {{ item.count }}
+
+
+ {{ item.user.userName }}
-
{{ item.count }}
-
{{ item.user.userName }}
@@ -925,15 +968,15 @@ const closeBindingModal = () =>{
-
-
- 扫码绑定
+
+
+ 扫码绑定
+
+
+
+ 请用手机支付宝扫码
+
-
-
- 请用手机支付宝扫码
-
-
+import { isAmount } from '@/utils/index.ts'
+import { Close } from '@vicons/ionicons5'
+import { ref } from 'vue'
+
+const activeTab = ref('withdrawDetail')
+const showWalletModal = ref(false)
+function showModal() {
+ showWalletModal.value = true
+}
+const message = useMessage()
+function closeWalletModal() {
+ showWalletModal.value = false
+ needWalletNum.value = 0
+}
+// const allDetailList = ref([]);
+// 获取可提现金额
+const integralGold = ref({})
+async function getIntegralGold() {
+ try {
+ const res = await request.post('/personalCenter/getPointAndWallet')
+ if (res.code === 200) {
+ integralGold.value = res.data
+ }
+ }
+ catch (err) {
+ console.log(err)
+ }
+}
+getIntegralGold()
+
+// 提现操作
+const needWalletNum = ref(0)
+async function handleWallet() {
+ if (isAmount(needWalletNum.value)) {
+ if (needWalletNum.value > integralGold.value.wallet)
+ return message.warning('可提现金额不足')
+ try {
+ const res = await request.get(`/ali/pay/fetch?amount=${needWalletNum.value}`)
+ if (res.code === 200) {
+ message.success('提现成功!')
+ closeWalletModal()
+ location.reload()
+ // getIntegralGold()
+ }
+ }
+ catch (err) {
+ console.log(err)
+ }
+ }
+ else {
+ message.warning('请输入正确的金额')
+ }
+}
+
+// 获取累计收入金额
+const totalAmount = ref(0)
+async function getTotalAmount() {
+ try {
+ const res = await request.get('/invitation/totalAmount')
+ if (res.code === 200) {
+ totalAmount.value = res.data
+ }
+ }
+ catch (err) {
+ console.log(err)
+ }
+}
+getTotalAmount()
+
+// 获取提现明细列表
+const withdrawFinished = ref(false)
+const withdrawDetailList = ref([])
+const withdrawParams = ref({
+ pageNum: 1,
+ pageSize: 10,
+})
+async function getWithdrawDetail() {
+ try {
+ if (withdrawFinished.value)
+ return
+ const res = await request.post('/invitation/withdrawalRecord', withdrawParams.value)
+ if (res.code === 200) {
+ if (withdrawParams.value.pageNum === 1) {
+ withdrawDetailList.value = res.rows
+ }
+ else {
+ withdrawDetailList.value = [...withdrawDetailList.value, ...res.rows]
+ }
+ // 判断是否加载完所有数据
+ if (withdrawDetailList.value.length >= res.total) {
+ withdrawFinished.value = true
+ }
+ withdrawParams.value.pageNum++
+ }
+ }
+ catch (err) {
+ console.log(err)
+ }
+}
+getWithdrawDetail()
+
+
-
累计收入金额
-
¥ {{ totalAmount || 0 }}
+
+ 累计收入金额
+
+
+ ¥ {{ totalAmount || 0 }}
+
-
¥ {{ integralGold.wallet || 0 }}
+
+ ¥ {{ integralGold.wallet || 0 }}
+
@@ -55,10 +164,18 @@
-
提现时间
-
账户类型
-
详情
-
提现金额
+
+ 提现时间
+
+
+ 账户类型
+
+
+ 详情
+
+
+ 提现金额
+
{{ item.createTime }}
- {{ item.account }}
- -
+
+ {{ item.account }}
+
+
+ -
+
{{ item.amount }}
@@ -95,9 +216,9 @@
preset="dialog"
>
-
- 提现
-
+
+ 提现
+
@@ -108,115 +229,26 @@
- 取消
- 确定
+
+ 取消
+
+
+ 确定
+
-
-