|
|
@@ -6,14 +6,17 @@ is_true = pref_module.is_true
|
|
|
PREFERENCE_LIST_LENGTH = PREFERENCE_MANAGER.pref_length()
|
|
|
GET_DOMAIN_URL = require('domain').get_doamin_url
|
|
|
|
|
|
-@script('Link')
|
|
|
-def link_script(page_name, context, *_args, **kwargs):
|
|
|
+def get_url(context, location, domain = None):
|
|
|
+ if domain:
|
|
|
+ return domain + location
|
|
|
+ else:
|
|
|
+ return GET_DOMAIN_URL(context) + location
|
|
|
+
|
|
|
+def get_page_link(page_name, context, domain = None, *_args, **kwargs):
|
|
|
settings:dict = context.setter.toProperties().get('args',{})
|
|
|
settings_length = len(settings)
|
|
|
- if '.json' not in page_name:
|
|
|
- page_name += '.json'
|
|
|
if settings_length == 0:
|
|
|
- return GET_DOMAIN_URL(context) + page_name
|
|
|
+ return get_url(context, page_name, domain)
|
|
|
new_args = []
|
|
|
# 判断优化: 取长度小的遍历
|
|
|
if PREFERENCE_LIST_LENGTH > len(settings):
|
|
|
@@ -31,9 +34,21 @@ def link_script(page_name, context, *_args, **kwargs):
|
|
|
else:
|
|
|
new_args.append(entry.name + '=' + value)
|
|
|
if len(new_args) == 0:
|
|
|
- return GET_DOMAIN_URL(context) + page_name
|
|
|
+ return get_url(context, page_name, domain)
|
|
|
if '?' not in page_name:
|
|
|
page_name += '?'
|
|
|
else:
|
|
|
page_name += '&'
|
|
|
- return GET_DOMAIN_URL(context) + page_name + '&'.join(new_args)
|
|
|
+ return get_url(context, page_name + '&'.join(new_args) , domain)
|
|
|
+
|
|
|
+@script('XamlLink')
|
|
|
+def link_script(page_name, domain=None, *_args, **kwargs):
|
|
|
+ context = kwargs['context']
|
|
|
+ return get_page_link(page_name, context, domain)
|
|
|
+
|
|
|
+@script('Link')
|
|
|
+def link_script(page_name, domain=None, *_args, **kwargs):
|
|
|
+ context = kwargs['context']
|
|
|
+ if '.json' not in page_name:
|
|
|
+ page_name += '.json'
|
|
|
+ return get_page_link(page_name, context, domain)
|