|
@@ -0,0 +1,220 @@
|
|
|
+import { appStorage } from '@/utils/storage'
|
|
|
+import { cloneDeep } from 'lodash'
|
|
|
+import useContentModel from '@jy/data-models/modules/article/model/content'
|
|
|
+import useExpandModel from '@jy/data-models/modules/article/model/expand'
|
|
|
+
|
|
|
+import {
|
|
|
+ getArticleAdvancedInfo,
|
|
|
+ getArticlePreAgentInfo,
|
|
|
+ getArticleBaseInfo
|
|
|
+} from '@/api/modules/article'
|
|
|
+
|
|
|
+const { model: mainModel, transformModel: contentTransform } = useContentModel()
|
|
|
+const { model: expandModel, transformModel: expandTransform } = useExpandModel()
|
|
|
+
|
|
|
+console.log(useContentModel(), expandModel)
|
|
|
+
|
|
|
+const CACHE_HISTORY_KEY = 'MOBILE_ARTICLE_CONTENT'
|
|
|
+const storageConf = {
|
|
|
+ login: true,
|
|
|
+ storage: sessionStorage
|
|
|
+}
|
|
|
+
|
|
|
+const defaultValueMap = {
|
|
|
+ preAgentInfo: {
|
|
|
+ token: ''
|
|
|
+ },
|
|
|
+ reqInfo: {
|
|
|
+ baseInfoReqToken: ''
|
|
|
+ },
|
|
|
+ otherModel: {
|
|
|
+ hasProject: false, // 当前标讯是否关联有项目,如果有,则可以点击查看项目信息
|
|
|
+ forecastShow: false, // 是否显示中标企业预测
|
|
|
+ },
|
|
|
+ mainModel,
|
|
|
+ expandModel
|
|
|
+ // mainModel: {
|
|
|
+ // content: {
|
|
|
+ // id: '', // ABCY1xFfylYGSY7I2Bhc3ISCzAoIyFmYXh1KSgwNi8NaGpzZg1UCbM%3D
|
|
|
+ // isSelfSite: false,
|
|
|
+ // projectCode: '', // HNEC-YGZB230061001H013
|
|
|
+ // projectName: '', // 鹤壁煤电股份有限公司2023年设备采购第三批八矿水环真空泵
|
|
|
+ // title: '',// '[公开招标]鹤壁煤电股份有限公司2023年设备采购第三批八矿水环真空泵中标结果公告'
|
|
|
+ // keys: [], // ['发布', '信息']
|
|
|
+ // tags: [
|
|
|
+ // // {
|
|
|
+ // // label: '河南-鹤壁市-淇滨区',
|
|
|
+ // // link: 'javascript:volid(0);'
|
|
|
+ // // },
|
|
|
+ // // {
|
|
|
+ // // label: '成交',
|
|
|
+ // // link: '/list/stype/ZBJG.html'
|
|
|
+ // // },
|
|
|
+ // // {
|
|
|
+ // // label: '能源化工',
|
|
|
+ // // link: 'javascript:volid(0);'
|
|
|
+ // // },
|
|
|
+ // // {
|
|
|
+ // // label: '1159.8万元',
|
|
|
+ // // link: 'javascript:volid(0);'
|
|
|
+ // // },
|
|
|
+ // // {
|
|
|
+ // // label: '2023-06-06',
|
|
|
+ // // link: 'javascript:volid(0);'
|
|
|
+ // // }
|
|
|
+ // ],
|
|
|
+ // tdk: {
|
|
|
+ // description: '',
|
|
|
+ // // '[公开招标]鹤壁煤电股份有限公司2023年设备采购第三批八矿水环真空泵中标结果公告,项目所属地区是河南鹤壁市,项目采购单位是鹤壁煤电股份有限公司,项目发布时间是2023年06月06日,查看该项目信息详情请访问剑鱼标讯官网。',
|
|
|
+ // keywords: '',
|
|
|
+ // // '鹤壁煤电股份有限公司,淄博水环真空泵厂有限公司,成交公告,河南招标,鹤壁市招标,剑鱼标讯',
|
|
|
+ // title: '',
|
|
|
+ // // '[公开招标]鹤壁煤电股份有限公司2023年设备采购第三批八矿水环真空泵中标结果公告'
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ // summary: {
|
|
|
+ // buyers: [],
|
|
|
+ // list: [],
|
|
|
+ // winners: []
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ // expandModel: {
|
|
|
+ // services: [],
|
|
|
+ // projectProgress: {},
|
|
|
+ // recommendBuyers: [],
|
|
|
+ // recommendCustomers: [],
|
|
|
+ // recommendWinners: [],
|
|
|
+ // recommendProjects: []
|
|
|
+ // }
|
|
|
+}
|
|
|
+
|
|
|
+export default {
|
|
|
+ namespaced: true,
|
|
|
+ state() {
|
|
|
+ return appStorage.get(
|
|
|
+ CACHE_HISTORY_KEY,
|
|
|
+ cloneDeep(defaultValueMap),
|
|
|
+ storageConf
|
|
|
+ )
|
|
|
+ },
|
|
|
+ mutations: {
|
|
|
+ // 重置store数据
|
|
|
+ resetStore(state, resetKey) {
|
|
|
+ if (resetKey) {
|
|
|
+ state[resetKey] = cloneDeep(defaultValueMap[resetKey]) || {}
|
|
|
+ } else {
|
|
|
+ const keysArr = Object.keys(state)
|
|
|
+ keysArr.forEach((key) => {
|
|
|
+ state[key] = cloneDeep(defaultValueMap[key]) || {}
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ clearStorage() {
|
|
|
+ appStorage.rm(CACHE_HISTORY_KEY, storageConf)
|
|
|
+ },
|
|
|
+ saveToStorage(state) {
|
|
|
+ appStorage.set(CACHE_HISTORY_KEY, state, storageConf)
|
|
|
+ },
|
|
|
+ setPreAgentInfo(state, payload) {
|
|
|
+ state.preAgentInfo = payload
|
|
|
+ },
|
|
|
+ setBaseInfoReqToken(state, payload) {
|
|
|
+ state.reqInfo.baseInfoReqToken = payload
|
|
|
+ },
|
|
|
+ setMainContentModel(state, payload) {
|
|
|
+ state.mainModel = payload
|
|
|
+ },
|
|
|
+ setMainContentModelChild(state, { key, data }) {
|
|
|
+ if (state.mainModel.content) {
|
|
|
+ state.mainModel.content[key] = data
|
|
|
+ }
|
|
|
+ },
|
|
|
+ setMainSummaryModelChild(state, { key, data }) {
|
|
|
+ if (state.mainModel.summary) {
|
|
|
+ state.mainModel.summary[key] = data
|
|
|
+ }
|
|
|
+ },
|
|
|
+ setExpandModel(state, payload) {
|
|
|
+ state.expandModel = payload
|
|
|
+ },
|
|
|
+ setExpandModelChild(state, { key, data }) {
|
|
|
+ if (state.expandModel) {
|
|
|
+ state.expandModel[key] = data
|
|
|
+ }
|
|
|
+ },
|
|
|
+ setOtherModelChild(state, { key, data }) {
|
|
|
+ state.otherModel[key] = data
|
|
|
+ }
|
|
|
+ },
|
|
|
+ actions: {
|
|
|
+ resetThisStore({ commit }) {
|
|
|
+ commit('clearStorage')
|
|
|
+ commit('resetStore')
|
|
|
+ },
|
|
|
+ removeStoreAsync({ commit }, key) {
|
|
|
+ commit('clearStorage')
|
|
|
+ commit('resetStore', key)
|
|
|
+ commit('saveToStorage')
|
|
|
+ },
|
|
|
+ async getPreAgentInfo({ commit }) {
|
|
|
+ try {
|
|
|
+ const {
|
|
|
+ error_code: code,
|
|
|
+ error_msg: msg,
|
|
|
+ data
|
|
|
+ } = await getArticlePreAgentInfo()
|
|
|
+ if (code === 0 && data) {
|
|
|
+ commit('setPreAgentInfo', data)
|
|
|
+ } else {
|
|
|
+ console.log(msg)
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async getBaseInfo({ commit, state }) {
|
|
|
+ const { preAgentInfo } = state
|
|
|
+ try {
|
|
|
+ const {
|
|
|
+ error_code: code,
|
|
|
+ error_msg: msg,
|
|
|
+ data
|
|
|
+ } = await getArticleBaseInfo({ token: preAgentInfo.token })
|
|
|
+ if (code === 0 && data) {
|
|
|
+ const r = contentTransform(data)
|
|
|
+ commit('setMainContentModel', r)
|
|
|
+ commit('setBaseInfoReqToken', data.token)
|
|
|
+ } else {
|
|
|
+ console.log(msg)
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async getAdvancedInfo({ commit, state }) {
|
|
|
+ const { reqInfo } = state
|
|
|
+ const token = reqInfo.baseInfoReqToken
|
|
|
+ if (!token) return
|
|
|
+ try {
|
|
|
+ const {
|
|
|
+ error_code: code,
|
|
|
+ error_msg: msg,
|
|
|
+ data
|
|
|
+ } = await getArticleAdvancedInfo({ token })
|
|
|
+ if (code === 0 && data) {
|
|
|
+ const r = expandTransform(data)
|
|
|
+ commit('setExpandModel', r)
|
|
|
+ } else {
|
|
|
+ console.log(msg)
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getters: {
|
|
|
+ biddingSearchHistory(state) {
|
|
|
+ return state.searchHistory.bidding
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|