主要功能: - 修改RequirementModal支持12个订单班选择 - 添加OrderClassIconMap图标映射组件 - Store中添加selectedOrderClass状态管理 - WorkflowPage支持传递orderClass参数 - web_result添加URL参数切换功能 - 创建order-class-handler.js动态处理页面主题 技术改进: - 创建软链接关联订单班数据目录 - 生成wenlu.json和food.json数据结构 - 删除重复的web_result目录 - 添加测试页面test-order-class.html 影响范围: - 展会策划系统现支持12个订单班 - 结果展示页面自动适配不同订单班主题 - 用户可选择不同行业生成对应方案 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
97 lines
2.4 KiB
JavaScript
97 lines
2.4 KiB
JavaScript
'use strict'
|
|
|
|
module.exports = uri
|
|
uri.displayName = 'uri'
|
|
uri.aliases = ['url']
|
|
function uri(Prism) {
|
|
// https://tools.ietf.org/html/rfc3986#appendix-A
|
|
Prism.languages.uri = {
|
|
scheme: {
|
|
pattern: /^[a-z][a-z0-9+.-]*:/im,
|
|
greedy: true,
|
|
inside: {
|
|
'scheme-delimiter': /:$/
|
|
}
|
|
},
|
|
fragment: {
|
|
pattern: /#[\w\-.~!$&'()*+,;=%:@/?]*/,
|
|
inside: {
|
|
'fragment-delimiter': /^#/
|
|
}
|
|
},
|
|
query: {
|
|
pattern: /\?[\w\-.~!$&'()*+,;=%:@/?]*/,
|
|
inside: {
|
|
'query-delimiter': {
|
|
pattern: /^\?/,
|
|
greedy: true
|
|
},
|
|
'pair-delimiter': /[&;]/,
|
|
pair: {
|
|
pattern: /^[^=][\s\S]*/,
|
|
inside: {
|
|
key: /^[^=]+/,
|
|
value: {
|
|
pattern: /(^=)[\s\S]+/,
|
|
lookbehind: true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
authority: {
|
|
pattern: RegExp(
|
|
/^\/\//.source + // [ userinfo "@" ]
|
|
/(?:[\w\-.~!$&'()*+,;=%:]*@)?/.source + // host
|
|
('(?:' + // IP-literal
|
|
/\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\.[\w\-.~!$&'()*+,;=]+)\]/
|
|
.source +
|
|
'|' + // IPv4address or registered name
|
|
/[\w\-.~!$&'()*+,;=%]*/.source +
|
|
')') + // [ ":" port ]
|
|
/(?::\d*)?/.source,
|
|
'm'
|
|
),
|
|
inside: {
|
|
'authority-delimiter': /^\/\//,
|
|
'user-info-segment': {
|
|
pattern: /^[\w\-.~!$&'()*+,;=%:]*@/,
|
|
inside: {
|
|
'user-info-delimiter': /@$/,
|
|
'user-info': /^[\w\-.~!$&'()*+,;=%:]+/
|
|
}
|
|
},
|
|
'port-segment': {
|
|
pattern: /:\d*$/,
|
|
inside: {
|
|
'port-delimiter': /^:/,
|
|
port: /^\d+/
|
|
}
|
|
},
|
|
host: {
|
|
pattern: /[\s\S]+/,
|
|
inside: {
|
|
'ip-literal': {
|
|
pattern: /^\[[\s\S]+\]$/,
|
|
inside: {
|
|
'ip-literal-delimiter': /^\[|\]$/,
|
|
'ipv-future': /^v[\s\S]+/,
|
|
'ipv6-address': /^[\s\S]+/
|
|
}
|
|
},
|
|
'ipv4-address':
|
|
/^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/
|
|
}
|
|
}
|
|
}
|
|
},
|
|
path: {
|
|
pattern: /^[\w\-.~!$&'()*+,;=%:@/]+/m,
|
|
inside: {
|
|
'path-separator': /\//
|
|
}
|
|
}
|
|
}
|
|
Prism.languages.url = Prism.languages.uri
|
|
}
|