123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312 |
- // pages/patentDetails/patentDetails.js
- const api = require('../../api/index')
- const app = getApp()
- const showImage = require('../../utils/showImage')
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- imgHttp:app.globalData.imghttp,
- labelPosition:'left',
- labelWidth:180,
- customStyle:" --padding:5rpx;font-weight:bold",
- patentNo:'',
- patent:{},
- isSame:false,
- istranslate:false,
- translateField:{
- title:'',
- abstractStr:'',
- publicFullText:''
- }
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad(options) {
- this.setData(
- {
- patentNo:options.patentNo
- }
- )
- this.selectPatentInfoByPatentNo()
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady() {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow() {
- },
- /**
- * 页面功能
- */
- //翻译
- translate(){
- this.setData(
- {
- istranslate:!this.data.istranslate
- }
- )
- if(this.data.translateField.title){
- return
- }
- var arr = Object.keys(this.data.translateField)
- var that = this
- arr.forEach(item=>{
- if(!that.data.patent[item] || that.data.patent[item].length==0){
- return
- }
- var text = that.data.patent[item][0].text_content
- that.getTranslateContent(text).then(res=>{
- if(res.message && res.message.content){
- console.log(res.message.content)
- that.setData(
- {
- ["translateField."+item]:res.message.content
- }
- )
- }
- })
- })
- },
- //获取译文
- getTranslateContent(content){
- return new Promise((resolve, reject) => {
- var myobj = {
- 'model': 'qwen',
- 'messages':
- [
- {
- 'role': 'system',
- 'content': '你是一个翻译智能助理'
- },
- {
- 'role': 'user',
- 'content': '请将如下语句翻译成中文:'+ content
- }
- ],
- 'stream': false
- }
- wx.request({
- url: 'http://192.168.2.24:11434/api/chat',
- method:'post',
- data:myobj,
- headers:{'Content-Type': 'application/json'},
- success:function(res){
- resolve(res.data)
- },
- fail:function(error){
- reject(error)
- }
- })
- })
- },
- //查看图片
- previewImage(e) {
- console.log(e)
- var { current,imglist } = e.currentTarget.dataset
- var imgs = []
- for(var i =0;i<imglist.length;i++){
- imgs.push(this.data.imgHttp + imglist[i].guid)
- }
- current = this.data.imgHttp + current
- showImage.showImageList(
- {
- current,
- urls: imgs.map((n) => ({ image: n, remark: n })),
- indicatorDots: true,
- indicatorColor: '#fff',
- indicatorActiveColor: '#04BE02',
- showDelete:false
- }
- )
-
- },
- //获取专利详情
- selectPatentInfoByPatentNo(){
- if(!this.data.patentNo){
- return false
- }
- var params = {
- patentNo:this.data.patentNo
- }
- api.selectPatentInfoByPatentNo(params).then(res=>{
- if(res.code == 200){
- var isSame = false
- if(JSON.stringify(res.data.applicant) == JSON.stringify(res.data.rightHolder)){
- isSame = true
- }
- var classification = []
- if(res.data.ipc){
- for(var i = 0;i<res.data.ipc.length;i++){
- var item = res.data.ipc[i]
- var arr = Object.keys(item)
- classification.push(item[arr[arr.length-1]])
- }
- res.data.classification = classification.join(',')
- }
- if(res.data.abstractStr && res.data.abstractStr.length>0){
- var abstractStr = res.data.abstractStr[0].text_content
- if(abstractStr){
-
- var arr = [
- "a",
- "abbr",
- "address",
- "article",
- "aside",
- "b",
- "bdi",
- "bdodir",
- "big",
- "blockquote",
- "br",
- "caption",
- "center",
- "cite",
- "code",
- "col",
- "colgroup",
- "dd",
- "del",
- "div",
- "dl",
- "dt",
- "em",
- "fieldset",
- "font",
- "footer",
- "h1",
- "h2",
- "h3",
- "h4",
- "h5",
- "h6",
- "header",
- "hr",
- "i",
- "img",
- "ins",
- "label",
- "legend",
- "li",
- "mark",
- "nav",
- "ol",
- "p",
- "pre",
- "q",
- "rt",
- "ruby",
- "s",
- "section",
- "small",
- "span",
- "strong",
- "sub",
- "sup",
- "table",
- "tbody",
- "td",
- "tfoot",
- "th",
- "thead",
- "tr",
- "tt",
- "u",
- "ul"
- ]
- var str = ''
- for(var i = 0;i<arr.length;i++){
- var item = arr[i]
- if(str){
- str = str + '|' + item + '|\/' + item
- }else{
- str = str + item + '|\/' + item
- }
- }
- var regx = new RegExp(`<(?!(${str})).*?>`,'g')
- abstractStr = abstractStr.replace(regx,'')
- res.data.abstractStr[0].text_content = abstractStr
- }
- }
-
- this.setData(
- {
- patent:res.data,
- isSame:isSame
- }
- )
- var appNo = res.data.appNo
- if(appNo){
- this.getPictureByNo(appNo)
- }
- }
- })
- },
- //根据专利号获取相关图片
- getPictureByNo(appNo){
- var params = {
- appNo:appNo
- }
- api.getPictureByNo(params).then(res=>{
- if(res.code == 200){
- this.setData(
- {
- ["patent.imageList"]:res.data
- }
- )
- }
- })
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide() {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload() {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh() {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom() {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage() {
- }
- })
|