小程序项目业务逻辑回忆4

用户查询积分

积分获取规则如下:

邀请其他用户购票参会,将获取该用户花费金额的10%获取积分。

邀请用户注册参观展览,需注册并现场签到,将获取10分的奖励积分。

邀请企业用户参展,将获取企业参展金额的5%获取到积分。

上述3条积分获取规则分条进行计算

用户在邀请其他用户注册或者购票时会将自己的邀请码拼接到分享的注册或购票的请求地址处,其他用户通过链接进行操作时,字符串截取可获得到邀请码

情况1:邀请的是展商,根据邀请码去exhibitor_applications展商报名表中遍历查询是否存在被邀请的展商,如果存在则将events中point_time注册展览获应取积分计入该用户的总积分当中

情况2:邀请的是个人用户,这时需根据被邀请人的用户ID,去signin_record签到信息表中去查询被邀请人所拥有的门票,然后通过signin_records表中的ticket_type去判断是会议门票还是展览门票

情况2.1:如果是展览门票,即不花钱的那种,先判断登记时间sign_in_time登记时间即门票生成时间是否在被邀请人注册的14日以内,如果是则在用户获取积分列表中展示该项记录,此时将events表中的point_time注册展览获取积分(此项是商家通过后台系统输入的)作为积分数量进行显示,将signin_records签到信息表中的sign_in_status签到状态作为状态显示在列表上,其实就相当于列出用户积分获取的明细列表,但是否计入为有效积分还需进行逻辑判断,判断sign_in_status的签到状态,如果签到了即签到状态为是,才将events表中的point_time作为积分计入到邀请人用户user表中的points中

情况2.2:如果为会议门票,即花钱的那种,同样首先判断登记时间sigin_in_time门票激活时间是否在邀请人注册14日内,(情况2.1与情况2.2中注册时间与门票生效时间超过14天,积分分数都不作数,有鼓励是否参展摇摆不定的人买票的意思),如果在14天以内,查询门票的折后价格discount乘上events表中的point_proportion付款返还率(10%,商家可

<think>好的,我需要回答用户关于微信小程序开发逻辑、架构和设计的问题。首先,根据用户提供的系统级指令,我需要确保使用正确的中文回答,并且按照格式要求处理数学表达式和独立公式。不过这个问题主要涉及技术架构,可能数学公式用的不多,但要注意其他格式要求,比如代码块和引用。 用户之前的问题是关于微信小程序的开发逻辑和架构,所以需要结合已有的引用内容,比如引用[1]提到的逻辑层和视图层的双线程架构。但用户给的引用可能不够详细,我需要回忆更多相关知识来补充。 首先,我应该解释微信小程序的基本架构,分为逻辑层和视图层,这两个部分如何通过微信客户端进行通信。然后,详细说明每个层的作用,比如逻辑层处理业务逻辑和数据,视图层负责渲染界面。接着,可以介绍通信机制,比如数据绑定和事件系统,以及如何通过Native层中转数据。 然后,可能需要讨论设计原则,比如轻量高效、数据驱动、安全隔离等。这部分需要结合微信小程序设计理念,解释为什么采用双线程模型,比如为了性能和安全考虑,防止恶意脚本操作DOM。 接下来,关于开发流程,用户可能想知道如何实际开发一个小程序,包括配置、页面结构、逻辑处理、数据绑定和调试发布。这部分需要简明扼要地列出步骤,并给出示例代码,比如app.json和页面wxml、js的代码示例。 在生成相关问题部分,需要提出一些用户可能进一步关心的问题,比如双线程模型的优缺点,如何优化性能,数据绑定的限制,跨平台开发等。 需要注意的是,引用标识要正确添加,但用户提供的引用[1]是关于小程序框架的概述,可能不足以覆盖所有内容,所以可能需要补充其他知识点,并确保引用的正确性。不过根据用户的要求,尽量参考用户提供的引用,所以需要确保引用[1]在适当的位置被引用,比如在讨论逻辑层和视图层时。 最后,检查回答是否符合结构要求,是否有代码块正确使用,是否生成了相关问题,并且引用的位置是否自然。同时,避免使用Markdown格式,除了代码块和引用标识外。</think>微信小程序的开发逻辑架构设计采用独特的双线程模型,通过分离逻辑视图层实现高效运行和安全控制。以下是核心架构解析: ### 一、基础架构设计 采用**逻辑层(App Service)视图层(View)分离架构**,两者通过微信客户端(Native)进行通信[^1] $$ \text{逻辑层} \xleftrightarrow[JSBridge]{数据/事件} \text{Native} \xleftrightarrow[组件系统]{渲染} \text{视图层} $$ 1. **逻辑层** - 基于JavaScript引擎(iOS:JavaScriptCore,Android:V8) - 处理业务逻辑、数据存取、接口调用 - 通过setData方法更新视图 2. **视图层** - 基于WebView渲染(每个页面独立WebView) - 使用WXML/WXSS进行界面描述 - 通过虚拟DOM实现高效渲染 ```javascript // 逻辑层代码示例 Page({ data: { message: 'Hello' }, onTap() { this.setData({ message: 'Clicked!' }) } }) ``` ### 二、通信机制 1. **数据传输通道** - 序列化JSON数据通过Native中转 - 单次数据量限制256KB - 数据更新采用差异比对算法 2. **事件处理机制** - 用户操作产生事件对象 - 事件通过Native转发到逻辑层 - 支持冒泡/非冒泡事件传递 ### 三、设计原则 1. **轻量高效原则** - 分包加载机制 - 预加载策略 - 组件化开发模式 2. **安全隔离机制** - 逻辑层无DOM/BOM访问权限 - 禁止动态执行代码 - 网络请求白名单控制 ### 四、开发流程 1. 项目配置 ```json // app.json { "pages": ["pages/index"], "window": { "navigationBarTitleText": "Demo" } } ``` 2. 页面结构 ```html <!-- index.wxml --> <view class="container">{{message}}</view> <button bindtap="onTap">点击</button> ``` 3. 样式定义 ```css /* index.wxss */ .container { padding: 20rpx; } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值