From 692a552fc1487b9a5a14ba2e0d17c7ebb8ab026b Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Sat, 1 Mar 2025 18:14:41 +0000 Subject: [PATCH] Add mini_prog_entry_env_version --- ...97_codebatch_mini_prog_entry_env_version.py | 18 ++++++++++++++++++ api/api/products/miniprogram.py | 3 ++- api/api/products/models.py | 2 ++ api/api/products/views.py | 3 ++- web/src/views/code-batch.vue | 2 ++ 5 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 api/api/products/migrations/0097_codebatch_mini_prog_entry_env_version.py diff --git a/api/api/products/migrations/0097_codebatch_mini_prog_entry_env_version.py b/api/api/products/migrations/0097_codebatch_mini_prog_entry_env_version.py new file mode 100644 index 0000000..1d10866 --- /dev/null +++ b/api/api/products/migrations/0097_codebatch_mini_prog_entry_env_version.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.25 on 2025-03-01 18:13 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('products', '0096_codebatch_mini_prog_entry_path'), + ] + + operations = [ + migrations.AddField( + model_name='codebatch', + name='mini_prog_entry_env_version', + field=models.CharField(blank=True, default='release', max_length=128, null=True, verbose_name='小程序入口环境版本(可选), 默认release。如为trial则进入体验版'), + ), + ] diff --git a/api/api/products/miniprogram.py b/api/api/products/miniprogram.py index 0acc6b2..ce6eaad 100644 --- a/api/api/products/miniprogram.py +++ b/api/api/products/miniprogram.py @@ -8,7 +8,7 @@ def get_token(): r = requests.get(url) return r.json()['access_token'] -def mplink(query, path='pages/index/index'): +def mplink(query, path='pages/index/index', env_version='release'): token = get_token() url = 'https://api.weixin.qq.com/wxa/generate_urllink?access_token=' + token r = requests.post(url, json={ @@ -16,5 +16,6 @@ def mplink(query, path='pages/index/index'): 'query': query, 'expire_type': 1, 'expire_interval': 30, + 'env_version': env_version, }) return r.json()['url_link'] diff --git a/api/api/products/models.py b/api/api/products/models.py index 5590196..f78edfa 100644 --- a/api/api/products/models.py +++ b/api/api/products/models.py @@ -178,6 +178,8 @@ class CodeBatch(models.Model): camera_sensitivity = models.FloatField(default=1.0, verbose_name="摄像头灵敏度") mini_prog_entry_path = models.TextField(null=True, blank=True, default='pages/index/index', verbose_name="小程序入口路径(可选)") + mini_prog_entry_env_version = models.CharField(max_length=128, null=True, blank=True, default='release', + verbose_name="小程序入口环境版本(可选), 默认release。如为trial则进入体验版") def gen_code(self, n): a = 10 ** (self.num_digits - 1) diff --git a/api/api/products/views.py b/api/api/products/views.py index 8911149..39e6b66 100644 --- a/api/api/products/views.py +++ b/api/api/products/views.py @@ -1244,7 +1244,8 @@ def mini_prog_entry_redirect(code, tid): query = 'tenant=' + str(tid) key = 'mini-prog-entry.' + query path = code.batch.mini_prog_entry_path or 'pages/index/index' - url = cache.get_or_set(key, lambda: mplink(query, path), 300) + env_version = code.batch.mini_prog_entry_env_version or 'release' + url = cache.get_or_set(key, lambda: mplink(query, path, env_version), 300) return redirect(url) class MiniProgEntryView(BaseView): diff --git a/web/src/views/code-batch.vue b/web/src/views/code-batch.vue index 24bbe2d..2d89a56 100644 --- a/web/src/views/code-batch.vue +++ b/web/src/views/code-batch.vue @@ -78,6 +78,7 @@ export default { 'enable_auto_torch', 'camera_sensitivity', 'mini_prog_entry_path', + 'mini_prog_entry_env_version', ]; }, visible_fields: function() { @@ -94,6 +95,7 @@ export default { 'scan_redirect_url', 'enable_auto_torch', 'mini_prog_entry_path', + 'mini_prog_entry_env_version', ]; }, },