8ee27fdd32
- member.vue: rewrite from subscription plans (free/growth/sprint) to H5-only pay-per-use gravity purchase with quantity selector + QR code - user.vue: gravity card replacing quota card, add share/contribute/H5-buy entry points, plus gravity acquisition modal (share/contribute/buy) - share.vue: layout fix (flex column), smarter copyLink with cached URL, WeChat timeline hint instead of open-type - share.controller.ts: add GET /:shareCode redirect route (IP record + 302) - interview.vue: guest mode fix, H5 buy modal, clipboard copy instead of webview for mini-program - App.vue: handleH5UrlParams for ?token=&buy=gravity auto-login - composables/useGravityPurchase.ts: reusable gravity purchase composable - remove webview.vue (no longer used), replace with clipboard+browser flow - AGENTS.md: sync all above changes, fix duplicate numbering
20 lines
798 B
TypeScript
20 lines
798 B
TypeScript
import { Module } from '@nestjs/common'
|
|
import { MongooseModule } from '@nestjs/mongoose'
|
|
import { DailyQuestionPushService } from './daily-question-push.service'
|
|
import { WechatTokenService } from './wechat-token.service'
|
|
import { VipExpiryService } from './vip-expiry.service'
|
|
import { GravityTopUpService } from './gravity-top-up.service'
|
|
import { DailyQuestion, DailyQuestionSchema } from '../schemas/daily-question.schema'
|
|
import { User, UserSchema } from '../user/user.schema'
|
|
|
|
@Module({
|
|
imports: [
|
|
MongooseModule.forFeature([
|
|
{ name: DailyQuestion.name, schema: DailyQuestionSchema },
|
|
{ name: User.name, schema: UserSchema },
|
|
]),
|
|
],
|
|
providers: [WechatTokenService, DailyQuestionPushService, VipExpiryService, GravityTopUpService],
|
|
})
|
|
export class ScheduleModule {}
|